@ibiz-template/vue3-util 0.0.3-beta.2 → 0.0.3-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/system/index.system.js +1 -1
- package/out/props/editor/autocomplete.d.ts +55 -0
- package/out/props/editor/autocomplete.d.ts.map +1 -0
- package/out/props/editor/autocomplete.js +25 -0
- package/out/props/editor/check-box-list.d.ts +5 -7
- package/out/props/editor/check-box-list.d.ts.map +1 -1
- package/out/props/editor/check-box-list.js +5 -5
- package/out/props/editor/check-box.d.ts +55 -0
- package/out/props/editor/check-box.d.ts.map +1 -0
- package/out/props/editor/check-box.js +25 -0
- package/out/props/editor/common.d.ts +16 -3
- package/out/props/editor/common.d.ts.map +1 -1
- package/out/props/editor/common.js +18 -3
- package/out/props/editor/data-picker.d.ts +1 -3
- package/out/props/editor/data-picker.d.ts.map +1 -1
- package/out/props/editor/date-picker.d.ts +1 -3
- package/out/props/editor/date-picker.d.ts.map +1 -1
- package/out/props/editor/dropdown-list.d.ts +1 -3
- package/out/props/editor/dropdown-list.d.ts.map +1 -1
- package/out/props/editor/index.d.ts +8 -0
- package/out/props/editor/index.d.ts.map +1 -1
- package/out/props/editor/index.js +8 -0
- package/out/props/editor/list-box.d.ts +55 -0
- package/out/props/editor/list-box.d.ts.map +1 -0
- package/out/props/editor/list-box.js +25 -0
- package/out/props/editor/radio-button-list.d.ts +1 -3
- package/out/props/editor/radio-button-list.d.ts.map +1 -1
- package/out/props/editor/rate.d.ts +51 -0
- package/out/props/editor/rate.d.ts.map +1 -0
- package/out/props/editor/rate.js +21 -0
- package/out/props/editor/raw.d.ts +51 -0
- package/out/props/editor/raw.d.ts.map +1 -0
- package/out/props/editor/raw.js +21 -0
- package/out/props/editor/slider.d.ts +51 -0
- package/out/props/editor/slider.d.ts.map +1 -0
- package/out/props/editor/slider.js +21 -0
- package/out/props/editor/span.d.ts +1 -3
- package/out/props/editor/span.d.ts.map +1 -1
- package/out/props/editor/stepper.d.ts +51 -0
- package/out/props/editor/stepper.d.ts.map +1 -0
- package/out/props/editor/stepper.js +21 -0
- package/out/props/editor/switch.d.ts +51 -0
- package/out/props/editor/switch.d.ts.map +1 -0
- package/out/props/editor/switch.js +21 -0
- package/out/props/editor/text-box.d.ts +2 -6
- package/out/props/editor/text-box.d.ts.map +1 -1
- package/out/props/editor/upload.d.ts +1 -3
- package/out/props/editor/upload.d.ts.map +1 -1
- package/out/use/grid-cell-edit/grid-cell-edit.d.ts +15 -14
- package/out/use/grid-cell-edit/grid-cell-edit.d.ts.map +1 -1
- package/out/use/grid-cell-edit/grid-cell-edit.js +83 -46
- package/out/use/route/route.d.ts +13 -0
- package/out/use/route/route.d.ts.map +1 -1
- package/out/use/route/route.js +27 -0
- package/out/use/view/index.d.ts +5 -0
- package/out/use/view/index.d.ts.map +1 -1
- package/out/use/view/index.js +5 -0
- package/out/use/view/use-dataview-view/use-dataview-view.d.ts +12 -0
- package/out/use/view/use-dataview-view/use-dataview-view.d.ts.map +1 -0
- package/out/use/view/use-dataview-view/use-dataview-view.js +16 -0
- package/out/use/view/use-kanban-view/use-kanban-view.d.ts +12 -0
- package/out/use/view/use-kanban-view/use-kanban-view.d.ts.map +1 -0
- package/out/use/view/use-kanban-view/use-kanban-view.js +16 -0
- package/out/use/view/use-list-exp-view/use-list-exp-view.d.ts +10 -0
- package/out/use/view/use-list-exp-view/use-list-exp-view.d.ts.map +1 -0
- package/out/use/view/use-list-exp-view/use-list-exp-view.js +14 -0
- package/out/use/view/use-list-view/use-list-view.d.ts +10 -0
- package/out/use/view/use-list-view/use-list-view.d.ts.map +1 -0
- package/out/use/view/use-list-view/use-list-view.js +14 -0
- package/out/use/view/use-wizard-view/use-wizard-view.d.ts +12 -0
- package/out/use/view/use-wizard-view/use-wizard-view.d.ts.map +1 -0
- package/out/use/view/use-wizard-view/use-wizard-view.js +16 -0
- package/out/use/vue/vue.d.ts +10 -0
- package/out/use/vue/vue.d.ts.map +1 -1
- package/out/use/vue/vue.js +16 -3
- package/out/use/widget/index.d.ts +5 -0
- package/out/use/widget/index.d.ts.map +1 -1
- package/out/use/widget/index.js +5 -0
- package/out/use/widget/use-dataview-controller/use-dataview-controller.d.ts +16 -0
- package/out/use/widget/use-dataview-controller/use-dataview-controller.d.ts.map +1 -0
- package/out/use/widget/use-dataview-controller/use-dataview-controller.js +22 -0
- package/out/use/widget/use-grid-controller/use-grid-controller.js +3 -3
- package/out/use/widget/use-kanban-controller/use-kanban-controller.d.ts +16 -0
- package/out/use/widget/use-kanban-controller/use-kanban-controller.d.ts.map +1 -0
- package/out/use/widget/use-kanban-controller/use-kanban-controller.js +22 -0
- package/out/use/widget/use-layout-panel-controller/use-layout-panel-controller.d.ts +14 -0
- package/out/use/widget/use-layout-panel-controller/use-layout-panel-controller.d.ts.map +1 -0
- package/out/use/widget/use-layout-panel-controller/use-layout-panel-controller.js +20 -0
- package/out/use/widget/use-list-controller/use-list-controller.d.ts.map +1 -1
- package/out/use/widget/use-list-controller/use-list-controller.js +6 -0
- package/out/use/widget/use-tree-controller/use-tree-controller.js +1 -1
- package/out/use/widget/use-view-layout-panel-controller/use-view-layout-panel-controller.d.ts +14 -0
- package/out/use/widget/use-view-layout-panel-controller/use-view-layout-panel-controller.d.ts.map +1 -0
- package/out/use/widget/use-view-layout-panel-controller/use-view-layout-panel-controller.js +17 -0
- package/out/use/widget/use-wizard-panel-controller/use-wizard-panel-controller.d.ts +17 -0
- package/out/use/widget/use-wizard-panel-controller/use-wizard-panel-controller.d.ts.map +1 -0
- package/out/use/widget/use-wizard-panel-controller/use-wizard-panel-controller.js +19 -0
- package/out/util/index.d.ts +1 -0
- package/out/util/index.d.ts.map +1 -1
- package/out/util/index.js +1 -0
- package/out/util/route/route-listener.d.ts +42 -0
- package/out/util/route/route-listener.d.ts.map +1 -0
- package/out/util/route/route-listener.js +77 -0
- package/out/util/route/route.d.ts +4 -1
- package/out/util/route/route.d.ts.map +1 -1
- package/out/util/route/route.js +4 -13
- package/package.json +8 -8
- package/src/props/editor/autocomplete.ts +28 -0
- package/src/props/editor/check-box-list.ts +5 -5
- package/src/props/editor/check-box.ts +28 -0
- package/src/props/editor/common.ts +19 -5
- package/src/props/editor/index.ts +8 -0
- package/src/props/editor/list-box.ts +35 -0
- package/src/props/editor/rate.ts +24 -0
- package/src/props/editor/raw.ts +24 -0
- package/src/props/editor/slider.ts +24 -0
- package/src/props/editor/stepper.ts +24 -0
- package/src/props/editor/switch.ts +24 -0
- package/src/use/grid-cell-edit/grid-cell-edit.ts +124 -60
- package/src/use/route/route.ts +33 -1
- package/src/use/view/index.ts +5 -0
- package/src/use/view/use-dataview-view/use-dataview-view.ts +21 -0
- package/src/use/view/use-kanban-view/use-kanban-view.ts +19 -0
- package/src/use/view/use-list-exp-view/use-list-exp-view.ts +17 -0
- package/src/use/view/use-list-view/use-list-view.ts +17 -0
- package/src/use/view/use-wizard-view/use-wizard-view.ts +19 -0
- package/src/use/vue/vue.ts +18 -2
- package/src/use/widget/index.ts +5 -0
- package/src/use/widget/use-dataview-controller/use-dataview-controller.ts +29 -0
- package/src/use/widget/use-grid-controller/use-grid-controller.ts +3 -3
- package/src/use/widget/use-kanban-controller/use-kanban-controller.ts +29 -0
- package/src/use/widget/use-layout-panel-controller/use-layout-panel-controller.ts +27 -0
- package/src/use/widget/use-list-controller/use-list-controller.ts +6 -0
- package/src/use/widget/use-tree-controller/use-tree-controller.ts +1 -1
- package/src/use/widget/use-view-layout-panel-controller/use-view-layout-panel-controller.ts +24 -0
- package/src/use/widget/use-wizard-panel-controller/use-wizard-panel-controller.ts +26 -0
- package/src/util/index.ts +1 -0
- package/src/util/route/route-listener.ts +92 -0
- package/src/util/route/route.ts +4 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["@ibiz-template/core","vue-router","qs","vue","qx-util","@ibiz-template/model"],(function(exports){"use strict";var Namespace,RuntimeError,NOOP,IBizContext,debounceAndMerge,downloadFileFromBlob,debounceAndAsyncMerge,onClickOutside,listenJSEvent,CountLatch,useRoute,qs,getCurrentInstance,watch,reactive,onBeforeMount,onMounted,onBeforeUnmount,ref,isFunc,QXEvent,clearAll,notNilEmpty,isNilOrEmpty,isArray,createUUID,DefectModelError,UnsupportedModelError,getPSUIActionByModelObject,AppEntityModel;return{setters:[function(e){Namespace=e.Namespace,RuntimeError=e.RuntimeError,NOOP=e.NOOP,IBizContext=e.IBizContext,debounceAndMerge=e.debounceAndMerge,downloadFileFromBlob=e.downloadFileFromBlob,debounceAndAsyncMerge=e.debounceAndAsyncMerge,onClickOutside=e.onClickOutside,listenJSEvent=e.listenJSEvent,CountLatch=e.CountLatch},function(e){useRoute=e.useRoute},function(e){qs=e.default},function(e){getCurrentInstance=e.getCurrentInstance,watch=e.watch,reactive=e.reactive,onBeforeMount=e.onBeforeMount,onMounted=e.onMounted,onBeforeUnmount=e.onBeforeUnmount,ref=e.ref},function(e){isFunc=e.isFunc,QXEvent=e.QXEvent,clearAll=e.clearAll,notNilEmpty=e.notNilEmpty,isNilOrEmpty=e.isNilOrEmpty,isArray=e.isArray,createUUID=e.createUUID},function(e){DefectModelError=e.DefectModelError,UnsupportedModelError=e.UnsupportedModelError,getPSUIActionByModelObject=e.getPSUIActionByModelObject,AppEntityModel=e.AppEntityModel}],execute:function(){function useNamespace(e){return new Namespace(e,ibiz.env.namespace)}exports({findView:findView,findViewByName:findViewByName,generateRoutePath:generateRoutePath,getCheckboxProps:getCheckboxProps,getDataPickerProps:getDataPickerProps,getDatePickerProps:getDatePickerProps,getDropdownProps:getDropdownProps,getEditorEmits:getEditorEmits,getEditorProps:getEditorProps,getGridCheckboxProps:getGridCheckboxProps,getGridDataPickerProps:getGridDataPickerProps,getGridDatePickerProps:getGridDatePickerProps,getGridDropdownProps:getGridDropdownProps,getGridEditorCommonProps:getGridEditorCommonProps,getGridInputNumberProps:getGridInputNumberProps,getGridInputProps:getGridInputProps,getGridRadioProps:getGridRadioProps,getGridSpanProps:getGridSpanProps,getGridUploadProps:getGridUploadProps,getInputNumberProps:getInputNumberProps,getInputProps:getInputProps,getRadioProps:getRadioProps,getSpanProps:getSpanProps,getUploadProps:getUploadProps,getViewName:getViewName,parseRouteViewData:parseRouteViewData,route2routePath:route2routePath,routePath2string:routePath2string,useAppMenuController:useAppMenuController,useAppPortalViewController:useAppPortalViewController,useClickOutside:useClickOutside,useControlController:useControlController,useController:useController,useDashboardController:useDashboardController,useDashboardViewController:useDashboardViewController,useEditFormController:useEditFormController,useEditView3Controller:useEditView3Controller,useEditViewController:useEditViewController,useEventListener:useEventListener,useForce:useForce,useForceTogether:useForceTogether,useGridCellEditor:useGridCellEditor,useGridController:useGridController,useGridExpViewController:useGridExpViewController,useGridViewController:useGridViewController,useIndexViewController:useIndexViewController,useListController:useListController,useMPickupViewController:useMPickupViewController,useNamespace:useNamespace,useOptViewController:useOptViewController,usePickupGridViewController:usePickupGridViewController,usePickupViewController:usePickupViewController,usePickupViewPanelController:usePickupViewPanelController,useProps:useProps,usePropsWatch:usePropsWatch,useRouterContext:useRouterContext,useRouterQuery:useRouterQuery,useSearchFormController:useSearchFormController,useTabExpViewController:useTabExpViewController,useTreeController:useTreeController,useTreeExpViewController:useTreeExpViewController,useViewController:useViewController,useViewPanelController:useViewPanelController,useWFDynaActionViewController:useWFDynaActionViewController,useWFDynaEditView3Controller:useWFDynaEditView3Controller,useWFDynaStartViewController:useWFDynaStartViewController,useWFStepTraceViewController:useWFStepTraceViewController});var __assign=function(){return __assign=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},__assign.apply(this,arguments)},FormNotifyState,GridNotifyState;function __awaiter(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((i=i.apply(e,t||[])).next())}))}function __generator(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(r=1,i&&(n=2&a[0]?i.return:a[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,a[1])).done)return n;switch(i=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,i=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){o.label=a[1];break}if(6===a[0]&&o.label<n[1]){o.label=n[1],n=a;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(a);break}n[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],i=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var i,n=0,s=t.length;n<s;n++)!i&&n in t||(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}function useRouterContext(){var e=useRoute().params,t={};if(e){var r=Object.keys(e),i=/[^/]+=[^/]+/;r.forEach((function(r){var n=e[r];n&&i.test(n)&&Object.assign(t,__assign({},qs.parse(n,{delimiter:";"})))}))}return t}function useRouterQuery(){return useRoute().query}function useProps(){return getCurrentInstance().proxy.$props}function usePropsWatch(e,t,r){var i=useProps();Object.prototype.hasOwnProperty.call(i,e)&&(watch((function(){return i[e]}),(function(e,r){t(e,r)}),r),t(i[e],void 0))}function useForce(){var e=getCurrentInstance().proxy;return function(t){e.$forceUpdate(),t&&isFunc(t)&&e.$nextTick((function(){t()}))}}function useForceTogether(e,t){var r=t.force,i=useForce();t.force=function(e){r(e),i()}}function useController(e){e.force=useForce()}function useViewController(e){var t=getCurrentInstance().proxy,r=useProps(),i=e(r.context,r.params);return i.state=reactive(i.state),onBeforeMount((function(){r.modal&&(i.modal=r.modal),i.force=useForce(),i.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return t.$emit.apply(t,__spreadArray([e],__read(r),!1))}})),onMounted((function(){return i.init()})),onBeforeUnmount((function(){return i.destroy()})),i}!function(e){e.LOAD="LOAD",e.DRAFT="DRAFT",e.SAVE="SAVE"}(FormNotifyState||(FormNotifyState={})),function(e){e.LOAD="LOAD",e.DRAFT="DRAFT",e.SAVE="SAVE"}(GridNotifyState||(GridNotifyState={}));class Counter{constructor(e){this.callback=e,this.count=0,this.state="Unused",this.reusable=!0}increment(){return"Used"===this.state||(this.count+=1),this.count}decrement(e){if("Used"!==this.state){if(0===this.count)throw new RuntimeError("错误的调用!decrement不能对count为0调用");this.count-=1,0===this.count&&(e?e():this.callback&&this.callback(),this.reusable||(this.state="Used"))}}destroy(){this.callback=void 0}}class LoadingState{constructor(){this.isLoading=!1,this.counter=new Counter(NOOP)}begin(){this.isLoading=!0,this.counter.increment()}end(){this.counter.decrement((()=>{this.isLoading=!1}))}}class NerveCounter extends Counter{constructor(){super(...arguments),this.reusable=!1,this.neuronNames=new Map}enroll(e){this.neuronNames.has(e)||(this.neuronNames.set(e,!1),this.increment())}attend(e){this.neuronNames.has(e)&&!1===this.neuronNames.get(e)&&(this.neuronNames.set(e,!0),this.decrement())}}class Neuron{constructor(e){this.evt=new QXEvent,this.call=e}destroy(){clearAll(this.call),this.evt.reset()}}class ControlNeuron extends Neuron{}class AppMenuNeuron extends Neuron{}class FormNeuron extends Neuron{}class EditFormNeuron extends Neuron{}class SearchFormNeuron extends Neuron{}class MDControlNeuron extends Neuron{}class GridNeuron extends Neuron{}class ListNeuron extends Neuron{}class TreeNeuron extends Neuron{}class ViewPanelNeuron extends Neuron{}class PickupViewPanelNeuron extends Neuron{}class DashboardNeuron extends Neuron{}class ViewNeuron extends Neuron{}class EditViewNeuron extends Neuron{}class EditView3Neuron extends Neuron{}class OptViewNeuron extends Neuron{}class MDViewNeuron extends Neuron{}class GridViewNeuron extends Neuron{}class PickupGridViewNeuron extends Neuron{}class PickupViewNeuron extends Neuron{}class MPickupViewNeuron extends Neuron{}class WFEditViewNeuron extends Neuron{}class WFDynaActionViewNeuron extends Neuron{}class AppPortalViewNeuron extends Neuron{}class TreeExpViewNeuron extends Neuron{}class TabExpViewNeuron extends Neuron{}class GridExpViewNeuron extends Neuron{}class DashboardViewNeuron extends Neuron{}class Nerve{constructor(e){this.counter=new NerveCounter(this.counterCallBack.bind(this)),this.controller=e,this.self=this.createNeuron(),this.counter.enroll("self")}counterCallBack(){this.self.evt.emit("mounted")}bindAbility(){return{}}inclusive(e){return!1}connect(e,t){}onNeuronInit(e){return this.inclusive(e)?(this.counter.enroll(e),t=>{this.connect(e,t)}):e=>{}}created(){this.self.evt.emit("created")}mounted(){this.counter.attend("self")}destroy(){this.self.evt.emit("destroyed"),this.self.destroy(),this.controller=void 0,this.self=void 0}}class ControlNerve extends Nerve{createNeuron(){return new ControlNeuron(this.bindAbility())}listenCommonEvent(e,t){t.evt.on("mounted",(()=>{this.counter.attend(e)}))}connect(e,t){this.listenCommonEvent(e,t)}}class AppMenuNerve extends ControlNerve{createNeuron(){return new AppMenuNeuron(this.bindAbility())}}class MDControlNerve extends ControlNerve{createNeuron(){return new MDControlNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{load:this.controller.load.bind(this.controller),remove:this.controller.remove.bind(this.controller),getData:this.controller.getData.bind(this.controller),selectAll:this.controller.selectAll.bind(this.controller),importData:this.controller.importData.bind(this.controller),exportData:this.controller.exportData.bind(this.controller)})}}class GridNerve extends MDControlNerve{createNeuron(){return new GridNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}}class ListNerve extends MDControlNerve{createNeuron(){return new ListNeuron(this.bindAbility())}}class TreeNerve extends MDControlNerve{createNeuron(){return new TreeNeuron(this.bindAbility())}}class FormNerve extends ControlNerve{createNeuron(){return new FormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{load:this.controller.load.bind(this.controller),getData:this.controller.getData.bind(this.controller)})}}class EditFormNerve extends FormNerve{createNeuron(){return new EditFormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),remove:this.controller.remove.bind(this.controller),wfStart:this.controller.wfStart.bind(this.controller),wfSubmit:this.controller.wfSubmit.bind(this.controller)})}}class SearchFormNerve extends FormNerve{createNeuron(){return new SearchFormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{getParams:this.controller.getParams.bind(this.controller)})}}class ViewPanelNerve extends ControlNerve{createNeuron(){return new ViewPanelNeuron(this.bindAbility())}inclusive(e){return"embedView"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"embedView"===e&&(this.embedView=t,this.embedView.evt.on("viewDataChange",(e=>{this.self.evt.asyncEmit("viewDataChange",e)})),this.embedView.evt.on("destroyed",(()=>{this.embedView=void 0})))}destroy(){super.destroy(),this.embedView=void 0}}class PickupViewPanelNerve extends ViewPanelNerve{createNeuron(){return new PickupViewPanelNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{selectAll:this.controller.selectAll.bind(this.controller)})}connect(e,t){super.connect(e,t),"embedView"===e&&(this.embedView=t,this.embedView.evt.on("selectionChange",(e=>{this.self.evt.asyncEmit("selectionChange",e)})))}}class DashboardNerve extends ControlNerve{createNeuron(){return new DashboardNeuron(this.bindAbility())}}class ViewNerve extends Nerve{createNeuron(){return new ViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{refresh:this.controller.refresh.bind(this.controller),closeView:this.controller.closeView.bind(this.controller)})}inclusive(e){return"toolbar"===e||super.inclusive(e)}listenCommonEvent(e,t){t.evt.on("beginViewLoading",(()=>{this.controller.beginViewLoading()})),t.evt.on("endViewLoading",(()=>{this.controller.endViewLoading()})),t.evt.on("mounted",(()=>{this.counter.attend(e)}))}connect(e,t){this.listenCommonEvent(e,t),"toolbar"===e&&(this.toolbar=t,this.toolbar.evt.on("destroyed",(()=>{this.toolbar=void 0})),this.toolbar.evt.on("itemClick",this.controller.onToolbarClick.bind(this.controller)))}destroy(){super.destroy(),this.toolbar=void 0}}class MDViewNerve extends ViewNerve{createNeuron(){return new MDViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{openData:this.controller.openData.bind(this.controller),newData:this.controller.newData.bind(this.controller),toggleFilter:this.controller.toggleFilter.bind(this.controller),importData:this.controller.importData.bind(this.controller),exportData:this.controller.exportData.bind(this.controller)})}inclusive(e){return"searchform"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"searchform"===e&&(this.searchForm=t,this.searchForm.evt.on("destroyed",(()=>{this.searchForm=void 0})),this.searchForm.evt.on("search",(async()=>this.controller.onSearch())))}destroy(){super.destroy(),this.searchForm=void 0}}class GridViewNerve extends MDViewNerve{createNeuron(){return new GridViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}inclusive(e){return"grid"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"grid"===e&&(this.grid=t,this.grid.evt.on("destroyed",(()=>{this.grid=void 0})),this.grid.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.grid.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.grid.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.grid.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.grid.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.grid.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.grid=void 0}}class PickupGridViewNerve extends GridViewNerve{createNeuron(){return new PickupGridViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{selectAll:this.controller.selectAll.bind(this.controller)})}}class PickupViewNerve extends ViewNerve{createNeuron(){return new PickupViewNeuron(this.bindAbility())}inclusive(e){return"pickupviewpanel"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"pickupviewpanel"===e&&(this.viewPanel=t,this.viewPanel.evt.on("destroyed",(()=>{this.viewPanel=void 0})),this.viewPanel.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)))}destroy(){super.destroy(),this.viewPanel=void 0}}class MPickupViewNerve extends PickupViewNerve{createNeuron(){return new MPickupViewNeuron(this.bindAbility())}}class EditViewNerve extends ViewNerve{createNeuron(){return new EditViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),remove:this.controller.remove.bind(this.controller),saveAndNew:this.controller.saveAndNew.bind(this.controller),wfStart:this.controller.wfStart.bind(this.controller),wfSubmit:this.controller.wfSubmit.bind(this.controller),wfWithdraw:this.controller.wfWithdraw.bind(this.controller)})}inclusive(e){return"form"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"form"===e&&(this.form=t,this.form.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.form.evt.on("afterSave",this.controller.onAfterFormSave.bind(this.controller)),this.form.evt.on("afterRemove",this.controller.onAfterFormRemove.bind(this.controller)),this.form.evt.on("destroyed",(()=>{this.form=void 0})))}destroy(){super.destroy(),this.form=void 0}}class EditView3Nerve extends EditViewNerve{constructor(){super(...arguments),this.drViews=new Map}createNeuron(){return new EditView3Neuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("dritem")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("dritem")&&(this.drViews.set(e,t),t.evt.on("destroyed",(()=>{this.drViews&&this.drViews.delete(e)})))}destroy(){super.destroy(),this.drViews.clear(),this.drViews=void 0}}class OptViewNerve extends EditViewNerve{createNeuron(){return new OptViewNeuron(this.bindAbility())}}class WFEditViewNerve extends EditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}connect(e,t){super.connect(e,t),"form"===e&&this.form.evt.on("mounted",this.controller.onFormMounted.bind(this.controller))}}class WFDynaEditViewNerve extends WFEditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}}class WFDynaEditView3Nerve extends WFDynaEditViewNerve{constructor(){super(...arguments),this.drViews=new Map}createNeuron(){return new WFEditViewNeuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("dritem")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("dritem")&&(this.drViews.set(e,t),t.evt.on("destroyed",(()=>{this.drViews&&this.drViews.delete(e)})))}destroy(){super.destroy(),this.drViews.clear(),this.drViews=void 0}}class WFDynaStartViewNerve extends WFEditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}}class WFDynaActionViewNerve extends WFEditViewNerve{createNeuron(){return new WFDynaActionViewNeuron(this.bindAbility())}}class AppPortalViewNerve extends ViewNerve{createNeuron(){return new AppPortalViewNeuron(this.bindAbility())}inclusive(e){return"dashboard"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"dashboard"===e&&(this.dashboard=t)}destroy(){super.destroy(),this.dashboard=void 0}}class TreeExpViewNerve extends MDViewNerve{createNeuron(){return new TreeExpViewNeuron(this.bindAbility())}inclusive(e){return"tree"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"tree"===e&&(this.tree=t,this.tree.evt.on("destroyed",(()=>{this.tree=void 0})),this.tree.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.tree.evt.on("dataActive",(e=>this.controller.onDataActive(e))))}destroy(){super.destroy(),this.tree=void 0}}class TabExpViewNerve extends ViewNerve{constructor(){super(...arguments),this.tabViews=new Map}createNeuron(){return new TabExpViewNeuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("tabviewpanel")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("tabviewpanel")&&(this.tabViews.set(e,t),t.evt.on("destroyed",(()=>{this.tabViews&&this.tabViews.delete(e)})))}destroy(){super.destroy(),this.tabViews.clear(),this.tabViews=void 0}}class GridExpViewNerve extends MDViewNerve{createNeuron(){return new GridExpViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}inclusive(e){return"gridexpbar_grid"===e||"gridexpbar_toolbar"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"gridexpbar_toolbar"===e&&(this.toolbar=t,this.toolbar.evt.on("destroyed",(()=>{this.toolbar=void 0})),this.toolbar.evt.on("itemClick",this.controller.onToolbarClick.bind(this.controller))),"gridexpbar_grid"===e&&(this.grid=t,this.grid.evt.on("destroyed",(()=>{this.grid=void 0})),this.grid.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.grid.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.grid.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.grid.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.grid.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.grid=void 0}}class DashboardViewNerve extends ViewNerve{createNeuron(){return new DashboardViewNeuron(this.bindAbility())}inclusive(e){return"dashboard"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"dashboard"===e&&(this.dashboard=t)}destroy(){super.destroy(),this.dashboard=void 0}}function _isPlaceholder(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function _curry1(e){return function t(r){return 0===arguments.length||_isPlaceholder(r)?t:e.apply(this,arguments)}}function _curry2(e){return function t(r,i){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(r)?t:_curry1((function(t){return e(r,t)}));default:return _isPlaceholder(r)&&_isPlaceholder(i)?t:_isPlaceholder(r)?_curry1((function(t){return e(t,i)})):_isPlaceholder(i)?_curry1((function(t){return e(r,t)})):e(r,i)}}}var _isArray=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function _isString(e){return"[object String]"===Object.prototype.toString.call(e)}function _has(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var toString=Object.prototype.toString,_isArguments=function(){return"[object Arguments]"===toString.call(arguments)?function(e){return"[object Arguments]"===toString.call(e)}:function(e){return _has("callee",e)}}(),hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hasArgsEnumBug=function(){return arguments.propertyIsEnumerable("length")}(),contains=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},keys="function"!=typeof Object.keys||hasArgsEnumBug?_curry1((function(e){if(Object(e)!==e)return[];var t,r,i=[],n=hasArgsEnumBug&&_isArguments(e);for(t in e)!_has(t,e)||n&&"length"===t||(i[i.length]=t);if(hasEnumBug)for(r=nonEnumerableProps.length-1;r>=0;)_has(t=nonEnumerableProps[r],e)&&!contains(i,t)&&(i[i.length]=t),r-=1;return i})):_curry1((function(e){return Object(e)!==e?[]:Object.keys(e)})),isNil=_curry1((function(e){return null==e})),isNil$1=isNil,type$2=_curry1((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));function _arrayFromIterator(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function _includesWith(e,t,r){for(var i=0,n=r.length;i<n;){if(e(t,r[i]))return!0;i+=1}return!1}function _functionName(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}function _objectIs(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var _objectIs$1="function"==typeof Object.is?Object.is:_objectIs;function _uniqContentEquals(e,t,r,i){var n=_arrayFromIterator(e);function s(e,t){return _equals(e,t,r.slice(),i.slice())}return!_includesWith((function(e,t){return!_includesWith(s,t,e)}),_arrayFromIterator(t),n)}function _equals(e,t,r,i){if(_objectIs$1(e,t))return!0;var n=type$2(e);if(n!==type$2(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(n){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===_functionName(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!_objectIs$1(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!_objectIs$1(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var s=r.length-1;s>=0;){if(r[s]===e)return i[s]===t;s-=1}switch(n){case"Map":return e.size===t.size&&_uniqContentEquals(e.entries(),t.entries(),r.concat([e]),i.concat([t]));case"Set":return e.size===t.size&&_uniqContentEquals(e.values(),t.values(),r.concat([e]),i.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=keys(e);if(o.length!==keys(t).length)return!1;var a=r.concat([e]),l=i.concat([t]);for(s=o.length-1;s>=0;){var c=o[s];if(!_has(c,t)||!_equals(t[c],e[c],a,l))return!1;s-=1}return!0}var equals=_curry2((function(e,t){return _equals(e,t,[],[])})),equals$1=equals;function _isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}function _isTypedArray(e){var t=Object.prototype.toString.call(e);return"[object Uint8ClampedArray]"===t||"[object Int8Array]"===t||"[object Uint8Array]"===t||"[object Int16Array]"===t||"[object Uint16Array]"===t||"[object Int32Array]"===t||"[object Uint32Array]"===t||"[object Float32Array]"===t||"[object Float64Array]"===t||"[object BigInt64Array]"===t||"[object BigUint64Array]"===t}var empty=_curry1((function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():_isArray(e)?[]:_isString(e)?"":_isObject(e)?{}:_isArguments(e)?function(){return arguments}():_isTypedArray(e)?e.constructor.from(""):void 0})),isEmpty=_curry1((function(e){return null!=e&&equals$1(e,empty(e))})),isEmpty$1=isEmpty,Srfuf,ViewMode;class IBizVerify{static verifyDeRules(e,t,r){var i;const n={isPast:!0,infoMessage:r.ruleInfo};if("GROUP"===r.condType){const i=r.getPSDEFVRConditions();(null==i?void 0:i.length)>0&&(n.isPast=this.logicForEach(i,(r=>{const{isPast:i,infoMessage:s}=this.verifyDeRules(e,t,r);return n.infoMessage=s,i}),r.condOp,!!r.notMode),!n.isPast&&("AND"===r.condOp&&r.notMode||"OR"===r.condOp&&!r.notMode)&&(n.infoMessage=r.ruleInfo))}else{e=null==r?void 0:r.dEFName.toLowerCase();try{if("SIMPLE"===r.condType)n.isPast=!this.checkFieldSimpleRule(t[e],r.condOp,r.paramValue,r.ruleInfo,r.paramType,t,r.isKeyCond);else if("VALUERANGE2"===r.condType)n.isPast=!this.checkFieldValueRangeRule(t[e],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.isKeyCond);else if("REGEX"===r.condType)n.isPast=!this.checkFieldRegExRule(t[e],r.regExCode,r.ruleInfo,r.isKeyCond);else if("STRINGLENGTH"===r.condType)n.isPast=!this.checkFieldStringLengthRule(t[e],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.isKeyCond);else if("SYSVALUERULE"===r.condType&&(null===(i=null==r?void 0:r.getPSSysValueRule)||void 0===i?void 0:i.call(r))){const{ruleType:i,regExCode:s,scriptCode:o,ruleInfo:a}=r.getPSSysValueRule();if(n.infoMessage=r.ruleInfo||a,"REG"===i)n.isPast=!this.checkFieldRegExRule(t[e],s,n.infoMessage,r.isKeyCond);else if("SCRIPT"===i){const{isPast:i,infoMessage:s}=this.checkFieldScriptRule(t[e],t,o,n.infoMessage,r.isKeyCond);n.isPast=i,n.infoMessage=s||n.infoMessage}}}catch(e){n.isPast=!1}n.isPast=r.notMode?!n.isPast:n.isPast}return n}static logicForEach(e,t,r="AND",i=!1){if(!((null==e?void 0:e.length)>0))return!1;let n="AND"===r;for(let i=0,s=e.length;i<s;i++){const s=t(e[i],i);if("AND"===r){if(!s){n=!1;break}}else if("OR"===r&&s){n=!0;break}}return i?!n:n}static verifyGroupLogic(e,t){var r;if("GROUP"===t.logicType&&(null===(r=t.getPSDEFDLogics())||void 0===r?void 0:r.length)){let r=!0;if("AND"===t.groupOP){r=void 0===t.getPSDEFDLogics().find((t=>!this.verifyGroupLogic(e,t)))}else if("OR"===t.groupOP){r=void 0!==t.getPSDEFDLogics().find((t=>this.verifyGroupLogic(e,t)))}return t.notMode?!r:r}if("SINGLE"===t.logicType){const r=t;return this.testCond(e[r.dEFDName.toLowerCase()],r.condOP,r.value)}return!1}static compare(e,t){let r;return Object.is(e,"")||Object.is(t,"")||isNaN(e)||isNaN(t)?this.isParseDate(e)&&this.isParseDate(t)?r=this.compareDate(new Date(e).getTime(),new Date(t).getTime()):e&&("boolean"==typeof e||e instanceof Boolean)?r=this.compareBoolean(e,t):e&&("string"==typeof e||e instanceof String)&&(r=this.compareString(e,t)):r=this.compareNumber(parseFloat(e),parseFloat(t)),r}static compareString(e,t){return e.localeCompare(t)}static compareBoolean(e,t){return e===t?0:-1}static compareDate(e,t){return e>t?1:e<t?-1:0}static isParseDate(e){const t=new Date(e);return!isNaN(t.getTime())}static compareNumber(e,t){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),e>t?1:e<t?-1:0}static contains(e,t){if(e&&t){const r=t.split(","),i=String.fromCharCode(2);return new RegExp(i+e+i).test(i+r.join(i)+i)}return!1}static testCond(e,t,r){if(Object.is(t,"EQ")){return`${e}`===r}if(Object.is(t,"GT")){const t=this.compare(e,r);return null!=t&&t>0}if(Object.is(t,"GTANDEQ")){const t=this.compare(e,r);return null!=t&&t>=0}if(Object.is(t,"IN"))return this.contains(e,r);if(Object.is(t,"ISNOTNULL"))return notNilEmpty(e);if(Object.is(t,"ISNULL"))return isNilOrEmpty(e);if(Object.is(t,"LEFTLIKE"))return e&&r&&0===e.toUpperCase().indexOf(r.toUpperCase());if(Object.is(t,"LIKE"))return e&&r&&-1!==e.toUpperCase().indexOf(r.toUpperCase());if(Object.is(t,"LT")){const t=this.compare(e,r);return null!=t&&t<0}if(Object.is(t,"LTANDEQ")){const t=this.compare(e,r);return null!=t&&t<=0}if(Object.is(t,"NOTEQ")){return`${e}`!==r}if(Object.is(t,"NOTIN"))return!this.contains(e,r);if(Object.is(t,"RIGHTLIKE")){if(!e||!r)return!1;const t=e.toUpperCase().indexOf(r.toUpperCase());return-1!==t&&t+r.length===e.length}return!1}static checkFieldSimpleRule(e,t,r,i,n,s,o){if(Object.is(n,"CURTIME")&&(r=`${new Date}`),Object.is(n,"ENTITYFIELD")){r=s[r=r?r.toLowerCase():""]?s[r]:r}(isNil$1(i)||isEmpty$1(i))&&(i="内容必须符合值规则");const a=this.testCond(e,t,r);if(!a&&o)throw new Error(i);return!a}static checkFieldStringLengthRule(e,t,r,i,n,s,o){isNilOrEmpty(s)&&(s="内容长度必须符合范围规则");if(isNilOrEmpty(e)){if(o)throw new Error("值为空");return s="值为空",!0}const a=e.length;if(null!==t)if(r){if(a<t){if(o)throw new Error(s);return!0}}else if(a<=t){if(o)throw new Error(s);return!0}if(null!==i)if(n){if(a>i){if(o)throw new Error(s);return!0}}else if(a>=i){if(o)throw new Error(s);return!0}return s="",!1}static checkFieldRegExRule(e,t,r,i){isNilOrEmpty(r)&&(r="值必须符合正则规则");if(isNilOrEmpty(e)){if(i)throw new Error("值为空");return r="值为空",!0}if(!new RegExp(t).test(e)){if(i)throw new Error(r);return!0}return r="",!1}static checkFieldValueRangeRule(e,t,r,i,n,s,o){isNilOrEmpty(s)&&(s="值必须符合值范围规则");if(isNilOrEmpty(e)){if(o)throw new Error("值为空");return s="值为空",!0}if(this.checkFieldRegExRule(e,/^-?\d*\.?\d+$/,"",o))return!0;const a=Number.parseFloat(e);if(null!==t)if(r){if(a<t){if(o)throw new Error(s);return!0}}else if(a<=t){if(o)throw new Error(s);return!0}if(null!=i)if(n){if(a>i){if(o)throw new Error(s);return!0}}else if(a>=i){if(o)throw new Error(s);return!0}return s="",!1}static checkFieldSysValueRule(e,t,r,i){return this.checkFieldRegExRule(e,t,r,i)}static checkFieldScriptRule(value,data,scriptCode,errorInfo,primaryModel){isNilOrEmpty(errorInfo)&&(errorInfo="值必须符合脚本规则");let resultBoolean=!0;try{const runScript=()=>eval(scriptCode);runScript()}catch(e){console.error(e)}return errorInfo="",{isPast:resultBoolean,infoMessage:errorInfo}}}function calcRouteContext(e,t){let r=[];t.forEach((t=>{const i=[];for(let r=0;r<t.length;r++){const n=[],s=t[r],o=e[s.name];o&&(n.push(s.name),n.push(o),i.push(n))}r.push(i)})),r=r.sort(((e,t)=>t.length-e.length));const[i]=r;if(i){const e={};return i.forEach((([t,r])=>{e[t]=r})),e}return{}}!function(e){e[e.CREATE=0]="CREATE",e[e.UPDATE=1]="UPDATE"}(Srfuf||(Srfuf={}));class ControlVO{get srfuf(){return isNil$1(this.$origin.srfuf)?this.srfkey?Srfuf.UPDATE:Srfuf.CREATE:this.$origin.srfuf}constructor(e,t){e&&t&&(Object.defineProperty(this,"$origin",{enumerable:!1,configurable:!0,value:e||{}}),Object.defineProperty(this,"$dataUIMap",{enumerable:!1,configurable:!0,value:t||new Map}),this.$dataUIMap.forEach(((e,t)=>{const r=e.dataKey;this.linkProperty(t,r,e.isOriginField)})),Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||this.linkProperty(e,e)})))}linkProperty(e,t,r=!0){"srfuf"!==e&&(r?Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get(){return this.$origin[t]},set(e){this.$origin[t]=e}}):Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:null}))}getOrigin(){return this.$origin}getRequestData(){const e=Object.assign({},this.$origin);return this.$dataUIMap.forEach((t=>{t.isRequestNeed!==t.isOriginField&&(e[t.dataKey]=this[t.uiKey])})),e}setOrigin(e){this.$origin=e instanceof ControlVO?e.getOrigin():e}mergeOrigin(e){Object.assign(this.$origin,e instanceof ControlVO?e.getOrigin():e)}reactiveInit(){this.$dataUIMap.forEach(((e,t)=>{void 0===this.$origin[t]&&(this.$origin[t]=null)}))}}class UIMapField{constructor(e,t,r={}){this.isOriginField=!1,this.isRequestNeed=!0,this.uiKey=e,this.dataKey=t,isNil$1(r.isOriginField)||(this.isOriginField=r.isOriginField),isNil$1(r.isRequestNeed)||(this.isRequestNeed=r.isRequestNeed)}}class ControlService{get appEntity(){return this.model.appEntity}constructor(e){this.dataUIMap=new Map,this.app=ibiz.hub.getApp(e.modelService.app),this.model=e}async init(e){this.entityService=await this.app.es.getService(this.appEntity.source.codeName),this.initUIDataMap()}initUIDataMap(){var e;const t=this.model.appEntity.deName.toLowerCase(),r=null===(e=this.model.source.getPSAppDataEntity().getKeyPSAppDEField())||void 0===e?void 0:e.codeName;if(r){const e=new UIMapField(t,r.toLowerCase(),{isOriginField:!0});this.dataUIMap.set(t,e),this.dataUIMap.set("srfkey",e)}}async exec(e,t,r={}){return await this.entityService.exec(e,t,r)}handleResponse(e){return e}toUIData(e){return new ControlVO(e,this.dataUIMap)}}class MDControlService extends ControlService{async fetch(e,t={}){let r=await this.exec(this.model.fetchAction,e,t);return r=this.handleResponse(r),r}async get(e,t={}){let r=await this.exec(this.model.getAction,e,t);return r=this.handleResponse(r),r}async getDraft(e,t={}){let r=await this.exec(this.model.getDraftAction,e,t);return r=this.handleResponse(r),r}async remove(e,t={}){return await this.exec(this.model.removeAction,e,t)}async create(e,t){let r=await this.exec(this.model.createAction,e,t.getRequestData());return r=this.handleResponse(r),r}async update(e,t){let r=await this.exec(this.model.updateAction,e,t.getRequestData());return r=this.handleResponse(r),r}async exportData(e,t,r={}){return this.entityService.file.exportData(e,this.model.fetchAction,t,r)}handleResponse(e){const t=super.handleResponse(e);return t.headers&&(t.headers["x-page"]&&(t.page=Number(t.headers["x-page"])),t.headers["x-per-page"]&&(t.size=Number(t.headers["x-per-page"])),t.headers["x-total"]&&(t.total=Number(t.headers["x-total"]))),t.ok&&(isArray(t.data)?t.data=t.data.map((e=>this.toUIData(e))):t.data=this.toUIData(t.data)),t}}class GridService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEGridDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)})),this.model.fieldColumns.forEach((e=>{if(e.source.dataItemName!==e.codeName){const t=this.dataUIMap.get(e.source.dataItemName);t&&this.dataUIMap.set(e.codeName,t)}}))}async updateGridEditItem(e,t,r={}){let i=await this.entityService.exec(e,t,r);return i=this.handleResponse(i),i}}class ListService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEListDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)}))}}class TreeNodeData{constructor(e,t,r){this.parent=t,this.nodeId=e.nodeId,this.leaf=0===e.tree.getChildNodes(e.nodeId,r.hasQuery).length}}class TreeDataSetNodeData extends TreeNodeData{constructor(e,t,r){super(e,t,r);const{data:i}=r;this.deData=i,this.text=i.srfmajortext,this.value=i.srfkey,this.id=t?`${t.id}:${i.srfkey}`:i.srfkey,this.id=this.id.toLowerCase()}}class TreeStaticNodeData extends TreeNodeData{constructor(e,t,r){super(e,t,r),this.value=e.nodeValue||t.value,this.id=t?`${t.id}:${e.nodeId}`:e.nodeId,this.id=this.id.toLowerCase(),this.text=e.text}}class TreeService extends MDControlService{initUIDataMap(){super.initUIDataMap()}async fetchChildNodes(e,t){const r=this.model.getChildNodeRSs((null==e?void 0:e.nodeId)||this.model.rootNode.id,t.hasQuery);if(0===r.length)return;const i=await Promise.allSettled(r.map((async r=>{const{childNode:i}=r;if("STATIC"===i.treeNodeType){return[await this.getStaticNodeData(r,e,t)]}return"DE"===i.treeNodeType?this.getDENodeDatas(r,e,t):"CODELIST"===i.treeNodeType?this.getCodeListNodeDatas(r,e,t):void 0}))),n=[];return i.forEach((e=>{"fulfilled"===e.status&&e.value&&n.push(...e.value)})),n}async getStaticNodeData(e,t,r){const i=e.childNode,n=new TreeStaticNodeData(i,t,r);return i.expanded&&(n.children=await this.fetchChildNodes(n,r)),n}getParentFilterParams(e,t){const{parentFilter:r,parentValueLevel:i}=e;if(t&&r){let e=t;for(let t=1;t<i;t++)e=null==e?void 0:e.parent;if(null==e?void 0:e.value)return{[`n_${r}_eq`]:e.value}}}async getDENodeDatas(e,t,r){const i=e.childNode,{methodName:n,appEntity:s}=i,o=await this.app.es.getService(s.codeName),a=Object.assign(Object.assign({},r.params),this.getParentFilterParams(e,t)||{}),l=await o.exec(n,r.context,a);if(l.data.length){return l.data.map((e=>new TreeDataSetNodeData(i,t,Object.assign(Object.assign({},r),{data:e}))))}return[]}async getCodeListNodeDatas(e,t,r){}}class EditFormService extends ControlService{async get(e,t={}){let r=await this.exec(this.model.getAction,e,t);return r=this.handleResponse(r),r}async getDraft(e,t={}){let r=await this.exec(this.model.getDraftAction,e,t);return r=this.handleResponse(r),r}async remove(e,t={}){return await this.exec(this.model.removeAction,e,t)}async create(e,t){let r=await this.exec(this.model.createAction,e,t.getRequestData());return r=this.handleResponse(r),r}async update(e,t){let r=await this.exec(this.model.updateAction,e,t.getRequestData());return r=this.handleResponse(r),r}async updateFormItem(e,t,r={}){let i=await this.entityService.exec(e,t,r);return i=this.handleResponse(i),i}async wfStart(e,t,r){if(!this.model.wfStartAction)throw new DefectModelError(this.model.source,"不存在工作流启动行为");return this.entityService.wf.exec(this.model.wfStartAction,e,t,r.getRequestData())}async wfSubmit(e,t,r){if(!this.model.wfSubmitAction)throw new DefectModelError(this.model.source,"不存在工作流提交行为");return this.entityService.wf.exec(this.model.wfSubmitAction,e,t,r.getRequestData())}initUIDataMap(){super.initUIDataMap();const e=["srfwfmemo","srfnextform","srfactionparam","srffrontuf"];this.model.source.getPSDEFormItems().forEach((t=>{const r=t.id.toLowerCase(),i=t.getPSAppDEField();let n;if(i){const e=i.codeName.toLowerCase();n=new UIMapField(r,e,{isOriginField:!0})}else n=new UIMapField(r,r,{isRequestNeed:e.includes(r),isOriginField:e.includes(r)});this.dataUIMap.set(r,n)}))}handleResponse(e){const t=super.handleResponse(e);return t.ok&&t.data&&(t.data=this.toUIData(t.data)),t}}class SearchFormService extends ControlService{async getDraft(e,t={}){let r={ok:!0,status:200,data:{}};return r=this.handleResponse(r),r}initUIDataMap(){var e;null===(e=this.model.source.getPSDEFormItems())||void 0===e||e.forEach((e=>{const t=e.id.toLowerCase();this.dataUIMap.set(t,new UIMapField(t,t))}))}handleResponse(e){const t=super.handleResponse(e);return t.ok&&t.data&&(t.data=this.toUIData(t.data)),t}}function generateRules(itemVRs,name,valueItemName){const rules=[];return itemVRs.forEach((item=>{const{valueRuleType:valueRuleType}=item,sysRule=item.getPSSysValueRule(),deRule=item.getPSDEFValueRule();if("SYSVALUERULE"===valueRuleType&&sysRule)"REG"===sysRule.ruleType?rules.push({pattern:new RegExp(sysRule.regExCode),message:sysRule.ruleInfo,trigger:"change blur"}):"SCRIPT"===sysRule.ruleType&&rules.push({validator:(rule,value,callback,source)=>{if(!value)return!0;try{eval(sysRule.scriptCode)}catch(e){console.error(e)}return!0},trigger:"change blur"});else if("DEFVALUERULE"===valueRuleType&&deRule){const e=valueItemName||name;rules.push({validator:(t,r,i,n)=>{if(isNilOrEmpty(n[e]))return!0;const{isPast:s,infoMessage:o}=IBizVerify.verifyDeRules(e,n,deRule.getPSDEFVRGroupCondition());return s||i(new Error(o||deRule.ruleInfo)),!0},trigger:"change blur"})}})),rules}class ButtonState{constructor(e,t,r){this.disabled=!1,this.visible=!0,this.loading=!1,this.permitted=!0,this.noPermissionMode="HIDDEN",this.app=ibiz.hub.getApp(r.modelService.app),this.name=e,Object.defineProperty(this,"uiAction",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"entity",{enumerable:!1,configurable:!0,writable:!0,value:r}),1===this.uiAction.noPrivDisplayMode&&(this.noPermissionMode="DISABLED")}update(e){const t=this.app.authority.hasUIActionPermitted(this.uiAction,e,this.entity);!this.permitted===t&&(this.permitted=t,this.disabled=!this.permitted,this.visible=this.permitted||"HIDDEN"!==this.noPermissionMode)}}class ButtonContainerState{constructor(){Object.defineProperty(this,"children",{enumerable:!1,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"visible",{enumerable:!0,configurable:!0,get:()=>0!==this.children.length&&!!this.children.find((e=>e.visible))})}addState(e,t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t}),this.children.push(t)}setLoading(e){this.children.forEach((t=>{t.setLoading?t.setLoading(e):t.loading=!!e&&t.name===e}))}update(e){this.children.forEach((t=>{t.update(e)}))}}function convertNavData(e,...t){return"[object Array]"===Object.prototype.toString.call(e)?convertNavDataByArray(e,...t):"[object Object]"===Object.prototype.toString.call(e)?convertNavDataByObject(e,...t):{}}function convertNavDataByArray(e,...t){const r={};for(const i of e)if(notNilEmpty(i.value)&&!i.rawValue){const e=t.find((e=>!isNilOrEmpty(e)&&(e[i.value]||Object.prototype.hasOwnProperty.call(e,i.value))));e&&(r[i.key.toLowerCase()]=e[i.value])}else r[i.key.toLowerCase()]=i.value;return r}function convertNavDataByObject(e,...t){const r={},i=/^%(.+)%$/;for(const n in e)if(notNilEmpty(e[n])&&i.test(e[n])){const i=e[n].substring(1,e[n].length-1),s=t.find((e=>Object.prototype.hasOwnProperty.call(e,i)));s&&(r[n.toLowerCase()]=s[i])}else r[n.toLowerCase()]=e[n];return r}!function(e){e.ROUTE="ROUTE",e.MODAL="MODAL",e.DRAWER="DRAWER",e.EMBED="EMBED",e.POPOVER="POPOVER"}(ViewMode||(ViewMode={}));class AppDEUIActionUtil{static async exec(e,t,r,i,n){const s=await ibiz.register.uiAction.get(e);return(await s.getHandler()).exec(e,t,r,i,n)}}class OpenAppViewCommand{constructor(){ibiz.commands.register(OpenAppViewCommand.TAG,this.exec.bind(this))}async exec(e,t,r={},i={}){if(await e.fill(!0),e.redirectView)return openRedirectView(e,t,r,i.data);const{openMode:n="INDEXVIEWTAB"}=e;switch(n){case"INDEXVIEWTAB":default:return this.openIndexViewTab(e,t,r);case"POPUP":throw new Error("未支持的视图打开模式: POPUP");case"POPUPMODAL":return this.openModal(e,t,r);case"POPUPAPP":throw new Error("未支持的视图打开模式: POPUPAPP");case"POPOVER":return this.openPopover(e,i.event,t,r);case"DRAWER_LEFT":case"DRAWER_RIGHT":case"DRAWER_TOP":case"DRAWER_BOTTOM":return this.openDrawer(e,t,r);case"USER":return this.openUserCustom(e,t,r)}}openIndexViewTab(e,t,r={}){return ibiz.openView.root(e,t,r)}async openModal(e,t,r={}){return ibiz.openView.modal(e,t,r)}async openPopover(e,t,r,i={}){return ibiz.openView.popover(e,t,r,i)}async openDrawer(e,t,r={}){return ibiz.openView.drawer(e,t,r)}async openUserCustom(e,t,r={}){return ibiz.openView.custom(e,t,r)}}OpenAppViewCommand.TAG="ibiz.app-view.open";class AppFuncCommand{constructor(){ibiz.commands.register(AppFuncCommand.TAG,this.exec.bind(this))}async exec(e,t,r={},i={}){const n=e.getPSNavigateContexts();n&&(t?Object.assign(t,n):t=new IBizContext(n));const s=e.getPSNavigateParams();switch(s&&Object.assign(r,s),e.appFuncType){case"APPVIEW":return this.openAppView(e,t,r,i);case"OPENHTMLPAGE":return this.openHtmlPage(e);case"PDTAPPFUNC":return this.openPdAppFunc(e,t,r);case"JAVASCRIPT":return this.executeJavaScript(e,t,r);case"CUSTOM":return this.custom(e,t,r);default:throw new Error(`未知的应用功能类型: ${e.appFuncType}`)}}openAppView(e,t,r,i){const n=e.getPSAppView();if(!n)throw new Error("应用视图不存在");return ibiz.commands.execute(OpenAppViewCommand.TAG,n,t,r,i)}openHtmlPage(e){const t=e.htmlPageUrl;window.open(t,"_blank")}openPdAppFunc(e,t,r){throw ibiz.log.warn("openPdAppFunc",e,t,r),new Error("未实现")}executeJavaScript(e,t,r){throw ibiz.log.warn("executeJavaScript",e,t,r),new Error("未实现")}custom(e,t,r){throw ibiz.log.warn("custom",e,t,r),new Error("未实现")}}async function openRedirectView(e,t=new IBizContext,r={},i=[]){if(e.instanceof("app.view.IPSAppDERedirectView"))return openDERedirectView(e,t,r,i);throw new UnsupportedModelError(e,`未支持的重定向视图类型: ${e.viewType}`)}async function openDERedirectView(e,t=new IBizContext,r={},i=[]){const n=convertNavData(e.getPSAppViewNavContexts()||[],t,r);t=new IBizContext(n,t);const s=convertNavData(e.getPSAppViewNavParams()||[],t,r);Object.assign(r,s);const o=e.getPSAppDataEntity();await o.fill(!0);const a=o.codeName.toLowerCase();let l=i[0]||{};t[a]=l[a]||t[a]||r[a];const c=e.getGetDataPSAppDEAction(),u=ibiz.hub.getApp(null==c?void 0:c.getPSModelService().app),d=await u.es.getService(o.codeName);ibiz.loading.showRedirect();const h=await d.exec(c?c.codeName:"Get",t,r);if(ibiz.loading.hideRedirect(),h.ok){l=h.data;const e=l.linkurl;if(e)return e.startsWith("http://")||e.startsWith("https://")?(window.open(e,"_blank"),{ok:!0,data:[]}):{ok:!1,data:[]}}const p=await calcDERdTag(o,e,r.srfwf,l),f=`${o.name.toUpperCase()}:${p}`,m=e.getRedirectPSAppViewRefs(),w=null==m?void 0:m.find((e=>e.name===f||e.name===p));if(w){const e=w.getRefPSAppView();if(!e)throw new DefectModelError(w,"未配置实际引用视图");{const i=await ibiz.commands.execute(OpenAppViewCommand.TAG,e,t,r,{data:[l]});if(i)return i}}return{ok:!0,data:[]}}async function calcDERdTag(e,t,r,i){let n="";const s=t.getTypePSAppDEField();if(s){const e=i[s.codeName.toLowerCase()];if(notNilEmpty(e))return e}if(notNilEmpty(r))return`EDITVIEW:${r.toUpperCase()}`;let o="";const a=e.getIndexTypePSAppDEField();if(a&&(o=i[a.codeName.toLowerCase()]),isNilOrEmpty(o)){const t=e.getFormTypePSAppDEField();t&&(o=i[t.codeName.toLowerCase()])}return n=notNilEmpty(o)?`EDITVIEW:${o}`:"EDITVIEW",n}async function executeViewLogic(e,t,r,i,n={}){if("opendata"===e.name&&e.getPSAppUILogic())return executeOpenDataAppUILogic(e.getPSAppUILogic(),t,r,i,n);if("newdata"===e.name&&e.getPSAppUILogic())return executeNewDataAppUILogic(e.getPSAppUILogic(),t,r,i,n);const s=await getPSUIActionByModelObject(e.getPSAppViewUIAction());if(!s)throw new Error("找不到界面行为");return AppDEUIActionUtil.exec(s,t,r,i,n)}async function executeOpenDataAppUILogic(e,t,r,i,n={}){if(!(null==r?void 0:r[0]))throw Error("没有选中数据!");const s=e.getOpenDataPSAppView();if(!s)throw new Error("getOpenDataPSAppView为空");const o=s.getRefPSAppView();if(!o)throw new Error("openView为空");await o.fill(!0);const a=new AppEntityModel(o.getPSAppDataEntity());await a.init();const l=s.getPSNavigateContexts()||[],c=a.deName.toLowerCase();-1===l.findIndex((e=>e.key===c))&&l.push({key:c,value:c,rawValue:!1});const u=new IBizContext(convertNavData(l,t,i,r[0]),t);let d={};const h=s.getPSNavigateParams();notNilEmpty(h)&&(d=convertNavData(h,i,t,r[0])),await ibiz.commands.execute(OpenAppViewCommand.TAG,o,u,d,n);const{neuron:p}=n;return p.call.refresh(),{}}async function executeNewDataAppUILogic(e,t,r,i,n={}){const s=e.getNewDataPSAppView();if(!s)throw new Error("getNewDataPSAppView为空");const o=s.getRefPSAppView();if(!o)throw new Error("newView为空");await o.fill(!0);const a=new AppEntityModel(o.getPSAppDataEntity());await a.init();let l={},c={};const u=(null==r?void 0:r[0])||{},d=s.getPSNavigateContexts();notNilEmpty(d)&&(l=convertNavData(d,t,i,u)),l=new IBizContext(l,t),l[a.deName.toLowerCase()]=void 0;const h=s.getPSNavigateParams();notNilEmpty(h)&&(c=convertNavData(h,i,t,u)),e.enableWizardAdd||e.enableBatchAdd||e.batchAddOnly,await ibiz.commands.execute(OpenAppViewCommand.TAG,o,l,c,n);const{neuron:p}=n;return p.call.refresh(),{}}AppFuncCommand.TAG="ibiz.app-func.exec";class ViewState{constructor(){this.complete=!1,this.toolbarState=null,this.isLoading=!1}}class EditViewState extends ViewState{}class MDViewState extends ViewState{constructor(){super(...arguments),this.showSearchForm=!1,this.query="",this.selectedData=[]}}class GridViewState extends MDViewState{}class EditView3State extends EditViewState{}class PickupViewState extends ViewState{}class MPickupViewState extends PickupViewState{constructor(){super(...arguments),this.embedSelection=[],this.selfSelection=[]}}class GridExpViewState extends MDViewState{constructor(){super(...arguments),this.navItem={}}}class TreeExpViewState extends MDViewState{}class ControlState{constructor(){this.complete=!1}}class FormState extends ControlState{constructor(){super(...arguments),this.isLoaded=!1,this.data=new ControlVO}}class EditFormState extends FormState{}class SearchFormState extends FormState{}class AppMenuState extends ControlState{constructor(){super(...arguments),this.menuItemsState={}}}class MDState extends ControlState{constructor(){super(...arguments),this.items=[],this.selectedData=[],this.singleSelect=!0,this.curPage=1,this.size=20,this.total=0,this.hasLoaded=!1}}class GridState extends MDState{constructor(){super(...arguments),this.rows=[]}}class TreeState extends MDState{constructor(){super(...arguments),this.rootNode=null}get treeNodes(){var e;return(null===(e=this.rootNode)||void 0===e?void 0:e.children)||[]}}class ViewController{constructor(e,t,r={}){this.modelPath=e,this.state=new ViewState,this.modal={mode:ViewMode.ROUTE},this.complete=!1,this.toolbarState=null,this.viewLoading=new LoadingState,this.providers={},this.context=new IBizContext(t),this.params=r,this.nerve=this.createNerve()}createNerve(){return new ViewNerve(this)}async init(){await this.onInit(),this.state.complete=!0,this.nerve.created(),this.setCaption(this.model.caption),this.force((()=>{this.nerve.mounted()}))}async onInit(){this.emit("neuronInit",this.nerve.self),this.model=await ibiz.model.getView(this.modelPath),this.app=ibiz.hub.getApp(this.model.modelService.app),this.handleViewParams(),this.initToolbarState()}initToolbarState(){if(!this.model.toolbar)return;const e=new ButtonContainerState;[...this.model.toolbar.actionItems.values()].forEach((t=>{const r=new ButtonState(t.id,t.getPSUIAction(),this.model.appEntity);["Edit","Remove"].includes(t.getPSUIAction().uIActionTag)&&(r.noPermissionMode="DISABLED"),e.addState(t.id,r)})),e.update(),this.state.toolbarState=e}handleViewParams(){this.modal.mode===ViewMode.ROUTE&&(this.context.srfsessionid=createUUID());const e=this.model.source.getPSAppViewNavContexts();let t={};notNilEmpty(e)&&(t=convertNavData(e,this.context,this.params)),Object.assign(this.context,t);const r=this.model.source.getPSAppViewNavParams();let i={};notNilEmpty(r)&&(i=convertNavData(r,this.context,this.params)),Object.assign(this.params,i)}destroy(){this.nerve.destroy()}async refresh(){}getData(){return[]}async closeView(e={ok:!0,data:this.getData()}){this.nerve.self.evt.emit("closeView",e)}async beforeClose(){return!0}force(e){}emit(e,...t){}async onToolbarClick(e,t){if(!e.getPSAppViewUIAction())throw new DefectModelError(e,"没有配置界面行为!");const r=`${e.getPSAppViewUIAction().name}_click`,i=this.model.source.findPSAppViewLogic(r);if(!i)throw new DefectModelError(e.getPSAppViewUIAction(),"没有找到对应的视图逻辑");return this.executeViewLogic(i,this.getData(),t)}async executeViewLogic(e,t,r){await executeViewLogic(e,this.context,t,this.params,{event:r,neuron:this.nerve.self})}setCaption(e){this.state.caption=e,this.nerve.self&&this.nerve.self.evt.asyncEmit("setTitle",e),this.force()}beginViewLoading(){this.viewLoading.begin(),this.state.isLoading=this.viewLoading.isLoading}endViewLoading(){this.viewLoading.end(),this.state.isLoading=this.viewLoading.isLoading}}class MainViewController extends ViewController{async load(){this.entityService||(this.entityService=await this.app.es.getService(this.model.appEntity.codeName));const e=await this.entityService.exec("Get",this.context,this.params);return this.mainData=e.data,this.calcCaption(e.data),this.state.toolbarState&&this.state.toolbarState.update(e.data),e.data}calcCaption(e){if(!ibiz.config.enableDataInfoBar||!this.model.showDataInfoBar)return;const t=e[this.model.appEntity.textName];t?this.setCaption(`${this.model.caption} - ${t}`):this.context[this.model.appEntity.deName]||this.setCaption(`${this.model.caption} - 新建`)}}class IndexViewState extends ViewState{constructor(){super(...arguments),this.isCollapse=!1}}class IndexViewController extends ViewController{constructor(){super(...arguments),this.state=new IndexViewState,this.isCollapse=!1}async onInit(){await super.onInit();const{appMenu:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class EditViewController extends MainViewController{constructor(){super(...arguments),this.state=new EditViewState}createNerve(){return new EditViewNerve(this)}async onInit(){await super.onInit(),this.entityService=await this.app.es.getService(this.model.appEntity.codeName),this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}));const{form:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}handleViewParams(){return this.context.srfkey&&(this.context[this.model.appEntity.deName]=this.context.srfkey,this.context.srfkey=void 0,delete this.context.srfkey),super.handleViewParams()}getData(){return this.nerve.form.call.getData()}async load(){const{form:e}=this.nerve,t=await e.call.load();return this.calcCaption(t),this.state.toolbarState&&this.state.toolbarState.update(t.getOrigin()),t}async save(){const{form:e}=this.nerve;return await e.call.save()}async onAfterFormSave(e,t){if(e){const{deName:e}=this.model.appEntity;this.context[e]=t[e]}this.calcCaption(t),this.nerve.self.evt.asyncEmit("viewDataChange",{type:e?"CREATE":"UPDATE",data:[t],control:"form"})}async onAfterFormRemove(e){this.nerve.self.evt.asyncEmit("viewDataChange",{type:"REMOVE",data:[e],control:"form"})}async saveAndNew(){await this.save(),this.context[this.model.appEntity.deName]=void 0,await this.load()}async remove(){const{form:e}=this.nerve;await e.call.remove()}async refresh(){const e=await this.load();this.nerve.self.evt.asyncEmit("refreshed",[e])}async wfStart(){var e;await this.save();const t=await this.entityService.wf.getWFVersion();if(0===t.data.length)throw new RuntimeError("当前工作流版本不存在");const r=t.data[0],i=`WFSTART@${r.wfversion}`,n=new IBizContext({activeForm:r["process-form"]},this.context),s={processDefinitionKey:r.definitionkey},o=null===(e=this.model.source.findPSAppViewRef(i))||void 0===e?void 0:e.getRefPSAppView();if(!o)return await this.nerve.form.call.wfStart(s),void await this.closeView();(await ibiz.commands.execute(OpenAppViewCommand.TAG,o,n,s)).ok&&await this.closeView()}wfSubmit(){return this.nerve.form.call.wfSubmit()}async wfWithdraw(e,t,r){await this.entityService.wf.wfWithdraw(e,Object.assign(Object.assign({},t),{taskId:t.taskId||t.srftaskid}),Object.assign({},r.getRequestData()))}}class OptViewController extends EditViewController{createNerve(){return new OptViewNerve(this)}async onOkButtonClick(){const e=await this.save();return this.closeView({ok:!0,data:[e]})}onCancelButtonClick(){return this.closeView()}}class EditView3Controller extends EditViewController{constructor(){super(...arguments),this.state=new EditView3State,this.isNewData=!0,this.drPages={}}createNerve(){return new EditView3Nerve(this)}async onInit(){var e;await super.onInit(),(null===(e=this.model.drTab)||void 0===e?void 0:e.pages.length)&&this.model.drTab.pages.forEach((e=>{this.drPages[e.source.name]={context:this.context,params:this.params,key:createUUID()}}))}async load(){const e=await super.load();return this.isNewData=e.srfuf===Srfuf.CREATE,this.calcViewParams(e),e}calcViewParams(e){var t;const{pages:r}=this.model.drTab;for(const i of r){const{name:r}=i.source;let n=new IBizContext({},this.context);const s=i.source.getPSNavigateContexts();notNilEmpty(s)&&(n=Object.assign(n,convertNavData(s,this.context,this.params,e)));const o=i.source.getPSNavigateParams();let a={};notNilEmpty(o)&&(a=convertNavData(o,this.params,this.context,e)),this.nerve.drViews.has(r)&&JSON.stringify(this.drPages[r].context)===JSON.stringify(n)&&JSON.stringify(this.drPages[r].params)===JSON.stringify(a)?null===(t=this.nerve.drViews.get(r))||void 0===t||t.call.refresh():(this.drPages[r].context=n,this.drPages[r].params=a,this.drPages[r].key=createUUID())}this.force()}}class MDViewController extends ViewController{constructor(){super(...arguments),this.state=new MDViewState,this.showSearchForm=!1,this.query="",this.selectedData=[]}createNerve(){return new MDViewNerve(this)}async onInit(){await super.onInit(),this.state.showSearchForm=this.model.source.expandSearchForm,this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}));const{searchForm:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}getData(){return this.state.selectedData}async load(){return[]}async refresh(){const e=await this.load();this.nerve.self.evt.asyncEmit("refreshed",e)}async openData(e,t){const r=this.model.source.findPSAppViewLogic("opendata");r&&await this.executeViewLogic(r,[e],t)}async newData(e){const t=this.model.source.findPSAppViewLogic("newdata");t&&await this.executeViewLogic(t,[{}],e)}toggleFilter(){this.state.showSearchForm=!this.state.showSearchForm}async importData(){}async exportData(e){}async onSearch(){await this.load()}onSelectionChange(e){var t;this.state.selectedData=e,this.state.toolbarState&&this.state.toolbarState.update(null===(t=e[0])||void 0===t?void 0:t.getOrigin())}onDataActive(e,t){return this.openData(e,t)}onBeforeLoad(){const e={query:this.state.query};if(this.nerve.searchForm){const t=this.nerve.searchForm.call.getParams();Object.assign(e,t)}return e}async onAfterSave(e,t,r){this.nerve.self.evt.asyncEmit("viewDataChange",{type:t?"CREATE":"UPDATE",data:e,control:r})}async onAfterRemove(e,t){this.nerve.self.evt.asyncEmit("viewDataChange",{type:"REMOVE",data:e,control:t})}}class GridViewController extends MDViewController{constructor(){super(...arguments),this.state=new GridViewState}createNerve(){return new GridViewNerve(this)}async onInit(){await super.onInit();const{grid:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{grid:e}=this.nerve;return e.call.load()}async remove(){const{grid:e}=this.nerve;await e.call.remove()}async newRow(){const{grid:e}=this.nerve;await e.call.newRow()}async importData(){const{grid:e}=this.nerve;await e.call.importData()}async exportData(e){const{grid:t}=this.nerve;await t.call.exportData(e)}}class PickupGridViewController extends GridViewController{createNerve(){return new PickupGridViewNerve(this)}onSelectionChange(e){super.onSelectionChange(e),this.nerve.self.evt.asyncEmit("selectionChange",this.selectedData)}async selectAll(){return this.nerve.grid.call.selectAll()}}class PickupViewController extends ViewController{constructor(){super(...arguments),this.state=new PickupViewState}createNerve(){return new PickupViewNerve(this)}async onInit(){await super.onInit();const{pickupViewPanel:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}onSelectionChange(e){this.nerve.self.evt.asyncEmit("closeView",{ok:!0,data:e})}}class MPickupViewController extends PickupViewController{constructor(){super(...arguments),this.state=new MPickupViewState}createNerve(){return new MPickupViewNerve(this)}async onInit(){await super.onInit(),this.params.selectedData&&(this.state.selfSelection=JSON.parse(this.params.selectedData))}onSelectionChange(e){this.state.embedSelection=e}async selectAll(){const e=await this.nerve.viewPanel.call.selectAll();e.length>0&&this.addSelections(e)}addSelections(e){if(e.length>0){const t=e.filter((e=>!this.state.selfSelection.find((t=>t.srfkey===e.srfkey))));this.state.selfSelection.push(...t)}}removeSelections(e){e.length>0&&e.forEach((e=>{const t=this.state.selfSelection.findIndex((t=>t.srfkey===e.srfkey));-1!==t&&this.state.selfSelection.splice(t,1)}))}onOkButtonClick(){this.closeView({ok:!0,data:this.state.selfSelection})}onCancelButtonClick(){this.closeView({ok:!1,data:[]})}}class WFEditViewController extends EditViewController{constructor(){super(...arguments),this.isEditable=!1,this.isFirstLoaded=!1}createNerve(){return new WFEditViewNerve(this)}async onInit(){await super.onInit(),await this.calcActiveForm()}async load(){const e=await super.load();return this.isFirstLoaded=!0,e}async refresh(){const e=this.activeForm;await this.calcActiveForm(),e===this.activeForm&&await super.refresh()}async calcActiveForm(){const e=await this.entityService.wf.getWFStep(this.params);this.isEditable="true"===e.data.isEditable;const t=e.data["process-form"]?`wfform_${e.data["process-form"]}`:"form",r=this.model.forms.get(t.toLowerCase());if(!r)throw new RuntimeError(`找不到表单${t}的模型`);this.activeForm=r,this.providers[r.name]=await ibiz.register.control.get(r)}onFormMounted(){this.isFirstLoaded&&this.load()}}class WFDynaEditViewController extends WFEditViewController{constructor(){super(...arguments),this.wfLinks=[]}createNerve(){return new WFDynaEditViewNerve(this)}async load(){const e=await super.load();return this.calcWfToolbar(),e}async calcWfToolbar(){const e=await this.entityService.wf.getWFLink(new IBizContext({taskDefinitionKey:this.params.taskDefinitionKey},this.context),this.getData());this.wfLinks=e.data}async onLinkClick(e){if(!e.type)return this.wfSubmitByLink(e)}async wfSubmitByLink(e){var t;this.isEditable&&await this.save();const r=new IBizContext({isEditable:this.isEditable,activeForm:e.sequenceFlowForm},this.context),i=Object.assign({},e),{sequenceFlowView:n}=e,s=null===(t=this.model.source.findPSAppViewRef(`WFACTION@${n}`))||void 0===t?void 0:t.getRefPSAppView();if(!s)return await this.nerve.form.call.wfSubmit(i),void await this.closeView();(await ibiz.commands.execute(OpenAppViewCommand.TAG,s,r,i)).ok&&await this.closeView()}}class WFDynaEditView3Controller extends WFDynaEditViewController{constructor(){super(...arguments),this.isNewData=!0,this.drPages={}}createNerve(){return new WFDynaEditView3Nerve(this)}async onInit(){var e;await super.onInit(),(null===(e=this.model.drTab)||void 0===e?void 0:e.pages.length)&&this.model.drTab.pages.forEach((e=>{this.drPages[e.source.name]={context:this.context,params:this.params,key:createUUID()}}))}async load(){const e=await super.load();return this.isNewData=e.srfuf===Srfuf.CREATE,this.calcViewParams(e),e}calcViewParams(e){var t;const{pages:r}=this.model.drTab;for(const i of r){const{name:r}=i.source;let n=new IBizContext({},this.context);const s=i.source.getPSNavigateContexts();notNilEmpty(s)&&(n=Object.assign(n,convertNavData(s,this.context,this.params,e)));const o=i.source.getPSNavigateParams();let a={};notNilEmpty(o)&&(a=convertNavData(o,this.params,this.context,e)),this.nerve.drViews.has(r)&&JSON.stringify(this.drPages[r].context)===JSON.stringify(n)&&JSON.stringify(this.drPages[r].params)===JSON.stringify(a)?null===(t=this.nerve.drViews.get(r))||void 0===t||t.call.refresh():(this.drPages[r].context=n,this.drPages[r].params=a,this.drPages[r].key=createUUID())}this.force()}}class WFDynaStartViewController extends WFEditViewController{createNerve(){return new WFDynaStartViewNerve(this)}async calcActiveForm(){const e=this.context.activeForm?`wfform_${this.context.activeForm}`:"form",t=this.model.forms.get(e.toLowerCase());if(!t)throw new RuntimeError(`找不到表单${e}的模型`);this.activeForm=t,this.providers[t.name]=await ibiz.register.control.get(t)}async onOkButtonClick(){await this.save(),await this.nerve.form.call.wfStart(),await this.closeView({ok:!0,data:this.getData()})}async onCancelButtonClick(){await this.closeView({ok:!1,data:[]})}}class WFDynaActionViewController extends WFEditViewController{createNerve(){return new WFDynaActionViewNerve(this)}async calcActiveForm(){const e=this.context.activeForm?`wfform_${this.context.activeForm}`:"form",t=this.model.forms.get(e.toLowerCase());if(!t)throw new RuntimeError(`找不到表单${e}的模型`);this.activeForm=t,this.providers[t.name]=await ibiz.register.control.get(t)}async onOkButtonClick(){this.context.isEditable&&await this.save(),await this.nerve.form.call.wfSubmit(),await this.closeView({ok:!0,data:this.getData()})}async onCancelButtonClick(){await this.closeView({ok:!1,data:[]})}}class WFStepTraceViewController extends ViewController{async onInit(){if(await super.onInit(),!this.deName)throw new RuntimeError("没有接收到deName");this.entityService=await this.app.es.getService(this.deName),await this.getUIData()}setDeName(e){this.deName=e}async getUIData(){const e=new IBizContext(this.params,this.context),t=await this.entityService.wf.getWFHistory(e);t.data&&(this.data=t.data)}}class AppPortalViewController extends ViewController{createNerve(){return new AppPortalViewNerve(this)}async onInit(){await super.onInit();const{dashboard:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class TreeExpViewController extends MDViewController{constructor(){super(...arguments),this.state=new TreeExpViewState}createNerve(){return new TreeExpViewNerve(this)}async onInit(){await super.onInit();const{tree:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{tree:e}=this.nerve;return e.call.load()}async onDataActive(e){const t=new IBizContext({},this.context),r=Object.assign({},this.params),i=this.model.tree.getNodeById(e.nodeId),{navView:n}=i;if(!n)return;let s;n.initialized||await n.init(),n.appEntity&&(s=n.appEntity.deName),i.navFilter&&(s=i.navFilter),s&&(t[s]=e.value);const o=i.source.getPSNavigateContexts();notNilEmpty(o)&&Object.assign(t,convertNavData(o,this.context,this.params,e.deData||e));const a=i.source.getPSNavigateParams();notNilEmpty(a)&&Object.assign(r,convertNavData(a,this.params,this.context,e.deData||e)),this.context.isRouter&&(Object.assign(t,{toRouteLevel:this.modal.level+1,currentRouteContext:e.id}),ibiz.openView.root(n.source,t,r))}}class TabExpViewController extends MainViewController{constructor(){super(...arguments),this.tabExpPages={}}createNerve(){return new TabExpViewNerve(this)}async onInit(){await super.onInit();const{tabExpPages:e}=this.model.tabExpPanel;e.length&&e.forEach((e=>{this.tabExpPages[e.name]={key:createUUID()}})),this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}))}}class GridExpViewController extends MDViewController{constructor(){super(...arguments),this.state=new GridExpViewState}createNerve(){return new GridExpViewNerve(this)}async onInit(){await super.onInit();const{gridExpBar:e}=this.model;if(e){const{grid:t}=e;t&&(this.providers[t.name]=await ibiz.register.control.get(t))}this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}))}async load(){const{grid:e}=this.nerve;return e.call.load()}async remove(){const{grid:e}=this.nerve;await e.call.remove()}async newRow(){const{grid:e}=this.nerve;await e.call.newRow()}async onDataActive(e){var t,r,i,n,s;this.activeData=e,this.state.toolbarState&&this.state.toolbarState.update(null==e?void 0:e.getOrigin());const{gridExpBar:o}=this.model;if(o){const{grid:e}=o;if(e&&e.navPSAppView){const o={},a=Object.assign({},this.params),l=this.activeData,c=e.navPSAppView.source.getPSAppDataEntity();if(c&&l){Object.assign(o,{[`${null===(t=c.codeName)||void 0===t?void 0:t.toLowerCase()}`]:l[null===(r=c.codeName)||void 0===r?void 0:r.toLowerCase()]});const u=null===(i=c.getKeyPSAppDEField())||void 0===i?void 0:i.codeName.toLowerCase();u&&(Object.assign(o,{[u]:l[u]}),this.state.navItem.key=l[u]);const{navFilter:d}=e.source;d&&Object.assign(a,{[d]:l[null===(n=c.codeName)||void 0===n?void 0:n.toLowerCase()]});const h=e.source.getNavPSDER();if(h){const e=`n_${(h.codeName&&h.minorCodeName).toLowerCase()}_eq`;Object.assign(a,{[e]:l[null===(s=c.codeName)||void 0===s?void 0:s.toLowerCase()]})}}const u=e.source.getPSNavigateContexts();let d={};notNilEmpty(u)&&(d=convertNavData(u,o,this.params)),Object.assign(o,d);const h=e.source.getPSNavigateParams();let p={};if(notNilEmpty(h)&&(p=convertNavData(h,a,this.params)),Object.assign(a,p),this.context.isRouter){Object.assign(o,{toRouteLevel:this.modal.level+1});const t=new IBizContext(o,this.context);ibiz.openView.root(e.navPSAppView.source,t,a)}else{const e=new IBizContext(o,this.context);this.state.navItem.context=e,this.state.navItem.params=a}}}}async onToolbarClick(e,t){const r=e.getPSAppViewUIAction();if(!r)throw new DefectModelError(e,"没有配置界面行为!");const i=`${r.name}_click`,n=this.model.gridExpBar.source.findPSAppViewLogic(i);if(!n)throw new DefectModelError(r,"没有找到对应的视图逻辑");return this.executeViewLogic(n,this.getData(),t)}}class DashboardViewController extends MainViewController{createNerve(){return new DashboardViewNerve(this)}async onInit(){await super.onInit();const{dashboard:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class ControlController{constructor(e,t,r={}){this.state=new ControlState,this.complete=!1,this.model=e,this.context=t,this.params=r,this.nerve=this.createNerve()}createNerve(){return new ControlNerve(this)}async init(){await this.onInit(),this.state.complete=!0,this.nerve.created(),this.force((()=>{this.nerve.mounted()}))}async onInit(){this.emit("neuronInit",this.nerve.self)}force(e){}emit(e,...t){}destroy(){this.nerve.destroy()}async startLoading(){this.nerve.self.evt.emit("beginViewLoading")}async endLoading(){this.nerve.self.evt.emit("endViewLoading")}}class AppMenuController extends ControlController{constructor(){super(...arguments),this.state=new AppMenuState,this.menuItemsState={}}createNerve(){return new AppMenuNerve(this)}async onInit(){super.onInit(),this.model.items.forEach((e=>{this.initMenuItemState(e)}))}async onClickMenuItem(e){const t=this.model.findMenuItemModelById(e),r=await ibiz.model.getAppFunc(t);if(!r)throw new DefectModelError(t.source,"未配置界面行为");await ibiz.commands.execute(AppFuncCommand.TAG,r)}initMenuItemState(e){var t;const r=ibiz.hub.getApp(e).authority.hasMenuPermitted(e);let i=r;if(null===(t=e.children)||void 0===t?void 0:t.length){const t=e.children.map((e=>this.initMenuItemState(e).visible));i=i&&t.includes(!0)}const n={permitted:r,visible:i};return this.state.menuItemsState[e.source.id]=n,n}}class MainController extends ControlController{}class FormController extends MainController{constructor(){super(...arguments),this.state=new FormState,this.details={},this.providers={},this.formItems=[]}get data(){return this.state.data}dataChangeNotify(e){Object.values(this.details).forEach((t=>{t.dataChangeNotify(e)}))}formStateNotify(e){Object.values(this.details).forEach((t=>{t.formStateNotify(e)}))}async onInit(){await super.onInit(),await this.initDetailControllers(),this.details=Object.assign({},this.details),this.providers=Object.assign({},this.providers),this.dataChangeNotify=debounceAndMerge(this.dataChangeNotify.bind(this),((e,t)=>[Array.from(new Set([...e[0],...t[0]]))]),200)}async initDetailControllers(e=this.model.children,t=this,r){const{formDetail:i}=ibiz.register;if(!i)throw new RuntimeError("formDetail注册器不存在");await Promise.all(e.map((async e=>{var i;const n=await ibiz.register.formDetail.get(e);if(!n)throw new RuntimeError("找不到对应的适配器");t.providers[e.source.name]=n;const s=await n.createController(e,t,r);t.details[e.source.name]=s,"FORMITEM"===e.source.detailType&&t.formItems.push(s),(null===(i=e.children)||void 0===i?void 0:i.length)&&await this.initDetailControllers(e.children,t,s)})))}getData(){return[this.state.data]}async setDataValue(e,t){Object.prototype.hasOwnProperty.call(this.state.data,e)&&this.state.data[e]===t||(this.state.data[e]=t,this.dataChangeNotify([e]),this.force())}async validate(){return-1===(await Promise.all(this.formItems.map((e=>e.validate())))).findIndex((e=>!e))}}class EditFormController extends FormController{constructor(){super(...arguments),this.state=new EditFormState,this.isNewData=!1}createNerve(){return new EditFormNerve(this)}async onInit(){await super.onInit(),this.service=new EditFormService(this.model),await this.service.init(this.context)}async load(){let e;this.isNewData=!this.context[this.model.appEntity.deName],await this.startLoading();try{e=this.isNewData?await this.service.getDraft(this.context,this.params):await this.service.get(this.context,this.params)}finally{await this.endLoading()}return e.data.reactiveInit(),this.state.data=e.data,this.formStateNotify(this.isNewData?FormNotifyState.DRAFT:FormNotifyState.LOAD),this.state.isLoaded=!0,this.force(),this.data}async save(){if(!await this.validate())throw new RuntimeError("请检查表单填写!");let e;await this.startLoading();try{e=this.isNewData?await this.service.create(this.context,this.data):await this.service.update(this.context,this.data)}finally{await this.endLoading()}return e.data&&this.data.mergeOrigin(e.data),await this.nerve.self.evt.asyncEmit("afterSave",this.isNewData,this.data),this.isNewData=!1,this.formStateNotify(FormNotifyState.SAVE),ibiz.message.success(`${this.data.srfmajortext||""}保存成功`),this.force(),this.data}async remove(){if(!this.isNewData){await this.startLoading();try{await this.service.remove(this.context,this.params)}finally{await this.endLoading()}}await this.nerve.self.evt.asyncEmit("afterRemove",this.data),this.state.data=new ControlVO,this.force()}async updateFormItem(e,t){const r=Object.assign(Object.assign({},this.params),this.data.getRequestData()),i=(await this.service.updateFormItem(e,this.context,r)).data;if(i&&(null==t?void 0:t.length))for(const e of t)this.setDataValue(e,i[e])}async wfStart(e={}){if(!await this.validate())throw new RuntimeError("请检查表单填写!");await this.startLoading();try{await this.service.wfStart(this.context,Object.assign(Object.assign({},this.params),e),this.data)}finally{await this.endLoading()}ibiz.message.success("流程启动成功")}async wfSubmit(e={}){if(!await this.validate())throw new RuntimeError("请检查表单填写!");await this.startLoading();try{await this.service.wfSubmit(this.context,Object.assign(Object.assign({},this.params),e),this.data)}finally{await this.endLoading()}ibiz.message.success("流程提交成功")}}class SearchFormController extends FormController{constructor(){super(...arguments),this.state=new SearchFormState}createNerve(){return new SearchFormNerve(this)}async onInit(){await super.onInit(),this.service=new SearchFormService(this.model),await this.service.init(this.context),await this.load()}async load(){const e=await this.service.getDraft(this.context,this.params);return this.state.data=e.data,this.state.isLoaded=!0,this.formStateNotify(FormNotifyState.DRAFT),this.force(),this.data}getParams(){return Object.assign({},this.data.getRequestData())}async onSearchButtonClick(){await this.nerve.self.evt.asyncEmit("search")}async reset(){await this.load(),await this.nerve.self.evt.asyncEmit("search")}dataChangeNotify(e){super.dataChangeNotify(e),this.model.source.enableAutoSearch&&this.nerve.self.evt.asyncEmit("search")}async onKeyUp(e){const t=e||window.event;t&&"Enter"===t.code&&await this.onSearchButtonClick()}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},_extends.apply(this,arguments)}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,_setPrototypeOf(e,t)}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _construct(e,t,r){return _construct=_isNativeReflectConstruct()?Reflect.construct.bind():function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&_setPrototypeOf(n,r.prototype),n},_construct.apply(null,arguments)}function _isNativeFunction(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _wrapNativeSuper(e){var t="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(e){if(null===e||!_isNativeFunction(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(r,e)},_wrapNativeSuper(e)}var formatRegExp=/%[sdj%]/g,warning=function(){};function convertFieldsError(e){if(!e||!e.length)return null;var t={};return e.forEach((function(e){var r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function format(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var n=0,s=r.length;if("function"==typeof e)return e.apply(null,r);if("string"==typeof e){var o=e.replace(formatRegExp,(function(e){if("%%"===e)return"%";if(n>=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}break;default:return e}}));return o}return e}function isNativeStringType(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}function isEmptyValue(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!isNativeStringType(t)||"string"!=typeof e||e))}function asyncParallelArray(e,t,r){var i=[],n=0,s=e.length;function o(e){i.push.apply(i,e||[]),++n===s&&r(i)}e.forEach((function(e){t(e,o)}))}function asyncSerialArray(e,t,r){var i=0,n=e.length;!function s(o){if(o&&o.length)r(o);else{var a=i;i+=1,a<n?t(e[a],s):r([])}}([])}function flattenObjArr(e){var t=[];return Object.keys(e).forEach((function(r){t.push.apply(t,e[r]||[])})),t}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(warning=function(e,t){"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((function(e){return"string"==typeof e}))&&console.warn(e,t)});var AsyncValidationError=function(e){function t(t,r){var i;return(i=e.call(this,"Async Validation Error")||this).errors=t,i.fields=r,i}return _inheritsLoose(t,e),t}(_wrapNativeSuper(Error));function asyncMap(e,t,r,i,n){if(t.first){var s=new Promise((function(t,s){asyncSerialArray(flattenObjArr(e),r,(function(e){return i(e),e.length?s(new AsyncValidationError(e,convertFieldsError(e))):t(n)}))}));return s.catch((function(e){return e})),s}var o=!0===t.firstFields?Object.keys(e):t.firstFields||[],a=Object.keys(e),l=a.length,c=0,u=[],d=new Promise((function(t,s){var d=function(e){if(u.push.apply(u,e),++c===l)return i(u),u.length?s(new AsyncValidationError(u,convertFieldsError(u))):t(n)};a.length||(i(u),t(n)),a.forEach((function(t){var i=e[t];-1!==o.indexOf(t)?asyncSerialArray(i,r,d):asyncParallelArray(i,r,d)}))}));return d.catch((function(e){return e})),d}function isErrorObj(e){return!(!e||void 0===e.message)}function getValue(e,t){for(var r=e,i=0;i<t.length;i++){if(null==r)return r;r=r[t[i]]}return r}function complementError(e,t){return function(r){var i;return i=e.fullFields?getValue(t,e.fullFields):t[r.field||e.fullField],isErrorObj(r)?(r.field=r.field||e.fullField,r.fieldValue=i,r):{message:"function"==typeof r?r():r,fieldValue:i,field:r.field||e.fullField}}}function deepMerge(e,t){if(t)for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];"object"==typeof i&&"object"==typeof e[r]?e[r]=_extends({},e[r],i):e[r]=i}return e}var required$1=function(e,t,r,i,n,s){!e.required||r.hasOwnProperty(e.field)&&!isEmptyValue(t,s||e.type)||i.push(format(n.messages.required,e.fullField))},whitespace=function(e,t,r,i,n){(/^\s+$/.test(t)||""===t)&&i.push(format(n.messages.whitespace,e.fullField))},urlReg,getUrlRegex=function(){if(urlReg)return urlReg;var e="[a-fA-F\\d:]",t=function(t){return t&&t.includeBoundaries?"(?:(?<=\\s|^)(?="+e+")|(?<="+e+")(?=\\s|$))":""},r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",i="[a-fA-F\\d]{1,4}",n=("\n(?:\n(?:"+i+":){7}(?:"+i+"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:"+i+":){6}(?:"+r+"|:"+i+"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:"+i+":){5}(?::"+r+"|(?::"+i+"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:"+i+":){4}(?:(?::"+i+"){0,1}:"+r+"|(?::"+i+"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:"+i+":){3}(?:(?::"+i+"){0,2}:"+r+"|(?::"+i+"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:"+i+":){2}(?:(?::"+i+"){0,3}:"+r+"|(?::"+i+"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:"+i+":){1}(?:(?::"+i+"){0,4}:"+r+"|(?::"+i+"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::"+i+"){0,5}:"+r+"|(?::"+i+"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),s=new RegExp("(?:^"+r+"$)|(?:^"+n+"$)"),o=new RegExp("^"+r+"$"),a=new RegExp("^"+n+"$"),l=function(e){return e&&e.exact?s:new RegExp("(?:"+t(e)+r+t(e)+")|(?:"+t(e)+n+t(e)+")","g")};l.v4=function(e){return e&&e.exact?o:new RegExp(""+t(e)+r+t(e),"g")},l.v6=function(e){return e&&e.exact?a:new RegExp(""+t(e)+n+t(e),"g")};var c=l.v4().source,u=l.v6().source;return urlReg=new RegExp("(?:^"+("(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|"+c+"|"+u+'|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?')+"$)","i")},pattern$2={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},types={integer:function(e){return types.number(e)&&parseInt(e,10)===e},float:function(e){return types.number(e)&&!types.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!types.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(pattern$2.email)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(getUrlRegex())},hex:function(e){return"string"==typeof e&&!!e.match(pattern$2.hex)}},type$1=function(e,t,r,i,n){if(e.required&&void 0===t)required$1(e,t,r,i,n);else{var s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?types[s](t)||i.push(format(n.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&i.push(format(n.messages.types[s],e.fullField,e.type))}},range=function(e,t,r,i,n){var s="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,l=t,c=null,u="number"==typeof t,d="string"==typeof t,h=Array.isArray(t);if(u?c="number":d?c="string":h&&(c="array"),!c)return!1;h&&(l=t.length),d&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),s?l!==e.len&&i.push(format(n.messages[c].len,e.fullField,e.len)):o&&!a&&l<e.min?i.push(format(n.messages[c].min,e.fullField,e.min)):a&&!o&&l>e.max?i.push(format(n.messages[c].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&i.push(format(n.messages[c].range,e.fullField,e.min,e.max))},ENUM$1="enum",enumerable$1=function(e,t,r,i,n){e[ENUM$1]=Array.isArray(e[ENUM$1])?e[ENUM$1]:[],-1===e[ENUM$1].indexOf(t)&&i.push(format(n.messages[ENUM$1],e.fullField,e[ENUM$1].join(", ")))},pattern$1=function(e,t,r,i,n){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||i.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||i.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern))}},rules={required:required$1,whitespace:whitespace,type:type$1,range:range,enum:enumerable$1,pattern:pattern$1},string=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return r();rules.required(e,t,i,s,n,"string"),isEmptyValue(t,"string")||(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n),rules.pattern(e,t,i,s,n),!0===e.whitespace&&rules.whitespace(e,t,i,s,n))}r(s)},method=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},number=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(""===t&&(t=void 0),isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},_boolean=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},regexp=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),isEmptyValue(t)||rules.type(e,t,i,s,n)}r(s)},integer=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},floatFn=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},array=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();rules.required(e,t,i,s,n,"array"),null!=t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},object=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},ENUM="enum",enumerable=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules[ENUM](e,t,i,s,n)}r(s)},pattern=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return r();rules.required(e,t,i,s,n),isEmptyValue(t,"string")||rules.pattern(e,t,i,s,n)}r(s)},date=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"date")&&!e.required)return r();var o;if(rules.required(e,t,i,s,n),!isEmptyValue(t,"date"))o=t instanceof Date?t:new Date(t),rules.type(e,o,i,s,n),o&&rules.range(e,o.getTime(),i,s,n)}r(s)},required=function(e,t,r,i,n){var s=[],o=Array.isArray(t)?"array":typeof t;rules.required(e,t,i,s,n,o),r(s)},type=function(e,t,r,i,n){var s=e.type,o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,s)&&!e.required)return r();rules.required(e,t,i,o,n,s),isEmptyValue(t,s)||rules.type(e,t,i,o,n)}r(o)},any=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n)}r(s)},validators={string:string,method:method,number:number,boolean:_boolean,regexp:regexp,integer:integer,float:floatFn,array:array,object:object,enum:enumerable,pattern:pattern,date:date,url:type,hex:type,email:type,required:required,any:any};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var messages=newMessages(),Schema=function(){function e(e){this.rules=null,this._messages=messages,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((function(r){var i=e[r];t.rules[r]=Array.isArray(i)?i:[i]}))},t.messages=function(e){return e&&(this._messages=deepMerge(newMessages(),e)),this._messages},t.validate=function(t,r,i){var n=this;void 0===r&&(r={}),void 0===i&&(i=function(){});var s=t,o=r,a=i;if("function"==typeof o&&(a=o,o={}),!this.rules||0===Object.keys(this.rules).length)return a&&a(null,s),Promise.resolve(s);if(o.messages){var l=this.messages();l===messages&&(l=newMessages()),deepMerge(l,o.messages),o.messages=l}else o.messages=this.messages();var c={};(o.keys||Object.keys(this.rules)).forEach((function(e){var r=n.rules[e],i=s[e];r.forEach((function(r){var o=r;"function"==typeof o.transform&&(s===t&&(s=_extends({},s)),i=s[e]=o.transform(i)),(o="function"==typeof o?{validator:o}:_extends({},o)).validator=n.getValidationMethod(o),o.validator&&(o.field=e,o.fullField=o.fullField||e,o.type=n.getType(o),c[e]=c[e]||[],c[e].push({rule:o,value:i,source:s,field:e}))}))}));var u={};return asyncMap(c,o,(function(t,r){var i,n=t.rule,a=!("object"!==n.type&&"array"!==n.type||"object"!=typeof n.fields&&"object"!=typeof n.defaultField);function l(e,t){return _extends({},t,{fullField:n.fullField+"."+e,fullFields:n.fullFields?[].concat(n.fullFields,[e]):[e]})}function c(i){void 0===i&&(i=[]);var c=Array.isArray(i)?i:[i];!o.suppressWarning&&c.length&&e.warning("async-validator:",c),c.length&&void 0!==n.message&&(c=[].concat(n.message));var d=c.map(complementError(n,s));if(o.first&&d.length)return u[n.field]=1,r(d);if(a){if(n.required&&!t.value)return void 0!==n.message?d=[].concat(n.message).map(complementError(n,s)):o.error&&(d=[o.error(n,format(o.messages.required,n.field))]),r(d);var h={};n.defaultField&&Object.keys(t.value).map((function(e){h[e]=n.defaultField})),h=_extends({},h,t.rule.fields);var p={};Object.keys(h).forEach((function(e){var t=h[e],r=Array.isArray(t)?t:[t];p[e]=r.map(l.bind(null,e))}));var f=new e(p);f.messages(o.messages),t.rule.options&&(t.rule.options.messages=o.messages,t.rule.options.error=o.error),f.validate(t.value,t.rule.options||o,(function(e){var t=[];d&&d.length&&t.push.apply(t,d),e&&e.length&&t.push.apply(t,e),r(t.length?t:null)}))}else r(d)}if(a=a&&(n.required||!n.required&&t.value),n.field=t.field,n.asyncValidator)i=n.asyncValidator(n,t.value,c,t.source,o);else if(n.validator){try{i=n.validator(n,t.value,c,t.source,o)}catch(e){null==console.error||console.error(e),o.suppressValidatorError||setTimeout((function(){throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof n.message?n.message(n.fullField||n.field):n.message||(n.fullField||n.field)+" fails"):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((function(){return c()}),(function(e){return c(e)}))}),(function(e){!function(e){for(var t,r,i=[],n={},o=0;o<e.length;o++)t=e[o],r=void 0,Array.isArray(t)?i=(r=i).concat.apply(r,t):i.push(t);i.length?(n=convertFieldsError(i),a(i,n)):a(null,s)}(e)}),s)},t.getType=function(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!validators.hasOwnProperty(e.type))throw new Error(format("Unknown rule type %s",e.type));return e.type||"string"},t.getValidationMethod=function(e){if("function"==typeof e.validator)return e.validator;var t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?validators.required:validators[this.getType(e)]||void 0},e}();Schema.register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");validators[e]=t},Schema.warning=warning,Schema.messages=messages,Schema.validators=validators;var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},dayjs_minExports={},dayjs_min={get exports(){return dayjs_minExports},set exports(e){dayjs_minExports=e}},module;module=dayjs_min,module.exports=function(){var e=1e3,t=6e4,r=36e5,i="millisecond",n="second",s="minute",o="hour",a="day",l="week",c="month",u="quarter",d="year",h="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,w={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(r)+e},v={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),i=Math.floor(r/60),n=r%60;return(t<=0?"+":"-")+g(i,2,"0")+":"+g(n,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var i=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(i,c),s=r-n<0,o=t.clone().add(i+(s?-1:1),c);return+(-(i+(r-n)/(s?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:l,d:a,D:h,h:o,m:s,s:n,ms:i,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",b={};b[y]=w;var N=function(e){return e instanceof P},E=function e(t,r,i){var n;if(!t)return y;if("string"==typeof t){var s=t.toLowerCase();b[s]&&(n=s),r&&(b[s]=r,n=s);var o=t.split("-");if(!n&&o.length>1)return e(o[0])}else{var a=t.name;b[a]=t,n=a}return!i&&n&&(y=n),n||!i&&y},C=function(e,t){if(N(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new P(r)},S=v;S.l=E,S.i=N,S.w=function(e,t){return C(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var P=function(){function w(e){this.$L=E(e.locale,null,!0),this.parse(e)}var g=w.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(f);if(i){var n=i[2]-1||0,s=(i[7]||"0").substring(0,3);return r?new Date(Date.UTC(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)):new Date(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return S},g.isValid=function(){return!(this.$d.toString()===p)},g.isSame=function(e,t){var r=C(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return C(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<C(e)},g.$g=function(e,t,r){return S.u(e)?this[t]:this.set(r,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var r=this,i=!!S.u(t)||t,u=S.p(e),p=function(e,t){var n=S.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return i?n:n.endOf(a)},f=function(e,t){return S.w(r.toDate()[e].apply(r.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},m=this.$W,w=this.$M,g=this.$D,v="set"+(this.$u?"UTC":"");switch(u){case d:return i?p(1,0):p(31,11);case c:return i?p(1,w):p(0,w+1);case l:var y=this.$locale().weekStart||0,b=(m<y?m+7:m)-y;return p(i?g-b:g+(6-b),w);case a:case h:return f(v+"Hours",0);case o:return f(v+"Minutes",1);case s:return f(v+"Seconds",2);case n:return f(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var r,l=S.p(e),u="set"+(this.$u?"UTC":""),p=(r={},r[a]=u+"Date",r[h]=u+"Date",r[c]=u+"Month",r[d]=u+"FullYear",r[o]=u+"Hours",r[s]=u+"Minutes",r[n]=u+"Seconds",r[i]=u+"Milliseconds",r)[l],f=l===a?this.$D+(t-this.$W):t;if(l===c||l===d){var m=this.clone().set(h,1);m.$d[p](f),m.init(),this.$d=m.set(h,Math.min(this.$D,m.daysInMonth())).$d}else p&&this.$d[p](f);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[S.p(e)]()},g.add=function(i,u){var h,p=this;i=Number(i);var f=S.p(u),m=function(e){var t=C(p);return S.w(t.date(t.date()+Math.round(e*i)),p)};if(f===c)return this.set(c,this.$M+i);if(f===d)return this.set(d,this.$y+i);if(f===a)return m(1);if(f===l)return m(7);var w=(h={},h[s]=t,h[o]=r,h[n]=e,h)[f]||1,g=this.$d.getTime()+i*w;return S.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||p;var i=e||"YYYY-MM-DDTHH:mm:ssZ",n=S.z(this),s=this.$H,o=this.$m,a=this.$M,l=r.weekdays,c=r.months,u=function(e,r,n,s){return e&&(e[r]||e(t,i))||n[r].slice(0,s)},d=function(e){return S.s(s%12||12,e,"0")},h=r.meridiem||function(e,t,r){var i=e<12?"AM":"PM";return r?i.toLowerCase():i},f={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:S.s(a+1,2,"0"),MMM:u(r.monthsShort,a,c,3),MMMM:u(c,a),D:this.$D,DD:S.s(this.$D,2,"0"),d:String(this.$W),dd:u(r.weekdaysMin,this.$W,l,2),ddd:u(r.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(s),HH:S.s(s,2,"0"),h:d(1),hh:d(2),a:h(s,o,!0),A:h(s,o,!1),m:String(o),mm:S.s(o,2,"0"),s:String(this.$s),ss:S.s(this.$s,2,"0"),SSS:S.s(this.$ms,3,"0"),Z:n};return i.replace(m,(function(e,t){return t||f[e]||n.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(i,h,p){var f,m=S.p(h),w=C(i),g=(w.utcOffset()-this.utcOffset())*t,v=this-w,y=S.m(this,w);return y=(f={},f[d]=y/12,f[c]=y,f[u]=y/3,f[l]=(v-g)/6048e5,f[a]=(v-g)/864e5,f[o]=v/r,f[s]=v/t,f[n]=v/e,f)[m]||v,p?y:S.a(y)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return b[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),i=E(e,t,!0);return i&&(r.$L=i),r},g.clone=function(){return S.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},w}(),V=P.prototype;return C.prototype=V,[["$ms",i],["$s",n],["$m",s],["$H",o],["$W",a],["$M",c],["$y",d],["$D",h]].forEach((function(e){V[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),C.extend=function(e,t){return e.$i||(e(t,P,C),e.$i=!0),C},C.locale=E,C.isDayjs=N,C.unix=function(e){return C(1e3*e)},C.en=b[y],C.Ls=b,C.p={},C}();class MDController extends MainController{constructor(){super(...arguments),this.state=new MDState,this.items=[],this.selectedData=[],this.singleSelect=!1,this.isSelectFirstDefault=!1,this.defaultSelectKeys=[],this.isExpView=!1,this.curPage=1,this.size=20,this.total=0}createNerve(){return new MDControlNerve(this)}async onInit(){await super.onInit()}setIsSelectFirstDefault(e){"boolean"==typeof e&&(this.isSelectFirstDefault=e)}setDefaultSelectKeys(e){e&&(this.defaultSelectKeys=e)}async getParams(){const e=await this.nerve.self.evt.asyncEmit("beforeLoad"),t=e.length>0?e.reduce(((e,t)=>Object.assign(e,t))):{};return Object.assign(Object.assign(Object.assign({},this.params),t),{page:this.state.curPage-1,size:this.state.size})}async load(){const e=await this.getParams();let t;await this.startLoading();try{t=await this.service.fetch(this.context,e)}finally{await this.endLoading()}if(t.total&&(this.state.total=t.total),t.data.forEach((e=>{e.reactiveInit()})),this.state.items=t.data,!this.state.hasLoaded&&this.isSelectFirstDefault&&this.state.items[0])if(0===this.defaultSelectKeys.length)await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[0]);else if(this.defaultSelectKeys.length>0){const e=this.state.items.map((e=>e.srfkey));let t=!1;for(const r of this.defaultSelectKeys)if(e.includes(r)){t=!0;break}t||await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[0])}return await this.afterLoad(this.state.items),this.state.hasLoaded=!0,this.force(),this.state.items}async afterLoad(e){return e}async remove(){if(0===this.state.selectedData.length)throw new RuntimeError("未选中数据");await this.startLoading();try{await Promise.allSettled(this.state.selectedData.map((async e=>{e.srfuf!==Srfuf.CREATE&&await this.service.remove(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),this.params),this.afterRemove(e)})))}finally{await this.endLoading()}await this.nerve.self.evt.asyncEmit("afterRemove",this.state.selectedData),this.state.selectedData=[],this.isExpView&&await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[0]),this.force()}afterRemove(e){const t=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(t,1)}getData(){return this.state.selectedData||[]}async selectAll(){return this.state.selectedData=[...this.state.items],this.nerve.self.evt.emit("selectionChange",this.state.selectedData),this.state.selectedData}onSelectionChange(e){this.state.selectedData=e,this.nerve.self.evt.emit("selectionChange",e)}async importData(){const{appEntity:e,dataImport:t}=this.model;let r=`${e.deNamePlural}/importtemplate`,i=`${e.deNamePlural}/importdata2`;t&&(r+=`?srfimporttag=${t.codeName}`,i+=`?srfimporttag=${t.codeName}`);const n=ibiz.overlay.createModal("DataImport",{dismiss:()=>n.dismiss(),templateUrl:r,importUrl:i},{width:"auto",placement:"center"});n.present(),await n.onWillDismiss()}async exportData(e){const{dataExport:t,appEntity:r}=this.model;if(!t)throw new DefectModelError(this.model.source,"没有配置实体导出模型!");if(!t.enableBackend)throw new UnsupportedModelError(t,"前台导出暂未支持!");const i=ibiz.overlay.createPopover("DataExport",{dismiss:e=>i.dismiss(e),maxRowCount:t.maxRowCount||1e3,pageSize:this.state.size},{autoClose:!0,placement:"bottom-end"});i.present(e.target);const n=await i.onWillDismiss();if(!n)return;const s=await this.getParams();Object.assign(s,n);const{data:o}=await this.service.exportData(t,this.context,s),a=`${r.source.logicName}表.xlsx`;downloadFileFromBlob(o,a)}}class GridController extends MDController{constructor(){super(...arguments),this.state=new GridState,this.columns={},this.fieldColumns={},this.uaColumns={},this.editItems={},this.providers={},this.rows=[],this.gridRowActiveMode=2,this.hasWidthFlexGrow=!1}get noSort(){return this.model.source.noSort}createNerve(){return new GridNerve(this)}async onInit(){await super.onInit(),this.state.size=this.model.size,this.state.singleSelect=this.model.source.singleSelect,this.service=new GridService(this.model),await this.service.init(this.context),this.hasWidthFlexGrow=!!this.model.columns.find((e=>e.widthFlexGrow)),await this.initGridColumns(),this.dataChangeNotify=debounceAndAsyncMerge(this.dataChangeNotify.bind(this),((e,t)=>[e[0],Array.from(new Set([...e[1],...t[1]]))]),200),this.nerve.self.evt.on("beforeLoad",(()=>this.sortQuery?{sort:this.sortQuery}:{}));const{defaultSortField:e,defaultSortDir:t}=this.model;e&&t&&this.setSort(e,t)}async afterLoad(e){return await Promise.allSettled(Object.values(this.fieldColumns).map((async e=>{await e.loadCodeList()}))),this.state.rows=e.map((e=>{const t=new GridRowController(e,this);return this.gridStateNotify(t,GridNotifyState.LOAD),t})),e}afterRemove(e){super.afterRemove(e);const t=this.state.rows.findIndex((t=>t.data.srfkey===e.srfkey));this.state.rows[t].destroy(),this.state.rows.splice(t,1)}async newRow(){const e=await this.service.getDraft(this.context,this.params);this.state.items.unshift(e.data);const t=new GridRowController(e.data,this);this.state.rows.unshift(t),this.gridStateNotify(t,GridNotifyState.DRAFT)}async save(e){const t=this.state.rows.find((t=>t.data.srfkey===e.srfkey));if(!t)throw new RuntimeError("行数据不存在");if(!t.modified)return void ibiz.log.debug("值没有发生改变");if(!await this.validate(t))throw new RuntimeError("行数据校验不通过,保存取消");let r;await this.startLoading();const i=e.srfuf===Srfuf.CREATE;try{r=i?await this.service.create(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e):await this.service.update(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e)}finally{await this.endLoading()}const n=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(n,1,r.data),t.data=r.data,t.modified=!1,ibiz.message.success(`${r.data.srfmajortext||""}保存成功`),this.gridStateNotify(t,GridNotifyState.SAVE),await this.nerve.self.evt.asyncEmit("afterSave",[r.data],i)}async onRowClick(e){1===this.gridRowActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async onDbRowClick(e){2===this.gridRowActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}setGridRowActiveMode(e){this.gridRowActiveMode=void 0===e?2:e}setGridIsExpView(e){"boolean"==typeof e&&(this.isExpView=e)}async initGridColumns(){await Promise.all(this.model.columns.map((async e=>{const t=await ibiz.register.gridColumn.get(e);this.providers[e.codeName]=t;const r=await t.createController(e,this);this.columns[e.codeName]=r,"DEFGRIDCOLUMN"===e.source.columnType?this.fieldColumns[e.codeName]=r:"UAGRIDCOLUMN"===e.source.columnType&&(this.uaColumns[e.codeName]=r)}))),await Promise.all(this.model.editItems.map((async e=>{if(!this.editItems[e.codeName]){const t=new GridEditItemController(e,this);return this.editItems[e.codeName]=t,t.init()}})))}async setRowValue(e,t,r){Object.prototype.hasOwnProperty.call(e.data,t)&&e.data[t]===r||(e.data[t]=r,e.modified=!0,await this.dataChangeNotify(e,[t]),this.force())}async dataChangeNotify(e,t){const r=await Promise.allSettled(Object.values(this.editItems).map((async r=>r.dataChangeNotify(e,t))));if(r.find((e=>"rejected"===e.status)))throw ibiz.log.error("dataChangeNotify报错",r),new RuntimeError("数据变更后有错误")}gridStateNotify(e,t){Object.values(this.editItems).forEach((r=>{r.gridStateNotify(e,t)}))}async validate(e){return-1===(await Promise.all(Object.values(this.editItems).map((t=>t.validate(e))))).findIndex((e=>!e))}async toggleRowEdit(e){!0===e.showRowEdit&&await this.save(e.data),e.showRowEdit=!e.showRowEdit}setSort(e,t){this.sortQuery=`${e},${t}`}async updateGridEditItem(e,t,r){const i=Object.assign(Object.assign({},this.params),e.data.getRequestData()),n=(await this.service.updateGridEditItem(t,this.context,i)).data;n&&(null==r?void 0:r.length)&&await Promise.all(r.map((t=>this.setRowValue(e,t,n[t]))))}}class GridEditItemController{get context(){return this.grid.context}get params(){return this.grid.params}get required(){return!this.model.source.allowEmpty}constructor(e,t){this.title="",this.rules=[],this.model=e,this.grid=t}async init(){await this.onInit()}async onInit(){var e;this.title=(null===(e=this.model.gridFieldColumn)||void 0===e?void 0:e.title)||"",this.model.editor&&"HIDDEN"!==this.model.editor.editorType&&(this.editorProvider=await ibiz.register.editor.get(this.model.editor),this.editorProvider&&(this.editor=await this.editorProvider.createController(this.model.editor,this),await this.editor.init(),await this.initRules()))}async initRules(){const e=this.model.editItemVRs;e&&(this.rules=generateRules(e,this.model.codeName,this.model.source.valueItemName),this.validator=new Schema({[this.model.codeName]:this.rules}))}async setRowValue(e,t,r){r=r||this.model.codeName,await this.grid.setRowValue(e,r,t)}async dataChangeNotify(e,t){if(t.includes(this.model.codeName)||t.includes(this.model.source.valueItemName)){if(!await this.validate(e))throw new RuntimeError(`${this.model.codeName}校验报错`)}if(t.includes(this.model.codeName)&&this.model.gridItemUpdate){const{methodName:t,itemNames:r}=this.model.gridItemUpdate;await this.grid.updateGridEditItem(e,t,r)}}gridStateNotify(e,t){this.calcEnableCond(e)}calcEnableCond(e){const{enableCond:t}=this.model.source,r=e.data.srfuf===Srfuf.CREATE;(0===t||r&&2===t||!r&&1===t)&&(e.columnState[this.model.codeName].disabled=!0)}async validate(e){const t=this.model.codeName;if(this.validator)try{await this.validator.validate(e.data)}catch({errors:r,_fields:i}){return e.errors[t]=r[0].message,!1}return e.errors[t]=null,!0}}class GridRowController{constructor(e,t){this.errors={},this.uaColumnStates={},this.columnState={},this.showRowEdit=!1,this.modified=!1,this.data=e,Object.keys(this.data).forEach((e=>{void 0===this.errors[e]&&(this.errors[e]=null)})),e.srfuf===Srfuf.CREATE&&(this.showRowEdit=!0),Object.values(t.uaColumns).forEach((e=>{e.initActionStates(this)})),Object.values(t.editItems).forEach((e=>{this.columnState[e.model.codeName]={disabled:!1,editable:!1}}))}destroy(){this.data=void 0,clearAll(this.errors)}}class ListController extends MDController{createNerve(){return new ListNerve(this)}async onInit(){await super.onInit(),this.service=new ListService(this.model),await this.service.init(this.context)}}class TreeController extends MDController{constructor(){super(...arguments),this.state=new TreeState}createNerve(){return new TreeNerve(this)}async onInit(){await super.onInit(),this.service=new TreeService(this.model),await this.service.init(this.context)}async load(){const e=await this.loadNodes(void 0)||[];return this.isSelectFirstDefault&&0===this.defaultSelectKeys.length&&this.onTreeNodeClick(e[0]),e}async loadNodes(e){const t=await this.getParams(),r=!!t.query;let i;e||(this.state.rootNode=new TreeStaticNodeData(this.model.rootNode,void 0,{hasQuery:r}),e=this.state.rootNode),await this.startLoading();try{i=await this.service.fetchChildNodes(e,{context:new IBizContext({},this.context),params:t,hasQuery:r})||[]}finally{await this.endLoading()}return e.children=i,i}async onTreeNodeClick(e){await this.nerve.self.evt.asyncEmit("dataActive",e)}}class ViewPanelController extends ControlController{createNerve(){return new ViewPanelNerve(this)}async onInit(){await super.onInit()}}class PickupViewPanelController extends ViewPanelController{createNerve(){return new PickupViewPanelNerve(this)}async selectAll(){return this.nerve.embedView.call.selectAll()}}class DashboardController extends ControlController{constructor(){super(...arguments),this.providers={},this.portlets={}}createNerve(){return new DashboardNerve(this)}async onInit(){await super.onInit(),await this.initPortlets(this.model.children)}async initPortlets(e,t){await Promise.all(e.map((async e=>{var r;const i=await ibiz.register.portletPart.get(e);if(i){this.providers[e.name]=i;const n=await i.createController(e,this,t);this.portlets[e.name]=n,(null===(r=e.children)||void 0===r?void 0:r.length)&&await this.initPortlets(e.children,n)}})))}}function useIndexViewController(e){return useViewController((function(t,r){return new IndexViewController(e,t,r)}))}function useEditViewController(e){return useViewController((function(t,r){return new EditViewController(e,t,r)}))}function useEditView3Controller(e){return useViewController((function(t,r){return new EditView3Controller(e,t,r)}))}function useOptViewController(e){return useViewController((function(t,r){return new OptViewController(e,t,r)}))}function useGridViewController(e){return useViewController((function(t,r){return new GridViewController(e,t,r)}))}function usePickupGridViewController(e){return useViewController((function(t,r){return new PickupGridViewController(e,t,r)}))}function usePickupViewController(e){return useViewController((function(t,r){return new PickupViewController(e,t,r)}))}function useMPickupViewController(e){return useViewController((function(t,r){return new MPickupViewController(e,t,r)}))}function useWFDynaEditView3Controller(e){return useViewController((function(t,r){return new WFDynaEditView3Controller(e,t,r)}))}function useWFDynaActionViewController(e){return useViewController((function(t,r){return new WFDynaActionViewController(e,t,r)}))}function useWFDynaStartViewController(e){return useViewController((function(t,r){return new WFDynaStartViewController(e,t,r)}))}function useWFStepTraceViewController(e){return useViewController((function(t,r){return new WFStepTraceViewController(e,t,r)}))}function useAppPortalViewController(e){return useViewController((function(t,r){return new AppPortalViewController(e,t,r)}))}function useTreeExpViewController(e){return useViewController((function(t,r){return new TreeExpViewController(e,t,r)}))}function useTabExpViewController(e){return useViewController((function(t,r){return new TabExpViewController(e,t,r)}))}function useGridExpViewController(e){return useViewController((function(t,r){return new GridExpViewController(e,t,r)}))}function useDashboardViewController(e){return useViewController((function(t,r){return new DashboardViewController(e,t,r)}))}function useControlController(e){var t=getCurrentInstance().proxy,r=e();return r.state=reactive(r.state),onBeforeMount((function(){r.force=useForce(),r.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return t.$emit.apply(t,__spreadArray([e],__read(r),!1))}})),onMounted((function(){return r.init()})),onBeforeUnmount((function(){return r.destroy()})),r}function useAppMenuController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new AppMenuController(e,t,r)}))}function useEditFormController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new EditFormController(e,t,r)}))}function useGridController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new GridController(e,t,r);return usePropsWatch("gridRowActiveMode",i.setGridRowActiveMode.bind(i)),usePropsWatch("isSelectFirstDefault",i.setIsSelectFirstDefault.bind(i)),usePropsWatch("defaultSelect",i.setDefaultSelectKeys.bind(i)),usePropsWatch("isExpView",i.setGridIsExpView.bind(i)),i}))}function useListController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new ListController(e,t,r)}))}function useSearchFormController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new SearchFormController(e,t,r)}))}function useViewPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new ViewPanelController(e,t,r)}))}function usePickupViewPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new PickupViewPanelController(e,t,r)}))}function useDashboardController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new DashboardController(e,t,r)}))}function useTreeController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new TreeController(e,t,r);return usePropsWatch("defaultSelect",i.setDefaultSelectKeys.bind(i)),usePropsWatch("isSelectFirstDefault",i.setIsSelectFirstDefault.bind(i)),i}))}function useClickOutside(e,t,r){void 0===r&&(r={});var i=NOOP,n=NOOP,s=NOOP,o=function(){i(),i=NOOP,n=NOOP,s=NOOP};return watch(e,(function(e,a){if(e!==a)if(isNil$1(e))o();else{var l=onClickOutside((null==e?void 0:e.$el)||e,t,r);i=l.stop,n=l.pause,s=l.proceed}}),{immediate:!0}),onBeforeUnmount((function(){i!==NOOP&&o()})),{stop:function(){return i()},pause:function(){return n()},proceed:function(){return s()}}}function useEventListener(e,t,r,i){void 0===i&&(i={});var n=NOOP;return watch(e,(function(e,s){e!==s&&(isNil$1(e)?(n(),n=NOOP):n=listenJSEvent((null==e?void 0:e.$el)||e,t,r,i))}),{immediate:!0}),onBeforeUnmount((function(){n!==NOOP&&n()})),function(){n()}}function useGridCellEditor(e,t,r){var i=this,n=ref(!0),s=ref(),o=new CountLatch,a=function(e){},l=function(e,t){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(e){return[2]}))}))};if(r.disabled)return{isInfoMode:n,componentRef:s,onOperateChange:a,onChange:l};var c=useClickOutside(s,(function(e){return __awaiter(i,void 0,void 0,(function(){var e=this;return __generator(this,(function(i){return!n.value&&r.isDelaySave&&setTimeout((function(){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,o.await()];case 1:return e.sent(),[4,t()];case 2:return e.sent(),[2]}}))}))}),400),n.value=!0,[2]}))}))}));return useEventListener(s,"click",(function(e){n.value=!1})),l=function(s,a){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(i){switch(i.label){case 0:return o.lock(),[4,e(s,a)];case 1:return i.sent(),o.unlock(),r.isDelaySave?[3,3]:[4,t()];case 2:i.sent(),n.value=!0,i.label=3;case 3:return[2]}}))}))},{componentRef:s,isInfoMode:n,onOperateChange:a=function(e){e?c.pause():c.proceed()},onChange:l}}function generateRoutePath(e,t,r,i){var n,s=route2routePath(t),o=2;(null==r?void 0:r.toRouteLevel)&&(o=r.toRouteLevel,delete r.toRouteLevel),s.pathNodes.splice(o-1,s.pathNodes.length-o+1),(null==r?void 0:r.currentRouteContext)&&(s.pathNodes[o-2].context=r.currentRouteContext),"appredirectview"===s.pathNodes[0].viewName&&((null==i?void 0:i.srfindexname)?(s.pathNodes[0].viewName=i.srfindexname,delete i.srfindexname):s.pathNodes[0].viewName="index"),s.pathNodes.push({viewName:e.codeName.toLowerCase()});var a=null===(n=e.getPSAppDataEntity())||void 0===n?void 0:n.codeName;if(r&&a){var l=calcRouteContext(r,ibiz.hub.getApp(e.getPSModelService().app).resourcePathUtil.calcPaths(a));s.pathNodes[0].context=l}else s.pathNodes[0].context={};return s.params=i,routePath2string(s)}function getViewName(e){return(e.isFill?e.codeName:(e.refM.resource||"")+e.refM.view).toLowerCase()}function findViewByName(e,t){var r;return null===(r=e.getAllPSAppViews())||void 0===r?void 0:r.find((function(e){return getViewName(e)===t}))}function findView(e,t){var r,i;return"index"===(t=t.toLowerCase())?i=e.getDefaultPSAppIndexView():((null===(r=e.getAllPSSubAppRefs())||void 0===r?void 0:r.length)&&e.getAllPSSubAppRefs().reverse().find((function(e){return!!(i=findViewByName(e,t))})),i||(i=findViewByName(e,t))),i}function parseRouteViewData(e,t,r){var i,n,s=route2routePath(t),o=s.pathNodes[r-1].viewName;if(!o)throw new RuntimeError("找不到第".concat(r,"级路由的视图标识"));var a=findView(e,o);if(!a)throw new RuntimeError("找不到视图".concat(o));var l,c=a.modelPath,u=a.refM.viewType,d={};(null===(i=ibiz.appData)||void 0===i?void 0:i.context)&&Object.assign(d,ibiz.appData.context),s.appContext&&Object.assign(d,s.appContext);for(var h=0;h<r;h++){var p=s.pathNodes[h];if(notNilEmpty(p.context))if(0===h)Object.assign(d,p.context);else{var f=null===(n=findView(e,p.viewName).refM.resource)||void 0===n?void 0:n.toLowerCase();f&&(d[f]=p.context)}}return t.matched.length===r&&(l=t.query),{viewPath:c,viewType:u,context:d,params:l}}function route2routePath(e){for(var t,r,i=e.matched.length,n=[],s=1;s<=i;s++){var o=e.params["view".concat(s)],a=e.params["params".concat(s)];a&&a!==ibiz.env.routePlaceholder?1===s&&(a=qs.parse(a,{delimiter:";"})):a=void 0,n.push({viewName:o,context:a})}return e.params.appContext&&e.params.appContext!==ibiz.env.routePlaceholder&&(t=qs.parse(e.params.appContext,{delimiter:";"})),e.query&&(r=__assign({},e.query)),{appContext:t,pathNodes:n,params:r}}function routePath2string(e){var t="";return e.appContext?t+="/".concat(qs.stringify(e.appContext,{delimiter:";"})):t+="/".concat(ibiz.env.routePlaceholder),e.pathNodes.forEach((function(e,r){t+="/".concat(e.viewName),0===r?notNilEmpty(e.context)&&Object.values(e.context).length?t+="/".concat(qs.stringify(e.context,{delimiter:";"})):t+="/".concat(ibiz.env.routePlaceholder):t+="/".concat(e.context||ibiz.env.routePlaceholder)})),notNilEmpty(e.params)&&(t+=qs.stringify(e.params,{addQueryPrefix:!0})),t}var RequiredProp=exports("RequiredProp",(function(e,t,r){this.required=!0,t&&(this.default=t),r&&(this.validator=r),this.type=e}));function getEditorProps(){return{value:String,controller:new RequiredProp(Object),data:new RequiredProp(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function getEditorEmits(){return{change:function(e,t){return!0},operate:function(e){return!0}}}function getGridEditorCommonProps(){return{infoMode:{type:Boolean},rowDataChange:new RequiredProp(Function),rowSave:new RequiredProp(Function)}}function getInputProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridInputProps(){return __assign(__assign({},getInputProps()),getGridEditorCommonProps())}function getInputNumberProps(){return __assign(__assign({},getEditorProps()),{value:Number})}function getGridInputNumberProps(){return __assign(__assign({},getInputNumberProps()),getGridEditorCommonProps())}function getCheckboxProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridCheckboxProps(){return __assign(__assign({},getCheckboxProps()),getGridEditorCommonProps())}function getSpanProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridSpanProps(){return __assign(__assign({},getSpanProps()),getGridEditorCommonProps())}function getDatePickerProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDatePickerProps(){return __assign(__assign({},getDatePickerProps()),getGridEditorCommonProps())}function getDropdownProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDropdownProps(){return __assign(__assign({},getDropdownProps()),getGridEditorCommonProps())}function getRadioProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridRadioProps(){return __assign(__assign({},getRadioProps()),getGridEditorCommonProps())}function getUploadProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridUploadProps(){return __assign(__assign({},getUploadProps()),getGridEditorCommonProps())}function getDataPickerProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDataPickerProps(){return __assign(__assign({},getDataPickerProps()),getGridEditorCommonProps())}}}}));
|
|
1
|
+
System.register(["@ibiz-template/core","vue-router","qs","vue","qx-util","@ibiz-template/model","lodash-es"],(function(exports){"use strict";var Namespace,RuntimeError,NOOP,IBizContext,debounceAndAsyncMerge,awaitTimeout,downloadFileFromBlob,Logger,onClickOutside,listenJSEvent,useRoute,qs,watch,ref,getCurrentInstance,isReactive,toRaw,reactive,onBeforeMount,onMounted,onBeforeUnmount,computed,QXEvent,clearAll,notNilEmpty,isNilOrEmpty,isArray,createUUID,isFunc,UnsupportedModelError,DefectModelError,getPSUIActionByModelObject,AppEntityModel,ViewType,isEmpty$2,isFunction;return{setters:[function(e){Namespace=e.Namespace,RuntimeError=e.RuntimeError,NOOP=e.NOOP,IBizContext=e.IBizContext,debounceAndAsyncMerge=e.debounceAndAsyncMerge,awaitTimeout=e.awaitTimeout,downloadFileFromBlob=e.downloadFileFromBlob,Logger=e.Logger,onClickOutside=e.onClickOutside,listenJSEvent=e.listenJSEvent},function(e){useRoute=e.useRoute},function(e){qs=e.default},function(e){watch=e.watch,ref=e.ref,getCurrentInstance=e.getCurrentInstance,isReactive=e.isReactive,toRaw=e.toRaw,reactive=e.reactive,onBeforeMount=e.onBeforeMount,onMounted=e.onMounted,onBeforeUnmount=e.onBeforeUnmount,computed=e.computed},function(e){QXEvent=e.QXEvent,clearAll=e.clearAll,notNilEmpty=e.notNilEmpty,isNilOrEmpty=e.isNilOrEmpty,isArray=e.isArray,createUUID=e.createUUID,isFunc=e.isFunc},function(e){UnsupportedModelError=e.UnsupportedModelError,DefectModelError=e.DefectModelError,getPSUIActionByModelObject=e.getPSUIActionByModelObject,AppEntityModel=e.AppEntityModel,ViewType=e.ViewType},function(e){isEmpty$2=e.isEmpty,isFunction=e.isFunction}],execute:function(){function useNamespace(e){return new Namespace(e,ibiz.env.namespace)}exports({findView:findView,findViewByName:findViewByName,generateRoutePath:generateRoutePath,getAutoCompleteProps:getAutoCompleteProps,getCheckboxListProps:getCheckboxListProps,getCheckboxProps:getCheckboxProps,getDataPickerProps:getDataPickerProps,getDatePickerProps:getDatePickerProps,getDropdownProps:getDropdownProps,getEditorEmits:getEditorEmits,getEditorProps:getEditorProps,getGridAutoCompleteProps:getGridAutoCompleteProps,getGridCheckboxListProps:getGridCheckboxListProps,getGridCheckboxProps:getGridCheckboxProps,getGridDataPickerProps:getGridDataPickerProps,getGridDatePickerProps:getGridDatePickerProps,getGridDropdownProps:getGridDropdownProps,getGridEditorCommonProps:getGridEditorCommonProps,getGridEditorEmits:getGridEditorEmits,getGridInputNumberProps:getGridInputNumberProps,getGridInputProps:getGridInputProps,getGridListBoxProps:getGridListBoxProps,getGridRadioProps:getGridRadioProps,getGridRateProps:getGridRateProps,getGridRawProps:getGridRawProps,getGridSliderProps:getGridSliderProps,getGridSpanProps:getGridSpanProps,getGridStepperProps:getGridStepperProps,getGridSwitchProps:getGridSwitchProps,getGridUploadProps:getGridUploadProps,getInputNumberProps:getInputNumberProps,getInputProps:getInputProps,getListBoxProps:getListBoxProps,getOrigin:getOrigin,getRadioProps:getRadioProps,getRateProps:getRateProps,getRawProps:getRawProps,getSliderProps:getSliderProps,getSpanProps:getSpanProps,getStepperProps:getStepperProps,getSwitchProps:getSwitchProps,getUploadProps:getUploadProps,getViewName:getViewName,parseRouteViewData:parseRouteViewData,route2routePath:route2routePath,routePath2string:routePath2string,useAppMenuController:useAppMenuController,useAppPortalViewController:useAppPortalViewController,useClickOutside:useClickOutside,useControlController:useControlController,useController:useController,useDashboardController:useDashboardController,useDashboardViewController:useDashboardViewController,useDataViewController:useDataViewController,useDataViewViewController:useDataViewViewController,useEditFormController:useEditFormController,useEditView3Controller:useEditView3Controller,useEditViewController:useEditViewController,useEventListener:useEventListener,useForce:useForce,useForceTogether:useForceTogether,useGridCellEditor:useGridCellEditor,useGridController:useGridController,useGridExpViewController:useGridExpViewController,useGridViewController:useGridViewController,useIndexViewController:useIndexViewController,useKanbanController:useKanbanController,useKanbanViewController:useKanbanViewController,useLayoutPanelController:useLayoutPanelController,useListController:useListController,useListExpViewController:useListExpViewController,useListViewController:useListViewController,useMPickupViewController:useMPickupViewController,useNamespace:useNamespace,useOptViewController:useOptViewController,usePickupGridViewController:usePickupGridViewController,usePickupViewController:usePickupViewController,usePickupViewPanelController:usePickupViewPanelController,useProps:useProps,usePropsWatch:usePropsWatch,useRouteKey:useRouteKey,useRouterContext:useRouterContext,useRouterQuery:useRouterQuery,useSearchFormController:useSearchFormController,useTabExpViewController:useTabExpViewController,useTreeController:useTreeController,useTreeExpViewController:useTreeExpViewController,useViewController:useViewController,useViewLayoutPanelController:useViewLayoutPanelController,useViewPanelController:useViewPanelController,useWFDynaActionViewController:useWFDynaActionViewController,useWFDynaEditView3Controller:useWFDynaEditView3Controller,useWFDynaStartViewController:useWFDynaStartViewController,useWFStepTraceViewController:useWFStepTraceViewController,useWizardPanelController:useWizardPanelController,useWizardViewController:useWizardViewController});var __assign=function(){return __assign=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},__assign.apply(this,arguments)},FormNotifyState,GridNotifyState,PanelNotifyState;function __awaiter(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((i=i.apply(e,t||[])).next())}))}function __generator(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(r=1,i&&(n=2&a[0]?i.return:a[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,a[1])).done)return n;switch(i=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,i=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){o.label=a[1];break}if(6===a[0]&&o.label<n[1]){o.label=n[1],n=a;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(a);break}n[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],i=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var i,n=0,s=t.length;n<s;n++)!i&&n in t||(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}!function(e){e.LOAD="LOAD",e.DRAFT="DRAFT",e.SAVE="SAVE"}(FormNotifyState||(FormNotifyState={})),function(e){e.LOAD="LOAD",e.DRAFT="DRAFT",e.SAVE="SAVE"}(GridNotifyState||(GridNotifyState={})),function(e){e.LOAD="LOAD",e.DRAFT="DRAFT",e.SAVE="SAVE"}(PanelNotifyState||(PanelNotifyState={}));class Counter{constructor(e){this.callback=e,this.count=0,this.state="Unused",this.reusable=!0}increment(){return"Used"===this.state||(this.count+=1),this.count}decrement(e){if("Used"!==this.state){if(0===this.count)throw new RuntimeError("错误的调用!decrement不能对count为0调用");this.count-=1,0===this.count&&(e?e():this.callback&&this.callback(),this.reusable||(this.state="Used"))}}destroy(){this.callback=void 0}}class LoadingState{constructor(){this.isLoading=!1,this.counter=new Counter(NOOP)}begin(){this.isLoading=!0,this.counter.increment()}end(){this.counter.decrement((()=>{this.isLoading=!1}))}}class NerveCounter extends Counter{constructor(){super(...arguments),this.reusable=!1,this.neuronNames=new Map}enroll(e){this.neuronNames.has(e)||(this.neuronNames.set(e,!1),this.increment())}attend(e){this.neuronNames.has(e)&&!1===this.neuronNames.get(e)&&(this.neuronNames.set(e,!0),this.decrement())}}class Neuron{constructor(e){this.evt=new QXEvent,this.call=e}destroy(){clearAll(this.call),this.evt.reset()}}class ControlNeuron extends Neuron{}class AppMenuNeuron extends Neuron{}class FormNeuron extends Neuron{}class EditFormNeuron extends Neuron{}class SearchFormNeuron extends Neuron{}class MDControlNeuron extends Neuron{}class GridNeuron extends Neuron{}class ListNeuron extends Neuron{}class TreeNeuron extends Neuron{}class ViewPanelNeuron extends Neuron{}class PickupViewPanelNeuron extends Neuron{}class DashboardNeuron extends Neuron{}class DataViewNeuron extends Neuron{}class LayoutPanelNeuron extends Neuron{}class ViewLayoutPanelNeuron extends Neuron{}class WizardPanelNeuron extends Neuron{}class KanbanNeuron extends Neuron{}class ViewNeuron extends Neuron{}class EditViewNeuron extends Neuron{}class EditView3Neuron extends Neuron{}class OptViewNeuron extends Neuron{}class MDViewNeuron extends Neuron{}class GridViewNeuron extends Neuron{}class DataViewViewNeuron extends Neuron{}class ListViewNeuron extends Neuron{}class PickupGridViewNeuron extends Neuron{}class PickupViewNeuron extends Neuron{}class MPickupViewNeuron extends Neuron{}class WFEditViewNeuron extends Neuron{}class WFDynaActionViewNeuron extends Neuron{}class AppPortalViewNeuron extends Neuron{}class TreeExpViewNeuron extends Neuron{}class TabExpViewNeuron extends Neuron{}class GridExpViewNeuron extends Neuron{}class DashboardViewNeuron extends Neuron{}class WizardViewNeuron extends Neuron{}class ListExpViewNeuron extends Neuron{}class KanbanViewNeuron extends Neuron{}class Nerve{constructor(e){this.counter=new NerveCounter(this.counterCallBack.bind(this)),this.controller=e,this.self=this.createNeuron(),this.counter.enroll("self")}counterCallBack(){this.self.evt.emit("mounted")}bindAbility(){return{}}inclusive(e){return!1}connect(e,t){}onNeuronInit(e){return this.inclusive(e)?(this.counter.enroll(e),t=>{this.connect(e,t)}):e=>{}}created(){this.self.evt.emit("created")}mounted(){this.counter.attend("self")}destroy(){this.self.evt.emit("destroyed"),this.self.destroy(),this.controller=void 0,this.self=void 0}}class ControlNerve extends Nerve{createNeuron(){return new ControlNeuron(this.bindAbility())}listenCommonEvent(e,t){t.evt.on("mounted",(()=>{this.counter.attend(e)}))}connect(e,t){this.listenCommonEvent(e,t)}}class AppMenuNerve extends ControlNerve{createNeuron(){return new AppMenuNeuron(this.bindAbility())}}class MDControlNerve extends ControlNerve{createNeuron(){return new MDControlNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{load:this.controller.load.bind(this.controller),remove:this.controller.remove.bind(this.controller),getData:this.controller.getData.bind(this.controller),selectAll:this.controller.selectAll.bind(this.controller),importData:this.controller.importData.bind(this.controller),exportData:this.controller.exportData.bind(this.controller)})}}class GridNerve extends MDControlNerve{createNeuron(){return new GridNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}}class ListNerve extends MDControlNerve{createNeuron(){return new ListNeuron(this.bindAbility())}}class TreeNerve extends MDControlNerve{createNeuron(){return new TreeNeuron(this.bindAbility())}}class FormNerve extends ControlNerve{createNeuron(){return new FormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{load:this.controller.load.bind(this.controller),getData:this.controller.getData.bind(this.controller)})}}class EditFormNerve extends FormNerve{createNeuron(){return new EditFormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),remove:this.controller.remove.bind(this.controller),wfStart:this.controller.wfStart.bind(this.controller),wfSubmit:this.controller.wfSubmit.bind(this.controller),goBack:this.controller.goBack.bind(this.controller)})}}class SearchFormNerve extends FormNerve{createNeuron(){return new SearchFormNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{getParams:this.controller.getParams.bind(this.controller)})}}class ViewPanelNerve extends ControlNerve{createNeuron(){return new ViewPanelNeuron(this.bindAbility())}inclusive(e){return"embedView"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"embedView"===e&&(this.embedView=t,this.embedView.evt.on("viewDataChange",(e=>{this.self.evt.asyncEmit("viewDataChange",e)})),this.embedView.evt.on("destroyed",(()=>{this.embedView=void 0})))}destroy(){super.destroy(),this.embedView=void 0}}class PickupViewPanelNerve extends ViewPanelNerve{createNeuron(){return new PickupViewPanelNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{selectAll:this.controller.selectAll.bind(this.controller)})}connect(e,t){super.connect(e,t),"embedView"===e&&(this.embedView=t,this.embedView.evt.on("selectionChange",(e=>{this.self.evt.asyncEmit("selectionChange",e)})))}}class DashboardNerve extends ControlNerve{createNeuron(){return new DashboardNeuron(this.bindAbility())}}class DataViewNerve extends MDControlNerve{createNeuron(){return new DataViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller)})}}class LayoutPanelNerve extends ControlNerve{createNeuron(){return new LayoutPanelNeuron(this.bindAbility())}bindAbility(){return Object.assign({},super.bindAbility())}}class ViewLayoutPanelNerve extends ControlNerve{createNeuron(){return new ViewLayoutPanelNeuron(this.bindAbility())}bindAbility(){return Object.assign({},super.bindAbility())}}class WizardPanelNerve extends ControlNerve{constructor(){super(...arguments),this.forms=new Map}createNeuron(){return new WizardPanelNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{initialize:this.controller.initialize.bind(this.controller)})}inclusive(e){return!0}connect(e,t){super.connect(e,t),this.forms.set(e,t),t.evt.on("mounted",(()=>{this.controller.onFormMounted(e)})),t.evt.on("destroyed",(()=>{this.forms&&this.forms.delete(e)}))}}class KanbanNerve extends MDControlNerve{createNeuron(){return new KanbanNeuron(this.bindAbility())}}class ViewNerve extends Nerve{createNeuron(){return new ViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{refresh:this.controller.refresh.bind(this.controller),closeView:this.controller.closeView.bind(this.controller)})}inclusive(e){return"toolbar"===e||super.inclusive(e)}listenCommonEvent(e,t){t.evt.on("beginViewLoading",(()=>{this.controller.beginViewLoading()})),t.evt.on("endViewLoading",(()=>{this.controller.endViewLoading()})),t.evt.on("mounted",(()=>{this.counter.attend(e)}))}connect(e,t){this.listenCommonEvent(e,t),"toolbar"===e&&(this.toolbar=t,this.toolbar.evt.on("destroyed",(()=>{this.toolbar=void 0})),this.toolbar.evt.on("itemClick",this.controller.onToolbarClick.bind(this.controller)))}destroy(){super.destroy(),this.toolbar=void 0}}class MDViewNerve extends ViewNerve{createNeuron(){return new MDViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{openData:this.controller.openData.bind(this.controller),newData:this.controller.newData.bind(this.controller),toggleFilter:this.controller.toggleFilter.bind(this.controller),importData:this.controller.importData.bind(this.controller),exportData:this.controller.exportData.bind(this.controller)})}inclusive(e){return"searchform"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"searchform"===e&&(this.searchForm=t,this.searchForm.evt.on("destroyed",(()=>{this.searchForm=void 0})),this.searchForm.evt.on("search",(async()=>this.controller.onSearch())))}destroy(){super.destroy(),this.searchForm=void 0}}class GridViewNerve extends MDViewNerve{createNeuron(){return new GridViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}inclusive(e){return"grid"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"grid"===e&&(this.grid=t,this.grid.evt.on("destroyed",(()=>{this.grid=void 0})),this.grid.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.grid.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.grid.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.grid.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.grid.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.grid.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.grid=void 0}}class PickupGridViewNerve extends GridViewNerve{createNeuron(){return new PickupGridViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{selectAll:this.controller.selectAll.bind(this.controller)})}}class PickupViewNerve extends ViewNerve{createNeuron(){return new PickupViewNeuron(this.bindAbility())}inclusive(e){return"pickupviewpanel"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"pickupviewpanel"===e&&(this.viewPanel=t,this.viewPanel.evt.on("destroyed",(()=>{this.viewPanel=void 0})),this.viewPanel.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)))}destroy(){super.destroy(),this.viewPanel=void 0}}class MPickupViewNerve extends PickupViewNerve{createNeuron(){return new MPickupViewNeuron(this.bindAbility())}}class EditViewNerve extends ViewNerve{createNeuron(){return new EditViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{save:this.controller.save.bind(this.controller),remove:this.controller.remove.bind(this.controller),saveAndNew:this.controller.saveAndNew.bind(this.controller),wfStart:this.controller.wfStart.bind(this.controller),wfSubmit:this.controller.wfSubmit.bind(this.controller),wfWithdraw:this.controller.wfWithdraw.bind(this.controller)})}inclusive(e){return"form"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"form"===e&&(this.form=t,this.form.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.form.evt.on("afterSave",this.controller.onAfterFormSave.bind(this.controller)),this.form.evt.on("afterRemove",this.controller.onAfterFormRemove.bind(this.controller)),this.form.evt.on("destroyed",(()=>{this.form=void 0})))}destroy(){super.destroy(),this.form=void 0}}class EditView3Nerve extends EditViewNerve{constructor(){super(...arguments),this.drViews=new Map}createNeuron(){return new EditView3Neuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("dritem")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("dritem")&&(this.drViews.set(e,t),t.evt.on("destroyed",(()=>{this.drViews&&this.drViews.delete(e)})))}destroy(){super.destroy(),this.drViews.clear(),this.drViews=void 0}}class OptViewNerve extends EditViewNerve{createNeuron(){return new OptViewNeuron(this.bindAbility())}}class WFEditViewNerve extends EditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}connect(e,t){super.connect(e,t),"form"===e&&this.form.evt.on("mounted",this.controller.onFormMounted.bind(this.controller))}}class WFDynaEditViewNerve extends WFEditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}}class WFDynaEditView3Nerve extends WFDynaEditViewNerve{constructor(){super(...arguments),this.drViews=new Map}createNeuron(){return new WFEditViewNeuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("dritem")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("dritem")&&(this.drViews.set(e,t),t.evt.on("destroyed",(()=>{this.drViews&&this.drViews.delete(e)})))}destroy(){super.destroy(),this.drViews.clear(),this.drViews=void 0}}class WFDynaStartViewNerve extends WFEditViewNerve{createNeuron(){return new WFEditViewNeuron(this.bindAbility())}}class WFDynaActionViewNerve extends WFEditViewNerve{createNeuron(){return new WFDynaActionViewNeuron(this.bindAbility())}}class AppPortalViewNerve extends ViewNerve{createNeuron(){return new AppPortalViewNeuron(this.bindAbility())}inclusive(e){return"dashboard"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"dashboard"===e&&(this.dashboard=t)}destroy(){super.destroy(),this.dashboard=void 0}}class TreeExpViewNerve extends MDViewNerve{createNeuron(){return new TreeExpViewNeuron(this.bindAbility())}inclusive(e){return"tree"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"tree"===e&&(this.tree=t,this.tree.evt.on("destroyed",(()=>{this.tree=void 0})),this.tree.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.tree.evt.on("dataActive",(e=>this.controller.onDataActive(e))))}destroy(){super.destroy(),this.tree=void 0}}class TabExpViewNerve extends ViewNerve{constructor(){super(...arguments),this.tabViews=new Map}createNeuron(){return new TabExpViewNeuron(this.bindAbility())}inclusive(e){return 0===e.indexOf("tabviewpanel")||super.inclusive(e)}connect(e,t){super.connect(e,t),0===e.indexOf("tabviewpanel")&&(this.tabViews.set(e,t),t.evt.on("destroyed",(()=>{this.tabViews&&this.tabViews.delete(e)})))}destroy(){super.destroy(),this.tabViews.clear(),this.tabViews=void 0}}class GridExpViewNerve extends MDViewNerve{createNeuron(){return new GridExpViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller),newRow:this.controller.newRow.bind(this.controller)})}inclusive(e){return"gridexpbar_grid"===e||"gridexpbar_toolbar"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"gridexpbar_toolbar"===e&&(this.toolbar=t,this.toolbar.evt.on("destroyed",(()=>{this.toolbar=void 0})),this.toolbar.evt.on("itemClick",this.controller.onToolbarClick.bind(this.controller))),"gridexpbar_grid"===e&&(this.grid=t,this.grid.evt.on("destroyed",(()=>{this.grid=void 0})),this.grid.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.grid.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.grid.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.grid.evt.on("actionClick",this.controller.executeViewLogic.bind(this.controller)),this.grid.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.grid.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.grid=void 0}}class DashboardViewNerve extends ViewNerve{createNeuron(){return new DashboardViewNeuron(this.bindAbility())}inclusive(e){return"dashboard"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"dashboard"===e&&(this.dashboard=t)}destroy(){super.destroy(),this.dashboard=void 0}}class DataViewViewNerve extends MDViewNerve{createNeuron(){return new DataViewViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller)})}inclusive(e){return"dataview"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"dataview"===e&&(this.dataView=t,this.dataView.evt.on("destroyed",(()=>{this.dataView=void 0})),this.dataView.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.dataView.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.dataView.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.dataView.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.dataView.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.dataView=void 0}}class ListViewNerve extends MDViewNerve{createNeuron(){return new ListViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller)})}inclusive(e){return"list"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"list"===e&&(this.list=t,this.list.evt.on("destroyed",(()=>{this.list=void 0})),this.list.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.list.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.list.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.list.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.list.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.list=void 0}}class WizardViewNerve extends ViewNerve{createNeuron(){return new WizardViewNeuron(this.bindAbility())}inclusive(e){return"wizardpanel"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"wizardpanel"===e&&(this.wizardPanel=t,this.wizardPanel.evt.on("afterFinish",this.controller.onAfterFinish.bind(this.controller)))}destroy(){super.destroy(),this.wizardPanel=void 0}}class ListExpViewNerve extends MDViewNerve{createNeuron(){return new ListExpViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller)})}inclusive(e){return"listexpbar_list"===e||"listexpbar_toolbar"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"listexpbar_toolbar"===e&&(this.toolbar=t,this.toolbar.evt.on("destroyed",(()=>{this.toolbar=void 0})),this.toolbar.evt.on("itemClick",this.controller.onToolbarClick.bind(this.controller))),"listexpbar_list"===e&&(this.list=t,this.list.evt.on("destroyed",(()=>{this.list=void 0})),this.list.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.list.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.list.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.list.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.list.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.list=void 0}}class KanbanViewNerve extends MDViewNerve{createNeuron(){return new KanbanViewNeuron(this.bindAbility())}bindAbility(){return Object.assign(Object.assign({},super.bindAbility()),{remove:this.controller.remove.bind(this.controller)})}inclusive(e){return"kanban"===e||super.inclusive(e)}connect(e,t){super.connect(e,t),"kanban"===e&&(this.kanban=t,this.kanban.evt.on("destroyed",(()=>{this.kanban=void 0})),this.kanban.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.kanban.evt.on("beforeLoad",this.controller.onBeforeLoad.bind(this.controller)),this.kanban.evt.on("dataActive",this.controller.onDataActive.bind(this.controller)),this.kanban.evt.on("selectionChange",this.controller.onSelectionChange.bind(this.controller)),this.kanban.evt.on("afterSave",((...t)=>this.controller.onAfterSave(...t,e))),this.kanban.evt.on("afterRemove",((...t)=>this.controller.onAfterRemove(...t,e))))}destroy(){super.destroy(),this.kanban=void 0}}function convertNavData(e,...t){return!e||isEmpty$2(e)?{}:"[object Array]"===Object.prototype.toString.call(e)?convertNavDataByArray(e,...t):"[object Object]"===Object.prototype.toString.call(e)?convertNavDataByObject(e,...t):{}}function convertNavDataByArray(e,...t){const r={};for(const i of e)if(notNilEmpty(i.value)&&!i.rawValue){const e=t.find((e=>!isNilOrEmpty(e)&&(e[i.value]||Object.prototype.hasOwnProperty.call(e,i.value))));e&&(r[i.key.toLowerCase()]=e[i.value])}else r[i.key.toLowerCase()]=i.value;return r}function convertNavDataByObject(e,...t){const r={},i=/^%(.+)%$/;for(const n in e)if(notNilEmpty(e[n])&&i.test(e[n])){const i=e[n].substring(1,e[n].length-1),s=t.find((e=>Object.prototype.hasOwnProperty.call(e,i)));s&&(r[n.toLowerCase()]=s[i])}else r[n.toLowerCase()]=e[n];return r}class AppDEUIActionUtil{static async exec(e,t,r,i,n){const s=await ibiz.register.uiAction.get(e);return(await s.getHandler()).exec(e,t,r,i,n)}}class OpenAppViewCommand{constructor(){ibiz.commands.register(OpenAppViewCommand.TAG,this.exec.bind(this))}async exec(e,t,r={},i={}){if(await e.fill(!0),e.redirectView)return openRedirectView(e,t,r,i.data);const{openMode:n="INDEXVIEWTAB"}=e;switch(n){case"INDEXVIEWTAB":default:return this.openIndexViewTab(e,t,r);case"POPUP":throw new Error("未支持的视图打开模式: POPUP");case"POPUPMODAL":return this.openModal(e,t,r);case"POPUPAPP":throw new Error("未支持的视图打开模式: POPUPAPP");case"POPOVER":return this.openPopover(e,i.event,t,r);case"DRAWER_LEFT":case"DRAWER_RIGHT":case"DRAWER_TOP":case"DRAWER_BOTTOM":return this.openDrawer(e,t,r);case"USER":return this.openUserCustom(e,t,r)}}openIndexViewTab(e,t,r={}){return ibiz.openView.root(e,t,r)}async openModal(e,t,r={}){return ibiz.openView.modal(e,t,r)}async openPopover(e,t,r,i={}){return ibiz.openView.popover(e,t,r,i)}async openDrawer(e,t,r={}){return ibiz.openView.drawer(e,t,r)}async openUserCustom(e,t,r={}){return ibiz.openView.custom(e,t,r)}}OpenAppViewCommand.TAG="ibiz.app-view.open";class AppFuncCommand{constructor(){ibiz.commands.register(AppFuncCommand.TAG,this.exec.bind(this))}async exec(e,t,r={},i={}){const n=e.getPSNavigateContexts();n&&(t?Object.assign(t,n):t=new IBizContext(n));const s=e.getPSNavigateParams();switch(s&&Object.assign(r,s),e.appFuncType){case"APPVIEW":return this.openAppView(e,t,r,i);case"OPENHTMLPAGE":return this.openHtmlPage(e);case"PDTAPPFUNC":return this.openPdAppFunc(e,t,r);case"JAVASCRIPT":return this.executeJavaScript(e,t,r);case"CUSTOM":return this.custom(e,t,r);default:throw new Error(`未知的应用功能类型: ${e.appFuncType}`)}}openAppView(e,t,r,i){const n=e.getPSAppView();if(!n)throw new Error("应用视图不存在");return ibiz.commands.execute(OpenAppViewCommand.TAG,n,t,r,i)}openHtmlPage(e){const t=e.htmlPageUrl;window.open(t,"_blank")}openPdAppFunc(e,t,r){throw ibiz.log.warn("openPdAppFunc",e,t,r),new Error("未实现")}executeJavaScript(e,t,r){throw ibiz.log.warn("executeJavaScript",e,t,r),new Error("未实现")}custom(e,t,r){throw ibiz.log.warn("custom",e,t,r),new Error("未实现")}}async function openRedirectView(e,t=new IBizContext,r={},i=[]){if(e.instanceof("app.view.IPSAppDERedirectView"))return openDERedirectView(e,t,r,i);throw new UnsupportedModelError(e,`未支持的重定向视图类型: ${e.viewType}`)}async function toLocalOpenWFRedirectView(e,t,r){var i;const n=r.lastIndexOf("?"),s=decodeURIComponent(r.substring(n+1,r.length)),o=qs.parse(s,{delimiter:";"}),a=o.srfdename||"";if(!a)throw new RuntimeError("重定向参数缺少实体名称");const l=a.toUpperCase(),{app:c}=e,u=c.getAllPSAppDataEntities().find((e=>(e.name||e.refM.name)===l));if(!u)throw new RuntimeError(`未找到指定实体: ${a}`);const d=u.codeName||u.refM.codeName;o[d.toLowerCase()]=o[a.toLowerCase()];const h=null===(i=c.getAllPSAppViews())||void 0===i?void 0:i.find((e=>{const{refM:t}=e;return t.resource===d&&"RedirectView"===t.view?e:null}));if(!h)throw new Error(`未找到实体[${a}]默认重定向视图[RedirectView]`);if(delete o.srfdename,"undo"!==o.srfwf){const e=o.processDefinitionKey.split("-")[3],t=e.substring(0,e.lastIndexOf("v")),r=e.substring(e.lastIndexOf("v"));o.wf=t,o.wfVersion=r}o.srfprocessinstanceid&&(t.srfprocessinstanceid=o.srfprocessinstanceid,delete o.srfprocessinstanceid),await ibiz.commands.execute(OpenAppViewCommand.TAG,h,t,o)}async function openDERedirectView(e,t=new IBizContext,r={},i=[]){const n=convertNavData(e.getPSAppViewNavContexts()||[],t,r);t=new IBizContext(n,t);const s=convertNavData(e.getPSAppViewNavParams()||[],t,r);Object.assign(r,s);const o=e.getPSAppDataEntity();await o.fill(!0);const a=o.codeName.toLowerCase();let l=i[0]||{};t[a]=l[a]||t[a]||r[a];const c=e.getGetDataPSAppDEAction(),u=ibiz.hub.getApp(null==c?void 0:c.getPSModelService().app),d=await u.es.getService(o.codeName);ibiz.loading.showRedirect();const h=await d.exec(c?c.codeName:"Get",t,r);if(ibiz.loading.hideRedirect(),h.ok){l=h.data;let r=l.linkurl;if(r)return t.srfprocessinstanceid&&(r+=`;srfprocessinstanceid=${t.srfprocessinstanceid}`),r.startsWith("http://")||r.startsWith("https://")?(window.open(r,"_blank"),{ok:!0,data:[]}):r.startsWith("appredirectview?")?(await toLocalOpenWFRedirectView(e.getPSModelService(),t,r),{ok:!0,data:[]}):{ok:!1,data:[]}}const p=await calcDERdTag(o,e,r.srfwf,l),f=`${o.name.toUpperCase()}:${p}`,w=e.getRedirectPSAppViewRefs(),m=null==w?void 0:w.find((e=>e.name===f||e.name===p));if(!m)throw new DefectModelError(e,`未找到重定向标识[${p}]或[${f}]对应视图`);{const e=m.getRefPSAppView();if(!e)throw new DefectModelError(m,"未配置实际引用视图");{const i=await ibiz.commands.execute(OpenAppViewCommand.TAG,e,t,r,{data:[l]});if(i)return i}}return{ok:!0,data:[]}}async function calcDERdTag(e,t,r,i){let n="";const s=t.getTypePSAppDEField();if(s){const e=i[s.codeName.toLowerCase()];if(notNilEmpty(e))return e}if(notNilEmpty(r))return`EDITVIEW:${r.toUpperCase()}`;let o="";const a=e.getIndexTypePSAppDEField();if(a&&(o=i[a.codeName.toLowerCase()]),isNilOrEmpty(o)){const t=e.getFormTypePSAppDEField();t&&(o=i[t.codeName.toLowerCase()])}return n=notNilEmpty(o)?`EDITVIEW:${o}`:"EDITVIEW",n}function _isPlaceholder(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function _curry1(e){return function t(r){return 0===arguments.length||_isPlaceholder(r)?t:e.apply(this,arguments)}}function _curry2(e){return function t(r,i){switch(arguments.length){case 0:return t;case 1:return _isPlaceholder(r)?t:_curry1((function(t){return e(r,t)}));default:return _isPlaceholder(r)&&_isPlaceholder(i)?t:_isPlaceholder(r)?_curry1((function(t){return e(t,i)})):_isPlaceholder(i)?_curry1((function(t){return e(r,t)})):e(r,i)}}}AppFuncCommand.TAG="ibiz.app-func.exec";var _isArray=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function _isString(e){return"[object String]"===Object.prototype.toString.call(e)}function _has(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var toString=Object.prototype.toString,_isArguments=function(){return"[object Arguments]"===toString.call(arguments)?function(e){return"[object Arguments]"===toString.call(e)}:function(e){return _has("callee",e)}}(),hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],hasArgsEnumBug=function(){return arguments.propertyIsEnumerable("length")}(),contains$1=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},keys="function"!=typeof Object.keys||hasArgsEnumBug?_curry1((function(e){if(Object(e)!==e)return[];var t,r,i=[],n=hasArgsEnumBug&&_isArguments(e);for(t in e)!_has(t,e)||n&&"length"===t||(i[i.length]=t);if(hasEnumBug)for(r=nonEnumerableProps.length-1;r>=0;)_has(t=nonEnumerableProps[r],e)&&!contains$1(i,t)&&(i[i.length]=t),r-=1;return i})):_curry1((function(e){return Object(e)!==e?[]:Object.keys(e)})),isNil=_curry1((function(e){return null==e})),isNil$1=isNil;function _cloneRegExp(e){return new RegExp(e.source,(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":""))}var type$2=_curry1((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));function _clone(e,t,r,i){var n=function(n){for(var s=t.length,o=0;o<s;){if(e===t[o])return r[o];o+=1}for(var a in t[o]=e,r[o]=n,e)e.hasOwnProperty(a)&&(n[a]=i?_clone(e[a],t,r,!0):e[a]);return n};switch(type$2(e)){case"Object":return n(Object.create(Object.getPrototypeOf(e)));case"Array":return n([]);case"Date":return new Date(e.valueOf());case"RegExp":return _cloneRegExp(e);case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return e.slice();default:return e}}var clone=_curry1((function(e){return null!=e&&"function"==typeof e.clone?e.clone():_clone(e,[],[],!0)})),clone$1=clone;function _arrayFromIterator(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function _includesWith(e,t,r){for(var i=0,n=r.length;i<n;){if(e(t,r[i]))return!0;i+=1}return!1}function _functionName(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}function _objectIs(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}var _objectIs$1="function"==typeof Object.is?Object.is:_objectIs;function _uniqContentEquals(e,t,r,i){var n=_arrayFromIterator(e);function s(e,t){return _equals(e,t,r.slice(),i.slice())}return!_includesWith((function(e,t){return!_includesWith(s,t,e)}),_arrayFromIterator(t),n)}function _equals(e,t,r,i){if(_objectIs$1(e,t))return!0;var n=type$2(e);if(n!==type$2(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(n){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===_functionName(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!_objectIs$1(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!_objectIs$1(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var s=r.length-1;s>=0;){if(r[s]===e)return i[s]===t;s-=1}switch(n){case"Map":return e.size===t.size&&_uniqContentEquals(e.entries(),t.entries(),r.concat([e]),i.concat([t]));case"Set":return e.size===t.size&&_uniqContentEquals(e.values(),t.values(),r.concat([e]),i.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var o=keys(e);if(o.length!==keys(t).length)return!1;var a=r.concat([e]),l=i.concat([t]);for(s=o.length-1;s>=0;){var c=o[s];if(!_has(c,t)||!_equals(t[c],e[c],a,l))return!1;s-=1}return!0}var equals=_curry2((function(e,t){return _equals(e,t,[],[])})),equals$1=equals;function _isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}function _isTypedArray(e){var t=Object.prototype.toString.call(e);return"[object Uint8ClampedArray]"===t||"[object Int8Array]"===t||"[object Uint8Array]"===t||"[object Int16Array]"===t||"[object Uint16Array]"===t||"[object Int32Array]"===t||"[object Uint32Array]"===t||"[object Float32Array]"===t||"[object Float64Array]"===t||"[object BigInt64Array]"===t||"[object BigUint64Array]"===t}var empty=_curry1((function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():_isArray(e)?[]:_isString(e)?"":_isObject(e)?{}:_isArguments(e)?function(){return arguments}():_isTypedArray(e)?e.constructor.from(""):void 0})),isEmpty=_curry1((function(e){return null!=e&&equals$1(e,empty(e))})),isEmpty$1=isEmpty,ViewMode;function testCond(e,t,r){if(Object.is(t,"IN"))return contains(e,r);if(Object.is(t,"NOTIN"))return!contains(e,r);switch(t){case"EQ":return`${e}`==`${r}`;case"NOTEQ":return`${e}`!=`${r}`;case"LT":return compare(e,r)<0;case"LTANDEQ":return compare(e,r)<=0;case"GT":return compare(e,r)>0;case"GTANDEQ":return compare(e,r)>=0;case"ISNULL":return isNilOrEmpty(e);case"ISNOTNULL":return notNilEmpty(e);case"TESTNULL":return isNil$1(e);case"IN":return contains(e,r);case"NOTIN":return!contains(e,r);case"LIKE":return strContain(e,r);case"LEFTLIKE":return strContain(e,r,"start");case"RIGHTLIKE":return strContain(e,r,"end");default:throw new RuntimeError(`值操作:${t},暂未支持`)}}function compare(e,t){const r=Number(e),i=Number(t);if(!Number.isNaN(r)&&!Number.isNaN(i))return compareNumber(r,i);const n=new Date(e).getTime(),s=new Date(t).getTime();if(!Number.isNaN(n)&&!Number.isNaN(s))return compareNumber(n,s);throw new RuntimeError(`${e} 和 ${t} 无法比较大小`)}function compareNumber(e,t){return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),e>t?1:e<t?-1:0}function contains(e,t){if(!t||"string"!=typeof t)throw new RuntimeError("范围比较的条件值不存或者不是字符串");if(e){return t.split(",").includes(`${e}`)}return!1}function strContain(e,t,r){if(!e||!t)return!1;const i=`${e}`.toUpperCase(),n=`${t}`.toUpperCase(),s=i.indexOf(n);switch(r){case"start":return 0===s;case"end":return s+n.length===i.length;default:return-1!==s}}function isGroupCondition(e){return"GROUP"===e.condType}function isSimpleCondition(e){return"SIMPLE"===e.condType}function isValueRange2Condition(e){return"VALUERANGE2"===e.condType}function isRegExCondition(e){return"REGEX"===e.condType}function isStringLengthCondition(e){return"STRINGLENGTH"===e.condType}function isSysValueRuleCondition(e){return"SYSVALUERULE"===e.condType}function verifyDeRules(e,t,r){var i;const n={isPast:!0,infoMessage:r.ruleInfo};if(isGroupCondition(r)){const i=r.getPSDEFVRConditions();i&&i.length>0&&(n.isPast=logicForEach(i,(r=>{const{isPast:i,infoMessage:s}=verifyDeRules(e,t,r);return n.infoMessage=s,i}),r.condOp,!!r.notMode),!n.isPast&&("AND"===r.condOp&&r.notMode||"OR"===r.condOp&&!r.notMode)&&(n.infoMessage=r.ruleInfo))}else{e=null==r?void 0:r.dEFName.toLowerCase();try{if(isSimpleCondition(r))n.isPast=!checkFieldSimpleRule(t[e],r.condOp,r.paramValue,r.ruleInfo,r.paramType,t,r.keyCond);else if(isValueRange2Condition(r))n.isPast=!checkFieldValueRangeRule(t[e],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.keyCond);else if(isRegExCondition(r))n.isPast=!checkFieldRegExRule(t[e],r.regExCode,r.ruleInfo,r.keyCond);else if(isStringLengthCondition(r))n.isPast=!checkFieldStringLengthRule(t[e],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.keyCond);else if(isSysValueRuleCondition(r)&&(null===(i=null==r?void 0:r.getPSSysValueRule)||void 0===i?void 0:i.call(r))){const{ruleType:i,regExCode:s,scriptCode:o,ruleInfo:a}=r.getPSSysValueRule();if(n.infoMessage=r.ruleInfo||a,"REG"===i)n.isPast=!checkFieldRegExRule(t[e],s,n.infoMessage,r.keyCond);else if("SCRIPT"===i){const{isPast:i,infoMessage:s}=checkFieldScriptRule(t[e],t,o,n.infoMessage,r.keyCond);n.isPast=i,n.infoMessage=s||n.infoMessage}}}catch(e){n.isPast=!1}n.isPast=r.notMode?!n.isPast:n.isPast}return n}function logicForEach(e,t,r="AND",i=!1){if(!((null==e?void 0:e.length)>0))return!1;let n="AND"===r;for(let i=0,s=e.length;i<s;i++){const s=t(e[i],i);if("AND"===r){if(!s){n=!1;break}}else if("OR"===r&&s){n=!0;break}}return i?!n:n}function checkFieldSimpleRule(e,t,r,i,n,s,o){if(Object.is(n,"CURTIME")&&(r=`${new Date}`),Object.is(n,"ENTITYFIELD")){r=s[r=r?r.toLowerCase():""]?s[r]:r}(isNil$1(i)||isEmpty$1(i))&&(i="内容必须符合值规则");const a=testCond(e,t,r);if(!a&&o)throw new Error(i);return!a}function checkFieldStringLengthRule(e,t,r,i,n,s,o){isNilOrEmpty(s)&&(s="内容长度必须符合范围规则");if(isNilOrEmpty(e)){if(o)throw new Error("值为空");return s="值为空",!0}const a=e.length;if(null!==t)if(r){if(a<t){if(o)throw new Error(s);return!0}}else if(a<=t){if(o)throw new Error(s);return!0}if(null!==i)if(n){if(a>i){if(o)throw new Error(s);return!0}}else if(a>=i){if(o)throw new Error(s);return!0}return s="",!1}function checkFieldRegExRule(e,t,r,i){isNilOrEmpty(r)&&(r="值必须符合正则规则");if(isNilOrEmpty(e)){if(i)throw new Error("值为空");return r="值为空",!0}if(!new RegExp(t).test(e)){if(i)throw new Error(r);return!0}return r="",!1}function checkFieldValueRangeRule(e,t,r,i,n,s,o){isNilOrEmpty(s)&&(s="值必须符合值范围规则");if(isNilOrEmpty(e)){if(o)throw new Error("值为空");return s="值为空",!0}if(checkFieldRegExRule(e,/^-?\d*\.?\d+$/,"",o))return!0;const a=Number.parseFloat(e);if(null!==t)if(r){if(a<t){if(o)throw new Error(s);return!0}}else if(a<=t){if(o)throw new Error(s);return!0}if(null!=i)if(n){if(a>i){if(o)throw new Error(s);return!0}}else if(a>=i){if(o)throw new Error(s);return!0}return s="",!1}function checkFieldScriptRule(e,t,r,i,n){isNilOrEmpty(i)&&(i="值必须符合脚本规则");const s=t;let o="",a=!0;try{const t=new Function("value","data",r)(e,s);"boolean"==typeof t&&(a=t)}catch(e){ibiz.log.error(e),(e=>{a=!1,(null==e?void 0:e.length)>0?e.forEach((e=>{(null==e?void 0:e.message)&&(o+=e.message)})):(null==e?void 0:e.message)&&(o=e.message)})(e)}if(i="",!a&&n)throw new Error(i);return{isPast:a,infoMessage:o||i}}function generateRules(itemVRs,name,valueItemName){const rules=[];return itemVRs.forEach((item=>{const{valueRuleType:valueRuleType}=item,sysRule=item.getPSSysValueRule(),deRule=item.getPSDEFValueRule();if("SYSVALUERULE"===valueRuleType&&sysRule)"REG"===sysRule.ruleType?rules.push({pattern:new RegExp(sysRule.regExCode),message:sysRule.ruleInfo,trigger:"change blur"}):"SCRIPT"===sysRule.ruleType&&rules.push({validator:(rule,value,callback,source)=>{if(!value)return!0;try{eval(sysRule.scriptCode)}catch(e){console.error(e)}return!0},trigger:"change blur"});else if("DEFVALUERULE"===valueRuleType&&deRule){const e=valueItemName||name;rules.push({validator:(t,r,i,n)=>{if(isNilOrEmpty(n[e]))return!0;const{isPast:s,infoMessage:o}=verifyDeRules(e,n,deRule.getPSDEFVRGroupCondition());return s||i(new Error(o||deRule.ruleInfo)),!0},trigger:"change blur"})}})),rules}class ButtonState{constructor(e,t,r){this.disabled=!1,this.visible=!0,this.loading=!1,this.permitted=!0,this.noPermissionMode="HIDDEN";let i=t.getPSModelService();i.getRealPSModelService&&(i=i.getRealPSModelService()),this.app=ibiz.hub.getApp(i.app),this.name=e,Object.defineProperty(this,"uiAction",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"entity",{enumerable:!1,configurable:!0,writable:!0,value:r}),1===this.uiAction.noPrivDisplayMode&&(this.noPermissionMode="DISABLED")}update(e){const t=this.app.authority.hasUIActionPermitted(this.uiAction,e,this.entity);!this.permitted===t&&(this.permitted=t,this.disabled=!this.permitted,this.visible=this.permitted||"HIDDEN"!==this.noPermissionMode)}}class ButtonContainerState{constructor(){Object.defineProperty(this,"children",{enumerable:!1,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"visible",{enumerable:!0,configurable:!0,get:()=>0!==this.children.length&&!!this.children.find((e=>e.visible))})}addState(e,t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t}),this.children.push(t)}setLoading(e){this.children.forEach((t=>{t.setLoading?t.setLoading(e):t.loading=!!e&&t.name===e}))}update(e){this.children.forEach((t=>{t.update(e)}))}}async function executeViewLogic(e,t,r,i,n={}){if("opendata"===e.name&&e.getPSAppUILogic())return executeOpenDataAppUILogic(e.getPSAppUILogic(),t,r,i,n);if("newdata"===e.name&&e.getPSAppUILogic())return executeNewDataAppUILogic(e.getPSAppUILogic(),t,r,i,n);const s=await getPSUIActionByModelObject(e.getPSAppViewUIAction());if(!s)throw new Error("找不到界面行为");return AppDEUIActionUtil.exec(s,t,r,i,n)}async function executeOpenDataAppUILogic(e,t,r,i,n={}){if(!(null==r?void 0:r[0]))throw Error("没有选中数据!");const s=e.getOpenDataPSAppView();if(!s)throw new Error("getOpenDataPSAppView为空");const o=s.getRefPSAppView();if(!o)throw new Error("openView为空");await o.fill(!0);const a=new AppEntityModel(o.getPSAppDataEntity());await a.init();const l=s.getPSNavigateContexts()||[],c=a.deName.toLowerCase();-1===l.findIndex((e=>e.key===c))&&l.push({key:c,value:c,rawValue:!1});const u=new IBizContext(convertNavData(l,t,i,r[0]),t);let d={};const h=s.getPSNavigateParams();notNilEmpty(h)&&(d=convertNavData(h,i,t,r[0])),await ibiz.commands.execute(OpenAppViewCommand.TAG,o,u,d,n);const{neuron:p}=n;return p.call.refresh(),{}}async function executeNewDataAppUILogic(e,t,r,i,n={}){const s=e.getNewDataPSAppView();if(!s)throw new Error("getNewDataPSAppView为空");const o=s.getRefPSAppView();if(!o)throw new Error("newView为空");await o.fill(!0);const a=new AppEntityModel(o.getPSAppDataEntity());await a.init();let l={},c={};const u=(null==r?void 0:r[0])||{},d=s.getPSNavigateContexts();notNilEmpty(d)&&(l=convertNavData(d,t,i,u)),l=new IBizContext(l,t),l[a.deName.toLowerCase()]=void 0;const h=s.getPSNavigateParams();notNilEmpty(h)&&(c=convertNavData(h,i,t,u)),e.enableWizardAdd||e.enableBatchAdd||e.batchAddOnly,await ibiz.commands.execute(OpenAppViewCommand.TAG,o,l,c,n);const{neuron:p}=n;return p.call.refresh(),{}}!function(e){e.ROUTE="ROUTE",e.MODAL="MODAL",e.DRAWER="DRAWER",e.EMBED="EMBED",e.POPOVER="POPOVER"}(ViewMode||(ViewMode={}));class ViewState{constructor(){this.complete=!1,this.toolbarState=null,this.isLoading=!1}}class EditViewState extends ViewState{}class MDViewState extends ViewState{constructor(){super(...arguments),this.showSearchForm=!1,this.query="",this.selectedData=[]}}class GridViewState extends MDViewState{}class EditView3State extends EditViewState{}class PickupViewState extends ViewState{}class MPickupViewState extends PickupViewState{constructor(){super(...arguments),this.embedSelection=[],this.selfSelection=[]}}class GridExpViewState extends MDViewState{constructor(){super(...arguments),this.navItem={key:""}}}class TreeExpViewState extends MDViewState{constructor(){super(...arguments),this.navViewParams={},this.currentNavKey=""}}class DataViewViewState extends MDViewState{}class ListViewState extends MDViewState{}class ListExpViewState extends MDViewState{constructor(){super(...arguments),this.navItem={key:""}}}class KanbanViewState extends MDViewState{}const excludeViewTypes=[ViewType.DE_GRID_VIEW,ViewType.DE_GRID_EXP_VIEW,ViewType.DE_LIST_VIEW,ViewType.DE_LIST_EXP_VIEW,ViewType.DE_DATA_VIEW,ViewType.DE_DATAVIEW_EXP_VIEW,ViewType.DE_CALENDAR_VIEW,ViewType.DE_CALENDAR_EXP_VIEW,ViewType.DE_CHART_VIEW,ViewType.DE_CHART_EXP_VIEW,ViewType.DE_KANBAN_VIEW];function calcRouteContext(e,t,r){let i=[];t.forEach((t=>{var n;const s=[];for(let i=0;i<t.length;i++){const o=[],a=t[i];if(r&&r.viewType&&excludeViewTypes.includes(r.viewType)){if((null===(n=r.getPSAppDataEntity())||void 0===n?void 0:n.codeName.toLowerCase())===a.name)return}const l=e[a.name];l&&(o.push(a.name),o.push(l),s.push(o))}i.push(s)})),i=i.sort(((e,t)=>t.length-e.length));const[n]=i;if(n){const e={};return n.forEach((([t,r])=>{e[t]=r})),e}return{}}var Srfuf;!function(e){e[e.CREATE=0]="CREATE",e[e.UPDATE=1]="UPDATE"}(Srfuf||(Srfuf={}));class ControlVO{get srfuf(){return isNil$1(this.$origin.srfuf)?this.srfkey?Srfuf.UPDATE:Srfuf.CREATE:this.$origin.srfuf}constructor(e,t){e&&t&&(Object.defineProperty(this,"$origin",{enumerable:!1,configurable:!0,value:e||{}}),Object.defineProperty(this,"$dataUIMap",{enumerable:!1,configurable:!0,value:t||new Map}),this.$dataUIMap.forEach(((e,t)=>{const r=e.dataKey;this.linkProperty(t,r,e.isOriginField)})),Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||this.linkProperty(e,e)})))}linkProperty(e,t,r=!0){"srfuf"!==e&&(r||Object.prototype.hasOwnProperty.call(this.$origin,e)?Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get(){return this.$origin[t]},set(e){this.$origin[t]=e}}):Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:null}))}getOrigin(){return this.$origin}getRequestData(){const e=Object.assign({},this.$origin);return this.$dataUIMap.forEach((t=>{t.isRequestNeed!==t.isOriginField&&(e[t.dataKey]=this[t.uiKey])})),e}setOrigin(e){this.$origin=e instanceof ControlVO?e.getOrigin():e}mergeOrigin(e){Object.assign(this.$origin,e instanceof ControlVO?e.getOrigin():e)}reactiveInit(){this.$dataUIMap.forEach(((e,t)=>{void 0===this.$origin[t]&&(this.$origin[t]=null)}))}}class UIMapField{constructor(e,t,r={}){this.isOriginField=!1,this.isRequestNeed=!0,this.uiKey=e,this.dataKey=t,isNil$1(r.isOriginField)||(this.isOriginField=r.isOriginField),isNil$1(r.isRequestNeed)||(this.isRequestNeed=r.isRequestNeed)}}class ControlService{get appEntity(){return this.model.appEntity}constructor(e){this.dataUIMap=new Map,this.app=ibiz.hub.getApp(e.modelService.app),this.model=e}async init(e){this.entityService=await this.app.es.getService(this.appEntity.source.codeName),this.initUIDataMap()}initUIDataMap(){var e;const t=this.model.appEntity.deName.toLowerCase(),r=null===(e=this.model.source.getPSAppDataEntity().getKeyPSAppDEField())||void 0===e?void 0:e.codeName;if(r){const e=new UIMapField(t,r.toLowerCase(),{isOriginField:!0});this.dataUIMap.set(t,e),this.dataUIMap.set("srfkey",e)}}async exec(e,t,r={},i={}){return await this.entityService.exec(e,t,r,i)}handleResponse(e){return e}toUIData(e){return new ControlVO(e,this.dataUIMap)}}class MDControlService extends ControlService{async fetch(e,t={}){let r=await this.exec(this.model.fetchAction,e,t);return r=this.handleResponse(r),r}async get(e,t={}){let r=await this.exec(this.model.getAction,e,void 0,t);return r=this.handleResponse(r),r}async getDraft(e,t={}){let r=await this.exec(this.model.getDraftAction,e,void 0,t);return r=this.handleResponse(r),r}async remove(e,t={}){return await this.exec(this.model.removeAction,e,void 0,t)}async create(e,t){let r=await this.exec(this.model.createAction,e,t.getRequestData());return r=this.handleResponse(r),r}async update(e,t){let r=await this.exec(this.model.updateAction,e,t.getRequestData());return r=this.handleResponse(r),r}async exportData(e,t,r={}){return this.entityService.file.exportData(e,this.model.fetchAction,t,r)}handleResponse(e){const t=super.handleResponse(e);return t.headers&&(t.headers["x-page"]&&(t.page=Number(t.headers["x-page"])),t.headers["x-per-page"]&&(t.size=Number(t.headers["x-per-page"])),t.headers["x-total"]&&(t.total=Number(t.headers["x-total"]))),t.ok&&(isArray(t.data)?t.data=t.data.map((e=>this.toUIData(e))):t.data=this.toUIData(t.data)),t}}class GridService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEGridDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)})),this.model.fieldColumns.forEach((e=>{if(e.source.dataItemName!==e.codeName){const t=this.dataUIMap.get(e.source.dataItemName);t&&this.dataUIMap.set(e.codeName,t)}}))}async updateGridEditItem(e,t,r={}){let i=await this.entityService.exec(e,t,r);return i=this.handleResponse(i),i}}class ListService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEListDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)}))}}class TreeNodeData{constructor(e,t,r,i){this.parent=i,this.parent?this.context=Object.assign({},this.parent.context):this.context={},this.nodeId=e.nodeId,this.leaf=0===e.tree.getChildNodes(e.nodeId,t.hasQuery).length}}class TreeDataSetNodeData extends TreeNodeData{constructor(e,t,r,i){super(e,t,r,i);const{data:n}=t;this.deData=n,this.text=n.srfmajortext,this.value=n.srfkey,this.id=i?`${i.id}:${e.nodeId}${n.srfkey}`:e.nodeId+n.srfkey,this.id=this.id.toLowerCase(),Object.assign(this.context,{[e.appEntity.deName]:n.srfkey})}}class TreeStaticNodeData extends TreeNodeData{constructor(e,t,r,i){var n;if(super(e,t,r,i),this.id=i?`${i.id}:${e.nodeId}`:e.nodeId,this.id=this.id.toLowerCase(),this.text=e.text,i&&r){let e=i;for(let t=1;t<r.parentValueLevel;t++)e=null==e?void 0:e.parent;(null==e?void 0:e.deData)&&(this.deData=e.deData)}this.value=e.nodeValue||(null===(n=this.deData)||void 0===n?void 0:n.value)}}class TreeService extends MDControlService{initUIDataMap(){super.initUIDataMap()}async fetchChildNodes(e,t){const r=this.model.getChildNodeRSs((null==e?void 0:e.nodeId)||this.model.rootNode.id,t.hasQuery);if(0===r.length)return;const i=await Promise.allSettled(r.map((async r=>{const{childNode:i}=r;if("STATIC"===i.treeNodeType){return[await this.getStaticNodeData(r,e,t)]}return"DE"===i.treeNodeType?this.getDENodeDatas(r,e,t):"CODELIST"===i.treeNodeType?this.getCodeListNodeDatas(r,e,t):void 0}))),n=[];return i.forEach((e=>{"fulfilled"===e.status&&e.value&&n.push(...e.value)})),n}async getStaticNodeData(e,t,r){const i=e.childNode,n=new TreeStaticNodeData(i,r,e,t);return i.expanded&&(n.children=await this.fetchChildNodes(n,r)),n}getNodeRSFilterParams(e,t,r){const{parentValueLevel:i,navContexts:n,navParams:s,pickupDEFName:o}=e,a=Object.assign({},r.params),l=Object.assign(Object.assign({},r.context),(null==t?void 0:t.context)||{});let c,u={};if(t){c=t;for(let e=1;e<i;e++)c=null==c?void 0:c.parent;(null==c?void 0:c.deData)&&(u=c.deData)}c&&o&&(a[`n_${o}_eq`]=c.value);const d=convertNavData(n,l,a,u),h=convertNavData(s,l,a,u);return Object.assign(l,d),Object.assign(a,h),{context:l,params:a}}async getDENodeDatas(e,t,r){const i=e.childNode,{methodName:n,appEntity:s}=i,o=await this.app.es.getService(s.codeName),{context:a,params:l}=this.getNodeRSFilterParams(e,t,r),c=await o.exec(n,a,l);if(c.data.length){return c.data.map((n=>new TreeDataSetNodeData(i,Object.assign(Object.assign({},r),{data:n}),e,t)))}return[]}async getCodeListNodeDatas(e,t,r){}}class EditFormService extends ControlService{async get(e,t={}){let r=await this.exec(this.model.getAction,e,void 0,t);return r=this.handleResponse(r),r}async getDraft(e,t={}){let r=await this.exec(this.model.getDraftAction,e,void 0,t);return r=this.handleResponse(r),r}async remove(e,t={}){return await this.exec(this.model.removeAction,e,void 0,t)}async create(e,t){let r=await this.exec(this.model.createAction,e,t.getRequestData());return r=this.handleResponse(r),r}async update(e,t){let r=await this.exec(this.model.updateAction,e,t.getRequestData());return r=this.handleResponse(r),r}async goBack(e,t){if(!this.model.goBackAction)throw new DefectModelError(this.model.source,"缺少返回操作实体行为");let r=await this.exec(this.model.goBackAction,e,t.getRequestData());return r=this.handleResponse(r),r}async updateFormItem(e,t,r={}){let i=await this.entityService.exec(e,t,r);return i=this.handleResponse(i),i}async wfStart(e,t,r){if(!this.model.wfStartAction)throw new DefectModelError(this.model.source,"不存在工作流启动行为");return this.entityService.wf.exec(this.model.wfStartAction,e,t,r.getRequestData())}async wfSubmit(e,t,r){if(!this.model.wfSubmitAction)throw new DefectModelError(this.model.source,"不存在工作流提交行为");return this.entityService.wf.exec(this.model.wfSubmitAction,e,t,r.getRequestData())}initUIDataMap(){super.initUIDataMap();const e=["srfwfmemo","srfnextform","srfactionparam","srffrontuf","srfnextform"];this.model.source.getPSDEFormItems().forEach((t=>{const r=t.id.toLowerCase(),i=t.getPSAppDEField();let n;if(i){const e=i.codeName.toLowerCase();n=new UIMapField(r,e,{isOriginField:!0})}else n=new UIMapField(r,r,{isRequestNeed:e.includes(r),isOriginField:e.includes(r)});this.dataUIMap.set(r,n)}))}handleResponse(e){const t=super.handleResponse(e);return t.ok&&t.data&&(t.data=this.toUIData(t.data)),t}}class SearchFormService extends ControlService{async getDraft(e,t={}){let r={ok:!0,status:200,data:{}};return r=this.handleResponse(r),r}initUIDataMap(){var e;null===(e=this.model.source.getPSDEFormItems())||void 0===e||e.forEach((e=>{const t=e.id.toLowerCase();this.dataUIMap.set(t,new UIMapField(t,t))}))}handleResponse(e){const t=super.handleResponse(e);return t.ok&&t.data&&(t.data=this.toUIData(t.data)),t}}class DataViewService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEDataViewDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)}))}}class WizardPanelService extends ControlService{async initialize(e,t={},r={}){let i=await this.exec(this.model.initAction,e,t,r);return i=this.handleResponse(i),i}async finish(e,t={},r={}){let i=await this.exec(this.model.finishAction,e,t,r);return i=this.handleResponse(i),i}}class KanbanService extends MDControlService{initUIDataMap(){var e;super.initUIDataMap(),null===(e=this.model.source.getPSDEDataViewDataItems())||void 0===e||e.forEach((e=>{const t=e.name.toLowerCase(),r=e.getPSAppDEField();let i;if(r){const e=r.codeName.toLowerCase();i=new UIMapField(t,e,{isOriginField:!0})}else i=new UIMapField(t,t,{isRequestNeed:!1});this.dataUIMap.set(t,i)}))}}class ControlState{constructor(){this.complete=!1}}class FormState extends ControlState{constructor(){super(...arguments),this.isLoaded=!1,this.data=new ControlVO,this.processing=!1}}class EditFormState extends FormState{}class SearchFormState extends FormState{}class AppMenuState extends ControlState{constructor(){super(...arguments),this.menuItemsState={}}}class MDState extends ControlState{constructor(){super(...arguments),this.items=[],this.selectedData=[],this.singleSelect=!0,this.curPage=1,this.size=20,this.total=0,this.hasLoaded=!1}}class GridState extends MDState{constructor(){super(...arguments),this.rows=[]}}class TreeState extends MDState{constructor(){super(...arguments),this.rootNode=null}get treeNodes(){var e;return(null===(e=this.rootNode)||void 0===e?void 0:e.children)||[]}}class DataViewState extends MDState{constructor(){super(...arguments),this.rows=[],this.groupData=[]}}class WizardPanelState extends ControlState{constructor(){super(...arguments),this.activeFormTag=""}}class ListState extends MDState{constructor(){super(...arguments),this.rows=[],this.groupData=[]}}class KanbanState extends MDState{constructor(){super(...arguments),this.rows=[],this.groupData=[]}}class ViewController{constructor(e,t,r={}){this.modelPath=e,this.state=new ViewState,this.modal={mode:ViewMode.ROUTE},this.complete=!1,this.toolbarState=null,this.viewLoading=new LoadingState,this.providers={},this.context=new IBizContext(t),this.params=r,this.nerve=this.createNerve()}createNerve(){return new ViewNerve(this)}async init(){await this.onInit(),this.state.complete=!0,this.nerve.created(),this.setCaption(this.model.caption),this.force((()=>{this.nerve.mounted()}))}async onInit(){this.emit("neuronInit",this.nerve.self),this.model=await ibiz.model.getView(this.modelPath),this.app=ibiz.hub.getApp(this.model.modelService.app),this.handleViewParams(),this.initToolbarState()}initToolbarState(){if(!this.model.toolbar)return;const e=new ButtonContainerState;[...this.model.toolbar.actionItems.values()].forEach((t=>{const r=new ButtonState(t.id,t.getPSUIAction(),this.model.appEntity);["Edit","Remove"].includes(t.getPSUIAction().uIActionTag)&&(r.noPermissionMode="DISABLED"),e.addState(t.id,r)})),e.update(),this.state.toolbarState=e}handleViewParams(){this.context.srfkey&&this.model.appEntity&&(this.context[this.model.appEntity.deName]=this.context.srfkey,this.context.srfkey=void 0,delete this.context.srfkey),this.modal.mode===ViewMode.ROUTE&&(this.context.srfsessionid=createUUID());const e=this.model.source.getPSAppViewNavContexts();let t={};notNilEmpty(e)&&(t=convertNavData(e,this.context,this.params)),Object.assign(this.context,t);const r=this.model.source.getPSAppViewNavParams();let i={};notNilEmpty(r)&&(i=convertNavData(r,this.context,this.params)),Object.assign(this.params,i)}destroy(){this.nerve.destroy()}async refresh(){}getData(){return[]}async closeView(e={ok:!0,data:this.getData()}){this.nerve.self.evt.emit("closeView",e)}async beforeClose(){return!0}force(e){}emit(e,...t){}async onToolbarClick(e,t){if(!e.getPSAppViewUIAction())throw new DefectModelError(e,"没有配置界面行为!");const r=`${e.getPSAppViewUIAction().name}_click`,i=this.model.source.findPSAppViewLogic(r);if(!i)throw new DefectModelError(e.getPSAppViewUIAction(),"没有找到对应的视图逻辑");return this.executeViewLogic(i,this.getData(),t)}async executeViewLogic(e,t,r){const i=await executeViewLogic(e,this.context,t,this.params,{event:r,neuron:this.nerve.self});i.refresh&&await this.refresh(),i.closeView&&await this.closeView()}setCaption(e){this.state.caption=e,this.nerve.self.evt.asyncEmit("setTitle",e),this.force()}beginViewLoading(){this.viewLoading.begin(),this.state.isLoading=this.viewLoading.isLoading}endViewLoading(){this.viewLoading.end(),this.state.isLoading=this.viewLoading.isLoading}}class MainViewController extends ViewController{async load(){this.entityService||(this.entityService=await this.app.es.getService(this.model.appEntity.codeName));const e=await this.entityService.exec("Get",this.context,this.params);return this.mainData=e.data,this.calcCaption(e.data),this.state.toolbarState&&this.state.toolbarState.update(e.data),e.data}calcCaption(e){if(!ibiz.config.enableDataInfoBar||!this.model.showDataInfoBar)return;const t=e[this.model.appEntity.textName];t?this.setCaption(`${this.model.caption} - ${t}`):this.context[this.model.appEntity.deName]||this.setCaption(`${this.model.caption} - 新建`)}}class IndexViewState extends ViewState{constructor(){super(...arguments),this.isCollapse=!1}}class IndexViewController extends ViewController{constructor(){super(...arguments),this.state=new IndexViewState,this.isCollapse=!1}async onInit(){await super.onInit();const{appMenu:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class EditViewController extends MainViewController{constructor(){super(...arguments),this.state=new EditViewState}createNerve(){return new EditViewNerve(this)}async onInit(){await super.onInit(),this.entityService=await this.app.es.getService(this.model.appEntity.codeName),this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}));const{form:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}getData(){return this.nerve.form.call.getData()}async load(){const{form:e}=this.nerve,t=await e.call.load();return this.calcCaption(t),this.state.toolbarState&&this.state.toolbarState.update(t.getOrigin()),t}async save(){const{form:e}=this.nerve;return await e.call.save()}async onAfterFormSave(e,t){if(e){const{deName:e}=this.model.appEntity;this.context[e]=t[e]}this.calcCaption(t),this.nerve.self.evt.asyncEmit("viewDataChange",{type:e?"CREATE":"UPDATE",data:[t],control:"form"})}async onAfterFormRemove(e){this.nerve.self.evt.asyncEmit("viewDataChange",{type:"REMOVE",data:[e],control:"form"})}async saveAndNew(){await this.save(),this.context[this.model.appEntity.deName]=void 0,await this.load()}async remove(){const{form:e}=this.nerve;await e.call.remove()}async refresh(){const e=await this.load();this.nerve.self.evt.asyncEmit("refreshed",[e])}async wfStart(){var e;await this.save();const t=await this.entityService.wf.getWFVersion();if(0===t.data.length)throw new RuntimeError("当前工作流版本不存在");const r=t.data[0],i=`WFSTART@${r.wfversion}`,n=new IBizContext({activeForm:r["process-form"]},this.context),s={processDefinitionKey:r.definitionkey},o=null===(e=this.model.source.findPSAppViewRef(i))||void 0===e?void 0:e.getRefPSAppView();if(!o)return await this.nerve.form.call.wfStart(s),void await this.closeView();(await ibiz.commands.execute(OpenAppViewCommand.TAG,o,n,s)).ok&&await this.closeView()}wfSubmit(){return this.nerve.form.call.wfSubmit()}async wfWithdraw(e,t,r){await this.entityService.wf.wfWithdraw(e,Object.assign(Object.assign({},t),{taskId:t.taskId||t.srftaskid}),Object.assign({},r.getRequestData()))}}class OptViewController extends EditViewController{createNerve(){return new OptViewNerve(this)}async onOkButtonClick(){const e=await this.save();return this.closeView({ok:!0,data:[e]})}onCancelButtonClick(){return this.closeView({ok:!1})}}class EditView3Controller extends EditViewController{constructor(){super(...arguments),this.state=new EditView3State,this.isNewData=!0,this.drPages={}}createNerve(){return new EditView3Nerve(this)}async onInit(){var e;await super.onInit(),(null===(e=this.model.drTab)||void 0===e?void 0:e.pages.length)&&this.model.drTab.pages.forEach((e=>{this.drPages[e.source.name]={context:this.context,params:this.params,key:createUUID()}}))}async load(){const e=await super.load();return this.isNewData=e.srfuf===Srfuf.CREATE,this.calcViewParams(e),e}calcViewParams(e){var t;const{pages:r}=this.model.drTab;for(const i of r){const{name:r}=i.source;let n=new IBizContext({},this.context);const s=i.source.getPSNavigateContexts();notNilEmpty(s)&&(n=Object.assign(n,convertNavData(s,this.context,this.params,e)));const o=i.source.getPSNavigateParams();let a={};notNilEmpty(o)&&(a=convertNavData(o,this.params,this.context,e)),this.nerve.drViews.has(r)&&JSON.stringify(this.drPages[r].context)===JSON.stringify(n)&&JSON.stringify(this.drPages[r].params)===JSON.stringify(a)?null===(t=this.nerve.drViews.get(r))||void 0===t||t.call.refresh():(this.drPages[r].context=n,this.drPages[r].params=a,this.drPages[r].key=createUUID())}this.force()}}class MDViewController extends ViewController{constructor(){super(...arguments),this.state=new MDViewState}createNerve(){return new MDViewNerve(this)}async onInit(){await super.onInit(),this.state.showSearchForm=this.model.source.expandSearchForm,this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}));const{searchForm:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}getData(){return this.state.selectedData}async load(){return[]}async refresh(){const e=await this.load();this.nerve.self.evt.asyncEmit("refreshed",e)}async openData(e,t){const r=this.model.source.findPSAppViewLogic("opendata");r&&await this.executeViewLogic(r,[e],t)}async newData(e){const t=this.model.source.findPSAppViewLogic("newdata");t&&await this.executeViewLogic(t,[{}],e)}toggleFilter(){this.state.showSearchForm=!this.state.showSearchForm}async importData(){}async exportData(e){}async onSearch(){await this.load()}onSelectionChange(e){var t;this.state.selectedData=e,this.state.toolbarState&&this.state.toolbarState.update(null===(t=e[0])||void 0===t?void 0:t.getOrigin())}onDataActive(e,t){return this.openData(e,t)}onBeforeLoad(){const e={query:this.state.query.trim()};if(this.nerve.searchForm){const t=this.nerve.searchForm.call.getParams();Object.assign(e,t)}return e}async onAfterSave(e,t,r){this.nerve.self.evt.asyncEmit("viewDataChange",{type:t?"CREATE":"UPDATE",data:e,control:r})}async onAfterRemove(e,t){this.nerve.self.evt.asyncEmit("viewDataChange",{type:"REMOVE",data:e,control:t})}}class GridViewController extends MDViewController{constructor(){super(...arguments),this.state=new GridViewState}createNerve(){return new GridViewNerve(this)}async onInit(){await super.onInit();const{grid:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{grid:e}=this.nerve;return e.call.load()}async remove(){const{grid:e}=this.nerve;await e.call.remove()}async newRow(){const{grid:e}=this.nerve;await e.call.newRow()}async importData(){const{grid:e}=this.nerve;await e.call.importData()}async exportData(e){const{grid:t}=this.nerve;await t.call.exportData(e)}}class DataViewViewController extends MDViewController{constructor(){super(...arguments),this.state=new DataViewViewState}createNerve(){return new DataViewViewNerve(this)}async onInit(){await super.onInit();const{dataView:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{dataView:e}=this.nerve;return e.call.load()}async remove(){const{dataView:e}=this.nerve;await e.call.remove()}}class ListViewController extends MDViewController{constructor(){super(...arguments),this.state=new ListViewState}createNerve(){return new ListViewNerve(this)}async onInit(){await super.onInit();const{list:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{list:e}=this.nerve;return e.call.load()}async remove(){const{list:e}=this.nerve;await e.call.remove()}}class PickupGridViewController extends GridViewController{createNerve(){return new PickupGridViewNerve(this)}onSelectionChange(e){super.onSelectionChange(e),this.nerve.self.evt.asyncEmit("selectionChange",this.state.selectedData)}async selectAll(){return this.nerve.grid.call.selectAll()}}class PickupViewController extends ViewController{constructor(){super(...arguments),this.state=new PickupViewState}createNerve(){return new PickupViewNerve(this)}async onInit(){await super.onInit();const{pickupViewPanel:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}onSelectionChange(e){this.nerve.self.evt.asyncEmit("closeView",{ok:!0,data:e})}}class MPickupViewController extends PickupViewController{constructor(){super(...arguments),this.state=new MPickupViewState}createNerve(){return new MPickupViewNerve(this)}async onInit(){await super.onInit(),this.params.selectedData&&(this.state.selfSelection=JSON.parse(this.params.selectedData))}onSelectionChange(e){this.state.embedSelection=e}async selectAll(){const e=await this.nerve.viewPanel.call.selectAll();e.length>0&&this.addSelections(e)}addSelections(e){if(e.length>0){const t=e.filter((e=>!this.state.selfSelection.find((t=>t.srfkey===e.srfkey))));this.state.selfSelection.push(...t)}}removeSelections(e){e.length>0&&e.forEach((e=>{const t=this.state.selfSelection.findIndex((t=>t.srfkey===e.srfkey));-1!==t&&this.state.selfSelection.splice(t,1)}))}onOkButtonClick(){this.closeView({ok:!0,data:this.state.selfSelection})}onCancelButtonClick(){this.closeView({ok:!1,data:[]})}}class WFEditViewController extends EditViewController{constructor(){super(...arguments),this.isEditable=!1,this.isFirstLoaded=!1}createNerve(){return new WFEditViewNerve(this)}async onInit(){await super.onInit(),await this.calcActiveForm()}async load(){const e=await super.load();return this.isFirstLoaded=!0,e}async refresh(){const e=this.activeForm;await this.calcActiveForm(),e===this.activeForm&&await super.refresh()}async calcActiveForm(){const e=await this.entityService.wf.getWFStep(this.params);this.isEditable="true"===e.data.isEditable;const t=e.data["process-form"]?`wfform_${e.data["process-form"]}`:"form",r=this.model.forms.get(t.toLowerCase());if(!r)throw new RuntimeError(`找不到表单${t}的模型`);this.activeForm=r,this.providers[r.name]=await ibiz.register.control.get(r)}onFormMounted(){this.isFirstLoaded&&this.load()}}class WFDynaEditViewController extends WFEditViewController{constructor(){super(...arguments),this.wfLinks=[]}createNerve(){return new WFDynaEditViewNerve(this)}async load(){const e=await super.load();return this.calcWfToolbar(),e}async calcWfToolbar(){const e=await this.entityService.wf.getWFLink(new IBizContext({taskDefinitionKey:this.params.taskDefinitionKey},this.context),this.getData());this.wfLinks=e.data}async onLinkClick(e){if(!e.type)return this.wfSubmitByLink(e)}async wfSubmitByLink(e){var t;this.isEditable&&await this.save();const r=new IBizContext({isEditable:this.isEditable,activeForm:e.sequenceFlowForm},this.context),i=Object.assign({},e),{sequenceFlowView:n}=e,s=null===(t=this.model.source.findPSAppViewRef(`WFACTION@${n}`))||void 0===t?void 0:t.getRefPSAppView();if(!s)return await this.nerve.form.call.wfSubmit(i),void await this.closeView();(await ibiz.commands.execute(OpenAppViewCommand.TAG,s,r,i)).ok&&await this.closeView()}}class WFDynaEditView3Controller extends WFDynaEditViewController{constructor(){super(...arguments),this.isNewData=!0,this.drPages={}}createNerve(){return new WFDynaEditView3Nerve(this)}async onInit(){var e;await super.onInit(),(null===(e=this.model.drTab)||void 0===e?void 0:e.pages.length)&&this.model.drTab.pages.forEach((e=>{this.drPages[e.source.name]={context:this.context,params:this.params,key:createUUID()}}))}async load(){const e=await super.load();return this.isNewData=e.srfuf===Srfuf.CREATE,this.calcViewParams(e),e}calcViewParams(e){var t;const{pages:r}=this.model.drTab;for(const i of r){const{name:r}=i.source;let n=new IBizContext({},this.context);const s=i.source.getPSNavigateContexts();notNilEmpty(s)&&(n=Object.assign(n,convertNavData(s,this.context,this.params,e)));const o=i.source.getPSNavigateParams();let a={};notNilEmpty(o)&&(a=convertNavData(o,this.params,this.context,e)),this.nerve.drViews.has(r)&&JSON.stringify(this.drPages[r].context)===JSON.stringify(n)&&JSON.stringify(this.drPages[r].params)===JSON.stringify(a)?null===(t=this.nerve.drViews.get(r))||void 0===t||t.call.refresh():(this.drPages[r].context=n,this.drPages[r].params=a,this.drPages[r].key=createUUID())}this.force()}}class WFDynaStartViewController extends WFEditViewController{createNerve(){return new WFDynaStartViewNerve(this)}async calcActiveForm(){const e=this.context.activeForm?`wfform_${this.context.activeForm}`:"form",t=this.model.forms.get(e.toLowerCase());if(!t)throw new RuntimeError(`找不到表单${e}的模型`);this.activeForm=t,this.providers[t.name]=await ibiz.register.control.get(t)}async onOkButtonClick(){await this.save(),await this.nerve.form.call.wfStart(),await this.closeView({ok:!0,data:this.getData()})}async onCancelButtonClick(){await this.closeView({ok:!1,data:[]})}}class WFDynaActionViewController extends WFEditViewController{createNerve(){return new WFDynaActionViewNerve(this)}async calcActiveForm(){const e=this.context.activeForm?`wfform_${this.context.activeForm}`:"form",t=this.model.forms.get(e.toLowerCase());if(!t)throw new RuntimeError(`找不到表单${e}的模型`);this.activeForm=t,this.providers[t.name]=await ibiz.register.control.get(t)}async onOkButtonClick(){this.context.isEditable&&await this.save(),await this.nerve.form.call.wfSubmit(),await this.closeView({ok:!0,data:this.getData()})}async onCancelButtonClick(){await this.closeView({ok:!1,data:[]})}}class WFStepTraceViewController extends ViewController{async onInit(){if(await super.onInit(),!this.deName)throw new RuntimeError("没有接收到deName");this.entityService=await this.app.es.getService(this.deName),await this.getUIData()}setDeName(e){this.deName=e}async getUIData(){const e=new IBizContext(this.params,this.context),t=await this.entityService.wf.getWFHistory(e);t.data&&(this.data=t.data)}}class AppPortalViewController extends ViewController{createNerve(){return new AppPortalViewNerve(this)}async onInit(){await super.onInit();const{dashboard:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class TreeExpViewController extends MDViewController{constructor(){super(...arguments),this.state=new TreeExpViewState}createNerve(){return new TreeExpViewNerve(this)}async onInit(){await super.onInit();const{tree:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{tree:e}=this.nerve;return e.call.load()}async onDataActive(e){const t=new IBizContext({},this.context),r=Object.assign({},this.params),i=this.model.tree.getNodeById(e.nodeId),{navView:n,navFilter:s,navContexts:o,navParams:a}=i;if(!n)return;n.initialized||await n.init(),s&&(t[s]=e.value);const l=e.deData||{};Object.assign(t,convertNavData(o,this.context,this.params,l)),Object.assign(r,convertNavData(a,this.params,this.context,l)),this.state.navViewParams[e.id]||(this.state.navViewParams[e.id]={modelPath:n.source.modelPath,context:{},params:{}}),this.state.navViewParams[e.id].context=t,this.state.navViewParams[e.id].params=r,this.state.currentNavKey=e.id,this.context.isRouter&&(Object.assign(t,{toRouteLevel:this.modal.level+1,currentRouteContext:e.id}),ibiz.openView.root(n.source,t,r))}}class TabExpViewController extends MainViewController{constructor(){super(...arguments),this.tabExpPages={}}createNerve(){return new TabExpViewNerve(this)}async onInit(){await super.onInit();const{tabExpPages:e}=this.model.tabExpPanel;e.length&&e.forEach((e=>{this.tabExpPages[e.name]={key:createUUID()}})),this.nerve.self.evt.on("mounted",(()=>{this.model.source.loadDefault&&this.load()}))}}class GridExpViewController extends MDViewController{constructor(){super(...arguments),this.state=new GridExpViewState}createNerve(){return new GridExpViewNerve(this)}async onInit(){await super.onInit();const{gridExpBar:e}=this.model;if(e){const{grid:t}=e;t&&(this.providers[t.name]=await ibiz.register.control.get(t))}}async load(){const{grid:e}=this.nerve;return e.call.load()}async remove(){const{grid:e}=this.nerve;await e.call.remove()}async newRow(){const{grid:e}=this.nerve;await e.call.newRow()}async onDataActive(e){this.state.toolbarState&&this.state.toolbarState.update(null==e?void 0:e.getOrigin());const{grid:t}=this.model.gridExpBar;if(t&&t.navView){t.navView.initialized||await t.navView.init();const r={},i=Object.assign({},this.params);this.state.navItem.key=e.srfkey;const{appEntity:n}=t.navView;if(n&&e){const{deName:s}=n;Object.assign(r,{[`${s}`]:e[s]});const{navFilter:o}=t.source;o&&Object.assign(i,{[o]:e[s]});const a=t.source.getNavPSDER();if(a){const t=`n_${(a.codeName&&a.minorCodeName).toLowerCase()}_eq`;Object.assign(i,{[t]:e[s]})}}const s=t.source.getPSNavigateContexts();let o={};notNilEmpty(s)&&(o=convertNavData(s,r,this.params)),Object.assign(r,o);const a=t.source.getPSNavigateParams();let l={};if(notNilEmpty(a)&&(l=convertNavData(a,i,this.params)),Object.assign(i,l),this.context.isRouter){Object.assign(r,{toRouteLevel:this.modal.level+1});const e=new IBizContext(r,this.context);this.state.navItem.context=e,this.state.navItem.params=i,ibiz.openView.root(t.navView.source,e,i)}else{const e=new IBizContext(r,this.context);this.state.navItem.context=e,this.state.navItem.params=i}}}async onToolbarClick(e,t){const r=e.getPSAppViewUIAction();if(!r)throw new DefectModelError(e,"没有配置界面行为!");const i=`${r.name}_click`,n=this.model.gridExpBar.source.findPSAppViewLogic(i);if(!n)throw new DefectModelError(r,"没有找到对应的视图逻辑");return this.executeViewLogic(n,this.getData(),t)}}class DashboardViewController extends MainViewController{createNerve(){return new DashboardViewNerve(this)}async onInit(){await super.onInit();const{dashboard:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}}class WizardViewController extends ViewController{createNerve(){return new WizardViewNerve(this)}async onInit(){await super.onInit();const{wizardPanel:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e)),this.nerve.self.evt.on("mounted",(()=>{this.initialize()}))}async initialize(){const{wizardPanel:e}=this.nerve;await e.call.initialize()}onAfterFinish(){this.closeView()}}class ListExpViewController extends MDViewController{constructor(){super(...arguments),this.state=new ListExpViewState}createNerve(){return new ListExpViewNerve(this)}async onInit(){await super.onInit();const{listExpBar:e}=this.model;if(e){const{list:t}=e;t&&(this.providers[t.name]=await ibiz.register.control.get(t))}}async load(){const{list:e}=this.nerve;return e.call.load()}async remove(){const{list:e}=this.nerve;await e.call.remove()}async onDataActive(e){this.state.toolbarState&&this.state.toolbarState.update(null==e?void 0:e.getOrigin());const{list:t}=this.model.listExpBar;if(t&&t.navView){t.navView.initialized||await t.navView.init();const r={},i=Object.assign({},this.params);this.state.navItem.key=e.srfkey;const{appEntity:n}=t.navView;if(n&&e){const{deName:s}=n;Object.assign(r,{[`${s}`]:e[s]});const{navFilter:o}=t.source;o&&Object.assign(i,{[o]:e[s]});const a=t.source.getNavPSDER();if(a){const t=`n_${(a.codeName&&a.minorCodeName).toLowerCase()}_eq`;Object.assign(i,{[t]:e[s]})}}const s=t.source.getPSNavigateContexts();let o={};notNilEmpty(s)&&(o=convertNavData(s,r,this.params)),Object.assign(r,o);const a=t.source.getPSNavigateParams();let l={};if(notNilEmpty(a)&&(l=convertNavData(a,i,this.params)),Object.assign(i,l),this.context.isRouter){Object.assign(r,{toRouteLevel:this.modal.level+1});const e=new IBizContext(r,this.context);this.state.navItem.context=e,this.state.navItem.params=i,ibiz.openView.root(t.navView.source,e,i)}else{const e=new IBizContext(r,this.context);this.state.navItem.context=e,this.state.navItem.params=i}}}async onToolbarClick(e,t){const r=e.getPSAppViewUIAction();if(!r)throw new DefectModelError(e,"没有配置界面行为!");const i=`${r.name}_click`,n=this.model.listExpBar.source.findPSAppViewLogic(i);if(!n)throw new DefectModelError(r,"没有找到对应的视图逻辑");return this.executeViewLogic(n,this.getData(),t)}}class KanbanViewController extends MDViewController{constructor(){super(...arguments),this.state=new KanbanViewState}createNerve(){return new KanbanViewNerve(this)}async onInit(){await super.onInit();const{kanban:e}=this.model;e&&(this.providers[e.name]=await ibiz.register.control.get(e))}async load(){const{kanban:e}=this.nerve;return e.call.load()}async remove(){const{kanban:e}=this.nerve;await e.call.remove()}}class ControlController{constructor(e,t,r={}){this.state=new ControlState,this.complete=!1,this.model=e,this.context=t,this.params=r,this.nerve=this.createNerve(),this.app=ibiz.hub.getApp(e.modelService.app)}createNerve(){return new ControlNerve(this)}async init(){await this.onInit(),this.state.complete=!0,this.nerve.created(),this.force((()=>{this.nerve.mounted()}))}async onInit(){this.emit("neuronInit",this.nerve.self)}force(e){}emit(e,...t){}destroy(){this.nerve.destroy()}async startLoading(){this.nerve.self.evt.emit("beginViewLoading")}async endLoading(){this.nerve.self.evt.emit("endViewLoading")}}class AppMenuController extends ControlController{constructor(){super(...arguments),this.state=new AppMenuState,this.menuItemsState={}}createNerve(){return new AppMenuNerve(this)}async onInit(){super.onInit(),this.model.items.forEach((e=>{this.initMenuItemState(e)}))}async onClickMenuItem(e){const t=this.model.findMenuItemModelById(e),r=await ibiz.model.getAppFunc(t);if(!r)throw new DefectModelError(t.source,"未配置界面行为");await ibiz.commands.execute(AppFuncCommand.TAG,r)}initMenuItemState(e){var t;const r=ibiz.hub.getApp(e).authority.hasMenuPermitted(e);let i=r;if(null===(t=e.children)||void 0===t?void 0:t.length){const t=e.children.map((e=>this.initMenuItemState(e).visible));i=i&&t.includes(!0)}const n={permitted:r,visible:i};return this.state.menuItemsState[e.source.id]=n,n}}class MainController extends ControlController{}class FormController extends MainController{constructor(){super(...arguments),this.state=new FormState,this.details={},this.providers={},this.formItems=[]}get data(){return this.state.data}async dataChangeNotify(e){const t=await Promise.allSettled(Object.values(this.details).map((async t=>t.dataChangeNotify(e))));if(t.find((e=>"rejected"===e.status)))throw ibiz.log.error("dataChangeNotify报错",t),new RuntimeError("数据变更后有错误")}formStateNotify(e){Object.values(this.details).forEach((t=>{t.formStateNotify(e)}))}async onInit(){await super.onInit(),await this.initDetailControllers(),this.details=Object.assign({},this.details),this.providers=Object.assign({},this.providers),this.dataChangeNotify=debounceAndAsyncMerge(this.dataChangeNotify.bind(this),((e,t)=>[Array.from(new Set([...e[0],...t[0]]))]),200)}async initDetailControllers(e=this.model.children,t=this,r){const{formDetail:i}=ibiz.register;if(!i)throw new RuntimeError("formDetail注册器不存在");await Promise.all(e.map((async e=>{var n;const s=await i.get(e);if(!s)throw new RuntimeError("找不到对应的适配器");t.providers[e.source.name]=s;const o=await s.createController(e,t,r);t.details[e.source.name]=o,"FORMITEM"===e.detailType&&t.formItems.push(o),(null===(n=e.children)||void 0===n?void 0:n.length)&&await this.initDetailControllers(e.children,t,o)})))}getData(){return[this.state.data]}async setDataValue(e,t){if(!Object.prototype.hasOwnProperty.call(this.state.data,e)||this.state.data[e]!==t){this.state.data[e]=t,this.state.processing=!0;try{await this.dataChangeNotify([e])}finally{this.state.processing=!1}this.force()}}async validate(){return-1===(await Promise.all(this.formItems.map((e=>e.validate())))).findIndex((e=>!e))}}class EditFormController extends FormController{constructor(){super(...arguments),this.state=new EditFormState,this.isNewData=!1}createNerve(){return new EditFormNerve(this)}async onInit(){await super.onInit(),this.service=new EditFormService(this.model),await this.service.init(this.context)}async load(){let e;this.isNewData=!this.context[this.model.appEntity.deName],await this.startLoading();try{e=this.isNewData?await this.service.getDraft(this.context,this.params):await this.service.get(this.context,this.params)}finally{await this.endLoading()}return e.data.reactiveInit(),this.state.data=e.data,this.formStateNotify(this.isNewData?FormNotifyState.DRAFT:FormNotifyState.LOAD),this.state.isLoaded=!0,this.force(),this.data}async save(){if(this.state.processing){return await awaitTimeout(500,this.save.bind(this))}if(!await this.validate())throw new RuntimeError("请检查表单填写!");let e;await this.startLoading();try{e=this.isNewData?await this.service.create(this.context,this.data):await this.service.update(this.context,this.data)}finally{await this.endLoading()}return e.data&&this.data.mergeOrigin(e.data),await this.nerve.self.evt.asyncEmit("afterSave",this.isNewData,this.data),this.isNewData=!1,this.formStateNotify(FormNotifyState.SAVE),ibiz.message.success(`${this.data.srfmajortext||""}保存成功`),this.force(),this.data}async remove(){if(!this.isNewData){await this.startLoading();try{await this.service.remove(this.context,this.params)}finally{await this.endLoading()}}await this.nerve.self.evt.asyncEmit("afterRemove",this.data),this.state.data=new ControlVO,this.force()}async goBack(){let e;await this.startLoading();try{e=await this.service.goBack(this.context,this.data)}finally{await this.endLoading()}e.data&&this.data.mergeOrigin(e.data),this.force()}async updateFormItem(e,t){const r=Object.assign(Object.assign({},this.params),this.data.getRequestData()),i=(await this.service.updateFormItem(e,this.context,r)).data;if(i&&(null==t?void 0:t.length))for(const e of t)this.setDataValue(e,i[e])}async wfStart(e={}){if(!await this.validate())throw new RuntimeError("请检查表单填写!");await this.startLoading();try{await this.service.wfStart(this.context,Object.assign(Object.assign({},this.params),e),this.data)}finally{await this.endLoading()}ibiz.message.success("流程启动成功")}async wfSubmit(e={}){if(!await this.validate())throw new RuntimeError("请检查表单填写!");await this.startLoading();try{await this.service.wfSubmit(this.context,Object.assign(Object.assign({},this.params),e),this.data)}finally{await this.endLoading()}ibiz.message.success("流程提交成功")}}class SearchFormController extends FormController{constructor(){super(...arguments),this.state=new SearchFormState}createNerve(){return new SearchFormNerve(this)}async onInit(){await super.onInit(),this.service=new SearchFormService(this.model),await this.service.init(this.context),await this.load()}async load(){const e=await this.service.getDraft(this.context,this.params);return this.state.data=e.data,this.state.isLoaded=!0,this.formStateNotify(FormNotifyState.DRAFT),this.force(),this.data}getParams(){return Object.assign({},this.data.getRequestData())}async onSearchButtonClick(){await this.nerve.self.evt.asyncEmit("search")}async reset(){await this.load(),await this.nerve.self.evt.asyncEmit("search")}async dataChangeNotify(e){await super.dataChangeNotify(e),this.model.source.enableAutoSearch&&this.nerve.self.evt.asyncEmit("search")}async onKeyUp(e){const t=e||window.event;t&&"Enter"===t.code&&await this.onSearchButtonClick()}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},_extends.apply(this,arguments)}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,_setPrototypeOf(e,t)}function _getPrototypeOf(e){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_getPrototypeOf(e)}function _setPrototypeOf(e,t){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_setPrototypeOf(e,t)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function _construct(e,t,r){return _construct=_isNativeReflectConstruct()?Reflect.construct.bind():function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&_setPrototypeOf(n,r.prototype),n},_construct.apply(null,arguments)}function _isNativeFunction(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _wrapNativeSuper(e){var t="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(e){if(null===e||!_isNativeFunction(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(r,e)},_wrapNativeSuper(e)}var formatRegExp=/%[sdj%]/g,warning=function(){};function convertFieldsError(e){if(!e||!e.length)return null;var t={};return e.forEach((function(e){var r=e.field;t[r]=t[r]||[],t[r].push(e)})),t}function format(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var n=0,s=r.length;if("function"==typeof e)return e.apply(null,r);if("string"==typeof e){var o=e.replace(formatRegExp,(function(e){if("%%"===e)return"%";if(n>=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}break;default:return e}}));return o}return e}function isNativeStringType(e){return"string"===e||"url"===e||"hex"===e||"email"===e||"date"===e||"pattern"===e}function isEmptyValue(e,t){return null==e||(!("array"!==t||!Array.isArray(e)||e.length)||!(!isNativeStringType(t)||"string"!=typeof e||e))}function asyncParallelArray(e,t,r){var i=[],n=0,s=e.length;function o(e){i.push.apply(i,e||[]),++n===s&&r(i)}e.forEach((function(e){t(e,o)}))}function asyncSerialArray(e,t,r){var i=0,n=e.length;!function s(o){if(o&&o.length)r(o);else{var a=i;i+=1,a<n?t(e[a],s):r([])}}([])}function flattenObjArr(e){var t=[];return Object.keys(e).forEach((function(r){t.push.apply(t,e[r]||[])})),t}"undefined"!=typeof process&&process.env&&"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&"undefined"!=typeof document&&(warning=function(e,t){"undefined"!=typeof console&&console.warn&&"undefined"==typeof ASYNC_VALIDATOR_NO_WARNING&&t.every((function(e){return"string"==typeof e}))&&console.warn(e,t)});var AsyncValidationError=function(e){function t(t,r){var i;return(i=e.call(this,"Async Validation Error")||this).errors=t,i.fields=r,i}return _inheritsLoose(t,e),t}(_wrapNativeSuper(Error));function asyncMap(e,t,r,i,n){if(t.first){var s=new Promise((function(t,s){asyncSerialArray(flattenObjArr(e),r,(function(e){return i(e),e.length?s(new AsyncValidationError(e,convertFieldsError(e))):t(n)}))}));return s.catch((function(e){return e})),s}var o=!0===t.firstFields?Object.keys(e):t.firstFields||[],a=Object.keys(e),l=a.length,c=0,u=[],d=new Promise((function(t,s){var d=function(e){if(u.push.apply(u,e),++c===l)return i(u),u.length?s(new AsyncValidationError(u,convertFieldsError(u))):t(n)};a.length||(i(u),t(n)),a.forEach((function(t){var i=e[t];-1!==o.indexOf(t)?asyncSerialArray(i,r,d):asyncParallelArray(i,r,d)}))}));return d.catch((function(e){return e})),d}function isErrorObj(e){return!(!e||void 0===e.message)}function getValue(e,t){for(var r=e,i=0;i<t.length;i++){if(null==r)return r;r=r[t[i]]}return r}function complementError(e,t){return function(r){var i;return i=e.fullFields?getValue(t,e.fullFields):t[r.field||e.fullField],isErrorObj(r)?(r.field=r.field||e.fullField,r.fieldValue=i,r):{message:"function"==typeof r?r():r,fieldValue:i,field:r.field||e.fullField}}}function deepMerge(e,t){if(t)for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];"object"==typeof i&&"object"==typeof e[r]?e[r]=_extends({},e[r],i):e[r]=i}return e}var required$1=function(e,t,r,i,n,s){!e.required||r.hasOwnProperty(e.field)&&!isEmptyValue(t,s||e.type)||i.push(format(n.messages.required,e.fullField))},whitespace=function(e,t,r,i,n){(/^\s+$/.test(t)||""===t)&&i.push(format(n.messages.whitespace,e.fullField))},urlReg,getUrlRegex=function(){if(urlReg)return urlReg;var e="[a-fA-F\\d:]",t=function(t){return t&&t.includeBoundaries?"(?:(?<=\\s|^)(?="+e+")|(?<="+e+")(?=\\s|$))":""},r="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",i="[a-fA-F\\d]{1,4}",n=("\n(?:\n(?:"+i+":){7}(?:"+i+"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:"+i+":){6}(?:"+r+"|:"+i+"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:"+i+":){5}(?::"+r+"|(?::"+i+"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:"+i+":){4}(?:(?::"+i+"){0,1}:"+r+"|(?::"+i+"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:"+i+":){3}(?:(?::"+i+"){0,2}:"+r+"|(?::"+i+"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:"+i+":){2}(?:(?::"+i+"){0,3}:"+r+"|(?::"+i+"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:"+i+":){1}(?:(?::"+i+"){0,4}:"+r+"|(?::"+i+"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::"+i+"){0,5}:"+r+"|(?::"+i+"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),s=new RegExp("(?:^"+r+"$)|(?:^"+n+"$)"),o=new RegExp("^"+r+"$"),a=new RegExp("^"+n+"$"),l=function(e){return e&&e.exact?s:new RegExp("(?:"+t(e)+r+t(e)+")|(?:"+t(e)+n+t(e)+")","g")};l.v4=function(e){return e&&e.exact?o:new RegExp(""+t(e)+r+t(e),"g")},l.v6=function(e){return e&&e.exact?a:new RegExp(""+t(e)+n+t(e),"g")};var c=l.v4().source,u=l.v6().source;return urlReg=new RegExp("(?:^"+("(?:(?:(?:[a-z]+:)?//)|www\\.)(?:\\S+(?::\\S*)?@)?(?:localhost|"+c+"|"+u+'|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:[/?#][^\\s"]*)?')+"$)","i")},pattern$2={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},types={integer:function(e){return types.number(e)&&parseInt(e,10)===e},float:function(e){return types.number(e)&&!types.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!types.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(pattern$2.email)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(getUrlRegex())},hex:function(e){return"string"==typeof e&&!!e.match(pattern$2.hex)}},type$1=function(e,t,r,i,n){if(e.required&&void 0===t)required$1(e,t,r,i,n);else{var s=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(s)>-1?types[s](t)||i.push(format(n.messages.types[s],e.fullField,e.type)):s&&typeof t!==e.type&&i.push(format(n.messages.types[s],e.fullField,e.type))}},range=function(e,t,r,i,n){var s="number"==typeof e.len,o="number"==typeof e.min,a="number"==typeof e.max,l=t,c=null,u="number"==typeof t,d="string"==typeof t,h=Array.isArray(t);if(u?c="number":d?c="string":h&&(c="array"),!c)return!1;h&&(l=t.length),d&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),s?l!==e.len&&i.push(format(n.messages[c].len,e.fullField,e.len)):o&&!a&&l<e.min?i.push(format(n.messages[c].min,e.fullField,e.min)):a&&!o&&l>e.max?i.push(format(n.messages[c].max,e.fullField,e.max)):o&&a&&(l<e.min||l>e.max)&&i.push(format(n.messages[c].range,e.fullField,e.min,e.max))},ENUM$1="enum",enumerable$1=function(e,t,r,i,n){e[ENUM$1]=Array.isArray(e[ENUM$1])?e[ENUM$1]:[],-1===e[ENUM$1].indexOf(t)&&i.push(format(n.messages[ENUM$1],e.fullField,e[ENUM$1].join(", ")))},pattern$1=function(e,t,r,i,n){if(e.pattern)if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||i.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern));else if("string"==typeof e.pattern){new RegExp(e.pattern).test(t)||i.push(format(n.messages.pattern.mismatch,e.fullField,t,e.pattern))}},rules={required:required$1,whitespace:whitespace,type:type$1,range:range,enum:enumerable$1,pattern:pattern$1},string=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return r();rules.required(e,t,i,s,n,"string"),isEmptyValue(t,"string")||(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n),rules.pattern(e,t,i,s,n),!0===e.whitespace&&rules.whitespace(e,t,i,s,n))}r(s)},method=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},number=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(""===t&&(t=void 0),isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},_boolean=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},regexp=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),isEmptyValue(t)||rules.type(e,t,i,s,n)}r(s)},integer=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},floatFn=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},array=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(null==t&&!e.required)return r();rules.required(e,t,i,s,n,"array"),null!=t&&(rules.type(e,t,i,s,n),rules.range(e,t,i,s,n))}r(s)},object=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules.type(e,t,i,s,n)}r(s)},ENUM="enum",enumerable=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n),void 0!==t&&rules[ENUM](e,t,i,s,n)}r(s)},pattern=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"string")&&!e.required)return r();rules.required(e,t,i,s,n),isEmptyValue(t,"string")||rules.pattern(e,t,i,s,n)}r(s)},date=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,"date")&&!e.required)return r();var o;if(rules.required(e,t,i,s,n),!isEmptyValue(t,"date"))o=t instanceof Date?t:new Date(t),rules.type(e,o,i,s,n),o&&rules.range(e,o.getTime(),i,s,n)}r(s)},required=function(e,t,r,i,n){var s=[],o=Array.isArray(t)?"array":typeof t;rules.required(e,t,i,s,n,o),r(s)},type=function(e,t,r,i,n){var s=e.type,o=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t,s)&&!e.required)return r();rules.required(e,t,i,o,n,s),isEmptyValue(t,s)||rules.type(e,t,i,o,n)}r(o)},any=function(e,t,r,i,n){var s=[];if(e.required||!e.required&&i.hasOwnProperty(e.field)){if(isEmptyValue(t)&&!e.required)return r();rules.required(e,t,i,s,n)}r(s)},validators={string:string,method:method,number:number,boolean:_boolean,regexp:regexp,integer:integer,float:floatFn,array:array,object:object,enum:enumerable,pattern:pattern,date:date,url:type,hex:type,email:type,required:required,any:any};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var messages=newMessages(),Schema=function(){function e(e){this.rules=null,this._messages=messages,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw new Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw new Error("Rules must be an object");this.rules={},Object.keys(e).forEach((function(r){var i=e[r];t.rules[r]=Array.isArray(i)?i:[i]}))},t.messages=function(e){return e&&(this._messages=deepMerge(newMessages(),e)),this._messages},t.validate=function(t,r,i){var n=this;void 0===r&&(r={}),void 0===i&&(i=function(){});var s=t,o=r,a=i;if("function"==typeof o&&(a=o,o={}),!this.rules||0===Object.keys(this.rules).length)return a&&a(null,s),Promise.resolve(s);if(o.messages){var l=this.messages();l===messages&&(l=newMessages()),deepMerge(l,o.messages),o.messages=l}else o.messages=this.messages();var c={};(o.keys||Object.keys(this.rules)).forEach((function(e){var r=n.rules[e],i=s[e];r.forEach((function(r){var o=r;"function"==typeof o.transform&&(s===t&&(s=_extends({},s)),i=s[e]=o.transform(i)),(o="function"==typeof o?{validator:o}:_extends({},o)).validator=n.getValidationMethod(o),o.validator&&(o.field=e,o.fullField=o.fullField||e,o.type=n.getType(o),c[e]=c[e]||[],c[e].push({rule:o,value:i,source:s,field:e}))}))}));var u={};return asyncMap(c,o,(function(t,r){var i,n=t.rule,a=!("object"!==n.type&&"array"!==n.type||"object"!=typeof n.fields&&"object"!=typeof n.defaultField);function l(e,t){return _extends({},t,{fullField:n.fullField+"."+e,fullFields:n.fullFields?[].concat(n.fullFields,[e]):[e]})}function c(i){void 0===i&&(i=[]);var c=Array.isArray(i)?i:[i];!o.suppressWarning&&c.length&&e.warning("async-validator:",c),c.length&&void 0!==n.message&&(c=[].concat(n.message));var d=c.map(complementError(n,s));if(o.first&&d.length)return u[n.field]=1,r(d);if(a){if(n.required&&!t.value)return void 0!==n.message?d=[].concat(n.message).map(complementError(n,s)):o.error&&(d=[o.error(n,format(o.messages.required,n.field))]),r(d);var h={};n.defaultField&&Object.keys(t.value).map((function(e){h[e]=n.defaultField})),h=_extends({},h,t.rule.fields);var p={};Object.keys(h).forEach((function(e){var t=h[e],r=Array.isArray(t)?t:[t];p[e]=r.map(l.bind(null,e))}));var f=new e(p);f.messages(o.messages),t.rule.options&&(t.rule.options.messages=o.messages,t.rule.options.error=o.error),f.validate(t.value,t.rule.options||o,(function(e){var t=[];d&&d.length&&t.push.apply(t,d),e&&e.length&&t.push.apply(t,e),r(t.length?t:null)}))}else r(d)}if(a=a&&(n.required||!n.required&&t.value),n.field=t.field,n.asyncValidator)i=n.asyncValidator(n,t.value,c,t.source,o);else if(n.validator){try{i=n.validator(n,t.value,c,t.source,o)}catch(e){null==console.error||console.error(e),o.suppressValidatorError||setTimeout((function(){throw e}),0),c(e.message)}!0===i?c():!1===i?c("function"==typeof n.message?n.message(n.fullField||n.field):n.message||(n.fullField||n.field)+" fails"):i instanceof Array?c(i):i instanceof Error&&c(i.message)}i&&i.then&&i.then((function(){return c()}),(function(e){return c(e)}))}),(function(e){!function(e){for(var t,r,i=[],n={},o=0;o<e.length;o++)t=e[o],r=void 0,Array.isArray(t)?i=(r=i).concat.apply(r,t):i.push(t);i.length?(n=convertFieldsError(i),a(i,n)):a(null,s)}(e)}),s)},t.getType=function(e){if(void 0===e.type&&e.pattern instanceof RegExp&&(e.type="pattern"),"function"!=typeof e.validator&&e.type&&!validators.hasOwnProperty(e.type))throw new Error(format("Unknown rule type %s",e.type));return e.type||"string"},t.getValidationMethod=function(e){if("function"==typeof e.validator)return e.validator;var t=Object.keys(e),r=t.indexOf("message");return-1!==r&&t.splice(r,1),1===t.length&&"required"===t[0]?validators.required:validators[this.getType(e)]||void 0},e}();Schema.register=function(e,t){if("function"!=typeof t)throw new Error("Cannot register a validator by type, validator is not a function");validators[e]=t},Schema.warning=warning,Schema.messages=messages,Schema.validators=validators;var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},dayjs_minExports={},dayjs_min={get exports(){return dayjs_minExports},set exports(e){dayjs_minExports=e}},module;module=dayjs_min,module.exports=function(){var e=1e3,t=6e4,r=36e5,i="millisecond",n="second",s="minute",o="hour",a="day",l="week",c="month",u="quarter",d="year",h="date",p="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,m={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}},g=function(e,t,r){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(r)+e},v={s:g,z:function(e){var t=-e.utcOffset(),r=Math.abs(t),i=Math.floor(r/60),n=r%60;return(t<=0?"+":"-")+g(i,2,"0")+":"+g(n,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var i=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(i,c),s=r-n<0,o=t.clone().add(i+(s?-1:1),c);return+(-(i+(r-n)/(s?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:l,d:a,D:h,h:o,m:s,s:n,ms:i,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",b={};b[y]=m;var N=function(e){return e instanceof P},C=function e(t,r,i){var n;if(!t)return y;if("string"==typeof t){var s=t.toLowerCase();b[s]&&(n=s),r&&(b[s]=r,n=s);var o=t.split("-");if(!n&&o.length>1)return e(o[0])}else{var a=t.name;b[a]=t,n=a}return!i&&n&&(y=n),n||!i&&y},E=function(e,t){if(N(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new P(r)},V=v;V.l=C,V.i=N,V.w=function(e,t){return E(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var P=function(){function m(e){this.$L=C(e.locale,null,!0),this.parse(e)}var g=m.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(V.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(f);if(i){var n=i[2]-1||0,s=(i[7]||"0").substring(0,3);return r?new Date(Date.UTC(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)):new Date(i[1],n,i[3]||1,i[4]||0,i[5]||0,i[6]||0,s)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return V},g.isValid=function(){return!(this.$d.toString()===p)},g.isSame=function(e,t){var r=E(e);return this.startOf(t)<=r&&r<=this.endOf(t)},g.isAfter=function(e,t){return E(e)<this.startOf(t)},g.isBefore=function(e,t){return this.endOf(t)<E(e)},g.$g=function(e,t,r){return V.u(e)?this[t]:this.set(r,e)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(e,t){var r=this,i=!!V.u(t)||t,u=V.p(e),p=function(e,t){var n=V.w(r.$u?Date.UTC(r.$y,t,e):new Date(r.$y,t,e),r);return i?n:n.endOf(a)},f=function(e,t){return V.w(r.toDate()[e].apply(r.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(t)),r)},w=this.$W,m=this.$M,g=this.$D,v="set"+(this.$u?"UTC":"");switch(u){case d:return i?p(1,0):p(31,11);case c:return i?p(1,m):p(0,m+1);case l:var y=this.$locale().weekStart||0,b=(w<y?w+7:w)-y;return p(i?g-b:g+(6-b),m);case a:case h:return f(v+"Hours",0);case o:return f(v+"Minutes",1);case s:return f(v+"Seconds",2);case n:return f(v+"Milliseconds",3);default:return this.clone()}},g.endOf=function(e){return this.startOf(e,!1)},g.$set=function(e,t){var r,l=V.p(e),u="set"+(this.$u?"UTC":""),p=(r={},r[a]=u+"Date",r[h]=u+"Date",r[c]=u+"Month",r[d]=u+"FullYear",r[o]=u+"Hours",r[s]=u+"Minutes",r[n]=u+"Seconds",r[i]=u+"Milliseconds",r)[l],f=l===a?this.$D+(t-this.$W):t;if(l===c||l===d){var w=this.clone().set(h,1);w.$d[p](f),w.init(),this.$d=w.set(h,Math.min(this.$D,w.daysInMonth())).$d}else p&&this.$d[p](f);return this.init(),this},g.set=function(e,t){return this.clone().$set(e,t)},g.get=function(e){return this[V.p(e)]()},g.add=function(i,u){var h,p=this;i=Number(i);var f=V.p(u),w=function(e){var t=E(p);return V.w(t.date(t.date()+Math.round(e*i)),p)};if(f===c)return this.set(c,this.$M+i);if(f===d)return this.set(d,this.$y+i);if(f===a)return w(1);if(f===l)return w(7);var m=(h={},h[s]=t,h[o]=r,h[n]=e,h)[f]||1,g=this.$d.getTime()+i*m;return V.w(g,this)},g.subtract=function(e,t){return this.add(-1*e,t)},g.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||p;var i=e||"YYYY-MM-DDTHH:mm:ssZ",n=V.z(this),s=this.$H,o=this.$m,a=this.$M,l=r.weekdays,c=r.months,u=function(e,r,n,s){return e&&(e[r]||e(t,i))||n[r].slice(0,s)},d=function(e){return V.s(s%12||12,e,"0")},h=r.meridiem||function(e,t,r){var i=e<12?"AM":"PM";return r?i.toLowerCase():i},f={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:V.s(a+1,2,"0"),MMM:u(r.monthsShort,a,c,3),MMMM:u(c,a),D:this.$D,DD:V.s(this.$D,2,"0"),d:String(this.$W),dd:u(r.weekdaysMin,this.$W,l,2),ddd:u(r.weekdaysShort,this.$W,l,3),dddd:l[this.$W],H:String(s),HH:V.s(s,2,"0"),h:d(1),hh:d(2),a:h(s,o,!0),A:h(s,o,!1),m:String(o),mm:V.s(o,2,"0"),s:String(this.$s),ss:V.s(this.$s,2,"0"),SSS:V.s(this.$ms,3,"0"),Z:n};return i.replace(w,(function(e,t){return t||f[e]||n.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(i,h,p){var f,w=V.p(h),m=E(i),g=(m.utcOffset()-this.utcOffset())*t,v=this-m,y=V.m(this,m);return y=(f={},f[d]=y/12,f[c]=y,f[u]=y/3,f[l]=(v-g)/6048e5,f[a]=(v-g)/864e5,f[o]=v/r,f[s]=v/t,f[n]=v/e,f)[w]||v,p?y:V.a(y)},g.daysInMonth=function(){return this.endOf(c).$D},g.$locale=function(){return b[this.$L]},g.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),i=C(e,t,!0);return i&&(r.$L=i),r},g.clone=function(){return V.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},m}(),S=P.prototype;return E.prototype=S,[["$ms",i],["$s",n],["$m",s],["$H",o],["$W",a],["$M",c],["$y",d],["$D",h]].forEach((function(e){S[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),E.extend=function(e,t){return e.$i||(e(t,P,E),e.$i=!0),E},E.locale=C,E.isDayjs=N,E.unix=function(e){return E(1e3*e)},E.en=b[y],E.Ls=b,E.p={},E}();class MDItemController{constructor(e,t){this.data=e}destroy(){this.data=void 0}}class MDController extends MainController{constructor(){super(...arguments),this.state=new MDState,this.singleSelect=!1,this.isSelectFirstDefault=!1,this.defaultSelectKeys=[],this.isExpView=!1,this.mdCtrlActiveMode=2}createNerve(){return new MDControlNerve(this)}async onInit(){await super.onInit()}setIsSelectFirstDefault(e){"boolean"==typeof e&&(this.isSelectFirstDefault=e)}setDefaultSelectKeys(e){e&&(this.defaultSelectKeys=e)}setMdCtrlActiveMode(e){this.mdCtrlActiveMode=void 0===e?2:e}setIsExpView(e){"boolean"==typeof e&&(this.isExpView=e)}async getParams(){const e=await this.nerve.self.evt.asyncEmit("beforeLoad"),t=e.length>0?e.reduce(((e,t)=>Object.assign(e,t))):{};return Object.assign(Object.assign(Object.assign({},this.params),t),{page:this.state.curPage-1,size:this.state.size})}async load(){const e=await this.getParams();let t;await this.startLoading();try{t=await this.service.fetch(this.context,e)}finally{await this.endLoading()}t.total&&(this.state.total=t.total),t.data.forEach((e=>{e.reactiveInit()})),await this.afterLoad(t.data);const r=!1===this.state.hasLoaded;return this.state.hasLoaded=!0,await this.nerve.self.evt.asyncEmit("afterLoad",this.state.items,r),this.force(),this.state.items}async afterLoad(e){if(this.state.items=e,!this.state.hasLoaded&&this.isSelectFirstDefault&&this.state.items[0])if(0===this.defaultSelectKeys.length)await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[0]);else if(this.defaultSelectKeys.length>0){let e=0;this.state.items.forEach(((t,r)=>{for(let i=0;i<this.defaultSelectKeys.length;i++){if(this.defaultSelectKeys[i]===t.srfkey){e=r;break}}})),await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[e])}return this.state.items}async remove(){const e=this.state.selectedData;if(0===e.length)throw new RuntimeError("未选中数据");await this.startLoading();try{await Promise.allSettled(e.map((async e=>{e.srfuf!==Srfuf.CREATE&&await this.service.remove(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),this.params),this.afterRemove(e)})))}finally{await this.endLoading()}this.state.selectedData=[],this.isExpView&&await this.nerve.self.evt.asyncEmit("dataActive",this.state.items[0]),await this.nerve.self.evt.asyncEmit("afterRemove",e),this.force()}afterRemove(e){const t=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(t,1)}getData(){return this.state.selectedData||[]}async selectAll(){return this.state.selectedData=[...this.state.items],this.nerve.self.evt.emit("selectionChange",this.state.selectedData),this.state.selectedData}onSelectionChange(e){this.state.selectedData=e,this.nerve.self.evt.emit("selectionChange",e)}async importData(){const{appEntity:e,dataImport:t}=this.model;let r=`${e.deNamePlural}/importtemplate`,i=`${e.deNamePlural}/importdata2`;t&&(r+=`?srfimporttag=${t.codeName}`,i+=`?srfimporttag=${t.codeName}`);const n=ibiz.overlay.createModal("DataImport",{dismiss:()=>n.dismiss(),templateUrl:r,importUrl:i},{width:"auto",placement:"center"});n.present(),await n.onWillDismiss()}async exportData(e){const{dataExport:t,appEntity:r}=this.model;if(!t)throw new DefectModelError(this.model.source,"没有配置实体导出模型!");if(!t.enableBackend)throw new UnsupportedModelError(t,"前台导出暂未支持!");const i=ibiz.overlay.createPopover("DataExport",{dismiss:e=>i.dismiss(e),maxRowCount:t.maxRowCount||1e3,pageSize:this.state.size},{autoClose:!0,placement:"bottom-end"});i.present(e.target);const n=await i.onWillDismiss();if(!n)return;const s=await this.getParams();Object.assign(s,n);const{data:o}=await this.service.exportData(t,this.context,s),a=`${r.source.logicName}表.xlsx`;downloadFileFromBlob(o,a)}}class GridController extends MDController{constructor(){super(...arguments),this.state=new GridState,this.columns={},this.fieldColumns={},this.uaColumns={},this.editItems={},this.providers={},this.rows=[],this.hasWidthFlexGrow=!1}get noSort(){return this.model.source.noSort}createNerve(){return new GridNerve(this)}async onInit(){await super.onInit(),this.state.size=this.model.size,this.state.singleSelect=this.model.source.singleSelect,this.service=new GridService(this.model),await this.service.init(this.context),this.hasWidthFlexGrow=!!this.model.columns.find((e=>e.widthFlexGrow)),await this.initGridColumns(),this.dataChangeNotify=debounceAndAsyncMerge(this.dataChangeNotify.bind(this),((e,t)=>[e[0],Array.from(new Set([...e[1],...t[1]]))]),200),this.nerve.self.evt.on("beforeLoad",(()=>this.sortQuery?{sort:this.sortQuery}:{})),this.setSort()}async afterLoad(e){return await super.afterLoad(e),await Promise.allSettled(Object.values(this.fieldColumns).map((async e=>{await e.loadCodeList()}))),this.state.rows=e.map((e=>{const t=new GridRowController(e,this);return this.gridStateNotify(t,GridNotifyState.LOAD),t})),e}afterRemove(e){super.afterRemove(e);const t=this.state.rows.findIndex((t=>t.data.srfkey===e.srfkey));this.state.rows[t].destroy(),this.state.rows.splice(t,1)}async newRow(){const e=await this.service.getDraft(this.context,this.params);this.state.items.unshift(e.data);const t=new GridRowController(e.data,this);this.state.rows.unshift(t),this.gridStateNotify(t,GridNotifyState.DRAFT)}async save(e){const t=this.state.rows.find((t=>t.data.srfkey===e.srfkey));if(!t)throw new RuntimeError("行数据不存在");if(!t.modified)return void ibiz.log.debug("值没有发生改变");t.processing&&await awaitTimeout(500,this.save.bind(this),[e]);if(!await this.validate(t))throw new RuntimeError("行数据校验不通过,保存取消");let r;await this.startLoading();const i=e.srfuf===Srfuf.CREATE;try{r=i?await this.service.create(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e):await this.service.update(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e)}finally{await this.endLoading()}const n=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(n,1,r.data),t.data=r.data,t.modified=!1,ibiz.message.success(`${r.data.srfmajortext||""}保存成功`),this.gridStateNotify(t,GridNotifyState.SAVE),await this.nerve.self.evt.asyncEmit("afterSave",[r.data],i)}async onRowClick(e){1===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async onDbRowClick(e){2===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async initGridColumns(){await Promise.all(this.model.columns.map((async e=>{const t=await ibiz.register.gridColumn.get(e);this.providers[e.codeName]=t;const r=await t.createController(e,this);this.columns[e.codeName]=r,"DEFGRIDCOLUMN"===e.source.columnType?this.fieldColumns[e.codeName]=r:"UAGRIDCOLUMN"===e.source.columnType&&(this.uaColumns[e.codeName]=r)}))),await Promise.all(this.model.editItems.map((async e=>{if(!this.editItems[e.codeName]){const t=new GridEditItemController(e,this);return this.editItems[e.codeName]=t,t.init()}})))}async setRowValue(e,t,r){if(!Object.prototype.hasOwnProperty.call(e.data,t)||e.data[t]!==r){e.data[t]=r,e.modified=!0,e.processing=!0;try{await this.dataChangeNotify(e,[t])}finally{e.processing=!1}this.force()}}async dataChangeNotify(e,t){const r=await Promise.allSettled(Object.values(this.editItems).map((async r=>r.dataChangeNotify(e,t))));if(r.find((e=>"rejected"===e.status)))throw ibiz.log.error("dataChangeNotify报错",r),new RuntimeError("数据变更后有错误")}gridStateNotify(e,t){Object.values(this.editItems).forEach((r=>{r.gridStateNotify(e,t)}))}async validate(e){return-1===(await Promise.all(Object.values(this.editItems).map((t=>t.validate(e))))).findIndex((e=>!e))}async toggleRowEdit(e){!0===e.showRowEdit&&await this.save(e.data),e.showRowEdit=!e.showRowEdit}setSort(e,t){if(e&&t)this.sortQuery=`${e},${t}`;else{const{defaultSortField:e,defaultSortDir:t}=this.model;this.sortQuery=e&&t?`${e},${t}`:void 0}}async updateGridEditItem(e,t,r){const i=Object.assign(Object.assign({},this.params),e.data.getRequestData()),n=(await this.service.updateGridEditItem(t,this.context,i)).data;n&&(null==r?void 0:r.length)&&await Promise.all(r.map((t=>this.setRowValue(e,t,n[t]))))}}class GridEditItemController{get context(){return this.grid.context}get params(){return this.grid.params}get required(){return!this.model.source.allowEmpty}constructor(e,t){this.title="",this.rules=[],this.model=e,this.grid=t}async init(){await this.onInit()}async onInit(){var e;this.title=(null===(e=this.model.gridFieldColumn)||void 0===e?void 0:e.title)||"",this.model.editor&&"HIDDEN"!==this.model.editor.editorType&&(this.editorProvider=await ibiz.register.editor.get(this.model.editor),this.editorProvider&&(this.editor=await this.editorProvider.createController(this.model.editor,this),await this.editor.init(),await this.initRules()))}async initRules(){const e=this.model.editItemVRs;e&&(this.rules=generateRules(e,this.model.codeName,this.model.source.valueItemName),this.validator=new Schema({[this.model.codeName]:this.rules}))}async setRowValue(e,t,r){r=r||this.model.codeName,await this.grid.setRowValue(e,r,t)}async dataChangeNotify(e,t){if(t.includes(this.model.codeName)||t.includes(this.model.source.valueItemName)){if(!await this.validate(e))throw new RuntimeError(`${this.model.codeName}校验报错`)}if(t.includes(this.model.codeName)&&this.model.gridItemUpdate){const{methodName:t,itemNames:r}=this.model.gridItemUpdate;await this.grid.updateGridEditItem(e,t,r)}}gridStateNotify(e,t){this.calcEnableCond(e)}calcEnableCond(e){const{enableCond:t}=this.model.source,r=e.data.srfuf===Srfuf.CREATE;(0===t||r&&2===t||!r&&1===t)&&(e.columnState[this.model.codeName].disabled=!0)}async validate(e){const t=this.model.codeName;if(this.validator)try{await this.validator.validate(e.data)}catch({errors:r,_fields:i}){return e.errors[t]=r[0].message,!1}return e.errors[t]=null,!0}}class GridRowController extends MDItemController{constructor(e,t){super(e,t),this.errors={},this.uaColumnStates={},this.columnState={},this.showRowEdit=!1,this.modified=!1,this.processing=!1,Object.keys(this.data).forEach((e=>{void 0===this.errors[e]&&(this.errors[e]=null)})),e.srfuf===Srfuf.CREATE&&(this.showRowEdit=!0),Object.values(t.uaColumns).forEach((e=>{e.initActionStates(this)})),Object.values(t.editItems).forEach((e=>{this.columnState[e.model.codeName]={disabled:!1,editable:!1}}))}destroy(){super.destroy(),clearAll(this.errors)}}class ListController extends MDController{constructor(){super(...arguments),this.state=new ListState,this.isAddBehind=!1}createNerve(){return new ListNerve(this)}async onInit(){await super.onInit(),this.service=new ListService(this.model),await this.service.init(this.context),this.nerve.self.evt.on("beforeLoad",(()=>this.sortQuery?{sort:this.sortQuery}:{}));const{defaultSortField:e,defaultSortDir:t}=this.model;e&&t&&this.setSort(e,t),this.model.layoutPanel&&(this.layoutPanelProvider=await ibiz.register.control.get(this.model.layoutPanel))}setSort(e,t){this.sortQuery=`${e},${t}`}async loadMore(e){e.stopPropagation(),this.state.total>this.state.items.length&&(this.state.curPage+=1,this.isAddBehind=!0,this.load())}async load(){const e=await super.load();return this.isAddBehind=!1,e}async afterLoad(e){let t=[];return this.isAddBehind?(this.state.items.push(...e),t=this.state.items):t=e,await super.afterLoad(t),this.model.enableGroup&&await this.handleGroup(this.state.items),this.state.rows=this.state.items.map((e=>new MDItemController(e,this))),this.state.items}async handleGroup(e){Object.is(this.model.groupMode,"AUTO")?await this.drawGroup(e):Object.is(this.model.groupMode,"CODELIST")&&await this.drawCodeListGroup(e)}async drawGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");const t=[...e];let r=[];t.forEach((e=>{Object.prototype.hasOwnProperty.call(e,this.model.groupAppField)&&r.push(e[this.model.groupAppField])})),r=[...new Set(r)],0===r.length&&ibiz.log.warn("分组数据无效");const i=[];r.forEach((e=>{const r=[];t.forEach((t=>{Object.is(e,t[this.model.groupAppField])&&r.push(t)}));const n={group:e=e||"其他",children:r};i.push(n)})),this.state.groupData=i}async drawCodeListGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");let t=[];const r=[...e];if(this.model.groupCodeList){const e=await this.app.codeList.get(this.model.groupCodeList.codeName,this.context,this.params);t=clone$1(e)}0===t.length&&ibiz.log.warn("分组数据无效");const i=[];t.forEach((e=>{const t=[];r.forEach((r=>{Object.is(e.value,r[this.model.groupAppField])&&t.push(r)}));const n={group:e.text,codeListItem:e,children:t};i.push(n)}));const n=[];r.forEach((e=>{t.findIndex((t=>Object.is(t.value,e[this.model.groupAppField])))<0&&n.push(e)}));const s={group:"其他",children:n};n&&n.length>0&&i.push(s),this.state.groupData=i}async handleClick(e){1===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async handleDblClick(e){2===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}}class TreeController extends MDController{constructor(){super(...arguments),this.state=new TreeState}createNerve(){return new TreeNerve(this)}async onInit(){await super.onInit(),this.service=new TreeService(this.model),await this.service.init(this.context)}async load(){const e=await this.loadNodes(void 0)||[],t=!1===this.state.hasLoaded;return this.state.hasLoaded=!0,await this.nerve.self.evt.asyncEmit("afterLoad",this.state.treeNodes,t),e}async loadNodes(e){const t=await this.getParams(),r=!!t.query;let i;e||(this.state.rootNode=new TreeStaticNodeData(this.model.rootNode,{hasQuery:r}),e=this.state.rootNode),await this.startLoading();try{i=await this.service.fetchChildNodes(e,{context:new IBizContext({},this.context),params:t,hasQuery:r})||[]}finally{await this.endLoading()}return e.children=i,i}async onTreeNodeClick(e){await this.nerve.self.evt.asyncEmit("dataActive",e)}}class ViewPanelController extends ControlController{createNerve(){return new ViewPanelNerve(this)}async onInit(){await super.onInit()}}class PickupViewPanelController extends ViewPanelController{createNerve(){return new PickupViewPanelNerve(this)}async selectAll(){return this.nerve.embedView.call.selectAll()}}class LayoutPanelState extends ControlState{constructor(){super(...arguments),this.data={}}}class LayoutPanelController extends ControlController{constructor(){super(...arguments),this.state=new LayoutPanelState,this.panelItems={},this.providers={}}get data(){return this.state.data}setInputData(e){this.inputData=e}createNerve(){return new LayoutPanelNerve(this)}async onInit(){await super.onInit(),await this.initPanelItemControllers(),this.nerve.self.evt.on("mounted",(()=>{this.load()}))}async initPanelItemControllers(e=this.model.children,t=this,r){const{panelItem:i}=ibiz.register;if(!i)throw new RuntimeError("panelItem注册器不存在");await Promise.all(e.map((async e=>{var n;const s=await i.get(e);if(!s)throw new RuntimeError("找不到对应的适配器");t.providers[e.name]=s;const o=await s.createController(e,t,r);t.panelItems[e.name]=o,(null===(n=e.children)||void 0===n?void 0:n.length)&&await this.initPanelItemControllers(e.children,t,o)})))}async load(){const e=await this.prepareData();if(!e)throw new RuntimeError("未获取到面板数据");const t=this.convertData(e);this.state.data=t,this.panelStateNotify(PanelNotifyState.LOAD)}async prepareData(){let e;if(0===this.model.dataMode&&(e=this.inputData),1===this.model.dataMode)this.inputData&&(e=this.inputData);else e=this.inputData;return e}convertData(e){const t={};return this.model.panelFields.forEach((e=>{e.name!==e.dataFieldName&&(t[e.name]=e.dataFieldName)})),new Proxy(e,{get:(e,r,i)=>Reflect.ownKeys(t).includes(r)?Reflect.get(e,t[r],i):Reflect.get(e,r,i),set:(e,t,r,i)=>(Reflect.set(e,t,r,i),!0)})}dataChangeNotify(e){Object.values(this.panelItems).forEach((t=>{t.dataChangeNotify(e)}))}panelStateNotify(e){Object.values(this.panelItems).forEach((t=>{t.panelStateNotify(e)}))}async setDataValue(e,t){Object.prototype.hasOwnProperty.call(this.state.data,e)&&this.state.data[e]===t||(this.state.data[e]=t,this.dataChangeNotify([e]))}}class ViewLayoutPanelController extends ControlController{createNerve(){return new ViewLayoutPanelNerve(this)}async onInit(){await super.onInit()}}class DashboardController extends ControlController{constructor(){super(...arguments),this.providers={},this.portlets={}}createNerve(){return new DashboardNerve(this)}async onInit(){await super.onInit(),await this.initPortlets(this.model.children)}async initPortlets(e,t){await Promise.all(e.map((async e=>{var r;const i=await ibiz.register.portletPart.get(e);if(i){this.providers[e.name]=i;const n=await i.createController(e,this,t);this.portlets[e.name]=n,(null===(r=e.children)||void 0===r?void 0:r.length)&&await this.initPortlets(e.children,n)}})))}}class DataViewController extends MDController{constructor(){super(...arguments),this.state=new DataViewState,this.isAddBehind=!1}createNerve(){return new DataViewNerve(this)}get noSort(){return this.model.source.noSort}async onInit(){super.onInit(),this.state.size=this.model.size,this.state.singleSelect=this.model.source.singleSelect,this.service=new DataViewService(this.model),await this.service.init(this.context),this.nerve.self.evt.on("beforeLoad",(()=>this.sortQuery?{sort:this.sortQuery}:{}));const{defaultSortField:e,defaultSortDir:t}=this.model;e&&t&&this.setSort(e,t),this.model.layoutPanel&&(this.layoutPanelProvider=await ibiz.register.control.get(this.model.layoutPanel))}setSort(e,t){this.sortQuery=`${e},${t}`}async loadMore(e){e.stopPropagation(),this.state.total>this.state.items.length&&(this.state.curPage+=1,this.isAddBehind=!0,this.load())}async load(){const e=await super.load();return this.isAddBehind=!1,e}async afterLoad(e){let t=[];return this.isAddBehind?(this.state.items.push(...e),t=this.state.items):t=e,await super.afterLoad(t),this.model.enableGroup&&await this.handleGroup(this.state.items),this.state.rows=this.state.items.map((e=>new MDItemController(e,this))),this.state.items}async handleGroup(e){Object.is(this.model.groupMode,"AUTO")?await this.drawGroup(e):Object.is(this.model.groupMode,"CODELIST")&&await this.drawCodeListGroup(e)}async drawGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");const t=[...e];let r=[];t.forEach((e=>{Object.prototype.hasOwnProperty.call(e,this.model.groupAppField)&&r.push(e[this.model.groupAppField])})),r=[...new Set(r)],0===r.length&&ibiz.log.warn("分组数据无效");const i=[];r.forEach((e=>{const r=[];t.forEach((t=>{Object.is(e,t[this.model.groupAppField])&&r.push(t)}));const n={group:e=e||"其他",children:r};i.push(n)})),this.state.groupData=i}async drawCodeListGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");let t=[];const r=[...e];if(this.model.groupCodeList){const e=await this.app.codeList.get(this.model.groupCodeList.codeName,this.context,this.params);t=clone$1(e)}0===t.length&&ibiz.log.warn("分组数据无效");const i=[];t.forEach((e=>{const t=[];r.forEach((r=>{Object.is(e.value,r[this.model.groupAppField])&&t.push(r)}));const n={group:e.text,codeListItem:e,children:t};i.push(n)}));const n=[];r.forEach((e=>{t.findIndex((t=>Object.is(t.value,e[this.model.groupAppField])))<0&&n.push(e)}));const s={group:"其他",children:n};n&&n.length>0&&i.push(s),this.state.groupData=i}afterRemove(e){super.afterRemove(e);const t=this.state.rows.findIndex((t=>t.data.srfkey===e.srfkey));this.state.rows[t].destroy(),this.state.rows.splice(t,1)}async save(e){const t=this.state.rows.find((t=>t.data.srfkey===e.srfkey));if(!t)throw new RuntimeError("行数据不存在");let r;await this.startLoading();const i=e.srfuf===Srfuf.CREATE;try{r=i?await this.service.create(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e):await this.service.update(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e)}finally{await this.endLoading()}const n=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(n,1,r.data),t.data=r.data,ibiz.message.success(`${r.data.srfmajortext||""}保存成功`),await this.nerve.self.evt.asyncEmit("afterSave",[r.data],i)}async handleClick(e){1===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async handleDblClick(e){2===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}}class WizardPanelController extends ControlController{constructor(){super(...arguments),this.state=new WizardPanelState,this.tagHistory=[],this.providers={}}createNerve(){return new WizardPanelNerve(this)}get activeWizardForm(){const{activeFormTag:e}=this.state,t=this.model.wizard.wizardFormMap.get(e);return t||Logger.debug(`找不到${e}的向导表单`),t}get activeFormNeuron(){const{activeFormTag:e}=this.state,t=this.nerve.forms.get(e);if(!t)throw new RuntimeError(`找不到${e}的表单神经元`);return t}async onInit(){await super.onInit(),this.service=new WizardPanelService(this.model),await this.service.init(this.context);const{editFormMap:e}=this.model;e.size>0&&await Promise.all([...e.keys()].map((async t=>{const r=e.get(t);this.providers[t]=await ibiz.register.control.get(r)})))}async initialize(){const{initAction:e,wizard:t}=this.model;if(e){const e=await this.service.initialize(this.context,this.params),{deName:t,keyName:r}=this.model.appEntity;e.data&&e.data[r]&&(this.context[t]=e.data[r])}this.state.activeFormTag=t.firstForm.formTag,this.tagHistory.push(t.firstForm.formTag)}async finish(){await this.service.finish(this.context,this.params),this.nerve.self.evt.emit("afterFinish")}onFormMounted(e){const t=this.nerve.forms.get(e);if(!t)throw new RuntimeError(`找不到${e}对应的表单神经元`);t.call.load()}async onPrevClick(){await this.activeFormNeuron.call.goBack(),this.tagHistory.pop();const e=this.tagHistory[this.tagHistory.length-1];if(!e)throw new RuntimeError("没有上一个表单");this.state.activeFormTag=e}async onNextClick(){var e,t;const r=await this.activeFormNeuron.call.save();let i;if(r.srfnextform){if(!this.model.wizard.wizardFormMap.get(r.srfnextform))throw new RuntimeError(`找不到标识为${r.srfnextform}的向导表单`);i=r.srfnextform}else{const{step:r}=this.activeWizardForm,{wizardSteps:n}=this.model.wizard;r&&(i=null===(t=null===(e=n[r.index+1])||void 0===e?void 0:e.forms[0])||void 0===t?void 0:t.formTag)}if(!i)throw new RuntimeError("找不到下一个向导表单");this.state.activeFormTag=i,this.tagHistory.push(i)}async onFinishClick(){await this.activeFormNeuron.call.save(),await this.finish()}}class KanbanController extends MDController{constructor(){super(...arguments),this.state=new KanbanState,this.isAddBehind=!1}createNerve(){return new KanbanNerve(this)}get noSort(){return this.model.source.noSort}async onInit(){super.onInit(),this.state.size=this.model.size,this.state.singleSelect=this.model.source.singleSelect,this.service=new KanbanService(this.model),await this.service.init(this.context),this.nerve.self.evt.on("beforeLoad",(()=>this.sortQuery?{sort:this.sortQuery}:{}));const{defaultSortField:e,defaultSortDir:t}=this.model;e&&t&&this.setSort(e,t),this.model.layoutPanel&&(this.layoutPanelProvider=await ibiz.register.control.get(this.model.layoutPanel))}setSort(e,t){this.sortQuery=`${e},${t}`}async loadMore(e){e.stopPropagation(),this.state.total>this.state.items.length&&(this.state.curPage+=1,this.isAddBehind=!0,this.load())}async load(){const e=await super.load();return this.isAddBehind=!1,e}async afterLoad(e){let t=[];return this.isAddBehind?(this.state.items.push(...e),t=this.state.items):t=e,await super.afterLoad(t),this.model.enableGroup&&await this.handleGroup(this.state.items),this.state.rows=this.state.items.map((e=>new MDItemController(e,this))),this.state.items}async handleGroup(e){Object.is(this.model.groupMode,"AUTO")?await this.drawGroup(e):Object.is(this.model.groupMode,"CODELIST")&&await this.drawCodeListGroup(e),this.state.groupData.length>0&&this.state.groupData.forEach((e=>{e.folding=!1}))}async drawGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");const t=[...e];let r=[];t.forEach((e=>{Object.prototype.hasOwnProperty.call(e,this.model.groupAppField)&&r.push(e[this.model.groupAppField])})),r=[...new Set(r)],0===r.length&&ibiz.log.warn("分组数据无效");const i=[];r.forEach((e=>{const r=[];t.forEach((t=>{Object.is(e,t[this.model.groupAppField])&&r.push(t)}));const n={group:e=e||"其他",children:r};i.push(n)})),this.state.groupData=i}async drawCodeListGroup(e){if(!this.model.groupAppField)return void ibiz.log.warn("未配置分组属性");let t=[];const r=[...e];if(this.model.groupCodeList){const e=await this.app.codeList.get(this.model.groupCodeList.codeName,this.context,this.params);t=clone$1(e)}0===t.length&&ibiz.log.warn("分组数据无效");const i=[];t.forEach((e=>{const t=[];r.forEach((r=>{Object.is(e.value,r[this.model.groupAppField])&&t.push(r)}));const n={group:e.text,codeListItem:e,children:t};i.push(n)}));const n=[];r.forEach((e=>{t.findIndex((t=>Object.is(t.value,e[this.model.groupAppField])))<0&&n.push(e)}));const s={group:"其他",children:n};n&&n.length>0&&i.push(s),this.state.groupData=i}afterRemove(e){super.afterRemove(e);const t=this.state.rows.findIndex((t=>t.data.srfkey===e.srfkey));this.state.rows[t].destroy(),this.state.rows.splice(t,1)}async save(e){const t=this.state.rows.find((t=>t.data.srfkey===e.srfkey));if(!t)throw new RuntimeError("行数据不存在");let r;await this.startLoading();const i=e.srfuf===Srfuf.CREATE;try{r=i?await this.service.create(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e):await this.service.update(Object.assign({[this.model.appEntity.deName]:e.srfkey},this.context),e)}finally{await this.endLoading()}const n=this.state.items.findIndex((t=>t.srfkey===e.srfkey));this.state.items.splice(n,1,r.data),t.data=r.data,ibiz.message.success(`${r.data.srfmajortext||""}保存成功`),await this.nerve.self.evt.asyncEmit("afterSave",[r.data],i)}async handleClick(e){1===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async handleDblClick(e){2===this.mdCtrlActiveMode&&await this.nerve.self.evt.asyncEmit("dataActive",e)}async onActionClick(e,t,r){const i=this.state.selectedData.length>0&&r.children.includes(this.state.selectedData[0])?[this.state.selectedData[0]]:[],n=this.model.findAppViewLogic(e.name);await executeViewLogic(n,this.context,i,this.params,{event:t,neuron:this.nerve.self})}}function generateRoutePath(e,t,r,i){var n,s=route2routePath(t),o=2;(null==r?void 0:r.toRouteLevel)&&(o=r.toRouteLevel,delete r.toRouteLevel),s.pathNodes.splice(o-1,s.pathNodes.length-o+1),(null==r?void 0:r.currentRouteContext)&&(s.pathNodes[o-2].context=r.currentRouteContext),"appredirectview"===s.pathNodes[0].viewName&&((null==i?void 0:i.srfindexname)?(s.pathNodes[0].viewName=i.srfindexname,delete i.srfindexname):s.pathNodes[0].viewName="index"),s.pathNodes.push({viewName:e.codeName.toLowerCase()});var a=null===(n=e.getPSAppDataEntity())||void 0===n?void 0:n.codeName;if(r&&a){var l=calcRouteContext(r,ibiz.hub.getApp(e.getPSModelService().app).resourcePathUtil.calcPaths(a));s.pathNodes[0].context=l}else s.pathNodes[0].context={};return{path:routePath2string(s),query:i}}function getViewName(e){return(e.isFill?e.codeName:(e.refM.resource||"")+e.refM.view).toLowerCase()}function findViewByName(e,t){var r;return null===(r=e.getAllPSAppViews())||void 0===r?void 0:r.find((function(e){return getViewName(e)===t}))}function findView(e,t){var r,i;return"index"===(t=t.toLowerCase())?i=e.getDefaultPSAppIndexView():((null===(r=e.getAllPSSubAppRefs())||void 0===r?void 0:r.length)&&e.getAllPSSubAppRefs().reverse().find((function(e){return!!(i=findViewByName(e,t))})),i||(i=findViewByName(e,t))),i}function parseRouteViewData(e,t,r){var i,n=route2routePath(t),s=n.pathNodes[r-1].viewName;if(!s)throw new RuntimeError("找不到第".concat(r,"级路由的视图标识"));var o=findView(e,s);if(!o)throw new RuntimeError("找不到视图".concat(s));var a,l=o.modelPath,c=o.refM.viewType,u={};(null===(i=ibiz.appData)||void 0===i?void 0:i.context)&&Object.assign(u,ibiz.appData.context),n.appContext&&Object.assign(u,n.appContext);for(var d=0;d<r;d++){var h=n.pathNodes[d];notNilEmpty(h.context)&&0===d&&Object.assign(u,h.context)}return t.matched.length===r&&(a=t.query),{viewPath:l,viewType:c,context:u,params:a}}function route2routePath(e){for(var t,r,i=e.matched.length,n=[],s=1;s<=i;s++){var o=e.params["view".concat(s)],a=e.params["params".concat(s)];a&&a!==ibiz.env.routePlaceholder?1===s&&(a=qs.parse(a,{delimiter:";"})):a=void 0,n.push({viewName:o,context:a})}return e.params.appContext&&e.params.appContext!==ibiz.env.routePlaceholder&&(t=qs.parse(e.params.appContext,{delimiter:";"})),e.query&&(r=__assign({},e.query)),{appContext:t,pathNodes:n,params:r}}function routePath2string(e){var t="";return e.appContext?t+="/".concat(qs.stringify(e.appContext,{delimiter:";"})):t+="/".concat(ibiz.env.routePlaceholder),e.pathNodes.forEach((function(e,r){t+="/".concat(e.viewName),0===r?notNilEmpty(e.context)&&Object.values(e.context).length?t+="/".concat(qs.stringify(e.context,{delimiter:";"})):t+="/".concat(ibiz.env.routePlaceholder):t+="/".concat(e.context||ibiz.env.routePlaceholder)})),notNilEmpty(e.params)&&(t+=qs.stringify(e.params,{addQueryPrefix:!0})),t}var RouteListener=exports("RouteListener",function(){function e(e,t){var r=this;this.callbacks=[],this.timers=[],this.wait=500,t&&(this.wait=t),watch((function(){return e.path}),(function(e,t){if(e!==t){if(r.callbacks.length)for(var i=0;i<r.callbacks.length;i++){(0,r.callbacks[i])()}if(r.callbacks=[],r.timers.length)for(i=0;i<r.timers.length;i++){var n=r.timers[i];clearTimeout(n)}r.timers=[]}}))}return e.prototype.nextChange=function(e){var t=this;isFunction(e)&&(this.timers.push(setTimeout((function(){e();var r=t.callbacks.findIndex((function(t){return t===e}));t.callbacks.splice(r,1)}),this.wait)),this.callbacks.push(e))},e}());function useRouterContext(){var e=useRoute().params,t={};if(e){var r=Object.keys(e),i=/[^/]+=[^/]+/;r.forEach((function(r){var n=e[r];n&&i.test(n)&&Object.assign(t,__assign({},qs.parse(n,{delimiter:";"})))}))}return t}function useRouterQuery(){return useRoute().query}function useRouteKey(e,t,r){r||(r=ref("")),r.value=e.value;var i=new RouteListener(t);return watch(e,(function(e,t){e!==t&&i.nextChange((function(){r.value=e}))})),r}function useProps(){return getCurrentInstance().proxy.$props}function getOrigin(e){return isReactive(e)?toRaw(e):e}function usePropsWatch(e,t,r){var i=useProps();Object.prototype.hasOwnProperty.call(i,e)&&(watch((function(){return i[e]}),(function(e,r){t(getOrigin(e),getOrigin(r))}),r),t(getOrigin(i[e]),void 0))}function useForce(){var e=getCurrentInstance().proxy;return function(t){e.$forceUpdate(),t&&isFunc(t)&&e.$nextTick((function(){t()}))}}function useForceTogether(e,t){var r=t.force,i=useForce();t.force=function(e){r(e),i()}}function useController(e){e.force=useForce()}function useViewController(e){var t=getCurrentInstance().proxy,r=useProps(),i=e(r.context,r.params);return i.state=reactive(i.state),onBeforeMount((function(){r.modal&&(i.modal=r.modal),i.force=useForce(),i.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return t.$emit.apply(t,__spreadArray([e],__read(r),!1))}})),onMounted((function(){return i.init()})),onBeforeUnmount((function(){return i.destroy()})),i}function useIndexViewController(e){return useViewController((function(t,r){return new IndexViewController(e,t,r)}))}function useEditViewController(e){return useViewController((function(t,r){return new EditViewController(e,t,r)}))}function useEditView3Controller(e){return useViewController((function(t,r){return new EditView3Controller(e,t,r)}))}function useOptViewController(e){return useViewController((function(t,r){return new OptViewController(e,t,r)}))}function useGridViewController(e){return useViewController((function(t,r){return new GridViewController(e,t,r)}))}function useDataViewViewController(e){return useViewController((function(t,r){return new DataViewViewController(e,t,r)}))}function useListViewController(e){return useViewController((function(t,r){return new ListViewController(e,t,r)}))}function usePickupGridViewController(e){return useViewController((function(t,r){return new PickupGridViewController(e,t,r)}))}function usePickupViewController(e){return useViewController((function(t,r){return new PickupViewController(e,t,r)}))}function useMPickupViewController(e){return useViewController((function(t,r){return new MPickupViewController(e,t,r)}))}function useWFDynaEditView3Controller(e){return useViewController((function(t,r){return new WFDynaEditView3Controller(e,t,r)}))}function useWFDynaActionViewController(e){return useViewController((function(t,r){return new WFDynaActionViewController(e,t,r)}))}function useWFDynaStartViewController(e){return useViewController((function(t,r){return new WFDynaStartViewController(e,t,r)}))}function useWFStepTraceViewController(e){return useViewController((function(t,r){return new WFStepTraceViewController(e,t,r)}))}function useAppPortalViewController(e){return useViewController((function(t,r){return new AppPortalViewController(e,t,r)}))}function useTreeExpViewController(e){return useViewController((function(t,r){return new TreeExpViewController(e,t,r)}))}function useTabExpViewController(e){return useViewController((function(t,r){return new TabExpViewController(e,t,r)}))}function useGridExpViewController(e){return useViewController((function(t,r){return new GridExpViewController(e,t,r)}))}function useDashboardViewController(e){return useViewController((function(t,r){return new DashboardViewController(e,t,r)}))}function useWizardViewController(e){return useViewController((function(t,r){return new WizardViewController(e,t,r)}))}function useListExpViewController(e){return useViewController((function(t,r){return new ListExpViewController(e,t,r)}))}function useKanbanViewController(e){return useViewController((function(t,r){return new KanbanViewController(e,t,r)}))}function useControlController(e){var t=getCurrentInstance().proxy,r=e();return r.state=reactive(r.state),onBeforeMount((function(){r.force=useForce(),r.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return t.$emit.apply(t,__spreadArray([e],__read(r),!1))}})),onMounted((function(){return r.init()})),onBeforeUnmount((function(){return r.destroy()})),r}function useAppMenuController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new AppMenuController(e,t,r)}))}function useEditFormController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new EditFormController(e,t,r)}))}function useGridController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new GridController(e,t,r);return usePropsWatch("mdCtrlActiveMode",i.setMdCtrlActiveMode.bind(i)),usePropsWatch("isSelectFirstDefault",i.setIsSelectFirstDefault.bind(i)),usePropsWatch("defaultSelectKeys",i.setDefaultSelectKeys.bind(i)),usePropsWatch("isExpView",i.setIsExpView.bind(i)),i}))}function useListController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new ListController(e,t,r);return usePropsWatch("mdCtrlActiveMode",i.setMdCtrlActiveMode.bind(i)),usePropsWatch("isSelectFirstDefault",i.setIsSelectFirstDefault.bind(i)),usePropsWatch("defaultSelectKeys",i.setDefaultSelectKeys.bind(i)),usePropsWatch("isExpView",i.setIsExpView.bind(i)),i}))}function useSearchFormController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new SearchFormController(e,t,r)}))}function useViewPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new ViewPanelController(e,t,r)}))}function usePickupViewPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new PickupViewPanelController(e,t,r)}))}function useDashboardController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new DashboardController(e,t,r)}))}function useTreeController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new TreeController(e,t,r);return usePropsWatch("defaultSelectKeys",i.setDefaultSelectKeys.bind(i)),usePropsWatch("isSelectFirstDefault",i.setIsSelectFirstDefault.bind(i)),i}))}function useDataViewController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new DataViewController(e,t,r);return usePropsWatch("mdCtrlActiveMode",i.setMdCtrlActiveMode.bind(i)),i}))}function useLayoutPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new LayoutPanelController(e,t,r);return usePropsWatch("inputData",i.setInputData.bind(i)),i}))}function useViewLayoutPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new ViewLayoutPanelController(e,t,r)}))}function useWizardPanelController(e,t,r){return void 0===r&&(r={}),useControlController((function(){return new WizardPanelController(e,t,r)}))}function useKanbanController(e,t,r){return void 0===r&&(r={}),useControlController((function(){var i=new KanbanController(e,t,r);return usePropsWatch("mdCtrlActiveMode",i.setMdCtrlActiveMode.bind(i)),i}))}function useClickOutside(e,t,r){void 0===r&&(r={});var i=NOOP,n=NOOP,s=NOOP,o=function(){i(),i=NOOP,n=NOOP,s=NOOP};return watch(e,(function(e,a){if(e!==a)if(isNil$1(e))o();else{var l=onClickOutside((null==e?void 0:e.$el)||e,t,r);i=l.stop,n=l.pause,s=l.proceed}}),{immediate:!0}),onBeforeUnmount((function(){i!==NOOP&&o()})),{stop:function(){return i()},pause:function(){return n()},proceed:function(){return s()}}}function useEventListener(e,t,r,i){void 0===i&&(i={});var n=NOOP;return watch(e,(function(e,s){e!==s&&(isNil$1(e)?(n(),n=NOOP):n=listenJSEvent((null==e?void 0:e.$el)||e,t,r,i))}),{immediate:!0}),onBeforeUnmount((function(){n!==NOOP&&n()})),function(){n()}}function useGridCellEditor(e,t){var r=this,i=ibiz.config,n=i.gridEditSaveMode,s=i.gridEditShowMode,o=ref(!1),a=ref(!1),l=computed((function(){return e.readonly||!e.hasError&&"cell"===ibiz.config.gridEditShowMode&&!o.value})),c=ref("cell"===s),u=ref();if("cell"!==s&&"cell-blur"!==n)return{componentRef:u,isInfoMode:l,autoFocus:c,onOperateChange:function(){},onChange:function(){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(e){return[2]}))}))},onBlur:function(){}};var d=function(){o.value&&("cell-blur"!==n||e.readonly||e.disabled||!a.value||(t.emit("rowSave"),a.value=!1),o.value=!1)},h=ref(!1);!0!==t.manualBlur&&useClickOutside(u,(function(e){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(e){return h.value||d(),[2]}))}))})),useEventListener(u,"click",(function(e){o.value=!0}),{capture:!0}),useEventListener(u,"focus",(function(e){o.value=!0}),{capture:!0});return{componentRef:u,isInfoMode:l,autoFocus:c,onOperateChange:function(e){h.value=e},onChange:function(i,n){return __awaiter(r,void 0,void 0,(function(){return __generator(this,(function(r){return e.disabled||(t.emit("change",i,n),a.value=!0),[2]}))}))},onBlur:d}}var RequiredProp=exports("RequiredProp",(function(e,t,r){this.required=!0,t&&(this.default=t),r&&(this.validator=r),this.type=e}));function getEditorProps(){return{value:String,controller:new RequiredProp(Object),data:new RequiredProp(Object),disabled:{type:Boolean},readonly:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1}}}function getEditorEmits(){return{change:function(e,t){return!0},operate:function(e){return!0}}}function getGridEditorEmits(){return{change:function(e,t){return!0},rowSave:function(){return!0}}}function getGridEditorCommonProps(){return{hasError:{type:Boolean}}}function getInputProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridInputProps(){return __assign(__assign({},getInputProps()),getGridEditorCommonProps())}function getInputNumberProps(){return __assign(__assign({},getEditorProps()),{value:Number})}function getGridInputNumberProps(){return __assign(__assign({},getInputNumberProps()),getGridEditorCommonProps())}function getCheckboxListProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridCheckboxListProps(){return __assign(__assign({},getCheckboxListProps()),getGridEditorCommonProps())}function getSpanProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridSpanProps(){return __assign(__assign({},getSpanProps()),getGridEditorCommonProps())}function getDatePickerProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDatePickerProps(){return __assign(__assign({},getDatePickerProps()),getGridEditorCommonProps())}function getDropdownProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDropdownProps(){return __assign(__assign({},getDropdownProps()),getGridEditorCommonProps())}function getRadioProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridRadioProps(){return __assign(__assign({},getRadioProps()),getGridEditorCommonProps())}function getUploadProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridUploadProps(){return __assign(__assign({},getUploadProps()),getGridEditorCommonProps())}function getDataPickerProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridDataPickerProps(){return __assign(__assign({},getDataPickerProps()),getGridEditorCommonProps())}function getRawProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridRawProps(){return __assign(__assign({},getRawProps()),getGridEditorCommonProps())}function getStepperProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridStepperProps(){return __assign(__assign({},getStepperProps()),getGridEditorCommonProps())}function getRateProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridRateProps(){return __assign(__assign({},getRateProps()),getGridEditorCommonProps())}function getSliderProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridSliderProps(){return __assign(__assign({},getSliderProps()),getGridEditorCommonProps())}function getSwitchProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridSwitchProps(){return __assign(__assign({},getSwitchProps()),getGridEditorCommonProps())}function getListBoxProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridListBoxProps(){return __assign(__assign({},getListBoxProps()),getGridEditorCommonProps())}function getAutoCompleteProps(){return __assign(__assign({},getEditorProps()),{value:String})}function getGridAutoCompleteProps(){return __assign(__assign({},getAutoCompleteProps()),getGridEditorCommonProps())}function getCheckboxProps(){return __assign(__assign({},getEditorProps()),{value:[String,Number]})}function getGridCheckboxProps(){return __assign(__assign({},getCheckboxProps()),getGridEditorCommonProps())}}}}));
|