From: Alan Knowles Date: Mon, 10 Feb 2020 07:12:35 +0000 (+0800) Subject: Roo/form/ComboNested.js X-Git-Url: http://git.roojs.org/?p=roojs1;a=commitdiff_plain;h=d2b47906bae7db9e3ca603c53473f75af9811745 Roo/form/ComboNested.js --- 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.. + } }