From 15f900e63054ac491ab45bda9720a848c4cad1e4 Mon Sep 17 00:00:00 2001 From: Denis Flaven Date: Tue, 13 Dec 2016 10:56:03 +0000 Subject: [PATCH] (retrofit from trunk) N. 533: when reloading the ticket form (due to an alternate initial state path) 1) the value of some controls (non-text inputs in n:n links) was not preserved, 2) popup dialogs and CKEditor instances were not properly destroyed and re-created. SVN:2.3[4516] --- js/linkswidget.js | 7 ++++++- js/wizardhelper.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/js/linkswidget.js b/js/linkswidget.js index 9d74a52f97..f71343fb97 100644 --- a/js/linkswidget.js +++ b/js/linkswidget.js @@ -16,6 +16,11 @@ function LinksWidget(id, sClass, sAttCode, iInputId, sSuffix, bDuplicates, oWizH $('#linkedset_'+this.id+' .selection').each( function() { this.checked = false; }); $('#'+this.id+'_btnRemove').attr('disabled','disabled'); $('#'+this.id+'_linksToRemove').val(''); + + $('#linkedset_'+me.id).on('remove', function() { + // prevent having the dlg div twice + $('#dlg_'+me.id).remove(); + }); }; this.RemoveSelected = function() @@ -294,7 +299,7 @@ function LinksWidget(id, sClass, sAttCode, iInputId, sSuffix, bDuplicates, oWizH this.GetUpdatedValue = function() { - var sSelector = '#linkedset_'+me.id+' input[name^=attr_'+me.id+']'; + var sSelector = '#linkedset_'+me.id+' :input[name^=attr_'+me.id+']'; var aIndexes = []; var aValues = []; $(sSelector).each(function() { diff --git a/js/wizardhelper.js b/js/wizardhelper.js index ef36ba2025..a76d8f9b02 100644 --- a/js/wizardhelper.js +++ b/js/wizardhelper.js @@ -236,7 +236,7 @@ function WizardHelper(sClass, sFormPrefix, sState) $('#'+sFormId).find('.htmlEditor').each(function() { var sId = $(this).attr('id'); var editorInst = CKEDITOR.instances[sId]; - if (editorInst) + if (editorInst.status == 'ready') { editorInst.destroy(true); }