X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=roojs-debug.js;h=adcff90e77859af4ce9e031bfc2fc7b3509fe970;hp=1ba254dcce1cb12d4cdcac974e86fb2d55cd4d77;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hpb=6e01794e54cc1b21208e67ae4151d199f63affa5 diff --git a/roojs-debug.js b/roojs-debug.js index 1ba254dcce..adcff90e77 100644 --- a/roojs-debug.js +++ b/roojs-debug.js @@ -6074,9 +6074,8 @@ Roo.util.Observable.releaseCapture = function(o){ var ls = this.listeners, scope, len = ls.length; if(len > 0){ this.firing = true; - + var args = Array.prototype.slice.call(arguments, 0); for(var i = 0; i < len; i++){ - var args = Array.prototype.slice.call(arguments, 0); var l = ls[i]; if(l.fireFn.apply(l.scope||this.obj||window, args) === false){ this.firing = false; @@ -15440,7 +15439,7 @@ Roo.extend(Roo.Component, Roo.util.Observable, { /** * @cfg {String} actionMode * which property holds the element that used for hide() / show() / disable() / enable() - * default is 'el' + * default is 'el' for forms you probably want to set this to fieldEl */ actionMode : "el", @@ -42319,7 +42318,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, @@ -42494,7 +42496,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(); }, @@ -42526,7 +42528,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) { @@ -42543,7 +42545,13 @@ Roo.extend(Roo.form.ComboBoxArray, Roo.form.TextField, if (typeof(v) == 'object' ) { // then let's assume it's an array of objects.. Roo.each(v, function(l) { - this.addItem(l); + var add = l; + if (typeof(l) == 'string') { + add = {}; + add[this.valueField] = l; + add[this.displayField] = l + } + this.addItem(add); }, this); } @@ -42565,10 +42573,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]; @@ -42616,7 +42623,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)); } @@ -42892,8 +42899,8 @@ Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { left: (i * lw ) + 'px', display : i > 0 ? 'none' : 'block' }); - view.on('selectionchange', this.onSelectChange, this, {list : i }); - view.on('dblclick', this.onDoubleClick, this, {list : i }); + view.on('selectionchange', this.onSelectChange.createDelegate(this, {list : i }, true)); + view.on('dblclick', this.onDoubleClick.createDelegate(this, {list : i }, true)); //view.on('click', this.onViewClick, this, { list : i }); store.on('beforeload', this.onBeforeLoad, this); @@ -55468,12 +55475,12 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { return this; }, - /** - * Reconfigures the grid to use a different Store and Column Model. - * The View will be bound to the new objects and refreshed. - * @param {Roo.data.Store} dataSource The new {@link Roo.data.Store} object - * @param {Roo.grid.ColumnModel} The new {@link Roo.grid.ColumnModel} object - */ + /** + * Reconfigures the grid to use a different Store and Column Model. + * The View will be bound to the new objects and refreshed. + * @param {Roo.data.Store} dataSource The new {@link Roo.data.Store} object + * @param {Roo.grid.ColumnModel} The new {@link Roo.grid.ColumnModel} object + */ reconfigure : function(dataSource, colModel){ if(this.loadMask){ this.loadMask.destroy(); @@ -55485,7 +55492,41 @@ Roo.extend(Roo.grid.Grid, Roo.util.Observable, { this.colModel = colModel; this.view.refresh(true); }, - + /** + * addColumns + * Add's a column, default at the end.. + + * @param {int} position to add (default end) + * @param {Array} of objects of column configuration see {@link Roo.grid.ColumnModel} + */ + addColumns : function(pos, ar) + { + + for (var i =0;i< ar.length;i++) { + var cfg = ar[i]; + cfg.id = typeof(cfg.id) == 'undefined' ? Roo.id() : cfg.id; // don't normally use this.. + this.cm.lookup[cfg.id] = cfg; + } + + + if (typeof(pos) == 'undefined' || pos >= this.cm.config.length) { + pos = this.cm.config.length; //this.cm.config.push(cfg); + } + pos = Math.max(0,pos); + ar.unshift(0); + ar.unshift(pos); + this.cm.config.splice.apply(this.cm.config, ar); + + + + this.view.generateRules(this.cm); + this.view.refresh(true); + + }, + + + + // private onKeyDown : function(e){ this.fireEvent("keydown", e);