From: Alan Knowles Date: Thu, 26 Sep 2019 02:07:00 +0000 (+0800) Subject: Changed Roo/HtmlEditorCore.jsRoo/form/BasicForm.jsRoo/form/ComboBoxArray.js X-Git-Url: http://git.roojs.org/?p=roojs1;a=commitdiff_plain;h=7dfe72bc1ea4c700ad0edfa2f27044a65e6752fe Changed Roo/HtmlEditorCore.jsRoo/form/BasicForm.jsRoo/form/ComboBoxArray.js --- diff --git a/Roo/HtmlEditorCore.js b/Roo/HtmlEditorCore.js index 9a3460e154..25eff16982 100644 --- a/Roo/HtmlEditorCore.js +++ b/Roo/HtmlEditorCore.js @@ -1040,6 +1040,17 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { var remove_keep_children= Roo.HtmlEditorCore.remove.indexOf(node.tagName.toLowerCase()) > -1; + + if (!node.attributes || !node.attributes.length) { + + if (lcname == 'span' && + node.childNodes.length == 1 && + node.childNodes[0].tagName.toLowerCase() == 'span' + ) { + remove_keep_children = true; + } + } + // remove as rendering on yahoo mailer is borked with this. // this will have to be flaged elsewhere - perhaps ablack=name... on the mailer.. @@ -1060,6 +1071,10 @@ Roo.extend(Roo.HtmlEditorCore, Roo.Component, { } if (!node.attributes || !node.attributes.length) { + + + + this.cleanUpChildren(node); return; } diff --git a/Roo/form/BasicForm.js b/Roo/form/BasicForm.js index 3e2d779534..4f54688b5d 100644 --- a/Roo/form/BasicForm.js +++ b/Roo/form/BasicForm.js @@ -523,7 +523,7 @@ clientValidation Boolean Applies to submit only. Pass true to call fo return this; }, - + /** * Returns the fields in this form as an object with key/value pairs. If multiple fields exist with the same name * they are returned as an array. diff --git a/Roo/form/ComboBoxArray.js b/Roo/form/ComboBoxArray.js index 5afa5e2723..0c86d90461 100644 --- a/Roo/form/ComboBoxArray.js +++ b/Roo/form/ComboBoxArray.js @@ -115,7 +115,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, // give fake names to child combo; this.combo.hiddenName = this.hiddenName ? (this.hiddenName+'-subcombo') : this.hiddenName; - this.combo.name = this.name? (this.name+'-subcombo') : this.name; + this.combo.name = this.name ? (this.name+'-subcombo') : this.name; this.combo = Roo.factory(this.combo, Roo.form); this.combo.onRender(ct, position); @@ -236,6 +236,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, { var valueField = this.combo.valueField; var displayField = this.combo.displayField; + if (this.items.indexOfKey(rec[valueField]) > -1) { //console.log("GOT " + rec.data.id); return; @@ -267,7 +268,6 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, this.items.each(function(f) { ar.push(f.data[idField]); - }); this.hiddenEl.dom.value = ar.join(','); this.validate(); @@ -293,11 +293,9 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, }, setValue: function(v) // not a valid action - must use addItems.. { - - this.reset(); - - + this.reset(); + if (this.store.isLocal && (typeof(v) == 'string')) { // then we can use the store to find the values.. // comma seperated at present.. this needs to allow JSON based encoding..