Changeset 5714


Ignore:
Timestamp:
12/04/09 05:10:05 (2 years ago)
Author:
PaulHarvey
Message:

Item2453: Worked around weird JQuery bug when NatEdit is invoked with ?action=form, resulting in data loss.

Location:
trunk/NatEditPlugin
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/NatEditPlugin/data/System/NatEditPlugin.txt

    r5571 r5714  
    8888|  Version: | %$VERSION% | 
    8989|  Change History: | | 
     90|  04 Dec 2009 | Foswikitask:Item2453: Form data not saved when edit is invoked \ 
     91                 with ?action=form ('Edit data form of this topic' link) | 
    9092|  18 Nov 2009 | Foswikitask:Item2373: improve XHTML validation | 
    9193|  17 Nov 2009 | Foswikitask:Item2368 toolbar not always hidden (PH); \ 
  • trunk/NatEditPlugin/pub/System/NatEditPlugin/edit.js

    r5588 r5714  
    33function fixHeightOfPane(){} 
    44(function($){function submitEditForm(script,action){var topicText=$("#topic").val();$("#savearea").val(topicText);if(typeof(beforeSubmitHandler)=='function'){if(beforeSubmitHandler(script,action)===false){return false;}} 
    5 var editForm=$("#EditForm");if(action=='add form'){editForm.find("input[name='submitChangeForm']").val(action);} 
     5var editForm=$(document.getElementById('EditForm'));if(action=='add form'){editForm.find("input[name='submitChangeForm']").val(action);} 
    66editForm.find("input[name='action_preview']").val('');editForm.find("input[name='action_save']").val('');editForm.find("input[name='action_checkpoint']").val('');editForm.find("input[name='action_addform']").val('');editForm.find("input[name='action_replaceform']").val('');editForm.find("input[name='action_cancel']").val('');editForm.find("input[name='action_"+action+"']").val('foobar');if(typeof(foswikiStrikeOne)!='undefined'){foswikiStrikeOne(editForm[0]);} 
    7 if(typeof(tinyMCE)!=='undefined'&&typeof(tinyMCE.activeEditor)!=='undefined'){tinyMCE.activeEditor.onSubmit.dispatch();} 
     7if((typeof(tinyMCE)==='object')&&(typeof(tinyMCE.activeEditor)==='object')&&(tinyMCE.activeEditor!==null)){tinyMCE.activeEditor.onSubmit.dispatch();} 
    88editForm.submit();return false;} 
    99$(function(){$("input[name='TopicTitle']:eq(1)").parents(".foswikiFormStep").remove();$("input[name='Summary']:eq(1)").parents(".foswikiFormStep").remove();$("#save").click(function(){return submitEditForm('save','save')});$("#checkpoint").click(function(){return submitEditForm('save','checkpoint')});$("#preview").click(function(){return submitEditForm('preview','preview')});$("#cancel").click(function(){return submitEditForm('save','cancel')});$("#replaceform").click(function(){return submitEditForm('save','replaceform')});$("#addform").click(function(){return submitEditForm('save','addform')});jQuery(window).load(function(){if((typeof(tinyMCE)==='object')&&typeof(tinyMCE.activeEditor==='object')){$(".natEditToolBar").hide();$("#topic_fullscreen").parent().remove();$(window).trigger('resize.natedit');var oldSwitchToWYSIWYG=FoswikiTiny.switchToWYSIWYG;FoswikiTiny.switchToWYSIWYG=function(inst){$(".natEditToolBar").hide();$("#wysiwyg").hide();oldSwitchToWYSIWYG(inst);$(window).trigger('resize.natedit');};var oldSwitchToRaw=FoswikiTiny.switchToRaw;var doneInit=false;FoswikiTiny.switchToRaw=function(inst){oldSwitchToRaw(inst);$(window).trigger("resize");var oldWysiwygButton=$("#topic_2WYSIWYG");var newWysiwygButton=$("#wysiwyg");$(".natEditToolBar").show();if(!doneInit){doneInit=true;var onClickHandler=oldWysiwygButton.attr('onclick');oldWysiwygButton.replaceWith(newWysiwygButton);newWysiwygButton.click(onClickHandler).show();}else{oldWysiwygButton.hide();newWysiwygButton.show();}};}});});})(jQuery);; 
  • trunk/NatEditPlugin/pub/System/NatEditPlugin/edit.uncompressed.js

    r5588 r5714  
    1515      } 
    1616    } 
    17     var editForm = $("#EditForm"); 
     17    /* SMELL: Why doesn't this work when ?action=form? Item2453 
     18       var editForm = $('#EditForm'); */ 
     19    var editForm = $(document.getElementById('EditForm')); 
    1820    if (action == 'add form') { 
    1921      editForm.find("input[name='submitChangeForm']").val(action); 
     
    2931      foswikiStrikeOne(editForm[0]); 
    3032    } 
    31     if (typeof(tinyMCE) !== 'undefined' && typeof(tinyMCE.activeEditor) !== 'undefined') { 
     33    if ((typeof(tinyMCE) === 'object') &&  
     34      (typeof(tinyMCE.activeEditor) === 'object') && 
     35      (tinyMCE.activeEditor !== null)) { 
    3236      tinyMCE.activeEditor.onSubmit.dispatch(); 
    3337    } 
Note: See TracChangeset for help on using the changeset viewer.