From 39a06ea99ec25a00e0db733b4f902c94ba0cc695 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 17 Jul 2020 16:51:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=A8=E6=88=B7=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=80=9A=E8=BF=87anonymous=E8=AE=BF=E9=97=AE=E4=BC=9A?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- o2web/source/x_component_Selector/Person.js | 36 +++++++++++-------- .../x_component_process_Work/Processor.js | 4 +++ o2web/source/x_desktop/js/base.js | 12 ++++--- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/o2web/source/x_component_Selector/Person.js b/o2web/source/x_component_Selector/Person.js index 8be456dae7..ffb93f95c0 100644 --- a/o2web/source/x_component_Selector/Person.js +++ b/o2web/source/x_component_Selector/Person.js @@ -1762,18 +1762,18 @@ MWF.xApplication.Selector.Person.Item = new Class({ this.outItem(); }.bind(this), "click": function(){ - this.clickItem(); + this.clickItem( true ); }.bind(this) }); }, - clickItem: function(){ + clickItem: function( manual ){ if ( layout.mobile && this.selector.options.count.toInt()===1){ - this.selectedSingle(); + this.selectedSingle( manual ); }else{ if (this.isSelected){ - this.unSelected(); + this.unSelected( manual ); }else{ - this.selected(); + this.selected( manual ); } } }, @@ -1810,7 +1810,7 @@ MWF.xApplication.Selector.Person.Item = new Class({ } } }, - selectedSingle: function(){ + selectedSingle: function( manual ){ if (!this.isSelected){ if (this.selector.currentItem) this.selector.currentItem.unSelectedSingle(); this.getData(function(){ @@ -1827,11 +1827,12 @@ MWF.xApplication.Selector.Person.Item = new Class({ this.actionNode.setStyles( this.selector.css.selectorItemActionNode_single_selected ); } - this.selector.fireEvent("selectItem",[this]) + this.selector.fireEvent("selectItem",[this]); + if( manual )this.selector.fireEvent("valid", [this.selector, this]); }.bind(this)); }else { - this.unSelectedSingle(); + this.unSelectedSingle( manual ); } }, getData: function(callback){ @@ -1850,9 +1851,10 @@ MWF.xApplication.Selector.Person.Item = new Class({ if( ( this.selector.options.count.toInt() === 1 || this.selector.options.noSelectedContainer ) && this.selector.css.selectorItemActionNode_single ){ this.actionNode.setStyles( this.selector.css.selectorItemActionNode_single ); } - this.selector.fireEvent("unselectItem",[this]) + this.selector.fireEvent("unselectItem",[this]); + if( manual )this.selector.fireEvent("valid", [this.selector, this]); }, - selected: function(){ + selected: function( manual ){ var count = this.selector.options.maxCount || this.selector.options.count; count = count.toInt(); if (!count) count = 0; @@ -1880,12 +1882,13 @@ MWF.xApplication.Selector.Person.Item = new Class({ // this.category.checkSelectAll(); // } - this.selector.fireEvent("selectItem",[this]) + this.selector.fireEvent("selectItem",[this]); + if( manual )this.selector.fireEvent("valid", [this.selector, this]); }else{ MWF.xDesktop.notice("error", {x: "right", y:"top"}, "最多可选择"+count+"个选项", this.node); } }, - unSelected: function(){ + unSelected: function( manual ){ this.isSelected = false; if( this.node ){ this.node.setStyles(this.selector.css.selectorItem); @@ -1949,7 +1952,8 @@ MWF.xApplication.Selector.Person.Item = new Class({ this.selectedItem.destroy(); this.selectedItem = null; } - this.selector.fireEvent("unselectItem",[this]) + this.selector.fireEvent("unselectItem",[this]); + if( manual )this.selector.fireEvent("valid", [this.selector, this]); }, postLoad : function(){}, getParentCategoryByLevel : function( level ){ @@ -2000,16 +2004,18 @@ MWF.xApplication.Selector.Person.ItemSelected = new Class({ getData: function(callback){ if (callback) callback(); }, - clickItem: function(){ + clickItem: function( manual ){ if (this.items.length){ this.items.each(function(item){ - item.unSelected(); + item.unSelected( manual ); }); + if( manual )this.selector.fireEvent("valid", [this.selector, this]) }else{ //this.item.selectedItem = null; //this.item.isSelected = false; this.destroy(); this.selector.selectedItems.erase(this); + if( manual )this.selector.fireEvent("valid", [this.selector, this]) } }, //overItem: function(){ diff --git a/o2web/source/x_component_process_Work/Processor.js b/o2web/source/x_component_process_Work/Processor.js index 8ffb5fb2c5..356dc83d98 100644 --- a/o2web/source/x_component_process_Work/Processor.js +++ b/o2web/source/x_component_process_Work/Processor.js @@ -1775,6 +1775,10 @@ if( MWF.xApplication.process.Xform && MWF.xApplication.process.Xform.Form ){ }.bind(this)); } + defaultOpt["onValid"] = function ( selector ) { + this.validation(); + }.bind(this); + if( this.form.json.selectorStyle ){ defaultOpt = Object.merge( Object.clone(this.form.json.selectorStyle), defaultOpt ); if( this.form.json.selectorStyle.style )defaultOpt.style = this.form.json.selectorStyle.style; diff --git a/o2web/source/x_desktop/js/base.js b/o2web/source/x_desktop/js/base.js index 5c21ea51ac..9ac7c5714a 100644 --- a/o2web/source/x_desktop/js/base.js +++ b/o2web/source/x_desktop/js/base.js @@ -479,11 +479,13 @@ o2.addReady(function () { if (layout.anonymous) { _loadProgressBar(true); _loadApp({ - user: "anonymous", - session: { - user: { - name: "anonymous", - roleList: [] + data : { + user: "anonymous", + session: { + user: { + name: "anonymous", + roleList: [] + } } } }); -- GitLab