ソースを参照

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.

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4515 a333f486-631f-4898-b8df-5754b55c2be0

dflaven 8 年 前
コミット
21401ae0ac
2 ファイル変更7 行追加2 行削除
  1. 6 1
      js/linkswidget.js
  2. 1 1
      js/wizardhelper.js

+ 6 - 1
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() {

+ 1 - 1
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);
 				    }