Roo/bootstrap/form/MultiLineTag.js
authorleon <leon@roojs.com>
Wed, 1 Nov 2023 08:35:32 +0000 (16:35 +0800)
committerleon <leon@roojs.com>
Wed, 1 Nov 2023 08:35:32 +0000 (16:35 +0800)
roojs-bootstrap.js
roojs-bootstrap-debug.js

Roo/bootstrap/form/MultiLineTag.js
roojs-bootstrap-debug.js
roojs-bootstrap.js

index b8a3d43..55a92bd 100644 (file)
@@ -213,7 +213,7 @@ Roo.extend(Roo.bootstrap.form.MultiLineTag, Roo.bootstrap.form.Input,  {
 
         if(arr.length < this.tagRows.length) {
             for(; i < this.tagRows.length; i ++) {
-
+                this.removeTagRow(this.tagRows[i]);
             }
         }
         
index 9fca5ca..ae87d8d 100644 (file)
@@ -14891,10 +14891,7 @@ Roo.extend(Roo.bootstrap.form.MultiLineTag, Roo.bootstrap.form.Input,  {
                     this.removeBtn = button;
 
                     this.removeBtn.on('click', function() {
-                        _self.destroy();
-                        _this.tagRows.splice(_this.tagRows.indexOf(_self), 1);
-                        _this.showHideRemoveBtn();
-                        _this.fireEvent('change', _this, _this.getValue(), false);
+                        _this.removeTagRow(_self);
                     });
                 }
             }
@@ -14970,7 +14967,7 @@ Roo.extend(Roo.bootstrap.form.MultiLineTag, Roo.bootstrap.form.Input,  {
 
         if(arr.length < this.tagRows.length) {
             for(; i < this.tagRows.length; i ++) {
-
+                this.removeTagRow(this.tagRows[i]);
             }
         }
         
index 0429120..4b59058 100644 (file)
@@ -630,11 +630,11 @@ this.updateInput();},reset:function(){this.fileCollection.each(function(A){if(A.
 Roo.bootstrap.form.MultiLineTag=function(A){Roo.bootstrap.form.MultiLineTag.superclass.constructor.call(this,A);this.addEvents({beforeload:true});};Roo.extend(Roo.bootstrap.form.MultiLineTag,Roo.bootstrap.form.Input,{tagRows:[],minimumRow:2,displayField:'name',valueField:'name',placeholder:'Corporate, CSR, ESG Product',queryParam:'query[name]',listWidth:300,url:'http://localhost/web.MediaOutreach.publisher/index.local.php/Roo/Core_company',fields:[{'name':'id','type':'int'}
 ,{'name':'name','type':'string'}],getAutoCreate:function(){var A={cls:'roo-multi-line-tag'};return A;},initEvents:function(){this.tagRows=[];for(var i=0;i<this.minimumRow;i++){this.addTagRow();}},addTagRow:function(){var A=this;var B=Roo.factory({xns:Roo.bootstrap.form,xtype:'ComboBox',editable:true,triggerAction:'all',minChars:2,displayField:A.displayField,valueField:A.valueField,listWidth:A.listWidth,placeholder:A.placeholder,queryParam:A.queryParam,store:{xns:Roo.data,xtype:'Store',listeners:{beforeload:function(E,F){A.fireEvent('beforeload',A,E,F);
 }},proxy:{xns:Roo.data,xtype:'HttpProxy',method:'GET',url:A.url},reader:{xns:Roo.data,xtype:'JsonReader',fields:A.fields}},listeners:{'render':function(E){E.inputEl().on('keyup',function(e){if(A.shouldAutoAddTagRow()){A.addTagRow();}});E.inputEl().on('change',function(e){A.fireEvent('change',A,A.getValue(),false);
-});},'select':function(E,F,G){A.fireEvent('change',A,A.getValue(),false);}}});var C=Roo.factory({xns:Roo.bootstrap,xtype:'Button',html:'-'});var D={xns:Roo.bootstrap,xtype:'Row',items:[B,C],listeners:{'render':function(E){this.inputCb=B;this.removeBtn=C;this.removeBtn.on('click',function(){E.destroy();
-A.tagRows.splice(A.tagRows.indexOf(E),1);A.showHideRemoveBtn();A.fireEvent('change',A,A.getValue(),false);});}}};this.tagRows.push(this.addxtype(D));A.showHideRemoveBtn();},shouldAutoAddTagRow:function(){var A=true;Roo.each(this.tagRows,function(r){if(r.inputCb.getRawValue()==''){A=false;
-}});return A;},removeTagRow:function(A){A.destroy();this.tagRows.splice(this.tagRows.indexOf(A),1);this.fireEvent('change',this,this.getValue(),false);this.showHideRemoveBtn();},showHideRemoveBtn:function(){var A=this;Roo.each(this.tagRows,function(r){r.removeBtn.show();
-if(A.tagRows.length<=A.minimumRow){r.removeBtn.hide();}});},getValue:function(){var A=this;var B=[];Roo.each(A.tagRows,function(r){var C=r.inputCb.getRawValue();if(C!=''){var D={};D[A.valueField]=r.inputCb.getRawValue();B.push(D);}});return JSON.stringify(B);
-},setValue:function(A){var B=JSON.parse(A);var i=0;for(;i<B.length;i++){if(this.tagRows.length==i){this.addTagRow();}this.tagRows[i].inputCb.setRawValue(B[i][this.valueField]);}if(B.length<this.tagRows.length){for(;i<this.tagRows.length;i++){}}}});
+});},'select':function(E,F,G){A.fireEvent('change',A,A.getValue(),false);}}});var C=Roo.factory({xns:Roo.bootstrap,xtype:'Button',html:'-'});var D={xns:Roo.bootstrap,xtype:'Row',items:[B,C],listeners:{'render':function(E){this.inputCb=B;this.removeBtn=C;this.removeBtn.on('click',function(){A.removeTagRow(E);
+});}}};this.tagRows.push(this.addxtype(D));A.showHideRemoveBtn();},shouldAutoAddTagRow:function(){var A=true;Roo.each(this.tagRows,function(r){if(r.inputCb.getRawValue()==''){A=false;}});return A;},removeTagRow:function(A){A.destroy();this.tagRows.splice(this.tagRows.indexOf(A),1);
+this.fireEvent('change',this,this.getValue(),false);this.showHideRemoveBtn();},showHideRemoveBtn:function(){var A=this;Roo.each(this.tagRows,function(r){r.removeBtn.show();if(A.tagRows.length<=A.minimumRow){r.removeBtn.hide();}});},getValue:function(){var A=this;
+var B=[];Roo.each(A.tagRows,function(r){var C=r.inputCb.getRawValue();if(C!=''){var D={};D[A.valueField]=r.inputCb.getRawValue();B.push(D);}});return JSON.stringify(B);},setValue:function(A){var B=JSON.parse(A);var i=0;for(;i<B.length;i++){if(this.tagRows.length==i){this.addTagRow();
+}this.tagRows[i].inputCb.setRawValue(B[i][this.valueField]);}if(B.length<this.tagRows.length){for(;i<this.tagRows.length;i++){this.removeTagRow(this.tagRows[i]);}}}});
 // Roo/data/SortTypes.js
 Roo.data.SortTypes={none:function(s){return s;},stripTagsRE:/<\/?[^>]+>/gi,asText:function(s){return String(s).replace(this.stripTagsRE,"");},asUCText:function(s){return String(s).toUpperCase().replace(this.stripTagsRE,"");},asUCString:function(s){return String(s).toUpperCase();
 },asDate:function(s){if(!s){return 0;}if(s instanceof Date){return s.getTime();}return Date.parse(String(s));},asFloat:function(s){var A=parseFloat(String(s).replace(/,/g,""));if(isNaN(A)){A=0;}return A;},asInt:function(s){var A=parseInt(String(s).replace(/,/g,""));