From d37d13ac58871c2478694567c3a219e30ef94bf2 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Wed, 13 May 2020 16:33:37 +0800 Subject: [PATCH] enable different seperator for values --- Roo/form/ComboBoxArray.js | 16 +++++++++------- docs/src/Roo_grid_Grid.js.html | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Roo/form/ComboBoxArray.js b/Roo/form/ComboBoxArray.js index 0c86d90461..68af07bcac 100644 --- a/Roo/form/ComboBoxArray.js +++ b/Roo/form/ComboBoxArray.js @@ -94,7 +94,10 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, * @cfg {String} hiddenName The hidden name of the field, often contains an comma seperated list of names */ hiddenName : false, - + /** + * @cfg {String} seperator The value seperator normally ',' + */ + seperator : ',', // private the array of items that are displayed.. items : false, @@ -269,7 +272,7 @@ 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.hiddenEl.dom.value = ar.join(this.seperator); this.validate(); }, @@ -301,7 +304,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, // comma seperated at present.. this needs to allow JSON based encoding.. this.hiddenEl.value = v; var v_ar = []; - Roo.each(v.split(','), function(k) { + Roo.each(v.split(this.seperator), function(k) { Roo.log("CHECK " + this.valueField + ',' + k); var li = this.store.query(this.valueField, k); if (!li.length) { @@ -340,10 +343,9 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, dv = typeof(dv) != 'string' ? '' : dv; - var keys = kv.split(','); - var display = dv.split(','); + var keys = kv.split(this.seperator); + var display = dv.split(this.seperator); for (var i = 0 ; i < keys.length; i++) { - add = {}; add[this.valueField] = keys[i]; add[this.displayField] = display[i]; @@ -391,7 +393,7 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, originalValue.push(d[i][this.valueField]); } - return String(this.getValue()) !== String(originalValue.join(',')); + return String(this.getValue()) !== String(originalValue.join(this.seperator)); } diff --git a/docs/src/Roo_grid_Grid.js.html b/docs/src/Roo_grid_Grid.js.html index 5a50968cd0..d43e8c4895 100644 --- a/docs/src/Roo_grid_Grid.js.html +++ b/docs/src/Roo_grid_Grid.js.html @@ -757,4 +757,4 @@ * %0 is replaced with the number of selected rows. * @type String */ -Roo.grid.Grid.prototype.ddText = "{0} selected row{1}"; +Roo.grid.Grid.prototype.ddText = "{0} selected row{1}"; \ No newline at end of file -- 2.39.2