From 41c4801aedee61b5d93707d47b27939fcd7ea27f Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 27 Sep 2011 16:49:52 -0500 Subject: [PATCH] Backport some JS changes from github.com --- .../public/javascript/editor/gollum.editor.js | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/gollum/frontend/public/javascript/editor/gollum.editor.js b/lib/gollum/frontend/public/javascript/editor/gollum.editor.js index d260041f..9d1fe659 100755 --- a/lib/gollum/frontend/public/javascript/editor/gollum.editor.js +++ b/lib/gollum/frontend/public/javascript/editor/gollum.editor.js @@ -62,7 +62,7 @@ // get form fields var oldAction = $('#gollum-editor form').attr('action'); var $form = $($('#gollum-editor form').get(0)); - $form.attr('action', '/preview'); + $form.attr('action', this.href || '/preview'); $form.attr('target', '_blank'); $form.submit(); @@ -154,7 +154,13 @@ define: function( name, definitionObject ) { LanguageDefinition._ACTIVE_LANG = name; LanguageDefinition._LOADED_LANGS.push( name ); - LanguageDefinition._LANG[name] = definitionObject; + if ( typeof $.GollumEditor.WikiLanguage == 'object' ) { + var definition = {}; + $.extend(definition, $.GollumEditor.WikiLanguage, definitionObject); + LanguageDefinition._LANG[name] = definition; + } else { + LanguageDefinition._LANG[name] = definitionObject; + } }, getActiveLanguage: function() { @@ -808,6 +814,12 @@ // generate help menus Help.generateHelpMenuFor( name ); + + if ( $('#gollum-editor-help').length && + typeof $('#gollum-editor-help').attr('data-autodisplay') !== 'undefined' && + $('#gollum-editor-help').attr('data-autodisplay') === 'true' ) { + Help.show(); + } } } else { if ( $('#function-help').length ) { @@ -1006,7 +1018,15 @@ */ evtHelpButtonClick: function( e ) { e.preventDefault(); - if ( Help.isShown() ) { Help.hide(); } + if ( Help.isShown() ) { + // turn off autodisplay if it's on + if ( $('#gollum-editor-help').length && + $('#gollum-editor-help').attr('data-autodisplay') !== 'undefined' && + $('#gollum-editor-help').attr('data-autodisplay') === 'true' ) { + $.post('/wiki/help?_method=delete'); + $('#gollum-editor-help').attr('data-autodisplay', ''); + } + Help.hide(); } else { Help.show(); } },