X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2Fform%2FComboNested.js;h=4c5afb2bf37cfecb76f2adb09f5b3ae2123d7ca6;hb=d2b47906bae7db9e3ca603c53473f75af9811745;hp=cc9114e715ebc0f673279f9d9856c14d417a7b1e;hpb=dad1e7bd00322fecfa995ace623dd4389904f365;p=roojs1 diff --git a/Roo/form/ComboNested.js b/Roo/form/ComboNested.js index cc9114e715..4c5afb2bf3 100644 --- a/Roo/form/ComboNested.js +++ b/Roo/form/ComboNested.js @@ -365,6 +365,11 @@ Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { selectActive : function (lvl) { + var cstore = new Roo.data.SimpleStore({ + //fields : this.store.reader.meta.fields, // we need array reader.. for + reader : this.store.reader, + data : [ ] + }); // just need to determine which of the current level is selected if any.. var value = this.getValue(); var prop = this.hiddenName; @@ -372,22 +377,29 @@ Roo.extend(Roo.form.ComboNested, Roo.form.ComboBox, { if(store.getCount() < 1){ return; } + var record = false; store.each(function(r){ + // selected is at this level if(r.data[prop] == value){ - record = r; - return false; + record = r; + return false; + } + + if (r.data.cn && r.data.cn.length) { + cstore.loadDataFromChildren( r); + var cret = _this.findRecordInStore(cstore, prop, value); + if (cret !== false) { + record = r; + return false; + } } - if (r.data.cn && r.data.cn.length) { - cstore.loadDataFromChildren( r); - var cret = _this.findRecordInStore(cstore, prop, value); - if (cret !== false) { - record = cret; - return false; - } - } - return true; + return true; }); + if (record !== false) { + var ix = store.getIndexOf(record); + this.views[lvl].function(ix, false, true); // will not trigger select change.. + } }