@farris/ui-vue 1.8.0-alpha.0 → 1.8.0-beta.1
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/components/avatar/index.esm.js +138 -1526
- package/components/avatar/index.umd.cjs +1 -6
- package/components/button/index.css +1 -1
- package/components/button/index.esm.js +15951 -15410
- package/components/button/index.umd.cjs +27 -27
- package/components/calendar/index.esm.js +269 -255
- package/components/calendar/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +243 -229
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/combo-list/index.esm.js +32 -32
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +473 -456
- package/components/comment/index.umd.cjs +6 -6
- package/components/component/index.css +1 -1
- package/components/component/index.esm.js +2503 -2239
- package/components/component/index.umd.cjs +2 -2
- package/components/condition/index.esm.js +1064 -954
- package/components/condition/index.umd.cjs +2 -2
- package/components/data-grid/index.esm.js +1 -1
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/designer-canvas/index.css +1 -1
- package/components/designer-canvas/index.esm.js +3894 -3058
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +91 -77
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +220 -215
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +145 -131
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +336 -329
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1611 -1536
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.esm.js +219 -219
- package/components/expression-editor/index.umd.cjs +2 -2
- package/components/external-container/index.esm.js +179 -178
- package/components/external-container/index.umd.cjs +1 -1
- package/components/fieldset/index.esm.js +285 -221
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.css +1 -0
- package/components/filter-bar/index.esm.js +1512 -1290
- package/components/filter-bar/index.umd.cjs +7 -7
- package/components/filter-condition-editor/index.esm.js +851 -831
- package/components/filter-condition-editor/index.umd.cjs +3 -3
- package/components/flow-canvas/index.esm.js +520 -501
- package/components/flow-canvas/index.umd.cjs +8 -8
- package/components/image/index.esm.js +101 -79
- package/components/image/index.umd.cjs +3 -3
- package/components/language-textbox/index.esm.js +330 -251
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/list-nav/index.esm.js +399 -313
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/locale/index.esm.js +3 -0
- package/components/locale/index.umd.cjs +1 -1
- package/components/lookup/index.esm.js +997 -976
- package/components/lookup/index.umd.cjs +2 -2
- package/components/mapping-editor/index.esm.js +725 -705
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/message-box/index.esm.js +542 -522
- package/components/message-box/index.umd.cjs +1 -1
- package/components/nav/index.esm.js +95 -308
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +115 -107
- package/components/number-range/index.umd.cjs +2 -2
- package/components/order/index.esm.js +56 -54
- package/components/order/index.umd.cjs +1 -1
- package/components/page-footer/index.esm.js +135 -123
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +266 -222
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +402 -375
- package/components/property-panel/index.umd.cjs +4 -4
- package/components/query-solution/index.esm.js +3171 -3061
- package/components/query-solution/index.umd.cjs +7 -7
- package/components/response-toolbar/index.esm.js +1 -1
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +1620 -1608
- package/components/schema-selector/index.umd.cjs +5 -5
- package/components/scroll-navbar/index.esm.js +150 -136
- package/components/scroll-navbar/index.umd.cjs +2 -2
- package/components/section/index.esm.js +323 -311
- package/components/section/index.umd.cjs +2 -2
- package/components/sort-condition-editor/index.esm.js +850 -830
- package/components/sort-condition-editor/index.umd.cjs +3 -3
- package/components/step/index.esm.js +991 -224
- package/components/step/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +356 -334
- package/components/tabs/index.umd.cjs +1 -1
- package/components/wizard/index.esm.js +159 -162
- package/components/wizard/index.umd.cjs +1 -1
- package/designer/avatar/index.esm.js +1721 -0
- package/designer/avatar/index.umd.cjs +6 -0
- package/designer/button-edit/index.esm.js +2 -1
- package/designer/button-edit/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +693 -659
- package/designer/data-grid/index.umd.cjs +6 -6
- package/designer/data-view/index.esm.js +90 -78
- package/designer/data-view/index.umd.cjs +2 -2
- package/designer/date-picker/index.esm.js +203 -203
- package/designer/date-picker/index.umd.cjs +1 -1
- package/designer/drawer/index.esm.js +181 -167
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +228 -206
- package/designer/dynamic-form/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +10014 -9692
- package/designer/farris-designer.all.umd.cjs +18 -18
- package/designer/index.css +1 -1
- package/designer/input-group/index.esm.js +15 -15
- package/designer/input-group/index.umd.cjs +1 -1
- package/designer/nav/index.esm.js +1719 -0
- package/designer/nav/index.umd.cjs +6 -0
- package/designer/number-spinner/index.esm.js +8 -7
- package/designer/number-spinner/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +133 -125
- package/designer/radio-group/index.umd.cjs +2 -2
- package/designer/response-toolbar/index.esm.js +864 -863
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +245 -183
- package/designer/section/index.umd.cjs +1 -1
- package/designer/tabs/index.css +1 -1
- package/designer/tabs/index.esm.js +3667 -2810
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/time-picker/index.esm.js +26 -17
- package/designer/time-picker/index.umd.cjs +2 -2
- package/designer/tree-grid/index.esm.js +69 -37
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/designer/wizard/index.esm.js +110 -110
- package/designer/wizard/index.umd.cjs +3 -3
- package/farris.all.esm.js +39993 -39089
- package/farris.all.umd.cjs +36 -36
- package/index.css +1 -1
- package/locales/filter-bar/ui/en.json +1 -0
- package/locales/filter-bar/ui/zh-CHS.json +1 -0
- package/locales/filter-bar/ui/zh-CHT.json +1 -0
- package/locales/ui/en.json +1 -0
- package/locales/ui/zh-CHS.json +1 -0
- package/locales/ui/zh-CHT.json +1 -0
- package/package.json +1 -1
- package/types/avatar/designer.d.ts +28 -0
- package/types/avatar/index.d.ts +0 -15
- package/types/avatar/src/composition/types.d.ts +3 -0
- package/types/avatar/src/composition/use-file.d.ts +19 -0
- package/types/avatar/src/composition/use-image.d.ts +1 -1
- package/types/avatar/src/designer/avatar.design.props.d.ts +24 -0
- package/types/avatar/src/property-config/avatar.property-config.d.ts +11 -13
- package/types/avatar/src/schema/schema-mapper.d.ts +2 -0
- package/types/components.d.ts +3 -0
- package/types/condition/index.d.ts +18 -6
- package/types/condition/src/condition-fields.component.d.ts +9 -3
- package/types/condition/src/condition-fields.design.component.d.ts +9 -3
- package/types/condition/src/condition-list.component.d.ts +9 -3
- package/types/condition/src/condition.props.d.ts +11 -0
- package/types/data-view/designer/property-config/use-appearance.d.ts +17 -10
- package/types/data-view/designer/property-config/use-pagination.d.ts +0 -6
- package/types/designer-canvas/src/composition/dg-control.d.ts +13 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -0
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +4 -0
- package/types/dynamic-resolver/src/converter/tree-auto-check.converter.d.ts +3 -0
- package/types/dynamic-view/src/components/maps.d.ts +130 -4
- package/types/filter-bar/src/composition/types.d.ts +2 -0
- package/types/filter-bar/src/filter-bar.props.d.ts +0 -1
- package/types/filter-bar/src/locale/locale.d.ts +2 -1
- package/types/filter-bar/src/property-config/filter-bar.property-config.d.ts +0 -1
- package/types/language-textbox/index.d.ts +65 -2
- package/types/language-textbox/src/designer/language-textbox.design.component.d.ts +36 -0
- package/types/language-textbox/src/language-textbox.component.d.ts +38 -1
- package/types/language-textbox/src/language-textbox.props.d.ts +20 -0
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/lookup/src/composition/use-compat.d.ts +28 -0
- package/types/lookup/src/composition/use-state.d.ts +1 -0
- package/types/message-box/src/message-box.service.d.ts +2 -1
- package/types/nav/designer.d.ts +28 -0
- package/types/nav/index.d.ts +24 -20
- package/types/nav/src/designer/nav.design.props.d.ts +29 -0
- package/types/nav/src/designer/use-design-rules.d.ts +3 -0
- package/types/nav/src/property-config/nav.property-config.d.ts +9 -0
- package/types/nav/src/schema/schema-mapper.d.ts +4 -0
- package/types/page-footer/src/designer/use-designer-rules.d.ts +2 -2
- package/types/page-header/src/designer/use-designer-rules.d.ts +2 -2
- package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -0
- package/types/query-solution/src/designer/query-solution-config/composition/use-util.d.ts +1 -1
- package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +1 -1
- package/types/section/src/designer/section.design.props.d.ts +4 -0
- package/types/section/src/property-config/section.property-config.d.ts +39 -0
- package/types/section/src/schema/toolbar-resolver.d.ts +0 -1
- package/types/step/src/designer/use-designer-rules.d.ts +3 -0
- package/types/step/src/designer/use-step-creator.d.ts +6 -0
- package/types/step/src/property-config/step.property-config.d.ts +15 -0
- package/types/step/src/schema/schema-resolver.d.ts +2 -1
- package/types/tabs/src/composition/types.d.ts +4 -0
- package/types/tabs/src/tabs.props.d.ts +6 -0
- package/types/tooltip/index.d.ts +3 -3
- package/types/tooltip/src/tooltip.component.d.ts +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(le,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("../../components/common/index.umd.js"),require("../../components/data-grid/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("@vueuse/core"),require("../../components/checkbox/index.umd.js"),require("../../components/popover/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/modal/index.umd.js"),require("lodash-es"),require("../../components/transfer/index.umd.js"),require("../../components/tabs/index.umd.js"),require("../../components/filter-bar/index.umd.js"),require("../../components/pagination/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/button-group/index.umd.js"),require("../../components/list-view/index.umd.js"),require("../../components/date-picker/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("../../components/search-box/index.umd.js"),require("../../components/notify/index.umd.js"),require("../../components/condition/index.umd.js"),require("../../components/dynamic-form/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/tags/index.umd.js"),require("../../components/tree-view/index.umd.js"),require("../../components/accordion/index.umd.js"),require("../../components/avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../../components/calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../checkbox/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../../components/combo-list/index.umd.js"),require("../../components/combo-tree/index.umd.js"),require("../../components/component/index.umd.js"),require("../../components/color-picker/index.umd.js"),require("../../components/content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../../components/events-editor/index.umd.js"),require("../../components/binding-selector/index.umd.js"),require("../../components/image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../../components/layout/index.umd.js"),require("../../components/list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../../components/lookup/index.umd.js"),require("../../components/mapping-editor/index.umd.js"),require("../../components/nav/index.umd.js"),require("../../components/number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../../components/order/index.umd.js"),require("../../components/page-header/index.umd.js"),require("../../components/page-footer/index.umd.js"),require("../../components/progress/index.umd.js"),require("../../components/query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../../components/response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../section/index.umd.js"),require("../../components/smoke-detector/index.umd.js"),require("../../components/splitter/index.umd.js"),require("../../components/step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../../components/text/index.umd.js"),require("../time-picker/index.umd.js"),require("../../components/uploader/index.umd.js"),require("../../components/verify-detail/index.umd.js"),require("../../components/video/index.umd.js"),require("../textarea/index.umd.js"),require("../../components/schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../../components/event-parameter/index.umd.js"),require("../../components/filter-condition-editor/index.umd.js"),require("../../components/fieldset/index.umd.js"),require("../../components/sort-condition-editor/index.umd.js"),require("../../components/menu-lookup/index.umd.js"),require("../drawer/index.umd.js"),require("../../components/json-editor/index.umd.js"),require("../../components/property-editor/index.umd.js"),require("../../components/expression-editor/index.umd.js"),require("../../components/code-editor/index.umd.js"),require("../../components/html-template/index.umd.js"),require("../../components/collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../../components/external-container/index.umd.js"),require("../../components/language-textbox/index.umd.js"),require("../../components/image/index.umd.js"),require("../../components/comment/index.umd.js"),require("../wizard/index.umd.js"),require("../../components/tooltip/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/data-grid/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","@vueuse/core","../../components/checkbox/index.umd.js","../../components/popover/index.umd.js","../../components/locale/index.umd.js","../../components/modal/index.umd.js","lodash-es","../../components/transfer/index.umd.js","../../components/tabs/index.umd.js","../../components/filter-bar/index.umd.js","../../components/pagination/index.umd.js","../../components/data-view/index.umd.js","../../components/button/index.umd.js","../../components/button-group/index.umd.js","../../components/list-view/index.umd.js","../../components/date-picker/index.umd.js","../../components/number-spinner/index.umd.js","../../components/search-box/index.umd.js","../../components/notify/index.umd.js","../../components/condition/index.umd.js","../../components/dynamic-form/index.umd.js","../../components/designer-canvas/index.umd.js","../data-view/index.umd.js","../../components/property-panel/index.umd.js","../../components/field-selector/index.umd.js","../../components/tags/index.umd.js","../../components/tree-view/index.umd.js","../../components/accordion/index.umd.js","../../components/avatar/index.umd.js","../button-edit/index.umd.js","../../components/calendar/index.umd.js","../capsule/index.umd.js","../checkbox/index.umd.js","../checkbox-group/index.umd.js","../../components/combo-list/index.umd.js","../../components/combo-tree/index.umd.js","../../components/component/index.umd.js","../../components/color-picker/index.umd.js","../../components/content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../../components/dropdown/index.umd.js","../dynamic-form/index.umd.js","../../components/events-editor/index.umd.js","../../components/binding-selector/index.umd.js","../../components/image-cropper/index.umd.js","../input-group/index.umd.js","../../components/layout/index.umd.js","../../components/list-nav/index.umd.js","../list-view/index.umd.js","../../components/lookup/index.umd.js","../../components/mapping-editor/index.umd.js","../../components/nav/index.umd.js","../../components/number-range/index.umd.js","../number-spinner/index.umd.js","../../components/order/index.umd.js","../../components/page-header/index.umd.js","../../components/page-footer/index.umd.js","../../components/progress/index.umd.js","../../components/query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../../components/response-layout/index.umd.js","../response-layout-editor/index.umd.js","../section/index.umd.js","../../components/smoke-detector/index.umd.js","../../components/splitter/index.umd.js","../../components/step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../../components/text/index.umd.js","../time-picker/index.umd.js","../../components/uploader/index.umd.js","../../components/verify-detail/index.umd.js","../../components/video/index.umd.js","../textarea/index.umd.js","../../components/schema-selector/index.umd.js","../tree-grid/index.umd.js","../../components/event-parameter/index.umd.js","../../components/filter-condition-editor/index.umd.js","../../components/fieldset/index.umd.js","../../components/sort-condition-editor/index.umd.js","../../components/menu-lookup/index.umd.js","../drawer/index.umd.js","../../components/json-editor/index.umd.js","../../components/property-editor/index.umd.js","../../components/expression-editor/index.umd.js","../../components/code-editor/index.umd.js","../../components/html-template/index.umd.js","../../components/collection-property-editor/index.umd.js","../modal/index.umd.js","../../components/external-container/index.umd.js","../../components/language-textbox/index.umd.js","../../components/image/index.umd.js","../../components/comment/index.umd.js","../wizard/index.umd.js","../../components/tooltip/index.umd.js"],X):(le=typeof globalThis<"u"?globalThis:le||self,X(le["data-grid"]={},le.common,le.FDataGrid,le.dynamicResolver,le.Vue,le.VueUseCore,le.checkbox,le.FPopover,le.locale,null,le.LodashES,null,null,null,null,le.dataView,le.button,le.FButtonGroup,null,null,null,null,le.notify,le.condition,le.dynamicForm,le.designerCanvas,le.designer$1,le.propertyPanel,le.FFieldSelector,le.FTags,le.FTreeView))})(this,function(le,X,Qe,$e,r,hn,St,yn,je,Lr,Be,Hr,$r,zr,Wr,Ve,Bt,vn,Gr,qr,Ur,Dr,Mt,de,bn,z,ze,Le,gt,Cn,wn){"use strict";var Rr=Object.defineProperty;var Ar=(le,X,Qe)=>X in le?Rr(le,X,{enumerable:!0,configurable:!0,writable:!0,value:Qe}):le[X]=Qe;var ne=(le,X,Qe)=>Ar(le,typeof X!="symbol"?X+"":X,Qe);const xn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function},scrollbarMode:{type:String,default:"auto"},visible:{type:Boolean,default:!0}},Sn=X.excludeProperties(Object.assign({},xn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function Mn(t,e,n,i,o){const{getGridHeaderCells:l}=o,a=120,d=50,c=r.computed(()=>{var h;return((h=t.rowNumber)==null?void 0:h.enable)||!1}),p=r.computed(()=>{var h,w;return((h=t.selection)==null?void 0:h.multiSelect)||((w=t.selection)==null?void 0:w.showCheckbox)||!1}),u=r.computed(()=>{var h;return 0+(c.value?((h=t.rowNumber)==null?void 0:h.width)||32:0)+(p.value?d:0)}),s=r.computed(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns}),f=r.computed(()=>{var h;return s.value&&((h=t.columnOption)==null?void 0:h.fitMode)||"none"});function g(h,w,x){const E=parseInt(h.width,10)/100;return x*E}function m(h,w,x){return typeof h.width=="string"?g(h,w,x):h.width||a}function y(h,w){const x=[],E=[];let N=0;h.value.primaryColumns.forEach(V=>{typeof V.width=="string"?E.push(V):(V.width=V.width||a,N+=V.width,x.push(V))});const I=w*(x.length/h.value.primaryColumns.length);x.forEach(V=>{const _=I*(V.width/N);V.actualWidth=_,h.value.primaryColumnsWidth+=V.actualWidth});const B=w-I;E.forEach(V=>{const _=g(V,h.value,B);V.actualWidth=_,h.value.primaryColumnsWidth+=V.actualWidth})}function b(h,w){const x=[],E=[],N=new WeakMap;let I=0,B=0;if(h.value.primaryColumns.forEach(_=>{if(typeof _.width=="string"){const k=g(_,h.value,w);N.set(_,k),I+=k,E.push(_)}else _.width=_.width||a,B+=_.width,x.push(_)}),w-I>B){const _=w-I;E.forEach(k=>{k.actualWidth=N.get(k)||a,h.value.primaryColumnsWidth+=k.actualWidth}),x.forEach(k=>{k.actualWidth=_*(k.width/B),h.value.primaryColumnsWidth+=k.actualWidth})}else y(h,w)}function M(h,w){h.value.primaryColumns.forEach(x=>{x.actualWidth=m(x,h.value,w),h.value.primaryColumnsWidth+=x.actualWidth})}const C={expand:b,none:M,percentage:y};function F(h){h.value.leftHeaderColumns=Array.from(l(h.value.leftColumns).values()),h.value.primaryHeaderColumns=Array.from(l(h.value.primaryColumns).values()),h.value.rightHeaderColumns=Array.from(l(h.value.rightColumns).values())}function T(h){h.value.leftColumnsWidth=0,h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,h.value.leftColumns.forEach(w=>{h.value.leftColumnsWidth+=w.actualWidth||0}),h.value.primaryColumns.forEach(w=>{h.value.primaryColumnsWidth+=w.actualWidth||0}),h.value.rightColumns.forEach(w=>{h.value.rightColumnsWidth+=w.actualWidth||0}),h.value=Object.assign({},h.value)}function v(h,w,x){var k;let E=0;const N=h.value.primaryColumns,I=h.value.rightColumns;h.value.rightColumns.forEach(W=>{W.actualWidth=m(W,h.value,w),E+=W.actualWidth});const B=x-E,V=C[f.value];if(V&&V(h,B),h.value.primaryColumnsWidth+E<=x)return h.value.primaryColumns=[...N,...I],h.value.primaryColumnsWidth+=E,h.value.rightColumns=[],h.value.rightColumnsWidth=0,!0;const _=new Map;return _.set("primary",[]),_.set("right",[]),h.value.primaryColumns.reduce((W,P)=>{var A,Y;return P.fixed==="right"?(A=W.get("right"))==null||A.push(P):(Y=W.get("primary"))==null||Y.push(P),W},_),(k=_.get("right"))!=null&&k.length&&(h.value.primaryColumns=[..._.get("primary")||[]],h.value.rightColumns=[..._.get("right")||[]]),h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,!1}function S(){if(n.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const h=n.value.clientWidth-u.value;e.value.leftColumns.forEach(x=>{x.actualWidth=m(x,e.value,h),e.value.leftColumnsWidth+=x.actualWidth});const w=h-e.value.leftColumnsWidth;if(v(e,h,w))i.value=w;else{e.value.rightColumns.forEach(N=>{N.actualWidth=m(N,e.value,h),e.value.rightColumnsWidth+=N.actualWidth});const x=h-e.value.leftColumnsWidth-e.value.rightColumnsWidth,E=C[f.value];E&&E(e,x),i.value=x}F(e),e.value=Object.assign({},e.value)}}return r.watch(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns},(h,w)=>{h!==w&&h&&S()}),r.watch(f,(h,w)=>{h!==w&&s.value&&S()}),{calculateColumnHeaders:F,calculateColumnsSize:S,calculateColumnsWidth:T}}const Fn="";function Tn(t){const n={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},i=r.ref(n);function o(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const l=r.ref(t.summary),a=r.computed(()=>{const v=l.value;return(v==null?void 0:v.groupFields)||[]});function d(){i.value.rightColumns.forEach(h=>{h.showSetting=!1}),i.value.primaryColumns.forEach(h=>{h.showSetting=!1});const v=i.value.rightColumns,S=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:S.length>0&&(S[S.length-1].showSetting=!0)}function c(v){o();const S=new Map;return a.value&&a.value.reduce((h,w)=>(h.set(w,!0),h),S),v.reduce((h,w)=>(w.filter=w.filter||Fn,w.fixed==="left"?(i.value.leftColumns.push(w),i.value.leftColumnsMap.set(w.field,w),i.value.leftColumnsWidth+=w.actualWidth):w.fixed==="right"?(i.value.rightColumns.push(w),i.value.rightColumnsMap.set(w.field,w),i.value.rightColumnsWidth+=w.actualWidth):(i.value.primaryColumns.push(w),i.value.primaryColumnsMap.set(w.field,w),i.value.primaryColumnsWidth+=w.actualWidth),S.has(w.field)&&i.value.summaryColumns.push(w),h),i),d(),i}c(t.columns);const p=r.computed(()=>i.value.leftColumns.length>0),u=r.computed(()=>i.value.rightColumns.length>0);function s(v,S){return S.sortable&&S.sort&&S.sort!=="none"&&v.push(S),v}function f(v,S){return v.sortOrder=v.sortOrder||0,S.sortOrder=S.sortOrder||0,v.sortOrder===S.sortOrder?0:v.sortOrder<S.sortOrder?-1:1}function g(v,S){return v.sortOrder=v.sortOrder||0,S.sortOrder=S.sortOrder||0,v.sortOrder===S.sortOrder?0:v.sortOrder<S.sortOrder?1:-1}function m(v,S){return S.filterable&&v.push(S),v}function y(){const v=[];return i.value.leftColumns.reduce(m,v),i.value.primaryColumns.reduce(m,v),i.value.rightColumns.reduce(m,v),v}function b(){const v=[];i.value.leftColumns.reduce(s,v),i.value.primaryColumns.reduce(s,v),i.value.rightColumns.reduce(s,v);const S=Math.max(...v.map(h=>h.sortOrder||0));return v.sort(g).map(h=>{const w=h.sortOrder||S+1;return h.sortOrder=w,h}).sort(f).map((h,w)=>{const x=w+1;return h.sortOrder=x,h})}function M(v,S,h){const w=v.map(x=>{const E=h.getSorterByColumn(x),N=x.sort==="asc",I=x.sort==="desc",B=N?E.ascend:I?E.decend:void 0;return{field:x.field,compare:B}});S.setSorters(w)}function C(v,S){const h=b();M(h,v,S)}function F(v){}function T(v){}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:M,collectionSortableColumns:b,columnContext:i,hasLeftFixedColumn:p,hasRightFixedColumn:u,updateColumnRenderContext:c,updateColumnSettingIcon:d,sortFromServer:F,createSortConditions:T}}function _n(t,e,n,i,o,l,a,d){const c=r.ref(i.value-1+o),p=r.ref(0),{renderDataRow:u}=l,s=a?a.renderGroupRow:u,f=d?d.renderSummaryRow:u;function g(b){let M=u;return b.__fv_data_grid_group_row__&&(M=s),b.__fv_data_grid_group_summary__&&(M=f),M}function m(b,M,C,F){const{dataView:T}=n,v=[];if(T.value.length>0){const S=F?Date.now().toString():"";let h=b,w=0;const x=M-b+1;for(;v.length<x&&h<T.value.length;){const E=T.value[h],N=T.value[h-1]||C,I=v[w-1],B=N?(N.__fv_data_position__||0)+(N.__fv_data_height__||0):0,_=g(E)(E,N,I,h,B,e.value,v);_.refreshKey=S,v.push(_),w++,h++}}return p.value=v.length>0?v[0].index:0,c.value=v.length>0?v[v.length-1].index:0,v}function y(b,M,C){const F=M.groupField||"",{groupValue:T,raw:v}=M;n[b](F,T,v.groupParents||[]);const{dataView:S}=n,h=C[0].index,w=Math.min(h+i.value+o+1,S.value.length-1);return m(h,w)}return{getVisualData:m,maxVisibleRowIndex:c,minVisibleRowIndex:p,toggleGroupRow:y}}var Pe=(t=>(t[t.readonly=0]="readonly",t[t.editable=1]="editable",t[t.editing=2]="editing",t))(Pe||{}),Ue=(t=>(t[t.initial=0]="initial",t[t.editing=1]="editing",t))(Ue||{}),tt=(t=>(t[t.data=0]="data",t[t.group=1]="group",t[t.summary=2]="summary",t))(tt||{}),Oe=(t=>(t[t.none=0]="none",t[t.filterable=1]="filterable",t[t.sortable=2]="sortable",t[t.filtered=4]="filtered",t[t.sorted=8]="sorted",t[t.ascending=16]="ascending",t[t.descending=32]="descending",t))(Oe||{}),De=(t=>(t.DATE="date",t.DATE_TIME="datetime",t.NUMBER="number",t.ENUM="enum",t.IMAGE="image",t.BOOLEAN="boolean",t.BOOLEAN2="boolean2",t.TIMEAGO="timeago",t.NONE="none",t.CUSTOM="custom",t.MULTI_LINGUAL="multilingual",t))(De||{});const kn="__setting__",Ot="__command__",Vn=150,En="right",jt="commands";function In(t,e,n){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:l}=n;function a(){return l.value&&r.createVNode("div",{class:"fv-grid-horizontal-scroll"},[r.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onTouchstart:d=>o(d,e,"horizontal"),onMousedown:d=>o(d,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function Pn(t){function e(c,p){switch(c.command){case"edit":case"remove":return p.status===Ue.initial;case"accept":case"cancel":return p.status===Ue.editing;default:return!c.hidden}}function n(c,p,u,s){var f,g,m,y,b;switch((f=c.onClick)==null||f.call(c,p,u.dataIndex,u),c.command){case"edit":u.status,Ue.editing,(m=(g=t.commandOption)==null?void 0:g.onClickEditCommand)==null||m.call(g,s,u,c,p);break;case"accept":case"cancel":u.status,Ue.initial;break;case"remove":(b=(y=t.commandOption)==null?void 0:y.onClickDeleteCommand)==null||b.call(y,s,u,c,p);break}}function i(c){return c==="编辑"?je.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):c==="确定"?je.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):c==="取消"?je.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):c==="删除"?je.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):c}function o(c,p){const{column:u}=c;return u.commands&&u.commands.map((s,f)=>f?e(s,p)&&r.createVNode(Bt.FButton,{class:"ml-1",type:s.type,size:s.size||"small",onClick:g=>n(s,g,p,c),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(s.text),r.createTextVNode(" ")]}):e(s,p)&&r.createVNode(Bt.FButton,{type:s.type,size:s.size||"small",onClick:g=>n(s,g,p,c),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(s.text),r.createTextVNode(" ")]}))}function l(c,p,u,s){var f,g,m;(f=p.onClick)==null||f.call(p,c,u.dataIndex,u),(m=(g=t.commandOption)==null?void 0:g.onHandleAction)==null||m.call(g,s,u,p,c)}function a(c){const p=je.LocaleService.getLocale();return c.map(u=>({value:u.value,text:u.text[p],type:u.type}))}function d(c,p){var f,g,m;const{column:u}=c;return((f=u==null?void 0:u.commands)==null?void 0:f.find(y=>y.command))?o(c,p):r.createVNode(vn,{data:a(u.commands||[]),count:typeof((g=t.commandOption)==null?void 0:g.count)!="number"?2:(m=t.commandOption)==null?void 0:m.count,size:"small",placement:"auto",onClick:y=>{l(y.payload,y.button,p,c)}},null)}return{renderCommandColumn:d}}function Nn(t){const e=r.ref(t.minHeight),n=r.ref(t.minWidth),i=r.ref(t.height),o=r.ref(t.width),l=r.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=r.computed(()=>o.value<=0?0:Math.max(o.value,n.value));return r.watch([()=>t.height,()=>t.width,()=>t.minHeight,()=>t.minWidth],([c,p,u,s])=>{e.value=Number(u),n.value=Number(s),i.value=Number(c),o.value=Number(p)}),{containerStyleObject:r.computed(()=>({height:l.value>0?`${l.value}px`:t.fit?"100%":"",width:a.value>0?`${a.value}px`:t.fit?"100%":"",flex:"1 1 0"}))}}function Bn(t){var l,a;const e=r.ref(((l=t.commandOption)==null?void 0:l.enable)||!1),n=r.ref(((a=t.commandOption)==null?void 0:a.commands)||[]),i=r.computed(()=>je.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(d){var c;if(e.value&&!(d.value.findIndex(u=>u.dataType===jt)>-1)){const u={field:Ot,title:i.value,width:Vn,fixed:En,dataType:jt,commands:n.value,resizable:!1,halign:((c=t.commandOption)==null?void 0:c.halign)||"left",visible:!0,formatter:t.commandOption.formatter&&typeof t.commandOption.formatter?(s,f)=>t.commandOption.formatter(s,f):null};t.commandOption.formatter&&typeof t.commandOption.formatter!="function"&&(u.formatter=(s,f)=>t.commandOption.formatter(s,f)),d.value.push(u)}}return{applyCommands:o}}function On(t,e){var p;const n=r.ref((p=t.columnOption)==null?void 0:p.groups);function i(u,s,f,g,m){const y={actualWidth:0,children:[],depth:1,field:u.field,layer:1,left:0,parent:f,resizable:!0,title:u.title||"",status:Oe.none,popoverRef:r.ref(),showPopover:!1,column:null,sortType:"none"},b=g||y;if(u.group){let M=1;u.group.reduce((C,F)=>{if(typeof F=="string"){const T=s.get(F);T&&(m.fieldToRootMap.set(F,b),C.actualWidth+=T.actualWidth,C.children.push(T))}else{const T=i(F,s,C,b,m);M=Math.max(M,T.depth),C.actualWidth+=T.actualWidth,C.children.push(T)}return C},y),y.depth+=M}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(u){const s={groupedCells:new Map,fieldToRootMap:new Map};return n.value&&n.value.reduce((f,g)=>{const m=i(g,u,null,null,s);return f.groupedCells.set(g.field,m),f},s),s}function l(u){if(!u||u.length===0)return 0;const s=u[0];return s.children&&s.children.length>0&&(s.left=l(s.children)),s.left}function a(u,s){const f=e.value.headerDepth;u.forEach(g=>{g.layer=s?s.layer+1:1;const m=g.children&&g.children.length===0;g.depth=m?f-(g.layer-1):1,g.left=m?g.left:l(g.children),g.children&&a(g.children,g)})}function d(u,s){const f=new Map;return u.forEach(g=>{const m=s.fieldToRootMap.get(g.field),y=m!=null;y&&!f.has(m.field)&&f.set(m.field,m),y||f.set(g.field,g)}),a(Array.from(f.values())),f}function c(u){let s=new Map,f=0;if(u.reduce((g,m)=>{let y=Oe.none;y=m.sortable?y|Oe.sortable:y,y=m.filterable?y|Oe.filterable:y,y=m.sort&&m.sort!=="none"?y|Oe.sorted|(m.sort==="asc"?Oe.ascending:Oe.descending):y;const b=m.field;return g.set(b,{actualWidth:m.actualWidth||0,children:[],depth:1,layer:1,left:f,field:b,parent:null,resizable:m.resizable===void 0?!0:m.resizable,title:m.title,status:y,popoverRef:r.ref(),showPopover:!1,column:m,filterValue:null,sortType:m.sort||"none",showSetting:m.showSetting,draggable:m.draggable}),f+=m.actualWidth||0,g},s),n.value){const g=o(s);s=d(s,g)}return s}return{getGridHeaderCells:c}}function jn(t,e){var v;const{sum:n,toFixed:i}=X.useNumberFormat(),{uuid:o}=X.useGuid(),{idField:l}=e,a=r.ref(t.summary),d=r.ref(t.group),c=r.ref(((v=t.group)==null?void 0:v.groupFields)||[]),p=r.computed(()=>{var S;return(S=t.group)==null?void 0:S.enable}),u=r.computed(()=>{var S;return(S=t.group)==null?void 0:S.showGroupPanel}),s=r.computed(()=>{const S=a.value;return(S==null?void 0:S.groupFields)||[]}),f=r.computed(()=>{const S=d.value;return S&&S.showSummary}),g=r.ref(0),m=new Map;let y=[];function b(S,h,w,x,E){const N=x[w];N&&(h.reduce((I,B,V)=>{var W;const _=B[N];let k=I.get(_);if(!k){const P=s.value.reduce((A,Y)=>(A.set(Y,0),A),new Map);k={field:N,title:((W=E.get(N))==null?void 0:W.title)||N,value:_,layer:w,details:[],groupSummaries:P},I.set(_,k)}return s.value&&s.value.forEach(P=>{if(k){const A=k.groupSummaries.get(P)||0;k.groupSummaries.set(P,n([A,X.resolveField(B,P)]))}}),s.value&&s.value.forEach(P=>{if(k){const A=k.groupSummaries.get(P)||0;k.groupSummaries.set(P,i(A,2))}}),k.details.push(B),I},S),w<x.length-1&&S.forEach((I,B)=>{I.nestGroup=new Map,b(I.nestGroup,I.details,w+1,x,E),I.details=[]}))}function M(S,h){return t.group&&t.group.formatter?t.group.formatter(S.value,{...S,total:h}):`${S.title}:${S.value} (${h})`}function C(S,h){const w=[];return S.forEach(x=>{const E={[l.value]:`group_of_${h?h[l.value]+"_":""}${x.field}_${x.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:x.field,__fv_data_grid_group_layer__:x.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:x.value,groupParents:[]};h&&(E.groupParents=[...h.groupParents,h]);let N=0;if(w.push(E),x.nestGroup){const I=C(x.nestGroup,E);w.push(...I),N+=I.length}if(x.details&&x.details.length&&(w.push(...x.details),N+=x.details.length),f.value){const I={__fv_data_grid_group_field__:x.field,__fv_data_grid_group_layer__:x.layer,__fv_data_grid_group_summary__:!0};I[l.value]=`summary_of_${x.field}_${x.value}`,I[x.field]=Array.from(x.groupSummaries.entries()).reduce((B,[V,_])=>`${B} ${V} total:${_} `,""),w.push(I)}x.groupSummaries&&x.groupSummaries.size&&x.groupSummaries.forEach((I,B)=>{E[B]=I}),E[x.field]=M(x,N),E.value=x.value}),w.forEach((x,E)=>{x.__fv_data_index__=E}),w}function F(S,h,w){return!S||S.length===0||!h.length?h:(S.join(","),m.clear(),y=[],h=h.filter(x=>!x.__fv_data_grid_group_row__),b(m,h,0,S,w),y=C(m),y)}function T(S){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":S.collapse}}return{collpaseGroupIconClass:T,generateGroupData:F,groupFields:c,shouldGroupingData:p,showGroupPanel:u,groupRowSize:g}}function Rt(t){const e="parent",n="layer",i="hasChildren",o=(a,d=1,c=[],p=null)=>(a=a||[],a.reduce((u,s)=>(s.id=s.id||s.data[t.idField],s[e]=p,s[n]=d,s[i]=s[i]===void 0?!1:s[i],s.data&&Object.keys(s.data).forEach(f=>{Object.keys(s).includes(f)||(s[f]=s.data[f])}),c.push(s),s.children&&s.children.length&&(s[i]=!0,o(s.children,d+1,c,s.id)),u),c),c);return{flatTreeData:o,isNestedTree:a=>a.some(d=>Array.isArray(d.children))}}function Rn(t,e,n,i){const o=r.ref(0),l=r.ref(!!t.hierarchy),{idField:a}=i,{collapseField:d,hasChildrenField:c,parentIdField:p}=n,u=new Map,s=new Map,f=new Map,{flatTreeData:g,isNestedTree:m}=Rt(t);function y(O,j){s.clear(),O.reduce((G,q)=>{const ee=q[p.value]!==void 0?q[p.value]:"";if(ee&&j.has(ee)){const ce=j.get(ee),pe=isNaN(Number(ce.__fv_layer__))?1:Number(ce.__fv_layer__);q.__fv_layer__=pe+1,q.__fv_parent_index__=ce.__fv_index__,ce.__fv_hasChildren__=!0}else q.__fv_layer__=1;const se=G.has(ee)?G.get(ee):[];return se.push(q),G.set(ee,se),G},s)}function b(O){f.clear(),O.reduce((j,G)=>{const q=G[a.value];return j.set(q,G),j},f)}function M(O){O.forEach(j=>{const G=j[a.value];j.__fv_children_index__.map(ee=>O[ee]).forEach(ee=>{ee.__fv_parents__=new Map([...j.__fv_parents__.entries(),[G,!0]])})})}function C(O){O.forEach(j=>{const G=new Set(j.__fv_children_index__);j.__fv_children_index__=[...G].sort((q,ee)=>q-ee)})}function F(O){O.forEach(j=>{const G=j.__fv_parents__;Array.from(G.keys()).map(q=>f.get(q)).forEach(q=>{q.__fv_children_index__.push(j.__fv_index__)})}),C(O)}function T(O){O.forEach(j=>{j.__fv_child_with_lines__=[],j.__fv_child_length__=j.__fv_descendant_index__.length,j.__fv_descendant_index__.map(G=>O[G]).reduce((G,q)=>(G.__fv_child_length__+=q.__fv_children_index__.length,G.__fv_child_with_lines__.push(...q.__fv_children_index__,q.__fv_index__),G),j)})}function v(O,j){return{id:O,index:j,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function S(O,j,G){Array.from(j.keys()).forEach(q=>{j.get(q).reduce((se,ce)=>{const pe=ce[a.value],he=O.get(ce[a.value]),ge=O.get(q),Ie=G.get(q);return ge&&Ie&&(ge.children.set(pe,he),ge.children.set(pe,he),he.parentId=q,he.parentIndex=ge.index,he.parents.set(q,ge)),se},O)})}function h(O){O.children.forEach(G=>{G.parents=new Map([...O.parents.entries(),[O.id,O]]),h(G)})}function w(O,j){O.filter(G=>G[p.value]===void 0||G[p.value]==="").forEach(G=>{const q=G[a.value],ee=j.get(q);h(ee)})}function x(O){Array.from(O.values()).forEach(j=>{Array.from(j.parents.values()).forEach(G=>{G.descendant.set(j.id,j)})})}function E(O){u.clear(),O.forEach((j,G)=>{const q=j[a.value];u.set(q,v(q,G))}),b(O),y(O,f),S(u,s,f),w(O,u),x(u)}function N(O){const j=O[a.value],G=u.get(j);return G&&G.children.size>0}function I(O){return O[c.value]&&!N(O)}function B(O){const j=O[a.value],G=u.get(j);return G&&G.visibleInHierarchy}function V(){o.value=Date.now()}function _(O,j){j.forEach(G=>{const q=u.get(G[a.value]),ee=u.get(O),se=f.get(O);ee&&se&&(q.visibleInHierarchy=!se[d.value]&&ee.visibleInHierarchy)}),V()}function k(O){if(s.has(O)){const G=s.get(O);_(O,G),G.map(q=>q[a.value]).forEach(q=>k(q))}}function W(O){const j=O[a.value];k(j)}function P(O,j,G=0){O.forEach(q=>{const ee=I(q),se=q.__fv_layer__<=G,ce=j==="ToCollapse"?q.__fv_layer__<=G:!(q.__fv_layer__<=G),pe=se?ce:q[d.value];q[d.value]=ee||pe});for(const[q,ee]of s.entries())_(q,ee);return O}function A(O,j){P(O,"ToCollapse",j)}function Y(O,j){P(O,"ToExpand",j)}function J(O){O.forEach((j,G)=>{var ce;const q=j[a.value],ee=s.has(q)?(ce=s.get(q))==null?void 0:ce.map(pe=>pe.__fv_index__):[],se=v(q,G);j.__fv_graph_node__=se,j.__fv_children_index__=ee,j.__fv_descendant_index__=[...ee],j.__fv_parents__=new Map,I(j)&&(j[d.value]=!0)})}function re(O){var q,ee;E(e.value),J(O),M(O),F(O),t.showLines&&T(O);const G=((q=t.hierarchy)==null?void 0:q.collapseTo)!==void 0?Number((ee=t.hierarchy)==null?void 0:ee.collapseTo):0;return P(O,"ToCollapse",G),O}function _e(O,j,G){const ee=G.value[O][a.value],se=u.get(ee);if(se){const ce=u.get(se.parentId);let pe=G.value.length-1;if(ce){const he=Array.from(ce.children.keys()).indexOf(se.id);if(he===ce.children.size-1){const Ie=Array.from(ce.descendant.values())[ce.descendant.size-1];pe=G.value.findIndex(we=>we[a.value]===Ie.id)+1}else{const Ie=Array.from(ce.children.values())[he+1];pe=G.value.findIndex(we=>we[a.value]===Ie.id)}j[c.value]=!1,j[p.value]=ce.id,G.value.splice(pe,0,j)}}}function Ce(O,j,G){const q=G.value[O],ee=q[a.value];if(u.get(ee)){const pe=G.value.findIndex(he=>he[a.value]===ee)+1;q[c.value]=!0,q[d.value]=!1,j[c.value]=!1,j[p.value]=ee,G.value.splice(pe,0,j)}}function Se(O,j,G){const ee=G.value[O][a.value];if(u.get(ee)){const pe=G.value.findIndex(ge=>ge[a.value]===ee)+1;let he=j;m(j)&&(he=g(j)),he.forEach(ge=>{ge[p.value]=ee}),G.value.splice(pe,0,...he)}}function R(O,j){const G=O[a.value],q=u.get(G),ee=Array.from(q.descendant.keys());ee.unshift(G);const se=u.get(q.parentId);if(se&&(se.children.delete(G),se.children.size===0)){const pe=j.find(he=>he[a.value]===q.parentId);pe[c.value]=!1,pe[d.value]=!1}return j.filter(pe=>ee.indexOf(pe.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:A,expandTo:Y,generateHierarchyData:re,hasRealChildren:N,insertSibling:_e,insertChild:Ce,insertChildren:Se,isVisibleInTree:B,shouldStratifyData:l,toggleChildrenVisibiltyByCollapseStatus:W,trimmedOriginalData:R}}function An(t,e,n,i,o){const{toNumber:l,sum:a,toFixed:d}=X.useNumberFormat(),c=new Map,p=new Map,u=new Map,s=new Map,f=new Map,g=r.ref([]),m=r.ref([]),y=jn(t,o),{generateGroupData:b,groupFields:M,shouldGroupingData:C}=y,F=r.ref(t.data||[]),T=Rn(t,F,i,o),{collapseTo:v,expandTo:S,generateHierarchyData:h,hasRealChildren:w,insertSibling:x,insertChild:E,insertChildren:N,isVisibleInTree:I,shouldStratifyData:B,toggleChildrenVisibiltyByCollapseStatus:V,trimmedOriginalData:_,checkVisibleInHierarchy:k}=T,{idField:W,reviseIdentifyField:P}=o,A=r.ref(t.newDataItem),Y=r.ref(t.data||[]),J=r.ref(t.data),{flatTreeData:re,isNestedTree:_e}=Rt(t);if(t.hierarchy&&_e(t.data)){const H=re(t.data);F.value=H,Y.value=H,J.value=H}const Ce=r.ref(t.summary),Se=r.computed(()=>{const H=Ce.value;return(H==null?void 0:H.groupFields)||[]});let R=new Map;const O=r.ref(Y.value.length),j=r.ref(t.pagination);function G(){return j.value&&j.value.enable&&j.value.size>0?j.value.size:Y.value.length}const q=r.ref(1),ee=r.computed(()=>j.value&&j.value.enable&&j.value.mode!=="server"),se=r.computed(()=>j.value&&j.value.enable&&j.value.mode==="server"),ce=new Mt.FNotifyService;function pe(H,Z){const te=Math.ceil(H.length/Z);let ae=0;const Fe=[],Ne=[],Xe=[];for(;ae<te;){const Ae=H.slice(ae*Z,(ae+1)*Z),Ze=b(M.value,Ae,e);Ne[ae]=Ze.filter(ye=>ye.__fv_data_grid_group_row__).length,Fe.push(...Ze),ae++}return Ne.reduce((Ae,Ze,ye)=>(Ae=Ae+Ze,Xe.push(Ae),Ae),0),{groupData:Fe,groupRowSizeList:Ne,accumulateGroupRowSize:Xe}}function he(){var Ze;Y.value=F.value,ee.value&&(O.value=Y.value.length),C.value&&!ee.value&&(Y.value=b(M.value,F.value,e)),R=Se.value.reduce((ye,Te)=>(ye.set(Te,0),ye),R);const H=0,Z=G(),te=(q.value-1)*Z;let Fe=te>Y.value.length-1||se.value?H:te,Ne=se.value?Y.value.length:Math.min(Fe+Z,Y.value.length);if(C.value&&ee.value){const{accumulateGroupRowSize:ye,groupData:Te,groupRowSizeList:ke}=pe(F.value,Z);Y.value=Te;const He=ke[q.value-1];Fe+=q.value-2<0?0:ye[q.value-2],Ne=Fe+Z+He}let Xe=0;const Ae=[];if(Y.value.length){P(Y.value);const ye=W.value!==t.idField;for(let Te=Fe;Te<Ne;Te++){const ke=Y.value[Te];ke.__fv_data_grid_group_row__?(Xe=0,ke.__fv_data_index__=""):ke.__fv_data_grid_group_summary__?ke.__fv_data_index__="":(Xe++,ke.__fv_data_index__=Xe+(q.value-1)*Z),ke.__fv_index__=Te,ke.__fv_visible_index__=Te,t.rowOption&&t.rowOption.disabledField&&(ke.__fv_disabled__=ke[(Ze=t.rowOption)==null?void 0:Ze.disabledField]),ye&&(ke[W.value]=Te),Se.value.forEach(He=>{const Pt=R.get(He)||0;R.set(He,a([Pt,X.resolveField(ke,He)||0]))}),Ae.push(ke)}}return B.value&&h(Ae),Se.value.forEach(ye=>{const Te=R.get(ye)||0;R.set(ye,d(Te,2))}),J.value=[...Ae],Ae}const ge=r.ref(he()),Ie=r.computed(()=>(k.value,ge.value.filter(H=>B.value?H.__fv_visible__!==!1&&I(H):H.__fv_visible__!==!1)));function We(){Ie.value.forEach((H,Z)=>(H.__fv_visible_index__=Z,H))}function we(H,Z,te=!1){var Ze;const ae=te?he():[...J.value];let Fe=ae;((Ze=t.filter)==null?void 0:Ze.mode)!=="server"&&(Fe=ae.filter(ye=>n.apply(ye)));const Ne=H&&H.length?Fe.filter(ye=>H.reduce((Te,ke)=>Te&&ke.filter(ye),!0)):Fe,Xe=Z&&Z.length?Ne.sort((ye,Te)=>{const ke=[...Z],He=ke.shift(),Pt=X.resolveField(ye,He.field)===void 0||X.resolveField(ye,He.field)===null?"":X.resolveField(ye,He.field),Br=X.resolveField(Te,He.field)===void 0||X.resolveField(Te,He.field)===null?"":X.resolveField(Te,He.field);let Nt=He.compare(Pt,Br);for(;Nt===0&&ke.length!==0;){const et=ke.shift();if(et){const Or=X.resolveField(ye,et.field)===void 0||X.resolveField(ye,et.field)===null?"":X.resolveField(ye,et.field),jr=X.resolveField(Te,et.field)===void 0||X.resolveField(Te,et.field)===null?"":X.resolveField(Te,et.field);Nt=et.compare(Or,jr)}}return Nt}):Ne,Ae=G();return ge.value=Xe.map((ye,Te)=>{if(ye.__fv_data_grid_group_row__){const ke=`group_of_${ye.__fv_data_grid_group_field__}_${ye.__fv_data_grid_group_value__}`;ye.__fv_data_grid_group_collapse__=!!c.get(ke)}return ye.__fv_index__=Te,ye.__fv_visible_index__=Te,ye.__fv_data_index__=Te+1+(q.value-1)*Ae,ye}),ge.value}function $(H){return f.clear(),m.value=H,m.value.reduce((Z,te)=>(Z.set(te.field,te),Z),f),we([],m.value)}function Q(H,Z){return f.set(H,Z),m.value=Array.from(f.values()),we([],m.value)}function U(H){return f.delete(H),m.value=Array.from(f.values()),we([],m.value)}function ve(H,Z){return p.set(H,Z),g.value=Array.from(p.values()),we([],Array.from(f.values()))}function be(H){return p.delete(H),g.value=Array.from(p.values()),we([],Array.from(f.values()),!0)}function Re(){return p.clear(),g.value=[],we([],Array.from(f.values()),!0)}function Je(H,Z,te){const ae=`group_of_${H}_${Z}`;c.set(ae,!0);const Fe=Ne=>Ne[H]!==Z;return u.set(`collapse_${H}_${Z}`,{field:H,fieldName:H,fieldType:"string",filterValue:Z,filter:Fe}),we(Array.from(u.values()),Array.from(f.values()))}function ct(H){v(ge.value,H)}function ut(H){S(ge.value,H)}function Ge(H,Z,te){const ae=`group_of_${H}_${Z}`;return c.set(ae,!1),u.delete(`collapse_${H}_${Z}`),we(Array.from(u.values()),Array.from(f.values()),!0)}function L(H){const Z=H.raw[W.value],te=ae=>!ae.__fv_parents__.has(Z);s.set(`fold_${Z}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(Z),filter:te}),we(Array.from(s.values()),Array.from(f.values())),h(ge.value)}function ie(H){const Z=H[W.value];s.delete(`fold_${Z}`)}function Me(H){ie(H.raw),we(Array.from(s.values()),Array.from(f.values()),!0),h(ge.value)}function ue(){const H=he();ge.value=H,we(Array.from(s.values()),Array.from(f.values())),t.hierarchy&&h(ge.value)}function qe(H){const te=t.hierarchy&&_e(H)?re(H):H;F.value=te,ue()}function ft(H,Z,te){return(H&&H.length?ge.value.filter((Fe,Ne)=>H.reduce((Xe,Ae)=>Xe&&Ae.filter(Fe),!0)):ge.value).slice(Z,te)}function lt(H){const Z=G(),te=Math.ceil(O.value/Z);0<=H&&H<=te&&(q.value=H,ue())}function Ct(H){F.value.push(Be.cloneDeep(H)),ge.value=he()}function wt(H=0){if(!(H>-1))return!1;const te=A.value();t.hierarchy?x(H,te,F):F.value.splice(H,0,te),ue()}function kt(H=0){if(!(H>-1&&t.hierarchy))return!1;const te=A.value(),ae=F.value[H];ie(ae),E(H,te,F),ue()}function mt(H,Z=0){if(!(Z>-1&&t.hierarchy))return!1;const ae=F.value[Z];ie(ae),N(Z,H,F),ue()}function Vt(H){const Z=H?H-1:0;F.value.splice(Z,1),ue()}function xt(H){const Z=F.value.findIndex(te=>te[W.value]===H);Z!==-1&&(F.value.splice(Z,1),ue())}function Et(H){const Z=H>-1?F.value[H]:null;if(!(Z&&Z.deletable!==!1))return!1;F.value=_(Z,F.value),ue()}function It(){const H=u.size>0?Array.from(u.values()):[];return we(H,Array.from(f.values()))}function pt(H){j.value.size=H}function D(H){j.value&&(pt(H),ue())}function K(H,Z){const te=F.value[Number(H)-1];te.editable!==!1?(te.name=Z,ue()):ce.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function oe(H){return H.map(te=>{const ae=J.value.findIndex(Fe=>""+Fe[W.value]==""+te);return ae>-1?J.value[ae]:null}).filter(te=>te!=null)}function fe(){const H=t.summary.groupFields;R=H.reduce((Z,te)=>(Z.set(te,0),Z),R);for(const Z of Y.value)H.forEach(te=>{const ae=R.get(te)||0;R.set(te,a([ae,X.resolveField(Z,te)||0]))});H.forEach(Z=>{const te=R.get(Z)||0;R.set(Z,d(te,2))})}function xe(H){const Z=t.summary.groupFields;R=Z.reduce((te,ae)=>(te.set(ae,0),te),R);for(const te of H)Z.forEach(ae=>{const Fe=R.get(ae)||0;R.set(ae,a([Fe,X.resolveField(te.raw,ae)||0]))});Z.forEach(te=>{const ae=R.get(te)||0;R.set(te,d(ae,2))})}return{addFilter:ve,addNewDataItem:Ct,addSorter:Q,updatePageSize:pt,changePageSizeTo:D,collapse:Je,collapseTo:ct,dataView:ge,editDataItem:K,expand:Ge,expandTo:ut,filters:g,fold:L,getRange:ft,getSelectionItems:oe,hasRealChildren:w,insertNewChildDataItem:kt,insertNewChildDataItems:mt,insertNewDataItem:wt,isVisibleInTree:I,load:qe,navigatePageTo:lt,pageIndex:q,rawView:J,refresh:It,removeAllFilter:Re,removeDataItem:Vt,removeDataItemById:xt,removeFilter:be,removeHierarchyDataItem:Et,removeSorter:U,reOrderVisibleIndex:We,setSorters:$,sorters:m,summaries:R,updateSummary:fe,toggleChildrenVisibiltyByCollapseStatus:V,totalItems:O,unFold:Me,updateDataView:ue,visibleDataItems:Ie,shouldGroupingData:C,pagination:j,updateVisibleDataSummary:xe}}const Ln=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Hn={equal:(t,e,n)=>t&&t[e]===n,notEqual:(t,e,n)=>t&&t[e]!==n,contain:(t,e,n)=>t?(t[e]||"").indexOf(n)>-1:!1,startWidth:(t,e,n)=>t?(t[e]||"").startsWith(n):!1,endWidth:(t,e,n)=>t?(t[e]||"").endsWith(n):!1},$n={equal:(t,e,n)=>t&&t[e]===n,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t&&t[e]!==n},zn={equal:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()===i}return!1},notEqual:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()!==i}return!1},greaterThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<=i}return!1}},Wn={equal:(t,e,n)=>t?String(n).split(",").includes(String(t[e])):!1,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t?String(n).split(",").findIndex(o=>o===String(t[e]))===-1:!1},Gn={equal:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},qn=new Map([["boolean",$n],["datetime",zn],["enum",Wn],["number",Gn],["text",Hn]]);function Un(t,e){const n=r.ref([]),i=new Map,{loadConditionGroup:o}=de.useCondition();function l(T,v){switch(T){case"check-box":return new de.CheckBoxValue({value:v});case"combo-list":return new de.ComboListValue({value:v});case"combo-lookup":return new de.ComboLookupValue({value:v});case"input-group":return new de.TextValue({value:v});case"date-picker":return new de.DatePickerValue({value:v});case"date-range":return new de.DateRangeValue({value:v});case"datetime-picker":return new de.DateTimePickerValue({value:v});case"datetime-range":return new de.DateRangeValue({value:v});case"lookup":return new de.TextValue({value:v});case"month-picker":return new de.MonthPickerValue({value:v});case"month-range":return new de.MonthRangeValue({value:v});case"number-range":return new de.NumberRangeValue({value:v});case"number-spinner":return new de.NumberSpinnerValue({value:v});case"radio-group":return new de.RadioGroupValue({value:v});default:return new de.TextValue({value:v})}}const a=new Map([["boolean","check-box"],["date","date-picker"],["datetime","datetime-picker"],["number","number-spinner"],["string","text"],["text","text"],["enum","combo-list"],["reference","lookup"]]),d=new Map([["boolean",de.CompareType.Equal],["date",de.CompareType.Equal],["datetime",de.CompareType.Equal],["number",de.CompareType.Equal],["string",de.CompareType.Equal],["text",de.CompareType.Equal],["enum",de.CompareType.In],["reference",de.CompareType.Equal]]);function c(){n.value.forEach((v,S)=>{S===n.value.length-1?v.relation=0:v.relation=1});const T=[];return n.value.forEach(v=>{const{valueType:S}=v.value,h=v.value.value;if(S==="boolean"){const w=[];h.length===1&&w.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null}),h.length>1&&w.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:2,expresstype:de.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[1],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),T.push(...w)}else T.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value,relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),T}function p(T){var S;const v=T.dataType||"string";return((S=T.editor)==null?void 0:S.type)||a.get(v)||"text"}function u(T){var V,_,k,W,P;const v=`field_filter_${T.field}`,S=Date.now(),h=T.field,w=((V=T.column)==null?void 0:V.title)||"",x=((_=T.column)==null?void 0:_.dataType)||"string",E=d.get(x)||de.CompareType.Equal,N=((W=(k=T.column)==null?void 0:k.editor)==null?void 0:W.type)||a.get(x)||"text",I=l(N,(P=T.column)==null?void 0:P.filter),B=N==="lookup"||N==="combo-lookup"?de.ValueType.SmartHelp:N==="combo-list"?de.ValueType.Enum:de.ValueType.Value;i.set(v,{id:v,fieldCode:h,fieldName:w,compareType:E,valueType:B,value:I,conditionId:S,relation:1}),n.value=Array.from(i.values())}function s(T){const v=`field_filter_${T.field}`;i.delete(v),n.value=Array.from(i.values())}function f(T){i.delete(T),n.value=Array.from(i.values())}function g(){i.clear(),n.value=[]}function m(T){const{valueType:v}=T.value,S=T.compareType||"0",h=Ln[Number(S)];return qn.get(v)[h]}function y(T){const v=T.relation===2?0:1,S=T.items.map(w=>{const x=m(w);return N=>x(N,w.fieldCode,w.value.getValue())}),h=T.children&&T.children.length?T.children.map(w=>y(w)):[];return{relation:v,filterFunctions:S,children:h}}function b(){const T=o(n.value);return y(T)}function M(T,v){const S=v.filterFunctions.map(w=>w(T)),h=v.children.map(w=>M(T,w));return v.relation===1?S.every(w=>w)&&h.every(w=>w):S.includes(!0)||h.includes(!0)}function C(T){const v=b();return M(T,v)}function F(T){e.emit("filterChanged",T)}return{addColumnFilter:u,apply:C,clearCondition:g,conditions:n,getFilterEditorType:p,removeColumnFilter:s,removeCondition:f,filterFromServer:F,createFilterConditions:c}}function Dn(t){r.ref(t.selection.showCheckbox||!1);const e=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),n=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=r.computed(()=>t.hierarchy&&t.selection.showCheckbox),l=r.computed(()=>(t.treeNodeIconsData.fold||t.iconField)&&t.showTreeNodeIcons);return{collapseField:e,hasChildrenField:n,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:l}}function Yn(t,e,n,i,o,l,a,d,c){var pt;const{dataView:p,visibleDataItems:u}=e,{getVisualData:s,maxVisibleRowIndex:f,minVisibleRowIndex:g}=o,m=r.computed(()=>i.value.primaryColumnsWidth),y=r.computed(()=>i.value.leftColumnsWidth),b=r.computed(()=>i.value.rightColumnsWidth),M=((pt=t.rowOption)==null?void 0:pt.height)||28,C=r.ref(0),F=r.ref(0);let T=0,v=l.value-1;const S=r.ref(0),h=r.ref(0),w=r.ref(0),x=r.ref(t.virtualized),E=24,N=1.5;let I=null,B=null,V=null;function _(){const D=u.value;if(D.length<=0)return 0;const K=f.value<D.length?D[f.value]:D[D.length-1];return K.__fv_data_position__>D.length*M?D.length*M:(K.__fv_data_position__||0)+(K.__fv_data_height__||0)+Math.max(D.length-1-f.value,0)*M}const k=r.computed(()=>{const D=_();u.value;let K=h.value/Math.max(D,h.value),oe=Math.floor(K*h.value);for(;h.value>0&&oe<E;)K*=N,oe=Math.floor(K*h.value);return oe}),W=r.computed(()=>Math.floor(w.value/Math.max(m.value,w.value)*S.value)),P=0,A=0,Y=r.computed(()=>S.value-(y.value+m.value+b.value+d.value));function J(D){const oe=Math.floor(D/M)+1,fe=u.value;return fe.length>oe?fe[oe].__fv_visible_index__-1:0}function re(D,K,oe){let fe=D,xe=K;const H=K-D+1;if(H<a+l.value+a){const Z=a+l.value+a-H,te=K+Z<=oe,ae=0+Z<=D;if(te)xe+=Z,v=xe;else if(ae)fe-=Z,T=fe;else{const Fe=oe-K,Ne=Z-Fe;xe=Math.min(K+Fe,oe),fe=Math.max(D-Ne,0)}}return{actualStart:fe,actualEnd:xe}}function _e(D){var Fe,Ne;const K=u.value;if(!K.length){n.value=[];return}const oe=(Fe=t.pagination)!=null&&Fe.enable?0:Math.max(T-a,0),fe=K[K.length-1].__fv_visible_index__,xe=(Ne=t.pagination)!=null&&Ne.enable?K.length-1:Math.min(v+a,fe),{actualStart:H,actualEnd:Z}=re(oe,xe,fe),te=K[H-1],ae=s(H,Z,te,D);ae.length&&(n.value=[...ae])}const Ce=r.computed(()=>_()>h.value),Se=r.computed(()=>Math.floor(m.value)>w.value);function R(D,K){let oe=D;const fe=oe>P,xe=Ce.value;xe&&oe<h.value-K&&(oe=h.value-K),(!xe||fe)&&(oe=P),C.value!==oe&&(C.value=oe)}function O(){x.value&&(T=J(Math.abs(C.value)),v=T+l.value-1,(T<g.value||v>f.value-a/2)&&_e())}function j(D){let K=C.value+D;K>P&&(K=P);const oe=_();R(K,oe),O()}function G(D){if(!Se.value){F.value=0;return}let K=F.value+D;K>A&&(K=A),K<Y.value&&(K=Y.value),F.value!==K&&(F.value=K)}function q(){Math.abs(F.value)+w.value>m.value&&(F.value=Math.min(w.value-m.value,0))}function ee(){C.value=0,T=0,v=l.value-1,_e()}function se(){const D=_();R(C.value,D)}r.watch([w,m],()=>{G(0)}),r.watch(h,(D,K)=>{D!==K&&D>=p.value.length*M&&j(0)});function ce(D){let{deltaX:K}=D,oe=-1*D.deltaY;return typeof K>"u"&&(K=-1*D.wheelDeltaX/6),typeof oe>"u"&&(oe=D.wheelDeltaY/6),D.deltaMode&&D.deltaMode===1&&(K*=10,oe*=10),D.shiftKey?{deltaY:-oe,deltaX:-K}:{deltaX:K,deltaY:oe}}function pe(D){if(t.disabled||!Ce.value||D.target.tagName==="TEXTAREA")return;D.preventDefault(),D.stopPropagation();const{deltaX:K,deltaY:oe}=ce(D);j(oe),G(K)}const he=r.computed(()=>({height:`${p.value.length*M}px`,width:`${y.value}px`,transform:`translateY(${C.value}px)`})),ge=r.computed(()=>({transform:`translateY(${C.value}px)`})),Ie=r.computed(()=>({height:`${(t.autoHeight?u.value:p.value).length*M}px`,width:`${m.value}px`,transform:`translate(${F.value}px, ${C.value}px)`})),We=r.computed(()=>({transform:`translate(${F.value}px, ${C.value}px)`})),we=r.computed(()=>({height:`${p.value.length*M}px`,width:`${b.value}px`,transform:`translateY(${C.value}px)`})),$=r.computed(()=>({transform:`translateY(${C.value}px)`})),Q=r.computed(()=>({height:`${p.value.length*M}px`,width:`${d.value}px`,transform:`translateY(${C.value}px)`})),U=r.computed(()=>({width:`${y.value}px`})),ve=r.computed(()=>({transform:`translateX(${F.value}px)`})),be=r.computed(()=>({width:`${b.value}px`})),Re=r.computed(()=>{const D=_();return R(C.value,D),C.value/(h.value-D)*(h.value-k.value)}),Je=r.computed(()=>({width:"8px",height:`${k.value}px`,top:`${Re.value}px`,backgroundColor:"#cccccc !important"})),ct=r.computed(()=>F.value/Y.value*(S.value-W.value)),ut=r.computed(()=>({height:"8px",width:`${W.value}px`,left:`${ct.value}px`,backgroundColor:"#cccccc !important"})),Ge=r.ref(!1),L=r.ref(-1),ie=r.ref(-1),Me=r.ref();function ue(D){if(D instanceof MouseEvent?D.pageX:D.touches[0].pageX,Ge.value&&ie.value!==-1){const K=ie.value-D.pageX,oe=S.value-W.value;if(Math.abs(K)<=oe){const fe=K/(w.value-W.value)*(m.value-w.value);G(fe),ie.value=D.pageX}}}function qe(D){if(Ge.value&&L.value!==-1){const K=L.value-D.pageY,oe=_(),fe=oe-k.value;if(Math.abs(K)<=fe){const xe=K/(h.value-k.value)*(oe-h.value);j(xe),L.value=D.pageY}}}function ft(D){const{pageX:K,pageY:oe}=D.touches[0];if(Ge.value&&ie.value!==-1){const fe=ie.value-K,xe=S.value-W.value;if(Math.abs(fe)<=xe){const H=fe/(w.value-W.value)*(m.value-w.value);G(H),ie.value=K}}}function lt(D){const{pageX:K,pageY:oe}=D.touches[0];if(Ge.value&&L.value!==-1){const fe=L.value-oe,xe=_(),H=xe-k.value;if(Math.abs(fe)<=H){const Z=fe/(h.value-k.value)*(xe-h.value);j(Z),L.value=oe}}}function Ct(D){Ge.value=!1,L.value=-1,ie.value=-1,document.removeEventListener("mouseup",Ct),I&&(document.removeEventListener("mousemove",I),I=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function wt(D){Ge.value=!1,L.value=-1,ie.value=-1,document.removeEventListener("touchend",wt),B&&(document.removeEventListener("touchmove",B),B=null),V&&(document.removeEventListener("touchmove",V),B=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function kt(D,K,oe){var te;Ge.value=!0;const fe=(te=D.target)==null?void 0:te.parentElement;fe&&(fe.style.opacity="1",Me.value=fe);const xe=oe==="horizontal"?ue:Be.throttle(qe,50);I||(I=xe);const{pageX:H}=D,{pageY:Z}=D;oe==="vertical"&&(L.value=D.pageY),oe==="horizontal"&&(ie.value=D.pageX),K.value&&(K.value,document.addEventListener("mousemove",I),document.addEventListener("mouseup",Ct),document.body.style.userSelect="none")}function mt(D){const{pageX:K,pageY:oe}=D.touches[0],fe=Math.abs(K-ie.value),xe=Math.abs(oe-L.value);xe>fe&&xe>5?(V||(V=Be.throttle(lt,50)),document.addEventListener("touchmove",V),document.removeEventListener("touchmove",mt)):fe>xe&&fe>5&&(B||(B=ft),document.addEventListener("touchmove",B),document.removeEventListener("touchmove",mt)),ie.value=K,L.value=oe}function Vt(D,K){var H;Ge.value=!0;const oe=(H=D.target)==null?void 0:H.parentElement;oe&&(oe.style.opacity="1",Me.value=oe);const{pageX:fe,pageY:xe}=D.touches[0];ie.value=fe,L.value=xe,K.value&&(K.value,document.addEventListener("touchmove",mt),document.addEventListener("touchend",wt),document.body.style.userSelect="none")}function xt(D){const K=p.value.length*M-h.value;let oe=D*M;oe>=K&&(oe=K),j(-oe-C.value)}function Et(){xt(p.value.length)}function It(D){j(D-C.value)}return{dataGridWidth:S,fitHorizontalScroll:q,gridDataStyle:Ie,gridHeaderColumnsStyle:ve,gridMergedDataStyle:We,gridSideStyle:Q,horizontalScrollThumbStyle:ut,leftFixedGridDataStyle:he,leftFixedGridHeaderColumnsStyle:U,leftFixedGridMergedDataStyle:ge,offsetX:F,offsetY:C,onMouseDownScrollThumb:kt,onWheel:pe,reCalculateVisualDataRows:_e,resetScroll:ee,rightFixedGridDataStyle:we,rightFixedGridHeaderColumnsStyle:be,rightFixedGridMergedDataStyle:$,shouldShowHorizontalScrollbar:Se,shouldShowVirticalScrollbar:Ce,updateVirticalScroll:se,updateVisibleRowsOnLatestVisibleScope:O,verticalScrollThumbStyle:Je,viewPortWidth:w,viewPortHeight:h,scrollToBottom:Et,scrollToRowByIndex:xt,scrollTo:It,onTouchstartScrollThumb:Vt}}function Xn(t){var l;const{isUndefined:e}=X.useCommonUtils(),n=((l=t.rowOption)==null?void 0:l.height)||28;function i(a,d){const c=a.pre;if(c){let p=c.__fv_data_position__,u=c.__fv_data_height__;(e(p)||t.virtualized&&t.hierarchy&&c.__fv_visible_index__*n!==p)&&(p=c.__fv_visible_index__*n),e(u)&&(u=n);const s=a.visible?p+u:c.__fv_data_position__;a.top=s,d.__fv_data_position__=s}else a.top=0,d.__fv_data_position__=0}function o(a,d,c){if(a&&!d.ref){d.ref=a;const p=d.parent;d.cellHeight!==a.offsetHeight&&(d.cellHeight=a.offsetHeight),d.cellHeight&&d.cellHeight>(p.height||0)&&(p.height=d.cellHeight,c.__fv_data_height__=p.height),i(p,c)}!a&&d.ref&&(d.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function Zn(){function t(e,n){var a,d;if(!n.data||!n.data.length)return"";const i=Object.prototype.hasOwnProperty.call(n,"valueField")&&n.valueField||"value",o=Object.prototype.hasOwnProperty.call(n,"textField")&&n.textField||"name";if(e!=null&&e.includes(",")){const c=e.split(",");if(!n.data.filter(f=>c.includes(f[i])).length)return"";const u=(a=n.data)==null?void 0:a.reduce((f,g)=>(f[g[i]]=g,f),{});return c.map(f=>{var g;return(g=u[f])==null?void 0:g[o]}).join(",")||e}const l=(d=n.data)==null?void 0:d.find(c=>c[i]===e);return(l==null?void 0:l[o])||e||""}return{renderEnumColumn:t}}function Jn(){function t(e,n){return e?n==null?void 0:n.trueText:n==null?void 0:n.falseText}return{renderText:t}}function Qn(){const{formatTo:t}=X.useDateFormat();function e(i,o){if(i){let l="yyyy-MM-dd";if(typeof o=="string"?l=o:typeof o=="object"&&(l=o.format||"yyyy-MM-dd"),l=l.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[d,c]=i.split(a);return d=t(d,l),c=t(c,l),d+a+c}return t(i,l)}return i}function n(i,o){const l=o.dateFormat||"yyyy-MM-dd";return t(i,l)}return{renderDateColumn:n,renderDateTimeColumn:e}}function Kn(){const{formatTo:t}=X.useNumberFormat();function e(n,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return t(n,o)||n}return{renderNumberColumn:e}}function ei(){function t(e,n){if(e){const i={};return n!=null&&n.width&&(i.width=`${n.width}px`),n!=null&&n.height&&(i.height=`${n.height}px`),r.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:t}}function ti(){function t(e,n){const i=je.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:t}}function ni(){const{renderText:t}=Jn(),{renderEnumColumn:e}=Zn(),{renderNumberColumn:n}=Kn(),{renderDateColumn:i,renderDateTimeColumn:o}=Qn(),{renderImageColumn:l}=ei(),{renderMultilingualColumn:a}=ti();function d(u){return typeof u=="boolean"?u.toString():u}function c(u,s,f){return s.customFormat?r.createVNode("div",{innerHTML:s.customFormat(u,f.raw)},null):d(u)}function p(u,s,f){const{column:g}=u,m=X.resolveField(s.raw,g.field),y=f.options||f;return f.type===De.NONE?d(m):f.type===De.CUSTOM?c(m,f,s):f.type===De.ENUM?e(m,y):f.type===De.NUMBER?n(m,y):f.type===De.BOOLEAN?t(m,y):f.type===De.DATE?i(m,y):f.type===De.DATE_TIME?o(m,f):f.type===De.IMAGE?l(m,y):f.type===De.MULTI_LINGUAL?a(m,y):d(m)}return{renderFormatColumn:p}}function ii(t,e,n){var M;const{isUndefined:i}=X.useCommonUtils(),o=r.ref(t.mergeCell);(M=r.ref(t.rowOption).value)!=null&&M.wrapContent;const{updateVisualInfomation:a}=n,{renderCommandColumn:d}=Pn(t),{renderFormatColumn:c}=ni();function p(C,F,T,v,S,h=1){const w={colSpan:h,rowSpan:1,index:T,field:C,data:X.resolveField(v,C),editingData:X.resolveField(v,C),parent:S,mode:F,align:"left",valign:"start",showEllipsis:!0,getEditor:x=>x.data,setRef:x=>a(x,w,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return w}function u(C,F,T){return C.getEditor=v=>e.getEditor(v,F,v.parent),C.setRef=v=>a(v,C,T),C.update=v=>{v!==void 0&&(C.editingData=v)},C.accept=()=>{X.setFieldValue(C.editingData,T,F.field),C.data=X.resolveField(T,F.field)},C.cancel=()=>{C.editingData=C.data},C.updateData=v=>{X.setFieldValue(X.resolveField(v,F.field),T,F.field),C.data=X.resolveField(T,F.field),C.editingData=X.resolveField(T,F.field)},C}function s(C,F){F.dataType==="commands"?C.formatter=(T,v)=>F.formatter?F.formatter(C,v):d(C,v):F.formatter&&(C.formatter=(T,v)=>typeof F.formatter=="function"?F.formatter(T,v):c(C,v,F.formatter))}function f(C,F,T){const v=F&&F.data[T];if(v&&v.data===C.data){const h=v&&v.spannedBy||v;h.rowSpan++,h.spanned=h.spanned||[],h.spanned.push(C),C.colSpan=0,C.rowSpan=0,C.spannedBy=h}}function g(C,F,T){o.value&&f(C,F,T.field)}function m(C,F){F.showEllipsis!==void 0&&(C.showEllipsis=F.showEllipsis),C.showTips=i(F.showTips)?!0:F.showTips,C.column=F,C.align=F.align||"left",C.valign=F.valign||"middle",C.mode=t.editable?Pe.editable:Pe.readonly}function y(C,F,T,v){m(C,F),u(C,F,v),s(C,F),g(C,T,F)}function b(C,F,T,v,S){const h=t.editable?Pe.editable:Pe.readonly,w=p(C.field,h,F,T,v);return y(w,C,S,T),w}return{createCellByColumn:b,createCellByField:p,updateCellByColumn:y}}function oi(t,e,n,i,o,l,a){var F,T;const d=r.ref(t.rowOption),c=((F=d.value)==null?void 0:F.height)||28,p=((T=d.value)==null?void 0:T.wrapContent)||!1,{idField:u}=o,{collapseField:s}=i,{updateRowPosition:f}=l,{createCellByColumn:g}=a,m=(v,S,h,w)=>{X.setFieldValue(X.resolveField(v,w),S,w),h.data[w].data=X.resolveField(S,w),h.data[w].editingData=X.resolveField(S,w)};function y(v,S,h,w,x,E){var _e,Ce,Se;const{__fv_data_grid_group_field__:N,__fv_data_grid_group_value__:I,__fv_data_index__:B}=h,V=h.__fv_data_grid_group_layer__||(h.__fv_parents__?(_e=h.__fv_parents__)==null?void 0:_e.size:0)||0,_=typeof h.parent=="number"?Number(h.parent):-1,k=h.__fv_data_grid_group_collapse__||h[s.value],W=h.__fv_visible__===void 0?!0:h.__fv_visible__,P=h.__fv_checked__,A=h.__fv_indeterminate__,Y=h.__fv_disabled__||h[((Ce=t.rowOption)==null?void 0:Ce.disabledField)||"disabled"],J=t.hierarchy&&e.isVisibleInTree(h),re={collapse:k,data:{},dataIndex:B,groupField:N,groupValue:I,layer:V,index:S,parentIndex:_,pre:w,top:E,type:v,raw:h,checked:P,disabled:Y,indeterminate:A,setRef:R=>{re.ref=R},visible:W&&J||W&&!t.hierarchy,status:Ue.initial,updateCell:(R,O)=>{m(R,h,re,O),e.updateSummary()},updateCells:(R,O)=>{O.forEach(j=>{m(R,h,re,j)})}};return w||(h.__fv_data_position__=0),p||(re.height=c,h.__fv_data_height__=re.height,f(re,h)),(Se=d.value)!=null&&Se.customRowStatus&&(d.value.customRowStatus(re),h.__fv_disabled__=re.disabled),re}function b(v,S,h,w,x,E){const N=y(tt.data,x,S,h,w,E);return v.forEach((I,B)=>{N.data[I.field]=g(I,B,S,N,w)}),N}function M(v,S,h,w,x){return Object.assign(v,{index:S,dataIndex:h,top:w,pre:x})}function C(v,S,h,w,x,E){const N=v.__fv_data_index__,I=v[u.value],B=n.getEditingSnapshot(I);return B===null?b(E,v,S,h,w,x):M(B,w,N,x,S)}return{createEmptyRow:y,createNewRowFromDataItem:b,renderDataRow:C}}function ri(t,e,n,i){const o=r.ref(t.summary),{idField:l}=e,{createCellByField:a}=n,{createEmptyRow:d}=i,c=r.computed(()=>{const f=o.value;return(f==null?void 0:f.groupFields)||[]}),p=r.computed(()=>{const f=o.value;return f&&f.enable&&f.groupFields&&f.groupFields.length>0});function u(f,g,m,y){if(p.value){const b=f.data[g];let M=b.colSpan;const C=c.value.reduce((F,T)=>(F.set(T,!0),F),new Map);y.reduce((F,T,v)=>{if(C.has(T.field)){const S=a(T.field,Pe.readonly,v,m,f);f.data[T.field]=S,M-1>v&&(M=v)}return F},f),b.colSpan=M}}function s(f,g,m,y,b,M,C){const F=f.__fv_data_grid_group_field__,T=d(tt.group,y,f,g,m,b);return T.data[l.value]=a(l.value,Pe.readonly,-1,f,T,0),T.data[F]=a(F,Pe.readonly,1,f,T,M.length),u(T,F,f,M),T}return{renderGroupRow:s}}function li(t,e,n,i){const{idField:o}=e,{createCellByField:l}=n,{createEmptyRow:a}=i;function d(c,p,u,s,f,g,m){const y=c.__fv_data_grid_group_field__,b=a(tt.summary,s,c,p,u,f);return b.data[o.value]=l(o.value,Pe.readonly,-1,c,b),b.data[y]=l(y,Pe.readonly,1,c,b,g.length),b}return{renderSummaryRow:d}}function ai(t,e,n,i,o){var Se;const{isSmall:l}=Ve.useScreen(),a=r.ref(!1),{idField:d}=n,c=r.ref(t.editable),p=r.ref(t.editOption),u=r.ref(((Se=t.rowOption)==null?void 0:Se.wrapContent)||!1),{onClickRow:s,onClickRowExcludeDblclick:f}=i,g=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let m,y,b,M,C;function F(R){return y&&y.raw[d.value]===R?y:null}const T=r.reactive({});function v(R){return(R==null?void 0:R.field)!==Ot&&(R==null?void 0:R.field)!==kn}function S(R,O,j={}){R.mode=Pe.editing,m=R,y=O,b=X.resolveField(O==null?void 0:O.raw,R.field),M=j;for(const G in T)delete T[G]}function h(R){R.accept(),R.mode=Pe.editable,m=null}function w(R){h(R);const O={};y&&(Object.keys(y).forEach(j=>{O[j]=y==null?void 0:y[j]}),y=null),e.emit("endEditCell",{cell:R,row:O,newValue:X.resolveField(O==null?void 0:O.raw,R.field),oldValue:b,column:M,editor:T})}function x(R){const O=Promise.resolve(!0);return R?O.then(()=>Be.isUndefined(t.beforeEndEditCell)?!0:typeof t.beforeEndEditCell=="function"?t.beforeEndEditCell({cell:R,row:y,newValue:R.editingData,oldValue:b}):()=>!0).then(j=>(j&&(w(R),y&&(y=null)),j)):O}function E(R){if(C&&C!==R.target){C=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const j=R.target;if(!(j!=null&&j.closest(".popover"))){if(R instanceof MouseEvent||R.key!=="Enter"){const G=j.closest(".fv-grid-cell");if(m&&m.ref&&m.ref===G)return}x(m).then(G=>{G&&document.body.removeEventListener("click",E,!0)})}}function N(){window.closeModal||(window.closeModal=()=>{a.value=!1,window.closeModal&&delete window.closeModal})}function I(R,O,j){return Promise.resolve().then(()=>{var q;const G=(q=j.editor)==null?void 0:q.readonly;return!Be.isUndefined(t.beforeEditCell)&&typeof t.beforeEditCell=="function"?t.beforeEditCell({row:R,cell:O,rawData:R.raw,column:j}):!G}).then(G=>{G&&(l()?(a.value=!0,N()):S(O,R,j),document.body.removeEventListener("click",E,!0),document.body.addEventListener("click",E,!0))})}function B(R,O,j,G={}){R.stopPropagation(),f(R,j),v(O.column)&&c.value&&p.value.editMode==="cell"&&O.mode===Pe.editable&&x(m).then(()=>{m||I(j,O,G)})}function V(R,O,j,G={}){l()||R.stopPropagation(),s(R,j),v(O.column)&&c.value&&p.value.editMode==="cell"&&O.mode===Pe.editable&&x(m).then(()=>{m||I(j,O,G)})}function _(R){R.stopPropagation(),C=R.target}function k(R){R.stopPropagation(),C&&(C=null)}function W(R){Object.values(R.data).filter(O=>O.mode===Pe.editable&&v(O.column)).forEach(O=>{O.mode=Pe.editing}),R.status=Ue.editing,y=R}function P(R,O){Object.values(R.data).filter(j=>j.mode===Pe.editing).forEach(j=>{O?j.accept():j.cancel(),j.mode=Pe.editable}),R.status=Ue.initial,y===R&&(y=null)}function A(R){c.value&&p.value.editMode==="row"&&y!==R&&(y&&P(y,!1),W(R))}function Y(R){P(R,!0),R.status=Ue.initial}function J(R){P(R,!1),R.status=Ue.initial}function re(R,O,j){const G=O.dataType,q=O.editor||{type:g.get(G)||"input-group"};return!u.value&&q.type==="text"&&(q.type="input-group"),q&&v(R.column)?(q.type==="input-group"&&(q.textAlign=O.align!=="center"&&O.align!=="right"?"left":O.align,q.updateOn="change"),q.type==="number-spinner"&&(q.updateOn="change"),q.type==="textarea"&&(q.lineBreak="alt enter"),q.context={rowData:j.raw,column:O,cell:R,editor:T},q.readonly=!1,r.createVNode(bn.FDynamicFormInput,{focusOnCreated:t.focusOnEditingCell,selectOnCreated:t.selectOnEditingCell,editor:q,modelValue:R.editingData,"onUpdate:modelValue":ee=>R.editingData=ee,id:O.id,onMousedown:ee=>_(ee),onMouseup:ee=>k(ee)},null)):R.data}function _e(){x(m)}r.watch(()=>t.editable,()=>{c.value=t.editable}),r.watch(()=>{var R;return(R=t.editOption)==null?void 0:R.editMode},R=>{p.value.editMode=R});function Ce(){m=null,y=null,M=null,C=null,document.body.removeEventListener("click",E,!0)}return{clear:Ce,onClickOutOfCell:E,onClickCell:V,onClickCellByKeyboard:B,onEditingRow:A,acceptEditingRow:Y,cancelEditingRow:J,getEditingSnapshot:F,getEditor:re,endEditCell:_e,onMousedownCell:_,onMouseupCell:k,showRowEditPanel:a,endEditByCell:h}}function si(t){const e=r.ref(t.idField);function n(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:n}}function di(t,e,n,i){const{idField:o}=i,{currentSelectedDataId:l,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:d,selectItem:c,toggleSelectItem:p,updateSelectAllStatus:u,isSingleSelect:s}=n,f=r.ref(0),g=r.ref(-1);function m(I){l.value=I}function y(I){return I.raw[o.value]===l.value}function b(I,B){var k;const V=B??I.dataIndex,_={"fv-grid-row":I.type===tt.data,"fv-grid-group-row":I.type===tt.group,"fv-grid-summary-row":I.type===tt.summary,"fv-grid-row-hover":V===g.value,"fv-grid-row-selected":y(I),"fv-grid-row-odd":V%2>0,"fv-grid-row-even":V%2===0,"fv-grid-disabled":I.disabled};if((k=t.rowOption)!=null&&k.customRowStyle){const W=t.rowOption.customRowStyle(I.raw)||{};return Object.assign({},_,W.class||{})}return _}function M(I,B){var _;const V={"fv-grid-cell":!0};if((_=t.rowOption)!=null&&_.customCellStyle){const k=t.rowOption.customCellStyle(I,B)||{};return Object.assign({},V,k.class||{})}return V}function C(I,B){var _;const V={"fv-grid-hierarchy-cell":!0};if((_=t.rowOption)!=null&&_.customCellStyle){const k=t.rowOption.customCellStyle(I,B)||{};return Object.assign({},V,k.class||{})}return V}function F(I){const B=l.value,V=I.raw[o.value];m(V),B!==V&&e.emit("selectionChange",[I.raw],{id:V,data:I.raw})}function T(I,B){var k,W;if(d.value&&!(B!=null&&B.shiftKey)||s.value){(k=t.selection)!=null&&k.keepSelectingOnClick?c(I):p(I,(W=t.selection)==null?void 0:W.keepSelectingOnClick),u();return}if(d.value&&(B==null?void 0:B.shiftKey)||a.value){p(I),u();return}}function v(I,B){B.disabled||(e.emit("clickRow",B.index,B.raw),F(B),T(B,I))}function S(I){f.value+=1,setTimeout(()=>{f.value===1&&e.emit("clickRow",I.index,I.raw),f.value=0},250),f.value>1&&(e.emit("doubleClickRow",I.index,I.raw),f.value=0)}function h(I,B){B.disabled||(S(B),F(B),T(B,I))}function w(I){I.disabled||S(I)}function x(I,B){}function E(I,B){}function N(I,B){var k;const V=B??I.dataIndex,_={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":V===g.value,"fv-grid-sidebar-row-selected":y(I),"fv-grid-sidebar-row-odd":V%2>0,"fv-grid-sidebar-row-even":V%2===0,"d-flex":!0,"align-items-center":!0};if((k=t.rowOption)!=null&&k.customRowStyle){const W=t.rowOption.customRowStyle(I.raw)||{};return Object.assign({},_,W.class||{})}return _}return{activeRowById:m,clickRowItem:w,selectRow:T,changeRow:F,gridCellClass:M,gridHierarchyCellClass:C,gridRowClass:b,onClickRow:h,onClickRowExcludeDblclick:v,onMouseoverRow:x,sidebarRowClass:N,onMouseoutRow:E}}function ci(t,e,n,i,o){const{idField:l}=n,{dataView:a,getSelectionItems:d}=e,c=r.ref(""),p=r.computed(()=>t.selection.enableSelectRow),u=r.ref(t.selection.multiSelect??!1),s=r.ref(t.selection.multiSelectMode||"DependOnCheck"),f=r.ref(t.selection.showCheckbox),g=r.computed(()=>{var $;return!!(($=t.selection)!=null&&$.showSelectAll)}),m=r.ref(t.selectionValues||[]),y=r.computed(()=>t.selection.showSelection),b=r.computed(()=>{var $;return(($=t.selection)==null?void 0:$.keepSelectingOnPaging)===void 0?!0:t.selection.keepSelectingOnPaging}),M=r.ref(!!m.value.length&&i.value.length===m.value.length),C=r.ref(!!m.value.length&&i.value.length!==m.value.length),F=r.computed(()=>p.value&&u.value),T=r.computed(()=>p.value&&!u.value&&!f.value),v=r.computed(()=>!!t.hierarchy),S=r.computed(()=>{const $=f.value&&s.value==="DependOnCheck";return F.value&&$}),h=r.computed(()=>F.value&&!f.value),w=r.computed(()=>F.value&&f.value&&s.value==="OnCheckAndClick");function x(){if(!b.value){const $=a.value.map(Q=>Q[l.value]);m.value=m.value.filter(Q=>$.includes(Q))}}function E(){const $=a.value.every(U=>m.value.includes(U[l.value])),Q=a.value.every(U=>!m.value.includes(U[l.value]));$&&(M.value=!0,C.value=!1),Q&&(M.value=!1,C.value=!1),!$&&!Q&&(M.value=!1,C.value=!0)}function N(){return d(m.value)}function I(){const $=i.value.reduce((U,ve)=>(U.set(ve.raw[l.value],ve),U),new Map);return m.value.map(U=>$.get(U)).filter(U=>!!U)}function B($){var U;const Q=$.raw.__fv_children_index__;if(Q&&Q.length){const ve=Q.map(be=>a.value[be]);(U=m.value)!=null&&U.length&&ve.some(Re=>!m.value.includes(Re[l.value]))&&($.indeterminate=!0,$.raw.__fv_indeterminate__=!0)}}function V(){const $=d(m.value);o.emit("selectionUpdate",$,m.value)}function _($){o.emit("unSelectItem",$)}function k($){o.emit("selectItem",$)}function W(){const $=i.value.filter(U=>U.indeterminate).map(U=>U.raw[l.value]);i.value.forEach(U=>{U.checked=!1,U.indeterminate=!1,U.raw.__fv_checked__=!1,U.raw.__fv_indeterminate__=!1}),I().forEach(U=>{U.checked=!0,U.raw.__fv_checked__=!0}),$.forEach(U=>{const ve=i.value.find(be=>be.raw[l.value]===U);B(ve)})}r.watch(()=>i.value,()=>{W()}),r.watch(()=>t.selectionValues,$=>{m.value=$,W()},{immediate:!0}),r.watch(()=>t.selection,$=>{u.value=!!$.multiSelect,s.value=$.multiSelectMode||"DependOnCheck",f.value=!!$.showCheckbox});const P=r.computed(()=>!u.value);function A($){return $.raw[l.value]}function Y($){return m.value.findIndex(U=>U===A($))}function J(){I().forEach(U=>{U.checked=!1}),d(m.value).forEach(U=>{U.__fv_checked__=!1}),m.value=[],E()}function re($){const Q=$;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x()}function _e($){const Q=$;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x()}function Ce($){const Q=$.raw;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x(),$.checked=!0,$.indeterminate=!1,V(),k($)}function Se($){const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!1,V(),_($)}function R($){$.disabled||Ce($)}function O($){$.disabled||Se($)}function j($){$.__fv_checked__=!1,$.__fv_indeterminate__=!0,m.value=m.value.filter(Q=>Q!==$[l.value]),x()}function G($){const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!0,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!0}function q($){P.value&&J(),$.checked?Se($):Ce($)}function ee($,Q=!0){const U=$.checked;P.value&&J(),Q?$.checked?O($):R($):U?O($):R($)}function se($){J(),R($)}function ce($){const Q=i.value.find(U=>U.raw[l.value]===$);if(Q)se(Q);else{const U=a.value.find(ve=>ve[l.value]===$);U&&re(U)}}function pe($){const Q=i.value.filter(be=>$.includes(be.raw[l.value])),U=Q.map(be=>be.raw[l.value]),ve=a.value.filter(be=>{const Re=be[l.value];return!U.includes(Re)&&$.includes(Re)});Q.length||ve.length,Q.forEach(be=>{R(be)}),ve.forEach(be=>{re(be)})}function he($){for(const Q of $){if(!m.value.includes(Q))continue;const U=i.value.find(ve=>ve.raw[l.value]===Q);if(U)O(U);else{const ve=a.value.find(be=>be[l.value]===Q);ve&&_e(ve)}}m.value=m.value.filter(Q=>!$.includes(Q)),x()}function ge(){i.value.forEach($=>{const Q=$.raw;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x(),$.checked=!0,$.indeterminate=!1})}function Ie(){i.value.forEach($=>{const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!1})}function We(){return i.value.find($=>$.raw[l.value]===c.value)}function we(){c.value=""}return{clearSelection:J,currentSelectedDataId:c,enableMultiSelect:u,enableSelectRow:p,findIndexInSelectedItems:Y,getSelectedItems:N,getSelectionRow:We,indeterminate:G,indeterminateDataItem:j,isSelectingHirarchyItem:v,multiSelectMode:s,multiSelectOnClickRow:w,multiSelectOnClickRowWithShift:h,multiSelectOnlyOnCheck:S,select:R,selectAll:ge,selectedValues:m,selectDataItem:re,selectItem:se,selectItemById:ce,selectItemByIds:pe,showCheckBox:f,showSelectAll:g,toggleSelectItem:ee,toggleSelectItemWithoutRow:q,unSelect:O,unSelectAll:Ie,unSelectDataItem:_e,unSelectItemByIds:he,updateSelectAllStatus:E,selectAllStatus:M,indeterminateStatus:C,isSingleSelect:T,showSelection:y,keepSelectingOnPaging:b,emitSelectionChanged:V,emptyCurrentRowId:we}}function ui(t,e){var b,M;const n=String(Date.now()),i=50,{showCheckBox:o}=e,l=r.ref(((b=t.rowNumber)==null?void 0:b.enable)??!1),a=r.computed(()=>t.hierarchy&&o.value&&t.selection.enableSelectRow&&t.selection.multiSelect?!0:o.value),d=r.ref(l.value?((M=t.rowNumber)==null?void 0:M.width)??36:0),c=r.ref(a.value?i:0),p=r.computed(()=>{var C,F;return l.value?((C=t.rowNumber)==null?void 0:C.heading)==="序号"?je.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(F=t.rowNumber)==null?void 0:F.heading:""}),u=r.computed(()=>(a.value?Number(c.value):0)+(l.value?Number(d.value):0)),s=r.computed(()=>a.value&&(!t.hierarchy||t.hierarchy&&t.checkboxPosition==="leading"));r.watch(()=>t.rowNumber,C=>{C&&C.enable!==void 0&&(l.value=C.enable),C&&C.width!==void 0&&(d.value=C.width)});function f(C){var T;const F={top:`${C.top}px`,width:`${u.value}px`,height:`${C.height||""}px`};if((T=t.rowOption)!=null&&T.customRowStyle){const v=t.rowOption.customRowStyle(C.raw)||{};return Object.assign({},F,v.style||{})}return F}const g=r.computed(()=>({width:`${u.value}px`}));function m(C){return`${n}_${C.type}_r_${C.index}_${C.refreshKey||""}`}function y(C){return`${n}_${C.type}_r_${C.index}_${C.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:a,sidebarCellPosition:f,sidebarCornerCellStyle:g,sidebarTitle:p,sidebarWidth:u,rowKey:y,cellKey:m,showCheckbox:s}}const fi={ascend:(t,e)=>t===e?0:t===!1?-1:1,decend:(t,e)=>t===e?0:t===!0?-1:1},mi={ascend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?-1:1},decend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?1:-1}},pi={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1},gi={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1};function hi(t){const e=new Map([["boolean","boolean-sorter"],["date","datetime-sorter"],["datetime","datetime-sorter"],["number","numeric-sorter"],["string","text-sorter"],["text","text-sorter"],["enum","text-sorter"],["reference","text-sorter"]]),n=new Map([["boolean-sorter",fi],["datetime-sorter",mi],["numeric-sorter",pi],["text-sorter",gi]]);function i(a){const d=(a==null?void 0:a.dataType)||"string",c=e.get(d)||"text-sorter";return n.get(c)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function l(a,d){const c=o(a),p=(a.status&Oe.sortable)===Oe.sortable&&(a.status&Oe.sorted)===Oe.sorted,u=(a.status&Oe.ascending)===Oe.ascending,s=(a.status&Oe.descending)===Oe.descending;if(p&&c){const f=u?c.ascend:s?c.decend:void 0;f?d.addSorter(a.field,{field:a.field,compare:f}):d.removeSorter(a.field)}else d.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:l}}function At(t,e,n,i,o="data-grid-column"){const{columnContext:l,hasLeftFixedColumn:a,hasRightFixedColumn:d}=n,{gridHeaderColumnsStyle:c,leftFixedGridHeaderColumnsStyle:p,rightFixedGridHeaderColumnsStyle:u}=i,s=l.value.defaultColumnWidth,f=32,g=new Map([[0,0]]);function m(E,N){const I=g.get(N)||0,B={height:`${E.depth*f}px`,left:`${E.left}px`,top:`${(E.layer-1)*f}px`,width:`${E.actualWidth}px`,padding:0};return l.value.headerDepth>1&&(B["line-height"]=`${E.depth*f}px`),g.set(N+1,I+(E.actualWidth||s)),B}const y=r.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":l.value.headerDepth>1})),b=r.computed(()=>({height:`${l.value.headerDepth*f}px`})),M=function(E){return e.showSetting&&!!E.showSetting};function C(){return r.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[r.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function F(E,N,I,B){var V;(V=t==null?void 0:t.setupContext)==null||V.emit("selectionChange",E,N,I,B)}function T(E){var I,B;return"w-100 d-flex align-items-center justify-content-"+(((I=E.column)==null?void 0:I.halign)==="center"?"center":((B=E.column)==null?void 0:B.halign)==="right"?"end pr-2":"start pl-2")}function v(E,N,I){var V;const B=r.ref(E.column);return r.createVNode("div",{class:"fv-grid-header-cell",style:m(E,I)},[r.createVNode(z.FDesignerItem,{modelValue:B.value,"onUpdate:modelValue":_=>B.value=_,customClass:T(E),canAdd:!1,canDelete:!1,canMove:!1,key:(V=B.value)==null?void 0:V.id,type:o,componentId:e.componentId,onSelectionChange:F},null),M(E)&&C(),E.resizable&&r.createVNode("span",{class:"fv-column-resize-bar"},null)])}function S(E){return E.map((N,I)=>{const B=[];if(B.push(v(N,E,I)),N.children&&N.children.length){const V=S(N.children);B.push(...V)}return B})}function h(){return r.createVNode("div",{class:"fv-grid-header-left-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:p.value},[S(l.value.leftHeaderColumns)])])}function w(){return r.createVNode("div",{class:"fv-grid-header-right-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[S(l.value.rightHeaderColumns)])])}function x(){return r.createVNode("div",{class:y.value,style:b.value},[a.value&&h(),r.createVNode("div",{class:"fv-grid-header-primary"},[r.createVNode("div",{class:"fv-grid-header-columns",style:c.value},[S(l.value.primaryHeaderColumns)])]),d.value&&w()])}return{renderGridHeader:x}}const at={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"}};class yi extends Le.BaseControlProperty{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=ze.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=ze.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=ze.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=ze.useSummary().getSummaryProperties(e),this.propertyConfig.categories.group=ze.useGroup().getGroupProperties(e),this.propertyConfig.categories.sort=ze.useSort().getSort(e),this.propertyConfig.categories.filter=ze.useFilter().getFilter(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"dataGrid"),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,d,c;const n=(c=(d=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:d.entity[0])==null?void 0:c.entities[0],i=this.assembleSchemaEntityToTree(n,0),o=this,l=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...l.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(p,u){switch(p&&p.propertyID){case"dataSource":{const s=o.formSchemaUtils.getViewModelById(o.viewModelId);if(s){const f=i.find(g=>g.label===p.propertyValue);s.bindTo=f.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,i,o="",l=[]){const a=o?`${o}/${e.label}`:"/";return l.push({id:e.id,name:e.name,label:e.label,layer:n,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(d=>this.assembleSchemaEntityToTree(d,n+1,e,a,l)),l}getAppearanceProperties(e){const n=this;this.propertyConfig.categories.appearance=ze.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=ze.useSelection().getSelection(e,n),this.propertyConfig.categories.rowNumber=ze.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=ze.usePagination().getPagination(e,this.isSubGrid(),this)}getEventPropConfig(e){const n=[...ze.useDataGridEvent().initEvent(e),{label:"beforeEditCell",name:"单元格编辑前事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),l=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete e[i.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,c.events,c)),e.remoteSort=!!e.columnSorted,e.command&&(e.command.onClickEditCommand=e.onClickEditCommand,e.command.onClickDeleteCommand=e.onClickDeleteCommand,e.command.onHandleAction=e.onHandleAction)}}}isSubGrid(){const e=this.formSchemaUtils.getViewModelById(this.viewModelId);return e&&e.bindTo?e.bindTo.trim()!=="/":!1}}function vi(t,e){const n=t.schema,i=r.ref(!0),o=r.ref(!0);function l(s){return s&&s.sourceType==="control"?s.componentCategory==="input":!1}function a(){return!1}function d(){return!1}function c(){return!0}function p(s){return new yi(s,e).getPropertyConfig(n)}function u(){var s,f,g,m;if(t&&e){const y=(s=t==null?void 0:t.componentInstance)==null?void 0:s.value.belongedComponentId;let b="",M="";const{formSchemaUtils:C}=e;if(y){const T=C.getRootViewModelId(),v=C.getComponentByViewModelId(T),S=C.selectNode(v,h=>h.contents&&h.contents.find(w=>w.component===y));(S==null?void 0:S.type)===((f=at["tab-page"])==null?void 0:f.type)&&((g=S==null?void 0:S.contents)!=null&&g.length)&&(b=S.title||""),(S==null?void 0:S.type)===((m=at.section)==null?void 0:m.type)&&(S==null?void 0:S.showHeader)!==!1&&(b=S.mainTitle||""),b=b?`${b} > `:"",M=b?S.id:""}const F=at["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(t.schema.id,{componentTitle:F,parentPathName:`${b}${F}`,reliedComponentId:M})}}return{canAccepts:l,checkCanDeleteComponent:a,checkCanMoveComponent:d,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:p,setComponentBasicInfoMap:u}}const Ke=r.defineComponent({name:"FDataGridDesign",props:Sn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(t,e){var we;const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context"),l=vi(o,i),a=z.useDesignerComponent(n,o,l);a.value.styles="display:flex;flex:1;",r.onMounted(()=>{n.value.componentInstance=a}),r.provide("data-grid-context",{dataGridProps:t}),e.expose(a.value);const d=r.ref(t.columns),c=20,p=si(t),u=0,s=r.ref(),f=r.ref(),g=r.ref(t.showStripe),m=r.ref([]),y=r.ref(!1),b=r.ref(((we=t.rowOption)==null?void 0:we.wrapContent)||!1),M=Un(t,e),C=Dn(t),F=An(t,new Map,M,C,p),T=ci(t,F,p,m,e),v=r.computed(()=>F.totalItems.value<c?F.totalItems.value:c),{containerStyleObject:S}=Nn(t),h=Bn(t),{applyCommands:w}=h;w(d);const x=Tn(t),E=hi(),{applyColumnSorter:N,columnContext:I,updateColumnRenderContext:B}=x;N(F,E);const V=On(t,I),_=di(t,e,T,p),k=ai(t,e,p,_),W=Xn(t),P=ii(t,k,W),A=oi(t,F,k,C,p,W,P),Y=ri(t,p,P,A),J=li(t,p,P,A),re=_n(t,d,F,v,u,A,Y,J),{getVisualData:_e}=re,Ce=ui(t,T),{sidebarWidth:Se}=Ce;m.value=_e(0,v.value+u-1);const R=Yn(t,F,m,I,re,v,u,Se),{onWheel:O,dataGridWidth:j,viewPortHeight:G,viewPortWidth:q}=R,ee=Mn(t,I,s,q,V),{calculateColumnsSize:se}=ee,ce=r.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":g.value})),pe=r.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":b.value})),{renderGridHeader:he}=At(o,t,x,R),{renderHorizontalScrollbar:ge}=In(t,s,R);function Ie(){var $,Q;G.value=(($=f.value)==null?void 0:$.clientHeight)||0,j.value=((Q=s.value)==null?void 0:Q.clientWidth)||0,se()}r.onMounted(()=>{s.value&&(hn.useResizeObserver(s.value,Ie),se(),r.nextTick(()=>{s.value&&(j.value=s.value.clientWidth),f.value&&(q.value=f.value.clientWidth,G.value=f.value.clientHeight)}))});function We($){$&&(d.value=$,w(d),B(d.value),N(F,E),se())}return r.watch(()=>t.columns,$=>{We($),z.canvasChanged.value++}),r.watch(q,()=>{s.value&&se()}),()=>r.createVNode("div",{ref:n,class:ce.value,style:S.value,onWheel:O},[he(),r.createVNode("div",{ref:s,class:pe.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[ge()])])}}),bi={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},Ci={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},wi=r.defineComponent({name:"FOverlay",props:Ci,emits:["click"],setup(t,e){const n=r.ref(t.popupContentPosition),i=r.ref(t.host),o=r.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function l(d){e.emit("click"),d.preventDefault(),d.stopPropagation()}r.computed(()=>{const d=i.value;if(d){const c=d.getBoundingClientRect(),{left:p,top:u,height:s}=c;return{left:p,top:u+s}}return n.value});const a=r.computed(()=>({}));return()=>r.createVNode(r.Teleport,{to:"body"},{default:()=>{var d,c;return[r.createVNode("div",{class:"overlay-container",onClick:p=>l(p),style:o.value},[r.createVNode("div",{style:a.value},[(c=(d=e.slots).default)==null?void 0:c.call(d)])])]}})}});function xi(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Si(t){const e=document.createElement("div");e.style.display="contents";let n;const i=t.onClickCallback||(()=>{}),o=()=>{i(),n&&n.unmount()};return n=r.createApp({setup(){r.onUnmounted(()=>{document.body.removeChild(e)});const l=xi(t);return()=>r.createVNode(wi,{"popup-content-position":t.popupPosition,host:t.host,onClick:o,backgroundColor:t.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(e),n.mount(e),n}class Mi{static show(e){return Si(e)}}const Fi={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}};class Ee{constructor(e,n){this.x=e,this.y=n}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),l=parseInt(i[5],10);return{x:o,y:l}}return{x:0,y:0}}static fromEvent(e,n=null){if(this.isMouseEvent(e))return new Ee(e.clientX,e.clientY);if(n===null||e.changedTouches.length===1)return new Ee(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===n)return new Ee(e.changedTouches[i].clientX,e.changedTouches[i].clientY)}static isMouseEvent(e){return Object.prototype.toString.apply(e).indexOf("MouseEvent")===8}static isIPosition(e){return!!e&&"x"in e&&"y"in e}static getCurrent(e){const n=new Ee(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),l=parseInt(i.getPropertyValue("top"),10);n.x=isNaN(o)?0:o,n.y=isNaN(l)?0:l}return n}return null}static copy(e){return new Ee(0,0).set(e)}get value(){return{x:this.x,y:this.y}}add(e){return this.x+=e.x,this.y+=e.y,this}subtract(e){return this.x-=e.x,this.y-=e.y,this}multiply(e){this.x*=e,this.y*=e}divide(e){this.x/=e,this.y/=e}reset(){return this.x=0,this.y=0,this}set(e){return this.x=e.x,this.y=e.y,this}}class nt{constructor(e,n){this.width=e,this.height=n}static getCurrent(e){const n=new nt(0,0);if(window){const i=window.getComputedStyle(e);return i&&(n.width=parseInt(i.getPropertyValue("width"),10),n.height=parseInt(i.getPropertyValue("height"),10)),n}return null}static copy(e){return new nt(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Ti(t,e){const n=r.ref(),i=r.ref(),o=r.ref(),l=r.ref(),a=r.ref(),d=r.ref(),c=r.ref(),p=r.ref(),u=r.ref(),s=r.ref(),f=r.ref(),g=r.ref(t.resizeable),m=r.ref(),y=r.ref(t.draggable),b=r.ref(!1);function M(){const P=i.value||document.body,A=window.getComputedStyle(P);if(!A||!n.value)return;const Y=Ee.getTransformInfo(n.value),J={};c.value&&(J.deltaL=n.value.offsetLeft-c.value.x,J.deltaT=n.value.offsetTop-c.value.y);const re=A.getPropertyValue("position");J.width=P.clientWidth,J.height=P.clientHeight,J.pr=parseInt(A.getPropertyValue("padding-right"),10),J.pb=parseInt(A.getPropertyValue("padding-bottom"),10),J.position=A.getPropertyValue("position"),re==="static"&&(P.style.position="relative"),J.translateX=Y.x,J.translateY=Y.y,s.value=J}function C(P){if(n.value){l.value=nt.getCurrent(n.value),a.value=Ee.getCurrent(n.value),d.value=l.value?nt.copy(l.value):null,c.value=a.value?Ee.copy(a.value):null,M();const A=P.target.getAttribute("type")||"";p.value={n:!!A.match(/n/),s:!!A.match(/s/),w:!!A.match(/w/),e:!!A.match(/e/)}}}function F(){var P,A,Y,J;if(n.value){const re=n.value;p.value&&((p.value.n||p.value.s)&&((P=d.value)!=null&&P.height)&&(re.style.height=d.value.height+"px"),(p.value.w||p.value.e)&&((A=d.value)!=null&&A.width)&&(re.style.width=d.value.width+"px"),c.value&&((Y=c.value)!=null&&Y.x&&(re.style.left=c.value.x+"px"),(J=c.value)!=null&&J.y&&(re.style.top=c.value.y+"px")))}}function T(){const P=t.minHeight?t.minHeight:1,A=t.minWidth?t.minWidth:1;d.value&&c.value&&p.value&&l.value&&(d.value.height<P&&(d.value.height=P,p.value.n&&a.value&&(c.value.y=a.value.y+(l.value.height-P))),d.value.width<A&&(d.value.width=A,p.value.w&&a.value&&(c.value.x=a.value.x+(l.value.width-A))),t.maxHeight&&d.value.height>t.maxHeight&&(d.value.height=t.maxHeight,a.value&&p.value.n&&(c.value.y=a.value.y+(l.value.height-t.maxHeight))),t.maxWidth&&d.value.width>t.maxWidth&&(d.value.width=t.maxWidth,p.value.w&&a.value&&(c.value.x=a.value.x+(l.value.width-t.maxWidth))))}function v(){if(i.value){const P=s.value;if(c.value&&d.value&&p.value&&l.value){const A=P.width-P.pr-P.deltaL-P.translateX-c.value.x,Y=P.height-P.pb-P.deltaT-P.translateY-c.value.y;p.value.n&&c.value.y+P.translateY<0&&a.value&&(c.value.y=-P.translateY,d.value.height=l.value.height+a.value.y+P.translateY),p.value.w&&c.value.x+P.translateX<0&&a.value&&(c.value.x=-P.translateX,d.value.width=l.value.width+a.value.x+P.translateX),d.value.width>A&&(d.value.width=A),d.value.height>Y&&(d.value.height=Y)}}}function S(P){if(!o.value||!l.value||!a.value||!p.value)return;P.subtract(o.value);const A=P.x,Y=P.y;p.value.n?(c.value.y=a.value.y+Y,d.value.height=l.value.height-Y):p.value.s&&(d.value.height=l.value.height+Y),p.value.e?d.value.width=l.value.width+A:p.value.w&&(d.value.width=l.value.width-A,c.value.x=a.value.x+A),v(),T(),F()}function h(P){if(!u.value)return;const A=Ee.fromEvent(P);A&&S(A)}function w(){if(n.value){const{width:P,height:A,x:Y,y:J}=n.value.getBoundingClientRect(),re=Ee.getTransformInfo(n.value);return{size:{width:P,height:A},position:{x:Y-re.x,y:J-re.y}}}return null}function x(P){if(n.value){const A=w();f.value=A}o.value=void 0,l.value=null,a.value=null,d.value=null,c.value=null,p.value=null,u.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",x)}function E(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",x)}function N(P){P instanceof MouseEvent&&P.button===2||y.value&&(document.body.click(),P.stopPropagation(),P.preventDefault(),o.value=Ee.fromEvent(P),u.value=P.target,C(P),E())}function I(P){return n.value=P,g.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:A=>N(A)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:A=>N(A)},null)])}function B(P=!0){document.body.click();const A=i.value||document.body,Y=nt.getCurrent(A),J=n.value;P&&J&&(m.value=w(),m.value.transform=J.style.transform),Y&&J&&(d.value=Y,d.value.height-=14,d.value.width-=14,J.style.height=d.value.height+"px",J.style.width=d.value.width+"px",J.style.left="7px",J.style.top="7px",J.style.transform="",f.value={size:d.value,position:{x:0,y:0}},y.value=!1,b.value=!0)}function V(){var P,A;if(document.body.click(),m.value){const Y={width:m.value.size.width||0,height:m.value.size.height||0},J={x:(window.innerWidth-Y.width)/2,y:(window.innerHeight-Y.height)/2};(P=d.value)==null||P.set(Y),(A=c.value)==null||A.set(J);const re=n.value;re.style.height=Y.height+"px",re.style.width=Y.width+"px",re.style.left=`${J.x}px`,re.style.top=`${J.y}px`,re.style.transform="",f.value={size:Y,position:J},y.value=t.draggable,b.value=!1}}function _(){if(n.value){const P=nt.getCurrent(n.value);if(P){const{width:A,height:Y}=P;n.value.style.left=`${(window.innerWidth-A)/2}px`,n.value.style.top=`${(window.innerHeight-Y)/2}px`,n.value.style.transform=""}}}function k(){const P=()=>{b.value?B(!1):_(),document.body.click()};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}}const W=k();return{renderResizeBar:I,boundingElement:i,resizedEventParam:f,maximize:B,restore:V,allowDrag:y,isMaximized:b,unWindowResizeHandle:W,moveToCenter:_}}function _i(t,e,n){const i=r.ref(),o=r.ref(t.draggable),l=r.ref(t.lockAxis),a=r.ref(),d=r.ref(),c=r.ref(!1),p=r.ref(new Ee(0,0)),u=r.ref(new Ee(0,0)),s=r.ref(new Ee(0,0)),f=r.ref(new Ee(0,0));r.watch(()=>n.value,h=>{a.value.style.cursor=h?"move":"default"});function g(h,w){if(w.tagName==="BUTTON")return!1;if(w===h)return!0;for(const x in w.children)if(Object.prototype.hasOwnProperty.call(w.children,x)&&g(h,w.children[x]))return!0;return!1}function m(){var E,N;let h=s.value.x+u.value.x,w=s.value.y+u.value.y;l.value==="x"?(h=((E=p.value)==null?void 0:E.x)||0,s.value.x=0):l.value==="y"&&(w=((N=p.value)==null?void 0:N.y)||0,s.value.y=0);const x=`translate3d(${Math.round(h)}px, ${Math.round(w)}px, 0px)`;i.value&&(i.value.style.transform=x),f.value.x=h,f.value.y=w}function y(){if(!d.value||!i.value)return null;const h=d.value.getBoundingClientRect(),w=i.value.getBoundingClientRect(),x={top:h.top<w.top,right:h.right>w.right,bottom:h.bottom>w.bottom,left:h.left<w.left};return x.top||(s.value.y-=w.top-h.top),x.bottom||(s.value.y-=w.bottom-h.bottom),x.right||(s.value.x-=w.right-h.right),x.left||(s.value.x-=w.left-h.left),m(),x}function b(h){h&&(p.value&&h.subtract(p.value),s.value.set(h),m(),y())}function M(h){c.value&&o.value&&(h.stopPropagation(),h.preventDefault(),b(Ee.fromEvent(h,a.value)))}function C(){var h;c.value&&(c.value=!1,u.value.add(s.value),s.value.reset(),(h=i.value)==null||h.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",M),document.removeEventListener("mouseup",C))}function F(){!c.value&&a.value&&(c.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",M),document.addEventListener("mouseup",C))}function T(){if(i.value){const h=Ee.getTransformInfo(i.value);u.value.set(h);return}u.value.reset()}function v(h){if(!n.value||h instanceof MouseEvent&&h.button===2)return;const w=h.target||h.srcElement;a.value!==void 0&&w&&!g(w,a.value)||o.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),p.value=Ee.fromEvent(h,i.value),T(),F())}function S(h,w,x){if(o.value&&w){if(h)a.value=h;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)a.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const E=w.querySelector(t.dragHandle);E&&(a.value=E)}}i.value=w,d.value=x,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:S,resetTranslate:T}}function Lt(t,e){if(t){const n=i=>{i.key.toLowerCase()===t.toLowerCase()&&e({event:i,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function ki(t,e){const n=r.ref(t.enableEsc);let i=null;return n.value?(i=Lt("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function Vi(t,e){const n=r.ref(t.enableEnter);let i=null;return n.value?(i=Lt("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const st=r.defineComponent({name:"FModal",props:Fi,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,e){const n=r.ref(t.width||300),i=r.ref(t.height||200),o=r.ref(t.modelValue),l=r.ref(""),a=r.ref(t.class),d=r.ref(t.fitContent),c=r.ref(t.showHeader),p=r.ref(""),u=r.ref(t.showCloseButton),s=r.ref(t.showMaxButton),f=r.ref(!1),g=r.ref(t.dialogType),m=r.ref(t.src),y=r.ref(""),b=r.ref(t.showButtons),M=r.ref(t.title),C=r.ref(t.containment||null),F=r.ref();M.value==="错误提示"&&(M.value=je.LocaleService.getLocaleValue("messageBox.errorTitle"));const T=r.ref(!1);function v(L,ie){const Me=ie?"accept":"cancel";Promise.resolve().then(()=>{var ue;return(ue=t.beforeClose)==null?void 0:ue.call(t,{closeType:Me})}).then(ue=>{ue&&(o.value=!1,e.emit("update:modelValue",!1),ie!=null&&e.emit(ie?"accept":"cancel"),e.emit("closed",L))})}const S=[{name:"cancel",text:je.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:L=>{v(L,!1)}},{name:"accept",text:je.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:L=>{v(L,!0)}}],h=r.ref(t.buttons&&t.buttons.length?t.buttons:S),w=r.computed(()=>!!p.value),x=r.computed(()=>!!b.value&&!!h.value),E=r.ref(),N=r.ref(),I=r.ref(!1),{renderResizeBar:B,maximize:V,restore:_,boundingElement:k,resizedEventParam:W,allowDrag:P,unWindowResizeHandle:A,moveToCenter:Y}=Ti(t),{registerDraggle:J}=_i(t,e,P);function re(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function _e(){const L=document.querySelectorAll(".farris-modal").length;(!L||L-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}r.watch(()=>t.title,(L,ie)=>{L!==ie&&(M.value=L)}),r.watch(()=>t.modelValue,(L,ie)=>{L!==ie&&(o.value=L,o.value&&t.draggable&&r.nextTick(()=>{N.value&&!C.value&&(C.value=N.value.parentElement,k.value=C.value,J(E.value,N.value,k.value),Y())}),L||(C.value&&(C.value=null),_e())),o.value?T.value=re():(I.value=!1,P.value=t.draggable)}),r.watch(()=>t.showHeader,(L,ie)=>{L!==ie&&(c.value=L)}),r.watch(()=>t.showButtons,(L,ie)=>{L!==ie&&(b.value=L)}),r.watch(()=>W.value,(L,ie)=>{const Me=L||{},ue=ie||{};JSON.stringify(Me)!==JSON.stringify(ue)&&e.emit("resize",{newSize:L,oldSize:ie,isMaximized:I.value})}),r.watch([()=>t.width,()=>t.height],(L,ie)=>{(L[0]!==ie[0]||L[1]!==ie[1])&&(n.value=L[0]||500,i.value=L[1]||600)}),r.watch(()=>t.class,(L,ie)=>{a.value=L});const Ce=r.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),Se=r.computed(()=>{var Me;const L={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};L["f-modal-fitContent"]=!!d.value,L.show=!!Ce.value;const ie=(Me=t.maskClass)==null?void 0:Me.split(" ");return ie==null||ie.reduce((ue,qe)=>(ue[qe]=!0,ue),L),L}),R=r.computed(()=>{var Me;const L={"modal-dialog":!0},ie=(Me=a.value)==null?void 0:Me.split(" ");return ie==null||ie.reduce((ue,qe)=>(ue[qe]=!0,ue),L),L}),O=()=>X.isMobilePhone()&&!t.isMessager||!!t.fullscreen,j=r.computed(()=>{const L=document.documentElement.clientWidth,ie=document.documentElement.clientHeight,Me=Math.min(n.value,L),ue=t.position==="right"?"100%":d.value?"auto":`${Math.min(i.value,ie-10)}px`,qe=`${(window.innerHeight-(ue==="100%"||ue==="auto"?0:parseInt(ue)))/2}px`,ft=t.position==="right"?`${window.innerWidth-Me}px`:`${(window.innerWidth-Me)/2}px`,lt={position:"absolute",top:qe,left:ft,width:`${Me}px`,height:ue};return t.mask||(lt.pointerEvents="auto"),lt}),G=r.ref(X.getMaxZIndex()||1050),q=r.computed(()=>{const L={display:"block",overflow:"hidden"};return t.mask||(L.pointerEvents="none",L.backgroundColor="transparent"),T.value&&(L.backgroundColor="transparent"),L.zIndex=G.value,L}),ee=r.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value,"is-mobile":O()})),se=r.computed(()=>{const L={display:c.value?"":"none"};return L["pointer-events"]=P.value?"auto":"none",L}),ce=r.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:I.value})),pe=r.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function he(){return{height:`${t.footerHeight||60}px`}}const ge=r.computed(()=>{const L={textAlgin:y.value},ie=he();return Object.assign(L,ie)});function Ie(L){if(L==null||L.stopPropagation(),I.value){I.value=!1,_();return}V(),I.value=!0}async function We(L,ie){L.handle?await L.handle(ie,L)&&e.emit("closed",ie):(typeof L.onClick=="string"&&(L.onButtonClick=Be.cloneDeep(L.onClick||""),delete L.onClick),e.emit("buttonClick",{button:L,$event:ie}))}function we(L){L.width&&(n.value=L.width),L.height&&(i.value=L.height),L.buttons&&(h.value=L.buttons),L.title&&(M.value=L.title)}let $=null,Q=null;r.onBeforeMount(()=>{T.value=re()}),r.onMounted(()=>{N.value&&!C.value&&(C.value=N.value.parentElement,k.value=C.value,J(E.value,N.value,k.value)),Ce.value&&document.body.classList.add("modal-open"),$=ki(t,e),Q=Vi(t,e)}),r.onUnmounted(()=>{A&&A(),$&&$.remove(),Q&&Q.remove()}),e.expose({modalElementRef:N,updateModalOptions:we,close:v,maxDialog:Ie,isMaximized:I});function U(){return r.createVNode("div",{class:"action-wrapper",onClick:L=>v(L,!1)},[r.createVNode("span",{class:"close-icon"},[r.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function ve(){return r.createVNode("ul",null,[f.value&&r.createVNode("li",{class:"f-btn-icon f-bare"},[r.createVNode("span",{class:"f-icon modal_minimize"},null)]),s.value&&r.createVNode("li",{onClick:Ie,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[r.createVNode("span",{class:ce.value},null)]),u.value&&r.createVNode("li",{class:"f-btn-icon f-bare",onClick:L=>v(L,!1),style:"pointer-events: auto;"},[r.createVNode("span",{class:"f-icon modal_close"},null)])])}function be(){return r.createVNode("div",{class:"modal-footer",style:ge.value},[h.value&&h.value.map(L=>{var ue;const ie=r.ref(L.disabled),Me=L.class||((ue=L.appearance)==null?void 0:ue.class);return r.createVNode("button",{name:L.name,type:"button",disabled:ie.value,class:Me+(L.iconClass?" btn-icontext":"")+(L.visible===!1?"d-none":""),onClick:qe=>{We(L,qe)}},[!!L.iconClass&&r.createVNode("i",{class:L.iconClass},null),L.text])})])}function Re(){return r.createVNode("div",{ref:E,class:"modal-header",style:se.value},[e.slots.headerTemplate?e.slots.headerTemplate():r.createVNode("div",{class:"modal-title"},[w.value&&r.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),r.createVNode("span",{class:"modal-title-label"},[M.value])]),r.createVNode("div",{class:"actions"},[ve()])])}function Je(){return e.slots.footerTemplate?e.slots.footerTemplate():x.value&&be()}function ct(L){if(L.stopPropagation(),t.allowClickMaskToClose){if(L.target!==F.value)return;v(L,!1)}}function ut(){var L,ie;return r.createVNode("div",{id:l.value,class:R.value,style:j.value,ref:N},[t.showFloatingClose&&U(),r.createVNode("div",{class:ee.value},[c.value&&Re(),r.createVNode("div",{class:pe.value},[(ie=(L=e.slots).default)==null?void 0:ie.call(L),g.value==="iframe"&&r.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:m.value},null)]),Je()]),!d.value&&N.value&&!I.value&&B(N.value)])}function Ge(L){return L||"body"}return r.watchEffect(()=>{Ce.value&&(G.value=X.getMaxZIndex()||1050)}),()=>r.createVNode(r.Teleport,{to:Ge(t.host)},{default:()=>[Ce.value&&r.createVNode(r.Transition,{name:"fade",appear:!0},{default:()=>[r.createVNode("div",{ref:F,class:Se.value,style:q.value,onClick:ct},[ut()])]})]})}});function Ht(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ei(t){const e=document.createElement("div");e.style.display="contents";const n=r.createApp({setup(i,o){r.onUnmounted(()=>{document.body.removeChild(e)});const l=r.ref(),a=r.ref(t.class||""),d=r.ref(!!t.showButtons),c=r.ref(!!t.showHeader),p=r.ref(t.showCloseButton==null?!0:t.showCloseButton),u=r.ref(!!t.showFloatingClose),s=r.ref(!0),f=r.ref(t.title||""),g=t.acceptCallback||(()=>{}),m=t.rejectCallback||(()=>{}),y=t.closedCallback||(T=>{}),b=t.resizeHandle||(T=>{}),M=t.stopMoveHandle||(T=>{}),C=Ht(t),F=T=>{s.value=!1,n.unmount(),y(T)};return r.onMounted(()=>{}),o.expose({modalRef:l}),()=>r.createVNode(st,{ref:l,class:a.value,modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,title:f.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":c.value,"show-buttons":d.value,"show-close-button":p.value,"show-max-button":!1,showFloatingClose:u.value,onAccept:g,onCancel:m,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:F,onResize:b,onStopMove:M},{default:()=>[C&&C(n)]})}});return document.body.appendChild(e),n.use(je.LocaleService.i18n),n.mount(e),n}class Ii{constructor(e){ne(this,"appContext",null);ne(this,"modalRef",r.ref());ne(this,"activeModalIndex",r.ref(0));ne(this,"modalRefs",{});ne(this,"isUseEscCloseModal",r.ref(!1));ne(this,"activeModalInstance",r.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,n){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<n&&(n=o-14),{width:e,height:n}}static show(e){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return Ei(n)}close(e){var n,i;e?(i=e.value)==null||i.close():(n=this.getCurrentModal())==null||n.close()}open(e){const n=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=r.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=r.ref(!0),l=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),d=i.value.closedCallback||((v,S)=>{}),c=i.value.resizeHandle||(v=>{}),p=e.stopMoveHandle||(v=>{});let u;const s=Ht(i.value),f=v=>{var h;o.value=!1;const S=(h=v==null?void 0:v.target)==null?void 0:h.classList.contains("modal_close");d(v,this.isUseEscCloseModal.value?"esc":S?"icon":"button")},g=v=>{f(v),u&&r.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],r.render(null,n),u=null,this.modalRef.value=null,this.modalRefs){const S=Object.keys(this.modalRefs).map(h=>Number(h));S.length>0?this.activeModalIndex.value=Math.max(...S):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},m=v=>{var S;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((S=this.activeModalInstance.value)==null||S.close(v==null?void 0:v.event))},{width:y,height:b}=i.value,M=this.adaptToWindow(y||500,b||320);Object.assign(i.value,M);const C=()=>r.createVNode(st,r.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{isMessager:i.value.class&&i.value.class.indexOf("modal-message")>-1,onAccept:l,onCancel:a,onClosed:g,onResize:c,onEsc:m,onStopMove:p}),{default:()=>[s&&s(this.app)]});return u=(v=>{const S=r.h(C,v);return S.appContext=this.appContext,r.render(S,n),S})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},u&&r.render(r.cloneVNode(u,{...i}),n)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const $t=Symbol("FModalService");st.install=t=>{t.component(st.name,st);const e=new Ii(t);t.provide($t,e),t.provide("FModalService",e)};function zt(t,e){function n(){const i=t.beforeOpen||t.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const l=i(e.value);if(typeof l>"u")return o;typeof l=="boolean"?o=Promise.resolve(l):o=l}return o}return{judgeCanOpen:n}}function Pi(t,e,n,i,o){const l=r.ref(t.buttonBehavior),a=r.ref(t.popupOnInput),d=r.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:c}=zt(t,o),p=r.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),u=r.inject($t,null),s=r.ref();async function f(y){if(await c()&&p.value){const b=!!e.slots.default;if(l.value==="Modal"){const M=t.modalOptions,C=u==null?void 0:u.open({...M,render:()=>e.slots.default&&e.slots.default()});s.value=C==null?void 0:C.modalRef}l.value==="Overlay"&&Mi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),b&&l.value==="Popup"&&i.togglePopup(!0),b&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:t.modelValue})}}function g(y){e.emit("mouseEnterIcon",y)}function m(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:d,onClickButton:f,onMouseEnterButton:g,onMouseLeaveButton:m,modalRef:s}}function Ni(t,e,n,i,o,l){const a=r.ref(!1),d=r.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:c,hasClearClass:p}=l;function u(m){a.value=m,p.value=m}r.watch(o,()=>{u(!!o.value)});function s(m){const y=!t.readonly&&!t.disable&&t.editable,b=!t.editable;m.stopPropagation(),(y||b)&&(c(""),o.value="",u(!a.value),e.emit("clear"))}function f(m){if(d.value){if(!n.value){u(!1);return}!t.disable&&!t.readonly&&u(!0)}}function g(m){d.value&&u(!1)}return{enableClearButton:d,showClearButton:a,onClearValue:s,onMouseEnterTextBox:f,onMouseLeaveTextBox:g}}function Bi(t,e,n,i,o){const l=r.computed(()=>t.popupOnInput),a=r.computed(()=>t.popupOnFocus),{shouldPopupContent:d,closeAllPopover:c}=o,p=r.ref(!1),u=r.computed(()=>t.enableTitle?n.value:""),s=r.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),f=r.computed(()=>t.readonly||!t.editable),g=r.ref(!1),m=r.computed(()=>!t.disable&&g.value),y=r.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),b=r.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":m.value,"input-group--has-clear":t.enableClear&&p.value}));function M(N,I=!0){n.value=N,I&&(e.emit("change",N),e.emit("update:modelValue",N))}function C(N){d.value=!1,M(N,!0)}r.watch(()=>t.modelValue,N=>{n.value=N});function F(N){g.value=!1,e.emit("blur",N),N.stopPropagation()}function T(N){e.emit("click",N),c(),e.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&o.togglePopup()}function v(N){!t.disable&&!t.readonly&&(g.value=!0,f.value||(e.emit("focus",N),a.value&&!d.value&&o.popup()))}function S(N){e.emit("input",N);const I=N.target.value;i.value=I,n.value!==I&&M(I,t.updateOn==="change"),l.value&&!d.value&&o.popup()}function h(N){N.target.tagName!=="INPUT"&&N.preventDefault(),N.stopPropagation()}function w(N){e.emit("keydown",N)}function x(N){N.key==="Enter"&&(l.value||a.value)&&o.hidePopup(),e.emit("keyup",N)}function E(N){const I=N.target.value;N.stopPropagation(),M(I)}return{hasFocusedTextBox:m,isTextBoxReadonly:f,textBoxClass:y,textBoxPlaceholder:s,textBoxTitle:u,inputGroupClass:b,hasClearClass:p,changeTextBoxValue:M,commitValue:C,onBlurTextBox:F,onClickTextBox:T,onFocusTextBox:v,onInput:S,onKeyDownTextBox:w,onKeyUpTextBox:x,onMouseDownTextBox:h,onTextBoxValueChange:E}}const it="FarrisVue_PopoverInstancesKey";function Oi(t,e,n,i){const o=r.ref(),l=r.ref(!1),{judgeCanOpen:a}=zt(t,i);r.watch(()=>o.value,(g,m)=>{window[it]=window[it]||new WeakMap,g?window[it].set(n.value,g):window[it].delete(n.value)});function d(){if(window[it]){const g=window[it];document.querySelectorAll(".f-button-edit,.v-popover").forEach(m=>{const y=g.get(m);y&&m!==n.value&&!n.value.closest(".popover-fitcontent")&&y.hide()})}}function c(){const g=o.value;g&&g.show(n.value)}async function p(g=!1){if(!!e.slots.default){if(!g&&!l.value&&!await a())return;l.value=!l.value,l.value&&(await r.nextTick(),c())}}async function u(g=!1){if(!!e.slots.default){if(!g&&!await a())return;l.value=!0,await r.nextTick(),c()}}function s(){l.value=!1}function f(){l.value=!0,r.nextTick(()=>{c()})}return{hidePopup:s,showPopup:f,popup:u,shouldPopupContent:l,togglePopup:p,popoverRef:o,closeAllPopover:d}}function ji(t,e,n){const i=r.ref(),{isTextBoxReadonly:o,textBoxClass:l,textBoxPlaceholder:a,textBoxTitle:d,onBlurTextBox:c,onClickTextBox:p,onFocusTextBox:u,onInput:s,onKeyDownTextBox:f,onKeyUpTextBox:g,onMouseDownTextBox:m,onTextBoxValueChange:y}=n,b=r.ref(t.id),{uuid:M}=X.useGuid(),C=r.computed(()=>({}));r.onMounted(()=>{var h,w;t.selectOnCreated&&((h=i.value)==null||h.select()),t.focusOnCreated&&((w=i.value)==null||w.focus({preventScroll:!0})),b.value||(b.value="button-edit_"+M(8)),b.value=b.value+"-textbox"});const F=r.ref(!1),T=h=>{h.preventDefault(),F.value=!0},v=h=>{h.preventDefault(),F.value=!1,s(h)};function S(h){F.value||s(h)}return()=>r.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:l.value,style:C.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:a.value,readonly:o.value,tabindex:t.tabIndex,title:d.value,type:t.inputType,value:e.value,onBlur:c,onChange:y,onClick:p,onFocus:u,onInput:S,onKeydown:f,onKeyup:g,onMousedown:m,onCompositionend:v,onCompositionstart:T},null)}function Ri(t,e,n){const i=r.ref(t.separator),o=r.computed(()=>t.readonly||t.disable),{changeTextBoxValue:l,onFocusTextBox:a,onBlurTextBox:d,onClickTextBox:c,textBoxPlaceholder:p}=n,u=r.computed(()=>e.value?e.value.split(i.value).map(m=>({name:m,selectable:!0})):[]);function s(m){l(m.map(y=>y.name).join(i.value),!0)}r.watch(()=>t.separator,m=>{i.value=m});const f=r.ref(!t.disable&&!t.readonly);r.watch([()=>t.disable,()=>t.readonly],([m,y],[b,M])=>{f.value=!m&&!y});function g(m){c(m)}return()=>r.createVNode(Cn,{tabindex:t.tabIndex,onFocus:a,onBlur:d,id:`${t.id}-tag-editor`,class:"form-control",placeholder:p.value,data:u.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:s,onClick:g},null)}function Ai(t,e,n,i){const{buttonGroupClass:o,onClickButton:l,onMouseEnterButton:a,onMouseLeaveButton:d}=n,{enableClearButton:c,showClearButton:p,onClearValue:u}=i,s=r.ref(),f=Be.debounce(b=>{l(b)},t.buttonBehavior==="Modal"?0:200),g=()=>{e.emit("beforeClearValue")},m=r.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":t.expandMode==="button","input-append-text":t.expandMode==="text","d-none":!!t.expandDisabled})),y=()=>{e.emit("expandClick")};return{renderButtonGroup:()=>r.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[c.value&&r.withDirectives(r.createVNode("span",{class:"input-group-text input-group-clear",onClick:u,onMousedown:g},[r.createVNode("i",{class:"f-icon modal_close"},null)]),[[r.vShow,p.value]]),e.slots.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",onClick:f,onMouseenter:a,onMouseleave:d},[e.slots.buttonContent()]):t.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:s,onClick:b=>f(b),onMouseenter:a,onMouseleave:d},null):null,t.expandable&&r.createVNode("div",{class:m.value,onClick:y},[r.createVNode("div",{class:"input-group-text"},[t.expandContent])])]),buttonHandleElement:s}}function Li(t,e,n){const i=r.ref(t.popupMinWidth),{hidePopup:o,popoverRef:l}=n,a=()=>{e.emit("shown")};return()=>r.createVNode(yn,{id:`${t.id}-popover`,ref:l,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:i.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:o,onShown:a,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var d,c;return[(c=(d=e.slots).default)==null?void 0:c.call(d)]}})}const Hi=r.defineComponent({name:"FButtonEdit",props:bi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","expandClick"],setup(t,e){const n=r.ref(),i=r.ref(t.customClass),o=r.ref(t.modelValue),l=Oi(t,e,n,o),{shouldPopupContent:a,hidePopup:d,showPopup:c,togglePopup:p}=l,u=Pi(t,e,n,l,o),s=r.ref(""),f=Bi(t,e,o,s,l),{hasFocusedTextBox:g,commitValue:m,inputGroupClass:y}=f,b=Ni(t,e,o,g,s,f),{onMouseEnterTextBox:M,onMouseLeaveTextBox:C}=b,F=r.ref(!1),T=r.computed(()=>{const k={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((W,P)=>(W[P]=!0,W),k),k}),v=r.computed(()=>({overflow:t.wrapText?"hidden":""})),S=r.computed(()=>({}));function h(){if(!t.multiSelect||t.inputType!=="tag"||!n.value)return 0;let k=0;const W=Array.from(n.value.querySelectorAll(".farris-tag-item"));return W&&W.length&&(k=W.map(P=>P.offsetTop).filter(P=>P>20).length),k}const w=r.ref(h());r.onUpdated(()=>{w.value=h()});function x(){return t.multiSelect&&t.inputType==="tag"?()=>r.createVNode(r.Fragment,null,[Ri(t,o,f)(),!!w.value&&r.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[r.createVNode("span",{class:"multi--more-text"},[r.createTextVNode("+"),w.value])])]):ji(t,o,f)}let E=x();r.watch([()=>t.multiSelect,()=>t.inputType],()=>{E=x()});const{renderButtonGroup:N,buttonHandleElement:I}=Ai(t,e,u,b),B=Li(t,e,l),V=r.ref(a.value),_={displayText:s,commitValue:m,elementRef:n,hidePopup:d,showPopup:c,popoverRef:l.popoverRef,shouldPopupContent:a,togglePopup:p,openDialog:()=>{I.value&&t.buttonBehavior==="Modal"&&I.value.click()},getModal:()=>{var k;return t.buttonBehavior==="Modal"?(k=u.modalRef.value)==null?void 0:k.value:null},getTextbox:()=>{var k;return(k=n.value)==null?void 0:k.querySelector("input")},forceClosePopup:()=>{V.value=!1,F.value=!0,a.value=!1}};return r.onMounted(()=>{n.value.componentInstance=_,window.onresize=()=>{document.body.click()}}),r.onBeforeUnmount(()=>{var k;window.onresize=null,(k=window[it])==null||k.delete(n.value)}),e.expose(_),r.watch(()=>a.value,async(k,W)=>{if(F.value){V.value=k,F.value=!1;return}if(!k&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const P=await t.beforeClosePopup();V.value=!P,(!P||t.readonly)&&(a.value=!0)}catch(P){console.error("Error in beforeClosePopup:",P),V.value=W,a.value=W}return}V.value=k}),()=>{var k,W;return r.createVNode(r.Fragment,null,[r.createVNode("div",r.mergeProps(e.attrs,{ref:n,class:T.value,id:t.id?t.id:void 0,style:v.value}),[r.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:y.value,style:S.value,onMouseenter:M,onMouseleave:C},[(W=(k=e.slots).precontent)==null?void 0:W.call(k),E(),N()])]),V.value&&B()])}}}),ht=new Map([["appearance",$e.resolveAppearance],["column","columnOption"],["command","commandOption"]]),Wt=new Map([]),$i="root-viewmodel";class zi{constructor(e,n){ne(this,"formSchemaUtils");ne(this,"controlCreatorUtils");ne(this,"designViewModelUtils");ne(this,"useFormCommand");ne(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=n,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(e){const n=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),l=this.formSchemaUtils.getFormSchema();return l.module.viewmodels.push(o),l.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(n,e,o)}wrapContainerSectionForComponent(e,n,i){var c,p,u,s,f,g,m,y,b,M,C;const o=(p=(c=n==null?void 0:n.parentComponentInstance)==null?void 0:c.schema)==null?void 0:p.type,l=(f=(s=(u=n==null?void 0:n.parentComponentInstance)==null?void 0:u.schema)==null?void 0:s.appearance)==null?void 0:f.class,a=(m=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:m.templateId;if(o===z.DgControl["splitter-pane"].type&&(l!=null&&l.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const d=[z.DgControl["content-container"].type,z.DgControl["response-layout-item"].type,z.DgControl["splitter-pane"].type,z.DgControl.drawer.type];if(o&&d.includes(o)){const F=this.resolver.getSchemaByType("section",{parentComponentInstance:n.parentComponentInstance,mainTitle:n.componentName},this.designerHostService);if(F&&F.contents&&F.contents.length){const T=F.contents[0];return T.contents=[e],this.appendAddDeleteBtnToParentContainer(T,n,i),F}}return this.appendAddDeleteBtnToParentContainer((y=n==null?void 0:n.parentComponentInstance)==null?void 0:y.schema,n,i),o===z.DgControl["tab-page"].type&&(b=n.parentComponentInstance)!=null&&b.parent&&(M=n.parentComponentInstance)!=null&&M.parent.updateToolbarItems&&((C=n.parentComponentInstance)==null||C.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,n,i){const o=e.type,l=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(n.bindTo==="/"||n.componentType!=="data-grid"&&n.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),d=z.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(d),p=[Object.assign({},c,{id:`button-add-${n.componentId}`,type:d,text:"新增",disabled:a.find(u=>u.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}AddItem1`}),Object.assign({},c,{id:`button-remove-${n.componentId}`,type:d,text:"删除",disabled:a.find(u=>u.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:z.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar",buttons:[]}),e.toolbar.id||(e.toolbar.id=`${e.id}_toolbar`),e.toolbar.type||(e.toolbar.type=z.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(p),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var u;const n=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=X.useGuid().guid(),o=X.useGuid().guid(),l=this.resolveCommandController(),a={id:i,code:`${n}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:l,shortcut:{},extensions:[]},d={id:o,code:`${n}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:l,shortcut:{},extensions:[]};(u=this.designerHostService.designerContext)!=null&&u.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(a),this.designerHostService.designerContext.appendIdentifyForNewCommand(d)),e.commands.push(a,d),this.formSchemaUtils.getFormSchema().module.webcmds.find(s=>s.id===l).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,n=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(l=>n.includes(l.id));if(i)return i.id;const o="45be24f9-c1f7-44f7-b447-fe2ada458a61";return e.push({id:o,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),o}createComponentRefNode(e){const n=this.resolver.getSchemaByType("component-ref");return Object.assign(n,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),n}createComponentNode(e){const n=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(n,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),n}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:$i,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var l,a,d,c;const{templateId:n}=this.formSchemaUtils.getFormSchema().module,i=(l=e.parentComponentInstance)==null?void 0:l.schema,o=(a=i==null?void 0:i.appearance)==null?void 0:a.class;if(n==="double-list-in-tab-template"&&(i==null?void 0:i.type)==="tab-page"){const p=((d=e.parentComponentInstance)==null?void 0:d.parent)&&((c=e.parentComponentInstance)==null?void 0:c.parent.schema);if((p==null?void 0:p.type)==="tabs"&&(p==null?void 0:p.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(n)&&(o!=null&&o.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var f,g,m,y,b;const n=(f=e.parentComponentInstance)==null?void 0:f.schema,i=(m=(g=n==null?void 0:n.schema)==null?void 0:g.appearance)==null?void 0:m.class,{templateId:o}=this.formSchemaUtils.getFormSchema().module;let l,a=!1;if(o==="double-list-in-tab-template"&&(n==null?void 0:n.type)==="tab-page"){const M=((y=e.parentComponentInstance)==null?void 0:y.parent)&&((b=e.parentComponentInstance)==null?void 0:b.parent.schema);(M==null?void 0:M.type)==="tabs"&&(M==null?void 0:M.fill)===!0&&(a=!0)}if(a){const M=this.resolver.getSchemaByType("section");Object.assign(M,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),l=M}else if((o==="double-list-template"||o==="tree-list-template")&&(i!=null&&i.includes("f-page-content-main"))){const M=this.resolver.getSchemaByType("section");Object.assign(M,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),l=M}else{const M=this.resolver.getSchemaByType("content-container");Object.assign(M,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),l=M}const d=this.resolver.getSchemaByType("data-grid"),c=[],p=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),u=e.editable&&p.length>0&&p.findIndex(M=>M.id==="editable")>-1;Object.assign(d,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:u,dataSource:e.dataSource||"",editable:u?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),l.contents=[d];const{selectedFields:s}=e;return s==null||s.forEach(M=>{if(M.$type===X.FormSchemaEntityField$Type.ComplexField)return;const C=Be.cloneDeep(M),F=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",C,"",u);F&&c.push(F)}),[l]}assembleViewModelFields(e){const n=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===X.FormSchemaEntityField$Type.ComplexField)return;let l="blur";const a=o.type.name;(a===X.FormSchemaEntityFieldTypeName.Enum||a===X.FormSchemaEntityFieldTypeName.Boolean)&&(l="change"),n.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:l,fieldSchema:{}})}),n}}function yt(t,e,n,i){var l,a,d,c,p,u,s;const o=n.parentComponentInstance;if(o&&i){const f=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${f}`,componentName:((l=n.bindingSourceContext)==null?void 0:l.entityTitle)||((d=(a=n.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:d.name)||`表格-${f}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((c=n.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(u=(p=n.bindingSourceContext)==null?void 0:p.bindingEntity)==null?void 0:u.label,selectedFields:(s=n.bindingSourceContext)==null?void 0:s.bindingEntityFields};return new zi(t,i).createComponent(g)}else return e}function Gt(t,e,n){return e}const qt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null}},required:["id","type"]},Ft={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}};$e.createPropsResolver(Ft,qt,ht,yt);const Wi=$e.getPropsResolverGenerator(Ft,qt,ht,yt),Gi=new Map([["appearance",$e.resolveAppearance]]);function qi(t,e,n){return e}const Ui={title:"transfer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Di={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/transfer.schema.json",title:"transfer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for transfer",type:"string"},type:{description:"The type string of transfer",type:"string",default:"transfer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Ut={dataSource:{type:Array,default:[]},displayType:{type:String,default:"List"},enableSearch:{type:Boolean,default:!0},identifyField:{type:String,default:"id"},textField:{type:String,default:"name"},placeholder:{type:String,default:""},selections:{type:Array,default:[]},selectionValues:{type:Array,default:[]},virtualized:{type:Boolean,default:!1},rowOption:{type:Object},columns:{type:Array,default:[{field:"name",title:"",dataType:"string",width:"100%"}]},checkBeforeRemoveItem:{type:Function,default:null},selectedItemClass:{Type:[String,Function],default:"draggable-item--text-truncate",validator:t=>typeof t=="string"||typeof t=="function"}};$e.createPropsResolver(Ut,Di,Gi,qi,Ui);const Yi={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},multiSelectMode:{type:String,default:"OnCheck"},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}}};function Xi(t,e){function n(l){const a=[];let d=l.nextNode();for(;d;)a.push(d),d=l.nextNode();return a}function i(l,a){const d=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return n(d).map(s=>({textNode:s,text:(s.textContent||"").toLocaleLowerCase()})).map(({textNode:s,text:f})=>{const g=[];let m=0;for(;m<f.length;){const y=f.indexOf(a,m);if(y===-1)break;g.push(y),m=y+a.length}return g.map(y=>{const b=new Range;return b.setStart(s,y),b.setEnd(s,y+a.length),b})}).flat()}function o(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!e))return;const a=i(e.value,l.toLocaleLowerCase()),d=new Highlight(...a);CSS.highlights.set("search-result",d)}return{search:o}}function Dt(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.size),s=r.ref(t.textField),f=r.ref(t.titleField),g=r.ref(t.disableField),m=r.computed(()=>{var x,E;return((x=t.selection)==null?void 0:x.multiSelect)&&((E=t.selection)==null?void 0:E.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:b,onMouseoutItem:M}=l,{getKey:C,listViewItemClass:F,listViewItemStyle:T,onCheckItem:v,onClickItem:S}=a,h=r.computed(()=>{const x={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?x:{margin:u.value==="small"?"0.25rem 0":"8px 0",...x}});function w(x,E,N){return x.checked=d.findIndexInSelectedItems(x)>-1,r.createVNode("li",{class:F(x,E),id:C(x,E),key:C(x,E),style:T(x,E),onClick:I=>S(x,E,I),onMouseenter:I=>y(I,x,E),onMouseover:I=>b(I,x,E),onMouseout:I=>M(I,x,E)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+C(x,E),customClass:"listview-checkbox float-left",disabled:x[g.value],checked:x.checked,"onUpdate:checked":I=>x.checked=I,onChange:I=>{v(x,E,!I.checked)}},null)]),r.createVNode("div",{class:"f-list-content"},[r.createVNode("div",{class:t.itemContentClass,style:h.value,title:x.raw[f.value]||x.raw[s.value]},[x.raw[s.value]])])])}return{renderItem:w}}function Zi(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.multiSelect),s=r.ref(t.disableField),f=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:m,onMouseoutItem:y}=l,{getKey:b,listViewItemClass:M,listViewItemStyle:C,onCheckItem:F,onClickItem:T,updateSelectedItems:v}=a;function S(w,x,E){return t.contentTemplate?r.createVNode(r.Fragment,null,[t.contentTemplate({item:w.raw,index:x,selectedItem:E})]):e.slots.content?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.content({item:w.raw,index:x,selectedItem:E})]):r.createVNode("div",{style:"margin: 10px 0;"},[w.raw[f.value||"name"]])}function h(w,x,E){return r.createVNode("li",{class:M(w,x),id:b(w,x),key:b(w,x),style:C(w,x),onClick:N=>T(w,x,N),onMouseenter:N=>g(N,w,x),onMouseover:N=>m(N,w,x),onMouseout:N=>y(N,w,x)},[u.value&&r.createVNode("div",{class:"f-list-select",onClick:N=>N.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+b(w,x),customClass:"listview-checkbox",disabled:w[s.value],checked:w.checked,"onUpdate:checked":N=>w.checked=N,onChange:N=>{F(w,x,!N.checked),v()}},null)]),r.createVNode("div",{class:"f-list-content"},[S(w,x,E)])])}return{renderItem:h}}function Ji(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.multiSelect),s=r.ref(t.disableField),f=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:m,onMouseoutItem:y}=l,{getKey:b,listViewItemClass:M,onCheckItem:C,onClickItem:F}=a,{dragstart:T,dragenter:v,dragover:S,dragend:h}=i,{removeItem:w}=c,x=r.computed(()=>({margin:u.value?"10px 0":"10px 0px 10px 14px"}));function E(_,k=""){const W=_.target;W.title=W.scrollWidth>W.clientWidth?k:""}function N(_){return r.createVNode("div",{style:x.value,onMouseenter:k=>E(k,_.raw[f.value||"name"])},[_.raw[f.value||"name"]])}function I(){return e.slots.itemContent?e.slots.itemContent:N}const B=I();function V(_,k,W){return r.createVNode("li",{class:M(_,k),id:b(_,k),key:b(_,k),onClick:P=>F(_,k,P),onMouseenter:P=>g(P,_,k),onMouseover:P=>m(P,_,k),onMouseout:P=>y(P,_,k),draggable:"true",onDragstart:P=>T(P,_,k),onDragenter:P=>v(P,k),onDragend:P=>h(P,_),onDragover:P=>S(P)},[u.value&&r.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+b(_,k),customClass:"listview-checkbox",disabled:_[s.value]||!_.checked,checked:_.checked,"onUpdate:checked":P=>_.checked=P,onChange:P=>C(_,k,!P.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[B(_)]),r.createVNode("div",{class:"f-list-remove",onClick:P=>{P.stopPropagation(),w(k)}},[r.createVNode("div",{class:"f-list-remove-icon"},[r.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),r.createVNode("div",{class:"f-list-handle"},[r.createVNode("div",null,[r.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:V}}function Qi(t,e,n,i,o,l,a,d,c,p){var b;const u=r.ref(((b=t.group)==null?void 0:b.groupFields)||[]),{collpaseGroupIconClass:s}=o,{toggleGroupRow:f}=p;function g(M,C){C.collapse=!C.collapse,n.value=f(C.collapse?"collapse":"expand",C,n.value)}function m(M,C,F){return e.slots.group?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.group({item:M.raw,index:C,selectedItem:F})]):r.createVNode("div",{class:"f-navlookup-recentHeader",onClick:T=>g(T,M)},[r.createVNode("div",{class:"fv-grid-group-row-icon"},[r.createVNode("span",{class:s(M)},null)]),r.createVNode("div",{class:"f-navlookup-recommandLabel"},[M.raw[u.value[M.layer]]])])}function y(M,C,F){return M.layer>-1&&m(M,C,F)}return{renderItem:y}}function Ki(t,e,n,i){const{dataView:o}=n,{updateSelectedItems:l}=i;function a(d){if(d>-1&&d<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[d]))return;const c=o.value.splice(d,1);l(),e.emit("removeItem",c[0])}}return{removeItem:a}}function eo(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.view),s=r.ref(t.view==="CardView"),f=r.ref({}),g=Ki(t,e,i,c),m=r.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":s.value,"flex-wrap":s.value})),y=r.computed(()=>!!n.value&&n.value.length>0),b=r.computed(()=>n.value.length===0);r.computed(()=>b.value&&!e.slots.empty);function M(){return u.value==="SingleView"?Dt:u.value==="DraggableView"?Ji:(u.value==="ContentView"||u.value==="CardView")&&(t.contentTemplate||e.slots.content)?Zi:Dt}const C=M(),{renderItem:F}=C(t,e,n,p,o,l,c,a,g,d),{renderItem:T}=Qi(t,e,n,p,o,l,c,a,g,d),v=[F,T];function S(){return n.value.filter(x=>x.visible!==!1).map((x,E)=>v[x.type](x,E,f))}function h(){return r.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[r.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():e.slots.empty?e.slots.empty():je.LocaleService.getLocaleValue("listView.emptyMessage")])])}function w(){return r.createVNode("ul",{class:m.value,style:"list-style: none;"},[y.value&&S(),b.value&&h()])}return{renderListArea:w}}function to(t,e,n){function i(){return e.slots.header&&r.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function Yt(t,e,n){const i=r.ref(t.headerClass),o=r.ref(t.placeholder),l=r.ref(""),a=r.computed(()=>!l.value),d=r.computed(()=>!!l.value);function c(f){l.value=""}r.watch(l,f=>{t.enableHighlightSearch&&n.search(f),e.emit("afterSearch",f)});const p=r.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((m,y)=>(m[y]=!0,m),f),f});function u(f){}function s(){return r.createVNode("div",{class:"f-list-view-header",onClick:r.withModifiers(()=>u,["prevent","stop"])},[r.createVNode("div",{class:p.value},[r.createVNode("div",{class:"farris-input-wrap"},[r.createVNode("div",{class:"f-cmp-inputgroup"},[r.createVNode("div",{class:"input-group f-state-editable"},[r.withDirectives(r.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":f=>l.value=f,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[r.vModelText,l.value]]),r.createVNode("div",{class:"input-group-append"},[d.value&&r.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>c()},[r.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&r.createVNode("span",{class:"input-group-text"},[r.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:s}}function no(){const t=r.ref(""),e=r.ref(-1),n=r.ref(""),i=r.ref(-1),o=r.ref(!1);function l(s,f,g){i.value=g}function a(s,f,g){o.value||(i.value=g)}function d(s,f,g){i.value=-1}function c(){o.value=!0}function p(){o.value=!1}function u(){e.value=-1,t.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:i,clearActiveItem:u,onMouseenterItem:l,onMouseoverItem:a,onMouseoutItem:d,resumeHover:p,suspendHover:c}}function io(t,e,n,i){const o=r.ref(t.idField),{dataView:l}=n,a=r.ref(-1),d=r.ref(!1),{activeIndex:c,focusedItemId:p,hoverIndex:u,resumeHover:s,suspendHover:f}=i;let g,m=0,y=0;function b(S,h){const w=S-m,x=h-y;g.style.left=parseInt(g.style.left)+w+"px",g.style.top=parseInt(g.style.top)+x+"px",m=S,y=h}function M(S){const{left:h,top:w}=S.getBoundingClientRect(),x=S.cloneNode(!0);return x.className=x.className+" f-listview-drag-moving",x.style.cssText=`
|
|
1
|
+
(function(le,X){typeof exports=="object"&&typeof module<"u"?X(exports,require("../../components/common/index.umd.js"),require("../../components/data-grid/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("@vueuse/core"),require("../../components/checkbox/index.umd.js"),require("../../components/popover/index.umd.js"),require("../../components/locale/index.umd.js"),require("../../components/modal/index.umd.js"),require("lodash-es"),require("../../components/transfer/index.umd.js"),require("../../components/tabs/index.umd.js"),require("../../components/filter-bar/index.umd.js"),require("../../components/pagination/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/button/index.umd.js"),require("../../components/button-group/index.umd.js"),require("../../components/list-view/index.umd.js"),require("../../components/date-picker/index.umd.js"),require("../../components/number-spinner/index.umd.js"),require("../../components/search-box/index.umd.js"),require("../../components/notify/index.umd.js"),require("../../components/condition/index.umd.js"),require("../../components/dynamic-form/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/field-selector/index.umd.js"),require("../../components/tags/index.umd.js"),require("../../components/tree-view/index.umd.js"),require("../../components/accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../../components/calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../checkbox/index.umd.js"),require("../checkbox-group/index.umd.js"),require("../../components/combo-list/index.umd.js"),require("../../components/combo-tree/index.umd.js"),require("../../components/component/index.umd.js"),require("../../components/color-picker/index.umd.js"),require("../../components/content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../../components/events-editor/index.umd.js"),require("../../components/binding-selector/index.umd.js"),require("../../components/image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../../components/layout/index.umd.js"),require("../../components/list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../../components/lookup/index.umd.js"),require("../../components/mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../../components/number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../../components/order/index.umd.js"),require("../../components/page-header/index.umd.js"),require("../../components/page-footer/index.umd.js"),require("../../components/progress/index.umd.js"),require("../../components/query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../../components/response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../section/index.umd.js"),require("../../components/smoke-detector/index.umd.js"),require("../../components/splitter/index.umd.js"),require("../../components/step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../../components/text/index.umd.js"),require("../time-picker/index.umd.js"),require("../../components/uploader/index.umd.js"),require("../../components/verify-detail/index.umd.js"),require("../../components/video/index.umd.js"),require("../textarea/index.umd.js"),require("../../components/schema-selector/index.umd.js"),require("../tree-grid/index.umd.js"),require("../../components/event-parameter/index.umd.js"),require("../../components/filter-condition-editor/index.umd.js"),require("../../components/fieldset/index.umd.js"),require("../../components/sort-condition-editor/index.umd.js"),require("../../components/menu-lookup/index.umd.js"),require("../drawer/index.umd.js"),require("../../components/json-editor/index.umd.js"),require("../../components/property-editor/index.umd.js"),require("../../components/expression-editor/index.umd.js"),require("../../components/code-editor/index.umd.js"),require("../../components/html-template/index.umd.js"),require("../../components/collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../../components/external-container/index.umd.js"),require("../../components/language-textbox/index.umd.js"),require("../../components/image/index.umd.js"),require("../../components/comment/index.umd.js"),require("../wizard/index.umd.js"),require("../../components/tooltip/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/data-grid/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","@vueuse/core","../../components/checkbox/index.umd.js","../../components/popover/index.umd.js","../../components/locale/index.umd.js","../../components/modal/index.umd.js","lodash-es","../../components/transfer/index.umd.js","../../components/tabs/index.umd.js","../../components/filter-bar/index.umd.js","../../components/pagination/index.umd.js","../../components/data-view/index.umd.js","../../components/button/index.umd.js","../../components/button-group/index.umd.js","../../components/list-view/index.umd.js","../../components/date-picker/index.umd.js","../../components/number-spinner/index.umd.js","../../components/search-box/index.umd.js","../../components/notify/index.umd.js","../../components/condition/index.umd.js","../../components/dynamic-form/index.umd.js","../../components/designer-canvas/index.umd.js","../data-view/index.umd.js","../../components/property-panel/index.umd.js","../../components/field-selector/index.umd.js","../../components/tags/index.umd.js","../../components/tree-view/index.umd.js","../../components/accordion/index.umd.js","../avatar/index.umd.js","../button-edit/index.umd.js","../../components/calendar/index.umd.js","../capsule/index.umd.js","../checkbox/index.umd.js","../checkbox-group/index.umd.js","../../components/combo-list/index.umd.js","../../components/combo-tree/index.umd.js","../../components/component/index.umd.js","../../components/color-picker/index.umd.js","../../components/content-container/index.umd.js","../date-picker/index.umd.js","../data-grid/index.umd.js","../../components/dropdown/index.umd.js","../dynamic-form/index.umd.js","../../components/events-editor/index.umd.js","../../components/binding-selector/index.umd.js","../../components/image-cropper/index.umd.js","../input-group/index.umd.js","../../components/layout/index.umd.js","../../components/list-nav/index.umd.js","../list-view/index.umd.js","../../components/lookup/index.umd.js","../../components/mapping-editor/index.umd.js","../nav/index.umd.js","../../components/number-range/index.umd.js","../number-spinner/index.umd.js","../../components/order/index.umd.js","../../components/page-header/index.umd.js","../../components/page-footer/index.umd.js","../../components/progress/index.umd.js","../../components/query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../../components/response-layout/index.umd.js","../response-layout-editor/index.umd.js","../section/index.umd.js","../../components/smoke-detector/index.umd.js","../../components/splitter/index.umd.js","../../components/step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../../components/text/index.umd.js","../time-picker/index.umd.js","../../components/uploader/index.umd.js","../../components/verify-detail/index.umd.js","../../components/video/index.umd.js","../textarea/index.umd.js","../../components/schema-selector/index.umd.js","../tree-grid/index.umd.js","../../components/event-parameter/index.umd.js","../../components/filter-condition-editor/index.umd.js","../../components/fieldset/index.umd.js","../../components/sort-condition-editor/index.umd.js","../../components/menu-lookup/index.umd.js","../drawer/index.umd.js","../../components/json-editor/index.umd.js","../../components/property-editor/index.umd.js","../../components/expression-editor/index.umd.js","../../components/code-editor/index.umd.js","../../components/html-template/index.umd.js","../../components/collection-property-editor/index.umd.js","../modal/index.umd.js","../../components/external-container/index.umd.js","../../components/language-textbox/index.umd.js","../../components/image/index.umd.js","../../components/comment/index.umd.js","../wizard/index.umd.js","../../components/tooltip/index.umd.js"],X):(le=typeof globalThis<"u"?globalThis:le||self,X(le["data-grid"]={},le.common,le.FDataGrid,le.dynamicResolver,le.Vue,le.VueUseCore,le.checkbox,le.FPopover,le.locale,null,le.LodashES,null,null,null,null,le.dataView,le.FButton,le.FButtonGroup,null,null,null,null,le.notify,le.condition,le.dynamicForm,le.designerCanvas,le.designer$1,le.propertyPanel,le.FFieldSelector,le.FTags,le.FTreeView))})(this,function(le,X,Qe,$e,r,hn,St,yn,je,Hr,Be,$r,zr,Wr,Gr,Ve,Bt,vn,qr,Ur,Dr,Yr,Mt,de,bn,z,ze,Ae,gt,Cn,wn){"use strict";var Lr=Object.defineProperty;var Ar=(le,X,Qe)=>X in le?Lr(le,X,{enumerable:!0,configurable:!0,writable:!0,value:Qe}):le[X]=Qe;var ne=(le,X,Qe)=>Ar(le,typeof X!="symbol"?X+"":X,Qe);const xn={customClass:{type:String,default:""},appendOnEnterAtLastCell:{type:Boolean,default:!1},beforeEditCell:{type:Function,default:t=>!0},beforeEndEditCell:{type:Function,default:()=>!0},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[],halign:"center"}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},enableCommands:{type:Boolean,default:!1},enableFilter:{type:Boolean,default:!1},filter:{type:Object},fit:{type:Boolean,default:!1},focusOnEditingCell:{type:Boolean,default:!0},group:{type:Object},header:{type:Object},height:{type:Number,default:-1},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loading:{type:Boolean,default:!1},mergeCell:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:20}},rowNumber:{type:Object,default:{enable:!0,width:36,showEllipsis:!0,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1,keepSelectingOnClick:!0}},selectionValues:{type:Array,default:[]},selectOnEditingCell:{type:Boolean,default:!1},showBorder:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showVerticallLines:{type:Boolean,default:!1},sort:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},virtualized:{type:Boolean,default:!0},width:{type:Number,default:-1},emptyTemplate:{type:Object},beforeUpdate:{type:Function},scrollbarMode:{type:String,default:"auto"},visible:{type:Boolean,default:!0}},Sn=X.excludeProperties(Object.assign({},xn,{disabled:{},editable:{},componentId:{type:String,default:""}}),"columnOption","commandOption");function Mn(t,e,n,i,o){const{getGridHeaderCells:l}=o,a=120,d=50,c=r.computed(()=>{var h;return((h=t.rowNumber)==null?void 0:h.enable)||!1}),p=r.computed(()=>{var h,w;return((h=t.selection)==null?void 0:h.multiSelect)||((w=t.selection)==null?void 0:w.showCheckbox)||!1}),u=r.computed(()=>{var h;return 0+(c.value?((h=t.rowNumber)==null?void 0:h.width)||32:0)+(p.value?d:0)}),s=r.computed(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns}),f=r.computed(()=>{var h;return s.value&&((h=t.columnOption)==null?void 0:h.fitMode)||"none"});function g(h,w,x){const E=parseInt(h.width,10)/100;return x*E}function m(h,w,x){return typeof h.width=="string"?g(h,w,x):h.width||a}function y(h,w){const x=[],E=[];let N=0;h.value.primaryColumns.forEach(V=>{typeof V.width=="string"?E.push(V):(V.width=V.width||a,N+=V.width,x.push(V))});const I=w*(x.length/h.value.primaryColumns.length);x.forEach(V=>{const _=I*(V.width/N);V.actualWidth=_,h.value.primaryColumnsWidth+=V.actualWidth});const B=w-I;E.forEach(V=>{const _=g(V,h.value,B);V.actualWidth=_,h.value.primaryColumnsWidth+=V.actualWidth})}function b(h,w){const x=[],E=[],N=new WeakMap;let I=0,B=0;if(h.value.primaryColumns.forEach(_=>{if(typeof _.width=="string"){const k=g(_,h.value,w);N.set(_,k),I+=k,E.push(_)}else _.width=_.width||a,B+=_.width,x.push(_)}),w-I>B){const _=w-I;E.forEach(k=>{k.actualWidth=N.get(k)||a,h.value.primaryColumnsWidth+=k.actualWidth}),x.forEach(k=>{k.actualWidth=_*(k.width/B),h.value.primaryColumnsWidth+=k.actualWidth})}else y(h,w)}function M(h,w){h.value.primaryColumns.forEach(x=>{x.actualWidth=m(x,h.value,w),h.value.primaryColumnsWidth+=x.actualWidth})}const C={expand:b,none:M,percentage:y};function F(h){h.value.leftHeaderColumns=Array.from(l(h.value.leftColumns).values()),h.value.primaryHeaderColumns=Array.from(l(h.value.primaryColumns).values()),h.value.rightHeaderColumns=Array.from(l(h.value.rightColumns).values())}function T(h){h.value.leftColumnsWidth=0,h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,h.value.leftColumns.forEach(w=>{h.value.leftColumnsWidth+=w.actualWidth||0}),h.value.primaryColumns.forEach(w=>{h.value.primaryColumnsWidth+=w.actualWidth||0}),h.value.rightColumns.forEach(w=>{h.value.rightColumnsWidth+=w.actualWidth||0}),h.value=Object.assign({},h.value)}function v(h,w,x){var k;let E=0;const N=h.value.primaryColumns,I=h.value.rightColumns;h.value.rightColumns.forEach(W=>{W.actualWidth=m(W,h.value,w),E+=W.actualWidth});const B=x-E,V=C[f.value];if(V&&V(h,B),h.value.primaryColumnsWidth+E<=x)return h.value.primaryColumns=[...N,...I],h.value.primaryColumnsWidth+=E,h.value.rightColumns=[],h.value.rightColumnsWidth=0,!0;const _=new Map;return _.set("primary",[]),_.set("right",[]),h.value.primaryColumns.reduce((W,P)=>{var L,Y;return P.fixed==="right"?(L=W.get("right"))==null||L.push(P):(Y=W.get("primary"))==null||Y.push(P),W},_),(k=_.get("right"))!=null&&k.length&&(h.value.primaryColumns=[..._.get("primary")||[]],h.value.rightColumns=[..._.get("right")||[]]),h.value.primaryColumnsWidth=0,h.value.rightColumnsWidth=0,!1}function S(){if(n.value){e.value.leftColumnsWidth=0,e.value.primaryColumnsWidth=0,e.value.rightColumnsWidth=0;const h=n.value.clientWidth-u.value;e.value.leftColumns.forEach(x=>{x.actualWidth=m(x,e.value,h),e.value.leftColumnsWidth+=x.actualWidth});const w=h-e.value.leftColumnsWidth;if(v(e,h,w))i.value=w;else{e.value.rightColumns.forEach(N=>{N.actualWidth=m(N,e.value,h),e.value.rightColumnsWidth+=N.actualWidth});const x=h-e.value.leftColumnsWidth-e.value.rightColumnsWidth,E=C[f.value];E&&E(e,x),i.value=x}F(e),e.value=Object.assign({},e.value)}}return r.watch(()=>{var h;return(h=t.columnOption)==null?void 0:h.fitColumns},(h,w)=>{h!==w&&h&&S()}),r.watch(f,(h,w)=>{h!==w&&s.value&&S()}),{calculateColumnHeaders:F,calculateColumnsSize:S,calculateColumnsWidth:T}}const Fn="";function Tn(t){const n={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]},i=r.ref(n);function o(){i.value={defaultColumnWidth:120,headerDepth:1,leftColumns:[],leftColumnsMap:new Map,leftColumnsWidth:0,leftHeaderColumns:[],primaryColumns:[],primaryColumnsMap:new Map,primaryColumnsWidth:0,primaryHeaderColumns:[],rightColumns:[],rightColumnsMap:new Map,rightColumnsWidth:0,rightHeaderColumns:[],summaryColumns:[]}}const l=r.ref(t.summary),a=r.computed(()=>{const v=l.value;return(v==null?void 0:v.groupFields)||[]});function d(){i.value.rightColumns.forEach(h=>{h.showSetting=!1}),i.value.primaryColumns.forEach(h=>{h.showSetting=!1});const v=i.value.rightColumns,S=i.value.primaryColumns;v.length>0?v[v.length-1].showSetting=!0:S.length>0&&(S[S.length-1].showSetting=!0)}function c(v){o();const S=new Map;return a.value&&a.value.reduce((h,w)=>(h.set(w,!0),h),S),v.reduce((h,w)=>(w.filter=w.filter||Fn,w.fixed==="left"?(i.value.leftColumns.push(w),i.value.leftColumnsMap.set(w.field,w),i.value.leftColumnsWidth+=w.actualWidth):w.fixed==="right"?(i.value.rightColumns.push(w),i.value.rightColumnsMap.set(w.field,w),i.value.rightColumnsWidth+=w.actualWidth):(i.value.primaryColumns.push(w),i.value.primaryColumnsMap.set(w.field,w),i.value.primaryColumnsWidth+=w.actualWidth),S.has(w.field)&&i.value.summaryColumns.push(w),h),i),d(),i}c(t.columns);const p=r.computed(()=>i.value.leftColumns.length>0),u=r.computed(()=>i.value.rightColumns.length>0);function s(v,S){return S.sortable&&S.sort&&S.sort!=="none"&&v.push(S),v}function f(v,S){return v.sortOrder=v.sortOrder||0,S.sortOrder=S.sortOrder||0,v.sortOrder===S.sortOrder?0:v.sortOrder<S.sortOrder?-1:1}function g(v,S){return v.sortOrder=v.sortOrder||0,S.sortOrder=S.sortOrder||0,v.sortOrder===S.sortOrder?0:v.sortOrder<S.sortOrder?1:-1}function m(v,S){return S.filterable&&v.push(S),v}function y(){const v=[];return i.value.leftColumns.reduce(m,v),i.value.primaryColumns.reduce(m,v),i.value.rightColumns.reduce(m,v),v}function b(){const v=[];i.value.leftColumns.reduce(s,v),i.value.primaryColumns.reduce(s,v),i.value.rightColumns.reduce(s,v);const S=Math.max(...v.map(h=>h.sortOrder||0));return v.sort(g).map(h=>{const w=h.sortOrder||S+1;return h.sortOrder=w,h}).sort(f).map((h,w)=>{const x=w+1;return h.sortOrder=x,h})}function M(v,S,h){const w=v.map(x=>{const E=h.getSorterByColumn(x),N=x.sort==="asc",I=x.sort==="desc",B=N?E.ascend:I?E.decend:void 0;return{field:x.field,compare:B}});S.setSorters(w)}function C(v,S){const h=b();M(h,v,S)}function F(v){}function T(v){}return{applyColumnSorter:C,collectionFilterableColumns:y,applySortableColumns:M,collectionSortableColumns:b,columnContext:i,hasLeftFixedColumn:p,hasRightFixedColumn:u,updateColumnRenderContext:c,updateColumnSettingIcon:d,sortFromServer:F,createSortConditions:T}}function _n(t,e,n,i,o,l,a,d){const c=r.ref(i.value-1+o),p=r.ref(0),{renderDataRow:u}=l,s=a?a.renderGroupRow:u,f=d?d.renderSummaryRow:u;function g(b){let M=u;return b.__fv_data_grid_group_row__&&(M=s),b.__fv_data_grid_group_summary__&&(M=f),M}function m(b,M,C,F){const{dataView:T}=n,v=[];if(T.value.length>0){const S=F?Date.now().toString():"";let h=b,w=0;const x=M-b+1;for(;v.length<x&&h<T.value.length;){const E=T.value[h],N=T.value[h-1]||C,I=v[w-1],B=N?(N.__fv_data_position__||0)+(N.__fv_data_height__||0):0,_=g(E)(E,N,I,h,B,e.value,v);_.refreshKey=S,v.push(_),w++,h++}}return p.value=v.length>0?v[0].index:0,c.value=v.length>0?v[v.length-1].index:0,v}function y(b,M,C){const F=M.groupField||"",{groupValue:T,raw:v}=M;n[b](F,T,v.groupParents||[]);const{dataView:S}=n,h=C[0].index,w=Math.min(h+i.value+o+1,S.value.length-1);return m(h,w)}return{getVisualData:m,maxVisibleRowIndex:c,minVisibleRowIndex:p,toggleGroupRow:y}}var Pe=(t=>(t[t.readonly=0]="readonly",t[t.editable=1]="editable",t[t.editing=2]="editing",t))(Pe||{}),Ue=(t=>(t[t.initial=0]="initial",t[t.editing=1]="editing",t))(Ue||{}),tt=(t=>(t[t.data=0]="data",t[t.group=1]="group",t[t.summary=2]="summary",t))(tt||{}),Oe=(t=>(t[t.none=0]="none",t[t.filterable=1]="filterable",t[t.sortable=2]="sortable",t[t.filtered=4]="filtered",t[t.sorted=8]="sorted",t[t.ascending=16]="ascending",t[t.descending=32]="descending",t))(Oe||{}),De=(t=>(t.DATE="date",t.DATE_TIME="datetime",t.NUMBER="number",t.ENUM="enum",t.IMAGE="image",t.BOOLEAN="boolean",t.BOOLEAN2="boolean2",t.TIMEAGO="timeago",t.NONE="none",t.CUSTOM="custom",t.MULTI_LINGUAL="multilingual",t))(De||{});const kn="__setting__",Ot="__command__",Vn=150,En="right",jt="commands";function In(t,e,n){const{horizontalScrollThumbStyle:i,onMouseDownScrollThumb:o,shouldShowHorizontalScrollbar:l}=n;function a(){return l.value&&r.createVNode("div",{class:"fv-grid-horizontal-scroll"},[r.createVNode("div",{class:"fv-grid-horizontal-scroll-thumb",style:i.value,onTouchstart:d=>o(d,e,"horizontal"),onMousedown:d=>o(d,e,"horizontal")},null)])}return{renderHorizontalScrollbar:a}}function Pn(t){function e(c,p){switch(c.command){case"edit":case"remove":return p.status===Ue.initial;case"accept":case"cancel":return p.status===Ue.editing;default:return!c.hidden}}function n(c,p,u,s){var f,g,m,y,b;switch((f=c.onClick)==null||f.call(c,p,u.dataIndex,u),c.command){case"edit":u.status,Ue.editing,(m=(g=t.commandOption)==null?void 0:g.onClickEditCommand)==null||m.call(g,s,u,c,p);break;case"accept":case"cancel":u.status,Ue.initial;break;case"remove":(b=(y=t.commandOption)==null?void 0:y.onClickDeleteCommand)==null||b.call(y,s,u,c,p);break}}function i(c){return c==="编辑"?je.LocaleService.getLocaleValue("datagrid.commandColumn.edit"):c==="确定"?je.LocaleService.getLocaleValue("datagrid.commandColumn.accept"):c==="取消"?je.LocaleService.getLocaleValue("datagrid.commandColumn.cancel"):c==="删除"?je.LocaleService.getLocaleValue("datagrid.commandColumn.remove"):c}function o(c,p){const{column:u}=c;return u.commands&&u.commands.map((s,f)=>f?e(s,p)&&r.createVNode(Bt.FButton,{class:"ml-1",type:s.type,size:s.size||"small",onClick:g=>n(s,g,p,c),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(s.text),r.createTextVNode(" ")]}):e(s,p)&&r.createVNode(Bt.FButton,{type:s.type,size:s.size||"small",onClick:g=>n(s,g,p,c),style:{"margin-bottom":"3px"}},{default:()=>[r.createTextVNode(" "),i(s.text),r.createTextVNode(" ")]}))}function l(c,p,u,s){var f,g,m;(f=p.onClick)==null||f.call(p,c,u.dataIndex,u),(m=(g=t.commandOption)==null?void 0:g.onHandleAction)==null||m.call(g,s,u,p,c)}function a(c){const p=je.LocaleService.getLocale();return c.map(u=>({value:u.value,text:u.text[p],type:u.type}))}function d(c,p){var f,g,m;const{column:u}=c;return((f=u==null?void 0:u.commands)==null?void 0:f.find(y=>y.command))?o(c,p):r.createVNode(vn,{data:a(u.commands||[]),count:typeof((g=t.commandOption)==null?void 0:g.count)!="number"?2:(m=t.commandOption)==null?void 0:m.count,size:"small",placement:"auto",onClick:y=>{l(y.payload,y.button,p,c)}},null)}return{renderCommandColumn:d}}function Nn(t){const e=r.ref(t.minHeight),n=r.ref(t.minWidth),i=r.ref(t.height),o=r.ref(t.width),l=r.computed(()=>i.value<=0?0:Math.max(i.value,e.value)),a=r.computed(()=>o.value<=0?0:Math.max(o.value,n.value));return r.watch([()=>t.height,()=>t.width,()=>t.minHeight,()=>t.minWidth],([c,p,u,s])=>{e.value=Number(u),n.value=Number(s),i.value=Number(c),o.value=Number(p)}),{containerStyleObject:r.computed(()=>({height:l.value>0?`${l.value}px`:t.fit?"100%":"",width:a.value>0?`${a.value}px`:t.fit?"100%":"",flex:"1 1 0"}))}}function Bn(t){var l,a;const e=r.ref(((l=t.commandOption)==null?void 0:l.enable)||!1),n=r.ref(((a=t.commandOption)==null?void 0:a.commands)||[]),i=r.computed(()=>je.LocaleService.getLocaleValue("datagrid.commandColumn.title"));function o(d){var c;if(e.value&&!(d.value.findIndex(u=>u.dataType===jt)>-1)){const u={field:Ot,title:i.value,width:Vn,fixed:En,dataType:jt,commands:n.value,resizable:!1,halign:((c=t.commandOption)==null?void 0:c.halign)||"left",visible:!0,formatter:t.commandOption.formatter&&typeof t.commandOption.formatter?(s,f)=>t.commandOption.formatter(s,f):null};t.commandOption.formatter&&typeof t.commandOption.formatter!="function"&&(u.formatter=(s,f)=>t.commandOption.formatter(s,f)),d.value.push(u)}}return{applyCommands:o}}function On(t,e){var p;const n=r.ref((p=t.columnOption)==null?void 0:p.groups);function i(u,s,f,g,m){const y={actualWidth:0,children:[],depth:1,field:u.field,layer:1,left:0,parent:f,resizable:!0,title:u.title||"",status:Oe.none,popoverRef:r.ref(),showPopover:!1,column:null,sortType:"none"},b=g||y;if(u.group){let M=1;u.group.reduce((C,F)=>{if(typeof F=="string"){const T=s.get(F);T&&(m.fieldToRootMap.set(F,b),C.actualWidth+=T.actualWidth,C.children.push(T))}else{const T=i(F,s,C,b,m);M=Math.max(M,T.depth),C.actualWidth+=T.actualWidth,C.children.push(T)}return C},y),y.depth+=M}return e.value.headerDepth=Math.max(e.value.headerDepth,y.depth),y}function o(u){const s={groupedCells:new Map,fieldToRootMap:new Map};return n.value&&n.value.reduce((f,g)=>{const m=i(g,u,null,null,s);return f.groupedCells.set(g.field,m),f},s),s}function l(u){if(!u||u.length===0)return 0;const s=u[0];return s.children&&s.children.length>0&&(s.left=l(s.children)),s.left}function a(u,s){const f=e.value.headerDepth;u.forEach(g=>{g.layer=s?s.layer+1:1;const m=g.children&&g.children.length===0;g.depth=m?f-(g.layer-1):1,g.left=m?g.left:l(g.children),g.children&&a(g.children,g)})}function d(u,s){const f=new Map;return u.forEach(g=>{const m=s.fieldToRootMap.get(g.field),y=m!=null;y&&!f.has(m.field)&&f.set(m.field,m),y||f.set(g.field,g)}),a(Array.from(f.values())),f}function c(u){let s=new Map,f=0;if(u.reduce((g,m)=>{let y=Oe.none;y=m.sortable?y|Oe.sortable:y,y=m.filterable?y|Oe.filterable:y,y=m.sort&&m.sort!=="none"?y|Oe.sorted|(m.sort==="asc"?Oe.ascending:Oe.descending):y;const b=m.field;return g.set(b,{actualWidth:m.actualWidth||0,children:[],depth:1,layer:1,left:f,field:b,parent:null,resizable:m.resizable===void 0?!0:m.resizable,title:m.title,status:y,popoverRef:r.ref(),showPopover:!1,column:m,filterValue:null,sortType:m.sort||"none",showSetting:m.showSetting,draggable:m.draggable}),f+=m.actualWidth||0,g},s),n.value){const g=o(s);s=d(s,g)}return s}return{getGridHeaderCells:c}}function jn(t,e){var v;const{sum:n,toFixed:i}=X.useNumberFormat(),{uuid:o}=X.useGuid(),{idField:l}=e,a=r.ref(t.summary),d=r.ref(t.group),c=r.ref(((v=t.group)==null?void 0:v.groupFields)||[]),p=r.computed(()=>{var S;return(S=t.group)==null?void 0:S.enable}),u=r.computed(()=>{var S;return(S=t.group)==null?void 0:S.showGroupPanel}),s=r.computed(()=>{const S=a.value;return(S==null?void 0:S.groupFields)||[]}),f=r.computed(()=>{const S=d.value;return S&&S.showSummary}),g=r.ref(0),m=new Map;let y=[];function b(S,h,w,x,E){const N=x[w];N&&(h.reduce((I,B,V)=>{var W;const _=B[N];let k=I.get(_);if(!k){const P=s.value.reduce((L,Y)=>(L.set(Y,0),L),new Map);k={field:N,title:((W=E.get(N))==null?void 0:W.title)||N,value:_,layer:w,details:[],groupSummaries:P},I.set(_,k)}return s.value&&s.value.forEach(P=>{if(k){const L=k.groupSummaries.get(P)||0;k.groupSummaries.set(P,n([L,X.resolveField(B,P)]))}}),s.value&&s.value.forEach(P=>{if(k){const L=k.groupSummaries.get(P)||0;k.groupSummaries.set(P,i(L,2))}}),k.details.push(B),I},S),w<x.length-1&&S.forEach((I,B)=>{I.nestGroup=new Map,b(I.nestGroup,I.details,w+1,x,E),I.details=[]}))}function M(S,h){return t.group&&t.group.formatter?t.group.formatter(S.value,{...S,total:h}):`${S.title}:${S.value} (${h})`}function C(S,h){const w=[];return S.forEach(x=>{const E={[l.value]:`group_of_${h?h[l.value]+"_":""}${x.field}_${x.value}`,__fv_data_grid_group_collapse__:!1,__fv_data_grid_group_field__:x.field,__fv_data_grid_group_layer__:x.layer,__fv_data_grid_group_row__:!0,__fv_data_grid_group_value__:x.value,groupParents:[]};h&&(E.groupParents=[...h.groupParents,h]);let N=0;if(w.push(E),x.nestGroup){const I=C(x.nestGroup,E);w.push(...I),N+=I.length}if(x.details&&x.details.length&&(w.push(...x.details),N+=x.details.length),f.value){const I={__fv_data_grid_group_field__:x.field,__fv_data_grid_group_layer__:x.layer,__fv_data_grid_group_summary__:!0};I[l.value]=`summary_of_${x.field}_${x.value}`,I[x.field]=Array.from(x.groupSummaries.entries()).reduce((B,[V,_])=>`${B} ${V} total:${_} `,""),w.push(I)}x.groupSummaries&&x.groupSummaries.size&&x.groupSummaries.forEach((I,B)=>{E[B]=I}),E[x.field]=M(x,N),E.value=x.value}),w.forEach((x,E)=>{x.__fv_data_index__=E}),w}function F(S,h,w){return!S||S.length===0||!h.length?h:(S.join(","),m.clear(),y=[],h=h.filter(x=>!x.__fv_data_grid_group_row__),b(m,h,0,S,w),y=C(m),y)}function T(S){return{"f-icon":!0,"f-icon-arrow-chevron-down":!0,"fv-grid-group-row-icon-collapse":S.collapse}}return{collpaseGroupIconClass:T,generateGroupData:F,groupFields:c,shouldGroupingData:p,showGroupPanel:u,groupRowSize:g}}function Rt(t){const e="parent",n="layer",i="hasChildren",o=(a,d=1,c=[],p=null)=>(a=a||[],a.reduce((u,s)=>(s.id=s.id||s.data[t.idField],s[e]=p,s[n]=d,s[i]=s[i]===void 0?!1:s[i],s.data&&Object.keys(s.data).forEach(f=>{Object.keys(s).includes(f)||(s[f]=s.data[f])}),c.push(s),s.children&&s.children.length&&(s[i]=!0,o(s.children,d+1,c,s.id)),u),c),c);return{flatTreeData:o,isNestedTree:a=>a.some(d=>Array.isArray(d.children))}}function Rn(t,e,n,i){const o=r.ref(0),l=r.ref(!!t.hierarchy),{idField:a}=i,{collapseField:d,hasChildrenField:c,parentIdField:p}=n,u=new Map,s=new Map,f=new Map,{flatTreeData:g,isNestedTree:m}=Rt(t);function y(O,j){s.clear(),O.reduce((G,q)=>{const ee=q[p.value]!==void 0?q[p.value]:"";if(ee&&j.has(ee)){const ce=j.get(ee),pe=isNaN(Number(ce.__fv_layer__))?1:Number(ce.__fv_layer__);q.__fv_layer__=pe+1,q.__fv_parent_index__=ce.__fv_index__,ce.__fv_hasChildren__=!0}else q.__fv_layer__=1;const se=G.has(ee)?G.get(ee):[];return se.push(q),G.set(ee,se),G},s)}function b(O){f.clear(),O.reduce((j,G)=>{const q=G[a.value];return j.set(q,G),j},f)}function M(O){O.forEach(j=>{const G=j[a.value];j.__fv_children_index__.map(ee=>O[ee]).forEach(ee=>{ee.__fv_parents__=new Map([...j.__fv_parents__.entries(),[G,!0]])})})}function C(O){O.forEach(j=>{const G=new Set(j.__fv_children_index__);j.__fv_children_index__=[...G].sort((q,ee)=>q-ee)})}function F(O){O.forEach(j=>{const G=j.__fv_parents__;Array.from(G.keys()).map(q=>f.get(q)).forEach(q=>{q.__fv_children_index__.push(j.__fv_index__)})}),C(O)}function T(O){O.forEach(j=>{j.__fv_child_with_lines__=[],j.__fv_child_length__=j.__fv_descendant_index__.length,j.__fv_descendant_index__.map(G=>O[G]).reduce((G,q)=>(G.__fv_child_length__+=q.__fv_children_index__.length,G.__fv_child_with_lines__.push(...q.__fv_children_index__,q.__fv_index__),G),j)})}function v(O,j){return{id:O,index:j,parentId:"",parentIndex:-1,parents:new Map,children:new Map,descendant:new Map,collapsed:!1,visibleInHierarchy:!0}}function S(O,j,G){Array.from(j.keys()).forEach(q=>{j.get(q).reduce((se,ce)=>{const pe=ce[a.value],he=O.get(ce[a.value]),ge=O.get(q),Ie=G.get(q);return ge&&Ie&&(ge.children.set(pe,he),ge.children.set(pe,he),he.parentId=q,he.parentIndex=ge.index,he.parents.set(q,ge)),se},O)})}function h(O){O.children.forEach(G=>{G.parents=new Map([...O.parents.entries(),[O.id,O]]),h(G)})}function w(O,j){O.filter(G=>G[p.value]===void 0||G[p.value]==="").forEach(G=>{const q=G[a.value],ee=j.get(q);h(ee)})}function x(O){Array.from(O.values()).forEach(j=>{Array.from(j.parents.values()).forEach(G=>{G.descendant.set(j.id,j)})})}function E(O){u.clear(),O.forEach((j,G)=>{const q=j[a.value];u.set(q,v(q,G))}),b(O),y(O,f),S(u,s,f),w(O,u),x(u)}function N(O){const j=O[a.value],G=u.get(j);return G&&G.children.size>0}function I(O){return O[c.value]&&!N(O)}function B(O){const j=O[a.value],G=u.get(j);return G&&G.visibleInHierarchy}function V(){o.value=Date.now()}function _(O,j){j.forEach(G=>{const q=u.get(G[a.value]),ee=u.get(O),se=f.get(O);ee&&se&&(q.visibleInHierarchy=!se[d.value]&&ee.visibleInHierarchy)}),V()}function k(O){if(s.has(O)){const G=s.get(O);_(O,G),G.map(q=>q[a.value]).forEach(q=>k(q))}}function W(O){const j=O[a.value];k(j)}function P(O,j,G=0){O.forEach(q=>{const ee=I(q),se=q.__fv_layer__<=G,ce=j==="ToCollapse"?q.__fv_layer__<=G:!(q.__fv_layer__<=G),pe=se?ce:q[d.value];q[d.value]=ee||pe});for(const[q,ee]of s.entries())_(q,ee);return O}function L(O,j){P(O,"ToCollapse",j)}function Y(O,j){P(O,"ToExpand",j)}function J(O){O.forEach((j,G)=>{var ce;const q=j[a.value],ee=s.has(q)?(ce=s.get(q))==null?void 0:ce.map(pe=>pe.__fv_index__):[],se=v(q,G);j.__fv_graph_node__=se,j.__fv_children_index__=ee,j.__fv_descendant_index__=[...ee],j.__fv_parents__=new Map,I(j)&&(j[d.value]=!0)})}function re(O){var q,ee;E(e.value),J(O),M(O),F(O),t.showLines&&T(O);const G=((q=t.hierarchy)==null?void 0:q.collapseTo)!==void 0?Number((ee=t.hierarchy)==null?void 0:ee.collapseTo):0;return P(O,"ToCollapse",G),O}function _e(O,j,G){const ee=G.value[O][a.value],se=u.get(ee);if(se){const ce=u.get(se.parentId);let pe=G.value.length-1;if(ce){const he=Array.from(ce.children.keys()).indexOf(se.id);if(he===ce.children.size-1){const Ie=Array.from(ce.descendant.values())[ce.descendant.size-1];pe=G.value.findIndex(we=>we[a.value]===Ie.id)+1}else{const Ie=Array.from(ce.children.values())[he+1];pe=G.value.findIndex(we=>we[a.value]===Ie.id)}j[c.value]=!1,j[p.value]=ce.id,G.value.splice(pe,0,j)}}}function Ce(O,j,G){const q=G.value[O],ee=q[a.value];if(u.get(ee)){const pe=G.value.findIndex(he=>he[a.value]===ee)+1;q[c.value]=!0,q[d.value]=!1,j[c.value]=!1,j[p.value]=ee,G.value.splice(pe,0,j)}}function Se(O,j,G){const ee=G.value[O][a.value];if(u.get(ee)){const pe=G.value.findIndex(ge=>ge[a.value]===ee)+1;let he=j;m(j)&&(he=g(j)),he.forEach(ge=>{ge[p.value]=ee}),G.value.splice(pe,0,...he)}}function R(O,j){const G=O[a.value],q=u.get(G),ee=Array.from(q.descendant.keys());ee.unshift(G);const se=u.get(q.parentId);if(se&&(se.children.delete(G),se.children.size===0)){const pe=j.find(he=>he[a.value]===q.parentId);pe[c.value]=!1,pe[d.value]=!1}return j.filter(pe=>ee.indexOf(pe.id)===-1)}return{checkVisibleInHierarchy:o,collapseTo:L,expandTo:Y,generateHierarchyData:re,hasRealChildren:N,insertSibling:_e,insertChild:Ce,insertChildren:Se,isVisibleInTree:B,shouldStratifyData:l,toggleChildrenVisibiltyByCollapseStatus:W,trimmedOriginalData:R}}function Ln(t,e,n,i,o){const{toNumber:l,sum:a,toFixed:d}=X.useNumberFormat(),c=new Map,p=new Map,u=new Map,s=new Map,f=new Map,g=r.ref([]),m=r.ref([]),y=jn(t,o),{generateGroupData:b,groupFields:M,shouldGroupingData:C}=y,F=r.ref(t.data||[]),T=Rn(t,F,i,o),{collapseTo:v,expandTo:S,generateHierarchyData:h,hasRealChildren:w,insertSibling:x,insertChild:E,insertChildren:N,isVisibleInTree:I,shouldStratifyData:B,toggleChildrenVisibiltyByCollapseStatus:V,trimmedOriginalData:_,checkVisibleInHierarchy:k}=T,{idField:W,reviseIdentifyField:P}=o,L=r.ref(t.newDataItem),Y=r.ref(t.data||[]),J=r.ref(t.data),{flatTreeData:re,isNestedTree:_e}=Rt(t);if(t.hierarchy&&_e(t.data)){const H=re(t.data);F.value=H,Y.value=H,J.value=H}const Ce=r.ref(t.summary),Se=r.computed(()=>{const H=Ce.value;return(H==null?void 0:H.groupFields)||[]});let R=new Map;const O=r.ref(Y.value.length),j=r.ref(t.pagination);function G(){return j.value&&j.value.enable&&j.value.size>0?j.value.size:Y.value.length}const q=r.ref(1),ee=r.computed(()=>j.value&&j.value.enable&&j.value.mode!=="server"),se=r.computed(()=>j.value&&j.value.enable&&j.value.mode==="server"),ce=new Mt.FNotifyService;function pe(H,Z){const te=Math.ceil(H.length/Z);let ae=0;const Fe=[],Ne=[],Xe=[];for(;ae<te;){const Le=H.slice(ae*Z,(ae+1)*Z),Ze=b(M.value,Le,e);Ne[ae]=Ze.filter(ye=>ye.__fv_data_grid_group_row__).length,Fe.push(...Ze),ae++}return Ne.reduce((Le,Ze,ye)=>(Le=Le+Ze,Xe.push(Le),Le),0),{groupData:Fe,groupRowSizeList:Ne,accumulateGroupRowSize:Xe}}function he(){var Ze;Y.value=F.value,ee.value&&(O.value=Y.value.length),C.value&&!ee.value&&(Y.value=b(M.value,F.value,e)),R=Se.value.reduce((ye,Te)=>(ye.set(Te,0),ye),R);const H=0,Z=G(),te=(q.value-1)*Z;let Fe=te>Y.value.length-1||se.value?H:te,Ne=se.value?Y.value.length:Math.min(Fe+Z,Y.value.length);if(C.value&&ee.value){const{accumulateGroupRowSize:ye,groupData:Te,groupRowSizeList:ke}=pe(F.value,Z);Y.value=Te;const He=ke[q.value-1];Fe+=q.value-2<0?0:ye[q.value-2],Ne=Fe+Z+He}let Xe=0;const Le=[];if(Y.value.length){P(Y.value);const ye=W.value!==t.idField;for(let Te=Fe;Te<Ne;Te++){const ke=Y.value[Te];ke.__fv_data_grid_group_row__?(Xe=0,ke.__fv_data_index__=""):ke.__fv_data_grid_group_summary__?ke.__fv_data_index__="":(Xe++,ke.__fv_data_index__=Xe+(q.value-1)*Z),ke.__fv_index__=Te,ke.__fv_visible_index__=Te,t.rowOption&&t.rowOption.disabledField&&(ke.__fv_disabled__=ke[(Ze=t.rowOption)==null?void 0:Ze.disabledField]),ye&&(ke[W.value]=Te),Se.value.forEach(He=>{const Pt=R.get(He)||0;R.set(He,a([Pt,X.resolveField(ke,He)||0]))}),Le.push(ke)}}return B.value&&h(Le),Se.value.forEach(ye=>{const Te=R.get(ye)||0;R.set(ye,d(Te,2))}),J.value=[...Le],Le}const ge=r.ref(he()),Ie=r.computed(()=>(k.value,ge.value.filter(H=>B.value?H.__fv_visible__!==!1&&I(H):H.__fv_visible__!==!1)));function We(){Ie.value.forEach((H,Z)=>(H.__fv_visible_index__=Z,H))}function we(H,Z,te=!1){var Ze;const ae=te?he():[...J.value];let Fe=ae;((Ze=t.filter)==null?void 0:Ze.mode)!=="server"&&(Fe=ae.filter(ye=>n.apply(ye)));const Ne=H&&H.length?Fe.filter(ye=>H.reduce((Te,ke)=>Te&&ke.filter(ye),!0)):Fe,Xe=Z&&Z.length?Ne.sort((ye,Te)=>{const ke=[...Z],He=ke.shift(),Pt=X.resolveField(ye,He.field)===void 0||X.resolveField(ye,He.field)===null?"":X.resolveField(ye,He.field),Or=X.resolveField(Te,He.field)===void 0||X.resolveField(Te,He.field)===null?"":X.resolveField(Te,He.field);let Nt=He.compare(Pt,Or);for(;Nt===0&&ke.length!==0;){const et=ke.shift();if(et){const jr=X.resolveField(ye,et.field)===void 0||X.resolveField(ye,et.field)===null?"":X.resolveField(ye,et.field),Rr=X.resolveField(Te,et.field)===void 0||X.resolveField(Te,et.field)===null?"":X.resolveField(Te,et.field);Nt=et.compare(jr,Rr)}}return Nt}):Ne,Le=G();return ge.value=Xe.map((ye,Te)=>{if(ye.__fv_data_grid_group_row__){const ke=`group_of_${ye.__fv_data_grid_group_field__}_${ye.__fv_data_grid_group_value__}`;ye.__fv_data_grid_group_collapse__=!!c.get(ke)}return ye.__fv_index__=Te,ye.__fv_visible_index__=Te,ye.__fv_data_index__=Te+1+(q.value-1)*Le,ye}),ge.value}function $(H){return f.clear(),m.value=H,m.value.reduce((Z,te)=>(Z.set(te.field,te),Z),f),we([],m.value)}function Q(H,Z){return f.set(H,Z),m.value=Array.from(f.values()),we([],m.value)}function U(H){return f.delete(H),m.value=Array.from(f.values()),we([],m.value)}function ve(H,Z){return p.set(H,Z),g.value=Array.from(p.values()),we([],Array.from(f.values()))}function be(H){return p.delete(H),g.value=Array.from(p.values()),we([],Array.from(f.values()),!0)}function Re(){return p.clear(),g.value=[],we([],Array.from(f.values()),!0)}function Je(H,Z,te){const ae=`group_of_${H}_${Z}`;c.set(ae,!0);const Fe=Ne=>Ne[H]!==Z;return u.set(`collapse_${H}_${Z}`,{field:H,fieldName:H,fieldType:"string",filterValue:Z,filter:Fe}),we(Array.from(u.values()),Array.from(f.values()))}function ct(H){v(ge.value,H)}function ut(H){S(ge.value,H)}function Ge(H,Z,te){const ae=`group_of_${H}_${Z}`;return c.set(ae,!1),u.delete(`collapse_${H}_${Z}`),we(Array.from(u.values()),Array.from(f.values()),!0)}function A(H){const Z=H.raw[W.value],te=ae=>!ae.__fv_parents__.has(Z);s.set(`fold_${Z}`,{field:"id",fieldName:"id",fieldType:"string",filterValue:String(Z),filter:te}),we(Array.from(s.values()),Array.from(f.values())),h(ge.value)}function ie(H){const Z=H[W.value];s.delete(`fold_${Z}`)}function Me(H){ie(H.raw),we(Array.from(s.values()),Array.from(f.values()),!0),h(ge.value)}function ue(){const H=he();ge.value=H,we(Array.from(s.values()),Array.from(f.values())),t.hierarchy&&h(ge.value)}function qe(H){const te=t.hierarchy&&_e(H)?re(H):H;F.value=te,ue()}function ft(H,Z,te){return(H&&H.length?ge.value.filter((Fe,Ne)=>H.reduce((Xe,Le)=>Xe&&Le.filter(Fe),!0)):ge.value).slice(Z,te)}function lt(H){const Z=G(),te=Math.ceil(O.value/Z);0<=H&&H<=te&&(q.value=H,ue())}function Ct(H){F.value.push(Be.cloneDeep(H)),ge.value=he()}function wt(H=0){if(!(H>-1))return!1;const te=L.value();t.hierarchy?x(H,te,F):F.value.splice(H,0,te),ue()}function kt(H=0){if(!(H>-1&&t.hierarchy))return!1;const te=L.value(),ae=F.value[H];ie(ae),E(H,te,F),ue()}function mt(H,Z=0){if(!(Z>-1&&t.hierarchy))return!1;const ae=F.value[Z];ie(ae),N(Z,H,F),ue()}function Vt(H){const Z=H?H-1:0;F.value.splice(Z,1),ue()}function xt(H){const Z=F.value.findIndex(te=>te[W.value]===H);Z!==-1&&(F.value.splice(Z,1),ue())}function Et(H){const Z=H>-1?F.value[H]:null;if(!(Z&&Z.deletable!==!1))return!1;F.value=_(Z,F.value),ue()}function It(){const H=u.size>0?Array.from(u.values()):[];return we(H,Array.from(f.values()))}function pt(H){j.value.size=H}function D(H){j.value&&(pt(H),ue())}function K(H,Z){const te=F.value[Number(H)-1];te.editable!==!1?(te.name=Z,ue()):ce.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"当前节点禁止编辑"}]})}function oe(H){return H.map(te=>{const ae=J.value.findIndex(Fe=>""+Fe[W.value]==""+te);return ae>-1?J.value[ae]:null}).filter(te=>te!=null)}function fe(){const H=t.summary.groupFields;R=H.reduce((Z,te)=>(Z.set(te,0),Z),R);for(const Z of Y.value)H.forEach(te=>{const ae=R.get(te)||0;R.set(te,a([ae,X.resolveField(Z,te)||0]))});H.forEach(Z=>{const te=R.get(Z)||0;R.set(Z,d(te,2))})}function xe(H){const Z=t.summary.groupFields;R=Z.reduce((te,ae)=>(te.set(ae,0),te),R);for(const te of H)Z.forEach(ae=>{const Fe=R.get(ae)||0;R.set(ae,a([Fe,X.resolveField(te.raw,ae)||0]))});Z.forEach(te=>{const ae=R.get(te)||0;R.set(te,d(ae,2))})}return{addFilter:ve,addNewDataItem:Ct,addSorter:Q,updatePageSize:pt,changePageSizeTo:D,collapse:Je,collapseTo:ct,dataView:ge,editDataItem:K,expand:Ge,expandTo:ut,filters:g,fold:A,getRange:ft,getSelectionItems:oe,hasRealChildren:w,insertNewChildDataItem:kt,insertNewChildDataItems:mt,insertNewDataItem:wt,isVisibleInTree:I,load:qe,navigatePageTo:lt,pageIndex:q,rawView:J,refresh:It,removeAllFilter:Re,removeDataItem:Vt,removeDataItemById:xt,removeFilter:be,removeHierarchyDataItem:Et,removeSorter:U,reOrderVisibleIndex:We,setSorters:$,sorters:m,summaries:R,updateSummary:fe,toggleChildrenVisibiltyByCollapseStatus:V,totalItems:O,unFold:Me,updateDataView:ue,visibleDataItems:Ie,shouldGroupingData:C,pagination:j,updateVisibleDataSummary:xe}}const An=["equal","notEqual","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","contain","startWidth","endWidth","in","notIn"],Hn={equal:(t,e,n)=>t&&t[e]===n,notEqual:(t,e,n)=>t&&t[e]!==n,contain:(t,e,n)=>t?(t[e]||"").indexOf(n)>-1:!1,startWidth:(t,e,n)=>t?(t[e]||"").startsWith(n):!1,endWidth:(t,e,n)=>t?(t[e]||"").endsWith(n):!1},$n={equal:(t,e,n)=>t&&t[e]===n,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t&&t[e]!==n},zn={equal:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()===i}return!1},notEqual:(t,e,n)=>{if(t){const i=new Date(n).getTime();return new Date(t[e]).getTime()!==i}return!1},greaterThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=new Date(new Date(n).toLocaleDateString()).valueOf();return new Date(new Date(t[e]).toLocaleDateString()).valueOf()<=i}return!1}},Wn={equal:(t,e,n)=>t?String(n).split(",").includes(String(t[e])):!1,in:(t,e,n)=>{if(t){const i=t[e];return n.indexOf(i)>-1}return!1},notEqual:(t,e,n)=>t?String(n).split(",").findIndex(o=>o===String(t[e]))===-1:!1},Gn={equal:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):i===o}return!1},notEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?!0:i!==o}return!1},greaterThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>i}return!1},greaterThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o>=i}return!1},lessThan:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<i}return!1},lessThanOrEqual:(t,e,n)=>{if(t){const i=Number.parseFloat(String(n)),o=Number.parseFloat(String(t[e]));return isNaN(i)?isNaN(o):o<=i}return!1}},qn=new Map([["boolean",$n],["datetime",zn],["enum",Wn],["number",Gn],["text",Hn]]);function Un(t,e){const n=r.ref([]),i=new Map,{loadConditionGroup:o}=de.useCondition();function l(T,v){switch(T){case"check-box":return new de.CheckBoxValue({value:v});case"combo-list":return new de.ComboListValue({value:v});case"combo-lookup":return new de.ComboLookupValue({value:v});case"input-group":return new de.TextValue({value:v});case"date-picker":return new de.DatePickerValue({value:v});case"date-range":return new de.DateRangeValue({value:v});case"datetime-picker":return new de.DateTimePickerValue({value:v});case"datetime-range":return new de.DateRangeValue({value:v});case"lookup":return new de.TextValue({value:v});case"month-picker":return new de.MonthPickerValue({value:v});case"month-range":return new de.MonthRangeValue({value:v});case"number-range":return new de.NumberRangeValue({value:v});case"number-spinner":return new de.NumberSpinnerValue({value:v});case"radio-group":return new de.RadioGroupValue({value:v});default:return new de.TextValue({value:v})}}const a=new Map([["boolean","check-box"],["date","date-picker"],["datetime","datetime-picker"],["number","number-spinner"],["string","text"],["text","text"],["enum","combo-list"],["reference","lookup"]]),d=new Map([["boolean",de.CompareType.Equal],["date",de.CompareType.Equal],["datetime",de.CompareType.Equal],["number",de.CompareType.Equal],["string",de.CompareType.Equal],["text",de.CompareType.Equal],["enum",de.CompareType.In],["reference",de.CompareType.Equal]]);function c(){n.value.forEach((v,S)=>{S===n.value.length-1?v.relation=0:v.relation=1});const T=[];return n.value.forEach(v=>{const{valueType:S}=v.value,h=v.value.value;if(S==="boolean"){const w=[];h.length===1&&w.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null}),h.length>1&&w.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[0],relation:2,expresstype:de.ValueType.Value,lbracket:v.lBracket?v.lBracket+"(":"(",rbracket:v.rBracket||null},{filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value[1],relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket?v.rBracket+")":")"}),T.push(...w)}else T.push({filterField:v.fieldCode,compare:v.compareType||v.compareType===0?v.compareType:de.CompareType.Like,value:v.value.value,relation:n.value.length>1?v.relation||v.relation===0?v.relation:1:0,expresstype:de.ValueType.Value,lbracket:v.lBracket||null,rbracket:v.rBracket||null})}),T}function p(T){var S;const v=T.dataType||"string";return((S=T.editor)==null?void 0:S.type)||a.get(v)||"text"}function u(T){var V,_,k,W,P;const v=`field_filter_${T.field}`,S=Date.now(),h=T.field,w=((V=T.column)==null?void 0:V.title)||"",x=((_=T.column)==null?void 0:_.dataType)||"string",E=d.get(x)||de.CompareType.Equal,N=((W=(k=T.column)==null?void 0:k.editor)==null?void 0:W.type)||a.get(x)||"text",I=l(N,(P=T.column)==null?void 0:P.filter),B=N==="lookup"||N==="combo-lookup"?de.ValueType.SmartHelp:N==="combo-list"?de.ValueType.Enum:de.ValueType.Value;i.set(v,{id:v,fieldCode:h,fieldName:w,compareType:E,valueType:B,value:I,conditionId:S,relation:1}),n.value=Array.from(i.values())}function s(T){const v=`field_filter_${T.field}`;i.delete(v),n.value=Array.from(i.values())}function f(T){i.delete(T),n.value=Array.from(i.values())}function g(){i.clear(),n.value=[]}function m(T){const{valueType:v}=T.value,S=T.compareType||"0",h=An[Number(S)];return qn.get(v)[h]}function y(T){const v=T.relation===2?0:1,S=T.items.map(w=>{const x=m(w);return N=>x(N,w.fieldCode,w.value.getValue())}),h=T.children&&T.children.length?T.children.map(w=>y(w)):[];return{relation:v,filterFunctions:S,children:h}}function b(){const T=o(n.value);return y(T)}function M(T,v){const S=v.filterFunctions.map(w=>w(T)),h=v.children.map(w=>M(T,w));return v.relation===1?S.every(w=>w)&&h.every(w=>w):S.includes(!0)||h.includes(!0)}function C(T){const v=b();return M(T,v)}function F(T){e.emit("filterChanged",T)}return{addColumnFilter:u,apply:C,clearCondition:g,conditions:n,getFilterEditorType:p,removeColumnFilter:s,removeCondition:f,filterFromServer:F,createFilterConditions:c}}function Dn(t){r.ref(t.selection.showCheckbox||!1);const e=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.collapseField)||"__fv_collapse__"}),n=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.hasChildrenField)||"__fv_hasChildren__"}),i=r.computed(()=>{var a;return((a=t.hierarchy)==null?void 0:a.parentIdField)||"parent"}),o=r.computed(()=>t.hierarchy&&t.selection.showCheckbox),l=r.computed(()=>(t.treeNodeIconsData.fold||t.iconField)&&t.showTreeNodeIcons);return{collapseField:e,hasChildrenField:n,parentIdField:i,shouldShowCheckBox:o,shouldShowIcon:l}}function Yn(t,e,n,i,o,l,a,d,c){var pt;const{dataView:p,visibleDataItems:u}=e,{getVisualData:s,maxVisibleRowIndex:f,minVisibleRowIndex:g}=o,m=r.computed(()=>i.value.primaryColumnsWidth),y=r.computed(()=>i.value.leftColumnsWidth),b=r.computed(()=>i.value.rightColumnsWidth),M=((pt=t.rowOption)==null?void 0:pt.height)||28,C=r.ref(0),F=r.ref(0);let T=0,v=l.value-1;const S=r.ref(0),h=r.ref(0),w=r.ref(0),x=r.ref(t.virtualized),E=24,N=1.5;let I=null,B=null,V=null;function _(){const D=u.value;if(D.length<=0)return 0;const K=f.value<D.length?D[f.value]:D[D.length-1];return K.__fv_data_position__>D.length*M?D.length*M:(K.__fv_data_position__||0)+(K.__fv_data_height__||0)+Math.max(D.length-1-f.value,0)*M}const k=r.computed(()=>{const D=_();u.value;let K=h.value/Math.max(D,h.value),oe=Math.floor(K*h.value);for(;h.value>0&&oe<E;)K*=N,oe=Math.floor(K*h.value);return oe}),W=r.computed(()=>Math.floor(w.value/Math.max(m.value,w.value)*S.value)),P=0,L=0,Y=r.computed(()=>S.value-(y.value+m.value+b.value+d.value));function J(D){const oe=Math.floor(D/M)+1,fe=u.value;return fe.length>oe?fe[oe].__fv_visible_index__-1:0}function re(D,K,oe){let fe=D,xe=K;const H=K-D+1;if(H<a+l.value+a){const Z=a+l.value+a-H,te=K+Z<=oe,ae=0+Z<=D;if(te)xe+=Z,v=xe;else if(ae)fe-=Z,T=fe;else{const Fe=oe-K,Ne=Z-Fe;xe=Math.min(K+Fe,oe),fe=Math.max(D-Ne,0)}}return{actualStart:fe,actualEnd:xe}}function _e(D){var Fe,Ne;const K=u.value;if(!K.length){n.value=[];return}const oe=(Fe=t.pagination)!=null&&Fe.enable?0:Math.max(T-a,0),fe=K[K.length-1].__fv_visible_index__,xe=(Ne=t.pagination)!=null&&Ne.enable?K.length-1:Math.min(v+a,fe),{actualStart:H,actualEnd:Z}=re(oe,xe,fe),te=K[H-1],ae=s(H,Z,te,D);ae.length&&(n.value=[...ae])}const Ce=r.computed(()=>_()>h.value),Se=r.computed(()=>Math.floor(m.value)>w.value);function R(D,K){let oe=D;const fe=oe>P,xe=Ce.value;xe&&oe<h.value-K&&(oe=h.value-K),(!xe||fe)&&(oe=P),C.value!==oe&&(C.value=oe)}function O(){x.value&&(T=J(Math.abs(C.value)),v=T+l.value-1,(T<g.value||v>f.value-a/2)&&_e())}function j(D){let K=C.value+D;K>P&&(K=P);const oe=_();R(K,oe),O()}function G(D){if(!Se.value){F.value=0;return}let K=F.value+D;K>L&&(K=L),K<Y.value&&(K=Y.value),F.value!==K&&(F.value=K)}function q(){Math.abs(F.value)+w.value>m.value&&(F.value=Math.min(w.value-m.value,0))}function ee(){C.value=0,T=0,v=l.value-1,_e()}function se(){const D=_();R(C.value,D)}r.watch([w,m],()=>{G(0)}),r.watch(h,(D,K)=>{D!==K&&D>=p.value.length*M&&j(0)});function ce(D){let{deltaX:K}=D,oe=-1*D.deltaY;return typeof K>"u"&&(K=-1*D.wheelDeltaX/6),typeof oe>"u"&&(oe=D.wheelDeltaY/6),D.deltaMode&&D.deltaMode===1&&(K*=10,oe*=10),D.shiftKey?{deltaY:-oe,deltaX:-K}:{deltaX:K,deltaY:oe}}function pe(D){if(t.disabled||!Ce.value||D.target.tagName==="TEXTAREA")return;D.preventDefault(),D.stopPropagation();const{deltaX:K,deltaY:oe}=ce(D);j(oe),G(K)}const he=r.computed(()=>({height:`${p.value.length*M}px`,width:`${y.value}px`,transform:`translateY(${C.value}px)`})),ge=r.computed(()=>({transform:`translateY(${C.value}px)`})),Ie=r.computed(()=>({height:`${(t.autoHeight?u.value:p.value).length*M}px`,width:`${m.value}px`,transform:`translate(${F.value}px, ${C.value}px)`})),We=r.computed(()=>({transform:`translate(${F.value}px, ${C.value}px)`})),we=r.computed(()=>({height:`${p.value.length*M}px`,width:`${b.value}px`,transform:`translateY(${C.value}px)`})),$=r.computed(()=>({transform:`translateY(${C.value}px)`})),Q=r.computed(()=>({height:`${p.value.length*M}px`,width:`${d.value}px`,transform:`translateY(${C.value}px)`})),U=r.computed(()=>({width:`${y.value}px`})),ve=r.computed(()=>({transform:`translateX(${F.value}px)`})),be=r.computed(()=>({width:`${b.value}px`})),Re=r.computed(()=>{const D=_();return R(C.value,D),C.value/(h.value-D)*(h.value-k.value)}),Je=r.computed(()=>({width:"8px",height:`${k.value}px`,top:`${Re.value}px`,backgroundColor:"#cccccc !important"})),ct=r.computed(()=>F.value/Y.value*(S.value-W.value)),ut=r.computed(()=>({height:"8px",width:`${W.value}px`,left:`${ct.value}px`,backgroundColor:"#cccccc !important"})),Ge=r.ref(!1),A=r.ref(-1),ie=r.ref(-1),Me=r.ref();function ue(D){if(D instanceof MouseEvent?D.pageX:D.touches[0].pageX,Ge.value&&ie.value!==-1){const K=ie.value-D.pageX,oe=S.value-W.value;if(Math.abs(K)<=oe){const fe=K/(w.value-W.value)*(m.value-w.value);G(fe),ie.value=D.pageX}}}function qe(D){if(Ge.value&&A.value!==-1){const K=A.value-D.pageY,oe=_(),fe=oe-k.value;if(Math.abs(K)<=fe){const xe=K/(h.value-k.value)*(oe-h.value);j(xe),A.value=D.pageY}}}function ft(D){const{pageX:K,pageY:oe}=D.touches[0];if(Ge.value&&ie.value!==-1){const fe=ie.value-K,xe=S.value-W.value;if(Math.abs(fe)<=xe){const H=fe/(w.value-W.value)*(m.value-w.value);G(H),ie.value=K}}}function lt(D){const{pageX:K,pageY:oe}=D.touches[0];if(Ge.value&&A.value!==-1){const fe=A.value-oe,xe=_(),H=xe-k.value;if(Math.abs(fe)<=H){const Z=fe/(h.value-k.value)*(xe-h.value);j(Z),A.value=oe}}}function Ct(D){Ge.value=!1,A.value=-1,ie.value=-1,document.removeEventListener("mouseup",Ct),I&&(document.removeEventListener("mousemove",I),I=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function wt(D){Ge.value=!1,A.value=-1,ie.value=-1,document.removeEventListener("touchend",wt),B&&(document.removeEventListener("touchmove",B),B=null),V&&(document.removeEventListener("touchmove",V),B=null),document.body.style.userSelect="",Me.value&&(Me.value.style.opacity=null)}function kt(D,K,oe){var te;Ge.value=!0;const fe=(te=D.target)==null?void 0:te.parentElement;fe&&(fe.style.opacity="1",Me.value=fe);const xe=oe==="horizontal"?ue:Be.throttle(qe,50);I||(I=xe);const{pageX:H}=D,{pageY:Z}=D;oe==="vertical"&&(A.value=D.pageY),oe==="horizontal"&&(ie.value=D.pageX),K.value&&(K.value,document.addEventListener("mousemove",I),document.addEventListener("mouseup",Ct),document.body.style.userSelect="none")}function mt(D){const{pageX:K,pageY:oe}=D.touches[0],fe=Math.abs(K-ie.value),xe=Math.abs(oe-A.value);xe>fe&&xe>5?(V||(V=Be.throttle(lt,50)),document.addEventListener("touchmove",V),document.removeEventListener("touchmove",mt)):fe>xe&&fe>5&&(B||(B=ft),document.addEventListener("touchmove",B),document.removeEventListener("touchmove",mt)),ie.value=K,A.value=oe}function Vt(D,K){var H;Ge.value=!0;const oe=(H=D.target)==null?void 0:H.parentElement;oe&&(oe.style.opacity="1",Me.value=oe);const{pageX:fe,pageY:xe}=D.touches[0];ie.value=fe,A.value=xe,K.value&&(K.value,document.addEventListener("touchmove",mt),document.addEventListener("touchend",wt),document.body.style.userSelect="none")}function xt(D){const K=p.value.length*M-h.value;let oe=D*M;oe>=K&&(oe=K),j(-oe-C.value)}function Et(){xt(p.value.length)}function It(D){j(D-C.value)}return{dataGridWidth:S,fitHorizontalScroll:q,gridDataStyle:Ie,gridHeaderColumnsStyle:ve,gridMergedDataStyle:We,gridSideStyle:Q,horizontalScrollThumbStyle:ut,leftFixedGridDataStyle:he,leftFixedGridHeaderColumnsStyle:U,leftFixedGridMergedDataStyle:ge,offsetX:F,offsetY:C,onMouseDownScrollThumb:kt,onWheel:pe,reCalculateVisualDataRows:_e,resetScroll:ee,rightFixedGridDataStyle:we,rightFixedGridHeaderColumnsStyle:be,rightFixedGridMergedDataStyle:$,shouldShowHorizontalScrollbar:Se,shouldShowVirticalScrollbar:Ce,updateVirticalScroll:se,updateVisibleRowsOnLatestVisibleScope:O,verticalScrollThumbStyle:Je,viewPortWidth:w,viewPortHeight:h,scrollToBottom:Et,scrollToRowByIndex:xt,scrollTo:It,onTouchstartScrollThumb:Vt}}function Xn(t){var l;const{isUndefined:e}=X.useCommonUtils(),n=((l=t.rowOption)==null?void 0:l.height)||28;function i(a,d){const c=a.pre;if(c){let p=c.__fv_data_position__,u=c.__fv_data_height__;(e(p)||t.virtualized&&t.hierarchy&&c.__fv_visible_index__*n!==p)&&(p=c.__fv_visible_index__*n),e(u)&&(u=n);const s=a.visible?p+u:c.__fv_data_position__;a.top=s,d.__fv_data_position__=s}else a.top=0,d.__fv_data_position__=0}function o(a,d,c){if(a&&!d.ref){d.ref=a;const p=d.parent;d.cellHeight!==a.offsetHeight&&(d.cellHeight=a.offsetHeight),d.cellHeight&&d.cellHeight>(p.height||0)&&(p.height=d.cellHeight,c.__fv_data_height__=p.height),i(p,c)}!a&&d.ref&&(d.ref=a)}return{updateRowPosition:i,updateVisualInfomation:o}}function Zn(){function t(e,n){var a,d;if(!n.data||!n.data.length)return"";const i=Object.prototype.hasOwnProperty.call(n,"valueField")&&n.valueField||"value",o=Object.prototype.hasOwnProperty.call(n,"textField")&&n.textField||"name";if(e!=null&&e.includes(",")){const c=e.split(",");if(!n.data.filter(f=>c.includes(f[i])).length)return"";const u=(a=n.data)==null?void 0:a.reduce((f,g)=>(f[g[i]]=g,f),{});return c.map(f=>{var g;return(g=u[f])==null?void 0:g[o]}).join(",")||e}const l=(d=n.data)==null?void 0:d.find(c=>c[i]===e);return(l==null?void 0:l[o])||e||""}return{renderEnumColumn:t}}function Jn(){function t(e,n){return e?n==null?void 0:n.trueText:n==null?void 0:n.falseText}return{renderText:t}}function Qn(){const{formatTo:t}=X.useDateFormat();function e(i,o){if(i){let l="yyyy-MM-dd";if(typeof o=="string"?l=o:typeof o=="object"&&(l=o.format||"yyyy-MM-dd"),l=l.replace("YYYY","yyyy").replace("-DD","-dd"),typeof o=="object"&&o.dateRange){const a=o.dateRangeDatesDelimiter||"~";let[d,c]=i.split(a);return d=t(d,l),c=t(c,l),d+a+c}return t(i,l)}return i}function n(i,o){const l=o.dateFormat||"yyyy-MM-dd";return t(i,l)}return{renderDateColumn:n,renderDateTimeColumn:e}}function Kn(){const{formatTo:t}=X.useNumberFormat();function e(n,i){const o={precision:i.precision,prefix:i.prefix||"",suffix:i.suffix||"",decimalSeparator:i.decimal||".",groupSeparator:i.thousand||""};return t(n,o)||n}return{renderNumberColumn:e}}function ei(){function t(e,n){if(e){const i={};return n!=null&&n.width&&(i.width=`${n.width}px`),n!=null&&n.height&&(i.height=`${n.height}px`),r.createVNode("img",{src:e,style:i},null)}return e}return{renderImageColumn:t}}function ti(){function t(e,n){const i=je.LocaleService.getLocale();return(e==null?void 0:e[i||"zh-CHS"])||""}return{renderMultilingualColumn:t}}function ni(){const{renderText:t}=Jn(),{renderEnumColumn:e}=Zn(),{renderNumberColumn:n}=Kn(),{renderDateColumn:i,renderDateTimeColumn:o}=Qn(),{renderImageColumn:l}=ei(),{renderMultilingualColumn:a}=ti();function d(u){return typeof u=="boolean"?u.toString():u}function c(u,s,f){return s.customFormat?r.createVNode("div",{innerHTML:s.customFormat(u,f.raw)},null):d(u)}function p(u,s,f){const{column:g}=u,m=X.resolveField(s.raw,g.field),y=f.options||f;return f.type===De.NONE?d(m):f.type===De.CUSTOM?c(m,f,s):f.type===De.ENUM?e(m,y):f.type===De.NUMBER?n(m,y):f.type===De.BOOLEAN?t(m,y):f.type===De.DATE?i(m,y):f.type===De.DATE_TIME?o(m,f):f.type===De.IMAGE?l(m,y):f.type===De.MULTI_LINGUAL?a(m,y):d(m)}return{renderFormatColumn:p}}function ii(t,e,n){var M;const{isUndefined:i}=X.useCommonUtils(),o=r.ref(t.mergeCell);(M=r.ref(t.rowOption).value)!=null&&M.wrapContent;const{updateVisualInfomation:a}=n,{renderCommandColumn:d}=Pn(t),{renderFormatColumn:c}=ni();function p(C,F,T,v,S,h=1){const w={colSpan:h,rowSpan:1,index:T,field:C,data:X.resolveField(v,C),editingData:X.resolveField(v,C),parent:S,mode:F,align:"left",valign:"start",showEllipsis:!0,getEditor:x=>x.data,setRef:x=>a(x,w,v),update:()=>{},accept:()=>{},cancel:()=>{},updateData:()=>{}};return w}function u(C,F,T){return C.getEditor=v=>e.getEditor(v,F,v.parent),C.setRef=v=>a(v,C,T),C.update=v=>{v!==void 0&&(C.editingData=v)},C.accept=()=>{X.setFieldValue(C.editingData,T,F.field),C.data=X.resolveField(T,F.field)},C.cancel=()=>{C.editingData=C.data},C.updateData=v=>{X.setFieldValue(X.resolveField(v,F.field),T,F.field),C.data=X.resolveField(T,F.field),C.editingData=X.resolveField(T,F.field)},C}function s(C,F){F.dataType==="commands"?C.formatter=(T,v)=>F.formatter?F.formatter(C,v):d(C,v):F.formatter&&(C.formatter=(T,v)=>typeof F.formatter=="function"?F.formatter(T,v):c(C,v,F.formatter))}function f(C,F,T){const v=F&&F.data[T];if(v&&v.data===C.data){const h=v&&v.spannedBy||v;h.rowSpan++,h.spanned=h.spanned||[],h.spanned.push(C),C.colSpan=0,C.rowSpan=0,C.spannedBy=h}}function g(C,F,T){o.value&&f(C,F,T.field)}function m(C,F){F.showEllipsis!==void 0&&(C.showEllipsis=F.showEllipsis),C.showTips=i(F.showTips)?!0:F.showTips,C.column=F,C.align=F.align||"left",C.valign=F.valign||"middle",C.mode=t.editable?Pe.editable:Pe.readonly}function y(C,F,T,v){m(C,F),u(C,F,v),s(C,F),g(C,T,F)}function b(C,F,T,v,S){const h=t.editable?Pe.editable:Pe.readonly,w=p(C.field,h,F,T,v);return y(w,C,S,T),w}return{createCellByColumn:b,createCellByField:p,updateCellByColumn:y}}function oi(t,e,n,i,o,l,a){var F,T;const d=r.ref(t.rowOption),c=((F=d.value)==null?void 0:F.height)||28,p=((T=d.value)==null?void 0:T.wrapContent)||!1,{idField:u}=o,{collapseField:s}=i,{updateRowPosition:f}=l,{createCellByColumn:g}=a,m=(v,S,h,w)=>{X.setFieldValue(X.resolveField(v,w),S,w),h.data[w].data=X.resolveField(S,w),h.data[w].editingData=X.resolveField(S,w)};function y(v,S,h,w,x,E){var _e,Ce,Se;const{__fv_data_grid_group_field__:N,__fv_data_grid_group_value__:I,__fv_data_index__:B}=h,V=h.__fv_data_grid_group_layer__||(h.__fv_parents__?(_e=h.__fv_parents__)==null?void 0:_e.size:0)||0,_=typeof h.parent=="number"?Number(h.parent):-1,k=h.__fv_data_grid_group_collapse__||h[s.value],W=h.__fv_visible__===void 0?!0:h.__fv_visible__,P=h.__fv_checked__,L=h.__fv_indeterminate__,Y=h.__fv_disabled__||h[((Ce=t.rowOption)==null?void 0:Ce.disabledField)||"disabled"],J=t.hierarchy&&e.isVisibleInTree(h),re={collapse:k,data:{},dataIndex:B,groupField:N,groupValue:I,layer:V,index:S,parentIndex:_,pre:w,top:E,type:v,raw:h,checked:P,disabled:Y,indeterminate:L,setRef:R=>{re.ref=R},visible:W&&J||W&&!t.hierarchy,status:Ue.initial,updateCell:(R,O)=>{m(R,h,re,O),e.updateSummary()},updateCells:(R,O)=>{O.forEach(j=>{m(R,h,re,j)})}};return w||(h.__fv_data_position__=0),p||(re.height=c,h.__fv_data_height__=re.height,f(re,h)),(Se=d.value)!=null&&Se.customRowStatus&&(d.value.customRowStatus(re),h.__fv_disabled__=re.disabled),re}function b(v,S,h,w,x,E){const N=y(tt.data,x,S,h,w,E);return v.forEach((I,B)=>{N.data[I.field]=g(I,B,S,N,w)}),N}function M(v,S,h,w,x){return Object.assign(v,{index:S,dataIndex:h,top:w,pre:x})}function C(v,S,h,w,x,E){const N=v.__fv_data_index__,I=v[u.value],B=n.getEditingSnapshot(I);return B===null?b(E,v,S,h,w,x):M(B,w,N,x,S)}return{createEmptyRow:y,createNewRowFromDataItem:b,renderDataRow:C}}function ri(t,e,n,i){const o=r.ref(t.summary),{idField:l}=e,{createCellByField:a}=n,{createEmptyRow:d}=i,c=r.computed(()=>{const f=o.value;return(f==null?void 0:f.groupFields)||[]}),p=r.computed(()=>{const f=o.value;return f&&f.enable&&f.groupFields&&f.groupFields.length>0});function u(f,g,m,y){if(p.value){const b=f.data[g];let M=b.colSpan;const C=c.value.reduce((F,T)=>(F.set(T,!0),F),new Map);y.reduce((F,T,v)=>{if(C.has(T.field)){const S=a(T.field,Pe.readonly,v,m,f);f.data[T.field]=S,M-1>v&&(M=v)}return F},f),b.colSpan=M}}function s(f,g,m,y,b,M,C){const F=f.__fv_data_grid_group_field__,T=d(tt.group,y,f,g,m,b);return T.data[l.value]=a(l.value,Pe.readonly,-1,f,T,0),T.data[F]=a(F,Pe.readonly,1,f,T,M.length),u(T,F,f,M),T}return{renderGroupRow:s}}function li(t,e,n,i){const{idField:o}=e,{createCellByField:l}=n,{createEmptyRow:a}=i;function d(c,p,u,s,f,g,m){const y=c.__fv_data_grid_group_field__,b=a(tt.summary,s,c,p,u,f);return b.data[o.value]=l(o.value,Pe.readonly,-1,c,b),b.data[y]=l(y,Pe.readonly,1,c,b,g.length),b}return{renderSummaryRow:d}}function ai(t,e,n,i,o){var Se;const{isSmall:l}=Ve.useScreen(),a=r.ref(!1),{idField:d}=n,c=r.ref(t.editable),p=r.ref(t.editOption),u=r.ref(((Se=t.rowOption)==null?void 0:Se.wrapContent)||!1),{onClickRow:s,onClickRowExcludeDblclick:f}=i,g=new Map([["boolean","check-box"],["datetime","date-picker"],["enum","combo-list"],["number","number-spinner"],["string","input-group"],["text","text"],["commands","commands-editor"]]);let m,y,b,M,C;function F(R){return y&&y.raw[d.value]===R?y:null}const T=r.reactive({});function v(R){return(R==null?void 0:R.field)!==Ot&&(R==null?void 0:R.field)!==kn}function S(R,O,j={}){R.mode=Pe.editing,m=R,y=O,b=X.resolveField(O==null?void 0:O.raw,R.field),M=j;for(const G in T)delete T[G]}function h(R){R.accept(),R.mode=Pe.editable,m=null}function w(R){h(R);const O={};y&&(Object.keys(y).forEach(j=>{O[j]=y==null?void 0:y[j]}),y=null),e.emit("endEditCell",{cell:R,row:O,newValue:X.resolveField(O==null?void 0:O.raw,R.field),oldValue:b,column:M,editor:T})}function x(R){const O=Promise.resolve(!0);return R?O.then(()=>Be.isUndefined(t.beforeEndEditCell)?!0:typeof t.beforeEndEditCell=="function"?t.beforeEndEditCell({cell:R,row:y,newValue:R.editingData,oldValue:b}):()=>!0).then(j=>(j&&(w(R),y&&(y=null)),j)):O}function E(R){if(C&&C!==R.target){C=null;return}if(document.body.classList.contains("lookup-modal-open"))return;const j=R.target;if(!(j!=null&&j.closest(".popover"))){if(R instanceof MouseEvent||R.key!=="Enter"){const G=j.closest(".fv-grid-cell");if(m&&m.ref&&m.ref===G)return}x(m).then(G=>{G&&document.body.removeEventListener("click",E,!0)})}}function N(){window.closeModal||(window.closeModal=()=>{a.value=!1,window.closeModal&&delete window.closeModal})}function I(R,O,j){return Promise.resolve().then(()=>{var q;const G=(q=j.editor)==null?void 0:q.readonly;return!Be.isUndefined(t.beforeEditCell)&&typeof t.beforeEditCell=="function"?t.beforeEditCell({row:R,cell:O,rawData:R.raw,column:j}):!G}).then(G=>{G&&(l()?(a.value=!0,N()):S(O,R,j),document.body.removeEventListener("click",E,!0),document.body.addEventListener("click",E,!0))})}function B(R,O,j,G={}){R.stopPropagation(),f(R,j),v(O.column)&&c.value&&p.value.editMode==="cell"&&O.mode===Pe.editable&&x(m).then(()=>{m||I(j,O,G)})}function V(R,O,j,G={}){l()||R.stopPropagation(),s(R,j),v(O.column)&&c.value&&p.value.editMode==="cell"&&O.mode===Pe.editable&&x(m).then(()=>{m||I(j,O,G)})}function _(R){R.stopPropagation(),C=R.target}function k(R){R.stopPropagation(),C&&(C=null)}function W(R){Object.values(R.data).filter(O=>O.mode===Pe.editable&&v(O.column)).forEach(O=>{O.mode=Pe.editing}),R.status=Ue.editing,y=R}function P(R,O){Object.values(R.data).filter(j=>j.mode===Pe.editing).forEach(j=>{O?j.accept():j.cancel(),j.mode=Pe.editable}),R.status=Ue.initial,y===R&&(y=null)}function L(R){c.value&&p.value.editMode==="row"&&y!==R&&(y&&P(y,!1),W(R))}function Y(R){P(R,!0),R.status=Ue.initial}function J(R){P(R,!1),R.status=Ue.initial}function re(R,O,j){const G=O.dataType,q=O.editor||{type:g.get(G)||"input-group"};return!u.value&&q.type==="text"&&(q.type="input-group"),q&&v(R.column)?(q.type==="input-group"&&(q.textAlign=O.align!=="center"&&O.align!=="right"?"left":O.align,q.updateOn="change"),q.type==="number-spinner"&&(q.updateOn="change"),q.type==="textarea"&&(q.lineBreak="alt enter"),q.context={rowData:j.raw,column:O,cell:R,editor:T},q.readonly=!1,r.createVNode(bn.FDynamicFormInput,{focusOnCreated:t.focusOnEditingCell,selectOnCreated:t.selectOnEditingCell,editor:q,modelValue:R.editingData,"onUpdate:modelValue":ee=>R.editingData=ee,id:O.id,onMousedown:ee=>_(ee),onMouseup:ee=>k(ee)},null)):R.data}function _e(){x(m)}r.watch(()=>t.editable,()=>{c.value=t.editable}),r.watch(()=>{var R;return(R=t.editOption)==null?void 0:R.editMode},R=>{p.value.editMode=R});function Ce(){m=null,y=null,M=null,C=null,document.body.removeEventListener("click",E,!0)}return{clear:Ce,onClickOutOfCell:E,onClickCell:V,onClickCellByKeyboard:B,onEditingRow:L,acceptEditingRow:Y,cancelEditingRow:J,getEditingSnapshot:F,getEditor:re,endEditCell:_e,onMousedownCell:_,onMouseupCell:k,showRowEditPanel:a,endEditByCell:h}}function si(t){const e=r.ref(t.idField);function n(i){if(i&&i.length){const o=i[0];Object.keys(o).includes(e.value)||(e.value="__fv_indetify__")}}return{idField:e,reviseIdentifyField:n}}function di(t,e,n,i){const{idField:o}=i,{currentSelectedDataId:l,multiSelectOnClickRow:a,multiSelectOnClickRowWithShift:d,selectItem:c,toggleSelectItem:p,updateSelectAllStatus:u,isSingleSelect:s}=n,f=r.ref(0),g=r.ref(-1);function m(I){l.value=I}function y(I){return I.raw[o.value]===l.value}function b(I,B){var k;const V=B??I.dataIndex,_={"fv-grid-row":I.type===tt.data,"fv-grid-group-row":I.type===tt.group,"fv-grid-summary-row":I.type===tt.summary,"fv-grid-row-hover":V===g.value,"fv-grid-row-selected":y(I),"fv-grid-row-odd":V%2>0,"fv-grid-row-even":V%2===0,"fv-grid-disabled":I.disabled};if((k=t.rowOption)!=null&&k.customRowStyle){const W=t.rowOption.customRowStyle(I.raw)||{};return Object.assign({},_,W.class||{})}return _}function M(I,B){var _;const V={"fv-grid-cell":!0};if((_=t.rowOption)!=null&&_.customCellStyle){const k=t.rowOption.customCellStyle(I,B)||{};return Object.assign({},V,k.class||{})}return V}function C(I,B){var _;const V={"fv-grid-hierarchy-cell":!0};if((_=t.rowOption)!=null&&_.customCellStyle){const k=t.rowOption.customCellStyle(I,B)||{};return Object.assign({},V,k.class||{})}return V}function F(I){const B=l.value,V=I.raw[o.value];m(V),B!==V&&e.emit("selectionChange",[I.raw],{id:V,data:I.raw})}function T(I,B){var k,W;if(d.value&&!(B!=null&&B.shiftKey)||s.value){(k=t.selection)!=null&&k.keepSelectingOnClick?c(I):p(I,(W=t.selection)==null?void 0:W.keepSelectingOnClick),u();return}if(d.value&&(B==null?void 0:B.shiftKey)||a.value){p(I),u();return}}function v(I,B){B.disabled||(e.emit("clickRow",B.index,B.raw),F(B),T(B,I))}function S(I){f.value+=1,setTimeout(()=>{f.value===1&&e.emit("clickRow",I.index,I.raw),f.value=0},250),f.value>1&&(e.emit("doubleClickRow",I.index,I.raw),f.value=0)}function h(I,B){B.disabled||(S(B),F(B),T(B,I))}function w(I){I.disabled||S(I)}function x(I,B){}function E(I,B){}function N(I,B){var k;const V=B??I.dataIndex,_={"fv-grid-sidebar-row":!0,"fv-grid-sidebar-row-hover":V===g.value,"fv-grid-sidebar-row-selected":y(I),"fv-grid-sidebar-row-odd":V%2>0,"fv-grid-sidebar-row-even":V%2===0,"d-flex":!0,"align-items-center":!0};if((k=t.rowOption)!=null&&k.customRowStyle){const W=t.rowOption.customRowStyle(I.raw)||{};return Object.assign({},_,W.class||{})}return _}return{activeRowById:m,clickRowItem:w,selectRow:T,changeRow:F,gridCellClass:M,gridHierarchyCellClass:C,gridRowClass:b,onClickRow:h,onClickRowExcludeDblclick:v,onMouseoverRow:x,sidebarRowClass:N,onMouseoutRow:E}}function ci(t,e,n,i,o){const{idField:l}=n,{dataView:a,getSelectionItems:d}=e,c=r.ref(""),p=r.computed(()=>t.selection.enableSelectRow),u=r.ref(t.selection.multiSelect??!1),s=r.ref(t.selection.multiSelectMode||"DependOnCheck"),f=r.ref(t.selection.showCheckbox),g=r.computed(()=>{var $;return!!(($=t.selection)!=null&&$.showSelectAll)}),m=r.ref(t.selectionValues||[]),y=r.computed(()=>t.selection.showSelection),b=r.computed(()=>{var $;return(($=t.selection)==null?void 0:$.keepSelectingOnPaging)===void 0?!0:t.selection.keepSelectingOnPaging}),M=r.ref(!!m.value.length&&i.value.length===m.value.length),C=r.ref(!!m.value.length&&i.value.length!==m.value.length),F=r.computed(()=>p.value&&u.value),T=r.computed(()=>p.value&&!u.value&&!f.value),v=r.computed(()=>!!t.hierarchy),S=r.computed(()=>{const $=f.value&&s.value==="DependOnCheck";return F.value&&$}),h=r.computed(()=>F.value&&!f.value),w=r.computed(()=>F.value&&f.value&&s.value==="OnCheckAndClick");function x(){if(!b.value){const $=a.value.map(Q=>Q[l.value]);m.value=m.value.filter(Q=>$.includes(Q))}}function E(){const $=a.value.every(U=>m.value.includes(U[l.value])),Q=a.value.every(U=>!m.value.includes(U[l.value]));$&&(M.value=!0,C.value=!1),Q&&(M.value=!1,C.value=!1),!$&&!Q&&(M.value=!1,C.value=!0)}function N(){return d(m.value)}function I(){const $=i.value.reduce((U,ve)=>(U.set(ve.raw[l.value],ve),U),new Map);return m.value.map(U=>$.get(U)).filter(U=>!!U)}function B($){var U;const Q=$.raw.__fv_children_index__;if(Q&&Q.length){const ve=Q.map(be=>a.value[be]);(U=m.value)!=null&&U.length&&ve.some(Re=>!m.value.includes(Re[l.value]))&&($.indeterminate=!0,$.raw.__fv_indeterminate__=!0)}}function V(){const $=d(m.value);o.emit("selectionUpdate",$,m.value)}function _($){o.emit("unSelectItem",$)}function k($){o.emit("selectItem",$)}function W(){const $=i.value.filter(U=>U.indeterminate).map(U=>U.raw[l.value]);i.value.forEach(U=>{U.checked=!1,U.indeterminate=!1,U.raw.__fv_checked__=!1,U.raw.__fv_indeterminate__=!1}),I().forEach(U=>{U.checked=!0,U.raw.__fv_checked__=!0}),$.forEach(U=>{const ve=i.value.find(be=>be.raw[l.value]===U);B(ve)})}r.watch(()=>i.value,()=>{W()}),r.watch(()=>t.selectionValues,$=>{m.value=$,W()},{immediate:!0}),r.watch(()=>t.selection,$=>{u.value=!!$.multiSelect,s.value=$.multiSelectMode||"DependOnCheck",f.value=!!$.showCheckbox});const P=r.computed(()=>!u.value);function L($){return $.raw[l.value]}function Y($){return m.value.findIndex(U=>U===L($))}function J(){I().forEach(U=>{U.checked=!1}),d(m.value).forEach(U=>{U.__fv_checked__=!1}),m.value=[],E()}function re($){const Q=$;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x()}function _e($){const Q=$;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x()}function Ce($){const Q=$.raw;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x(),$.checked=!0,$.indeterminate=!1,V(),k($)}function Se($){const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!1,V(),_($)}function R($){$.disabled||Ce($)}function O($){$.disabled||Se($)}function j($){$.__fv_checked__=!1,$.__fv_indeterminate__=!0,m.value=m.value.filter(Q=>Q!==$[l.value]),x()}function G($){const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!0,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!0}function q($){P.value&&J(),$.checked?Se($):Ce($)}function ee($,Q=!0){const U=$.checked;P.value&&J(),Q?$.checked?O($):R($):U?O($):R($)}function se($){J(),R($)}function ce($){const Q=i.value.find(U=>U.raw[l.value]===$);if(Q)se(Q);else{const U=a.value.find(ve=>ve[l.value]===$);U&&re(U)}}function pe($){const Q=i.value.filter(be=>$.includes(be.raw[l.value])),U=Q.map(be=>be.raw[l.value]),ve=a.value.filter(be=>{const Re=be[l.value];return!U.includes(Re)&&$.includes(Re)});Q.length||ve.length,Q.forEach(be=>{R(be)}),ve.forEach(be=>{re(be)})}function he($){for(const Q of $){if(!m.value.includes(Q))continue;const U=i.value.find(ve=>ve.raw[l.value]===Q);if(U)O(U);else{const ve=a.value.find(be=>be[l.value]===Q);ve&&_e(ve)}}m.value=m.value.filter(Q=>!$.includes(Q)),x()}function ge(){i.value.forEach($=>{const Q=$.raw;Q.__fv_checked__=!0,Q.__fv_indeterminate__=!1;const U=new Set(m.value);U.add(Q[l.value]),m.value=Array.from(U.values()),x(),$.checked=!0,$.indeterminate=!1})}function Ie(){i.value.forEach($=>{const Q=$.raw;Q.__fv_checked__=!1,Q.__fv_indeterminate__=!1,m.value=m.value.filter(U=>U!==Q[l.value]),x(),$.checked=!1,$.indeterminate=!1})}function We(){return i.value.find($=>$.raw[l.value]===c.value)}function we(){c.value=""}return{clearSelection:J,currentSelectedDataId:c,enableMultiSelect:u,enableSelectRow:p,findIndexInSelectedItems:Y,getSelectedItems:N,getSelectionRow:We,indeterminate:G,indeterminateDataItem:j,isSelectingHirarchyItem:v,multiSelectMode:s,multiSelectOnClickRow:w,multiSelectOnClickRowWithShift:h,multiSelectOnlyOnCheck:S,select:R,selectAll:ge,selectedValues:m,selectDataItem:re,selectItem:se,selectItemById:ce,selectItemByIds:pe,showCheckBox:f,showSelectAll:g,toggleSelectItem:ee,toggleSelectItemWithoutRow:q,unSelect:O,unSelectAll:Ie,unSelectDataItem:_e,unSelectItemByIds:he,updateSelectAllStatus:E,selectAllStatus:M,indeterminateStatus:C,isSingleSelect:T,showSelection:y,keepSelectingOnPaging:b,emitSelectionChanged:V,emptyCurrentRowId:we}}function ui(t,e){var b,M;const n=String(Date.now()),i=50,{showCheckBox:o}=e,l=r.ref(((b=t.rowNumber)==null?void 0:b.enable)??!1),a=r.computed(()=>t.hierarchy&&o.value&&t.selection.enableSelectRow&&t.selection.multiSelect?!0:o.value),d=r.ref(l.value?((M=t.rowNumber)==null?void 0:M.width)??36:0),c=r.ref(a.value?i:0),p=r.computed(()=>{var C,F;return l.value?((C=t.rowNumber)==null?void 0:C.heading)==="序号"?je.LocaleService.getLocaleValue("datagrid.lineNumberTitle"):(F=t.rowNumber)==null?void 0:F.heading:""}),u=r.computed(()=>(a.value?Number(c.value):0)+(l.value?Number(d.value):0)),s=r.computed(()=>a.value&&(!t.hierarchy||t.hierarchy&&t.checkboxPosition==="leading"));r.watch(()=>t.rowNumber,C=>{C&&C.enable!==void 0&&(l.value=C.enable),C&&C.width!==void 0&&(d.value=C.width)});function f(C){var T;const F={top:`${C.top}px`,width:`${u.value}px`,height:`${C.height||""}px`};if((T=t.rowOption)!=null&&T.customRowStyle){const v=t.rowOption.customRowStyle(C.raw)||{};return Object.assign({},F,v.style||{})}return F}const g=r.computed(()=>({width:`${u.value}px`}));function m(C){return`${n}_${C.type}_r_${C.index}_${C.refreshKey||""}`}function y(C){return`${n}_${C.type}_r_${C.index}_${C.refreshKey||""}`}return{showRowNumer:l,showSidebarCheckBox:a,sidebarCellPosition:f,sidebarCornerCellStyle:g,sidebarTitle:p,sidebarWidth:u,rowKey:y,cellKey:m,showCheckbox:s}}const fi={ascend:(t,e)=>t===e?0:t===!1?-1:1,decend:(t,e)=>t===e?0:t===!0?-1:1},mi={ascend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?-1:1},decend:(t,e)=>{const n=new Date(new Date(t).toLocaleDateString()).valueOf(),i=new Date(new Date(e).toLocaleDateString()).valueOf();return n===i?0:n<i?1:-1}},pi={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1},gi={ascend:(t,e)=>t===e?0:t<e?-1:1,decend:(t,e)=>t===e?0:t<e?1:-1};function hi(t){const e=new Map([["boolean","boolean-sorter"],["date","datetime-sorter"],["datetime","datetime-sorter"],["number","numeric-sorter"],["string","text-sorter"],["text","text-sorter"],["enum","text-sorter"],["reference","text-sorter"]]),n=new Map([["boolean-sorter",fi],["datetime-sorter",mi],["numeric-sorter",pi],["text-sorter",gi]]);function i(a){const d=(a==null?void 0:a.dataType)||"string",c=e.get(d)||"text-sorter";return n.get(c)||(a==null?void 0:a.sorter)}function o(a){return i(a.column)}function l(a,d){const c=o(a),p=(a.status&Oe.sortable)===Oe.sortable&&(a.status&Oe.sorted)===Oe.sorted,u=(a.status&Oe.ascending)===Oe.ascending,s=(a.status&Oe.descending)===Oe.descending;if(p&&c){const f=u?c.ascend:s?c.decend:void 0;f?d.addSorter(a.field,{field:a.field,compare:f}):d.removeSorter(a.field)}else d.removeSorter(a.field)}return{getSorterByColumn:i,updateSorter:l}}function Lt(t,e,n,i,o="data-grid-column"){const{columnContext:l,hasLeftFixedColumn:a,hasRightFixedColumn:d}=n,{gridHeaderColumnsStyle:c,leftFixedGridHeaderColumnsStyle:p,rightFixedGridHeaderColumnsStyle:u}=i,s=l.value.defaultColumnWidth,f=32,g=new Map([[0,0]]);function m(E,N){const I=g.get(N)||0,B={height:`${E.depth*f}px`,left:`${E.left}px`,top:`${(E.layer-1)*f}px`,width:`${E.actualWidth}px`,padding:0};return l.value.headerDepth>1&&(B["line-height"]=`${E.depth*f}px`),g.set(N+1,I+(E.actualWidth||s)),B}const y=r.computed(()=>({"fv-grid-header":!0,"fv-grid-header-group-columns":l.value.headerDepth>1})),b=r.computed(()=>({height:`${l.value.headerDepth*f}px`})),M=function(E){return e.showSetting&&!!E.showSetting};function C(){return r.createVNode("span",{class:"fv-grid-settings-icon d-flex align-items-center"},[r.createVNode("i",{class:"f-icon f-icon-home-setup"},null)])}function F(E,N,I,B){var V;(V=t==null?void 0:t.setupContext)==null||V.emit("selectionChange",E,N,I,B)}function T(E){var I,B;return"w-100 d-flex align-items-center justify-content-"+(((I=E.column)==null?void 0:I.halign)==="center"?"center":((B=E.column)==null?void 0:B.halign)==="right"?"end pr-2":"start pl-2")}function v(E,N,I){var V;const B=r.ref(E.column);return r.createVNode("div",{class:"fv-grid-header-cell",style:m(E,I)},[r.createVNode(z.FDesignerItem,{modelValue:B.value,"onUpdate:modelValue":_=>B.value=_,customClass:T(E),canAdd:!1,canDelete:!1,canMove:!1,key:(V=B.value)==null?void 0:V.id,type:o,componentId:e.componentId,onSelectionChange:F},null),M(E)&&C(),E.resizable&&r.createVNode("span",{class:"fv-column-resize-bar"},null)])}function S(E){return E.map((N,I)=>{const B=[];if(B.push(v(N,E,I)),N.children&&N.children.length){const V=S(N.children);B.push(...V)}return B})}function h(){return r.createVNode("div",{class:"fv-grid-header-left-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:p.value},[S(l.value.leftHeaderColumns)])])}function w(){return r.createVNode("div",{class:"fv-grid-header-right-fixed"},[r.createVNode("div",{class:"fv-grid-header-columns",style:u.value},[S(l.value.rightHeaderColumns)])])}function x(){return r.createVNode("div",{class:y.value,style:b.value},[a.value&&h(),r.createVNode("div",{class:"fv-grid-header-primary"},[r.createVNode("div",{class:"fv-grid-header-columns",style:c.value},[S(l.value.primaryHeaderColumns)])]),d.value&&w()])}return{renderGridHeader:x}}const at={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-toolbar-item",name:"抽屉工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},"drawer-toolbar":{type:"drawer-toolbar",name:"抽屉工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},nav:{type:"nav",name:"标签类导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"},image:{type:"image",name:"图像"},avatar:{type:"avatar",name:"头像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"}};class yi extends Ae.BaseControlProperty{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig.categories.command=ze.useCommandOption(this).getCommandColumnProperties(e),this.propertyConfig.categories.column=ze.useColumnOption().getColumnOptionProperties(e),this.propertyConfig.categories.rowOption=ze.useRowOption().getRowOptionProperties(e),this.propertyConfig.categories.summary=ze.useSummary().getSummaryProperties(e),this.propertyConfig.categories.group=ze.useGroup().getGroupProperties(e),this.propertyConfig.categories.sort=ze.useSort().getSort(e),this.propertyConfig.categories.filter=ze.useFilter().getFilter(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"dataGrid"),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){var a,d,c;const n=(c=(d=(a=this.formSchemaUtils.getFormSchema())==null?void 0:a.module)==null?void 0:d.entity[0])==null?void 0:c.entities[0],i=this.assembleSchemaEntityToTree(n,0),o=this,l=super.getBasicPropConfig(e);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...l.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:i,editable:!1},readonly:!0}},setPropertyRelates(p,u){switch(p&&p.propertyID){case"dataSource":{const s=o.formSchemaUtils.getViewModelById(o.viewModelId);if(s){const f=i.find(g=>g.label===p.propertyValue);s.bindTo=f.bindTo}o.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(e,n,i,o="",l=[]){const a=o?`${o}/${e.label}`:"/";return l.push({id:e.id,name:e.name,label:e.label,layer:n,parent:i&&i.id,bindTo:a.replace("//","/")}),e.type.entities&&e.type.entities.length&&e.type.entities.map(d=>this.assembleSchemaEntityToTree(d,n+1,e,a,l)),l}getAppearanceProperties(e){const n=this;this.propertyConfig.categories.appearance=ze.useAppearance().getDataGrid(e,this.viewModelId),this.propertyConfig.categories.selection=ze.useSelection().getSelection(e,n),this.propertyConfig.categories.rowNumber=ze.useRowNumber().getRowNumber(e),this.propertyConfig.categories.pagination=ze.usePagination().getPagination(e,this.isSubGrid(),this)}getEventPropConfig(e){const n=[...ze.useDataGridEvent().initEvent(e),{label:"beforeEditCell",name:"单元格编辑前事件"},{label:"onEndEditCell",name:"单元格结束编辑事件"}],i=this,o=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),l=i.createBaseEventProperty(o);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete e[i.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,c.events,c)),e.remoteSort=!!e.columnSorted,e.command&&(e.command.onClickEditCommand=e.onClickEditCommand,e.command.onClickDeleteCommand=e.onClickDeleteCommand,e.command.onHandleAction=e.onHandleAction)}}}isSubGrid(){const e=this.formSchemaUtils.getViewModelById(this.viewModelId);return e&&e.bindTo?e.bindTo.trim()!=="/":!1}}function vi(t,e){const n=t.schema,i=r.ref(!0),o=r.ref(!0);function l(s){return s&&s.sourceType==="control"?s.componentCategory==="input":!1}function a(){return!1}function d(){return!1}function c(){return!0}function p(s){return new yi(s,e).getPropertyConfig(n)}function u(){var s,f,g,m;if(t&&e){const y=(s=t==null?void 0:t.componentInstance)==null?void 0:s.value.belongedComponentId;let b="",M="";const{formSchemaUtils:C}=e;if(y){const T=C.getRootViewModelId(),v=C.getComponentByViewModelId(T),S=C.selectNode(v,h=>h.contents&&h.contents.find(w=>w.component===y));(S==null?void 0:S.type)===((f=at["tab-page"])==null?void 0:f.type)&&((g=S==null?void 0:S.contents)!=null&&g.length)&&(b=S.title||""),(S==null?void 0:S.type)===((m=at.section)==null?void 0:m.type)&&(S==null?void 0:S.showHeader)!==!1&&(b=S.mainTitle||""),b=b?`${b} > `:"",M=b?S.id:""}const F=at["data-grid"].name;e==null||e.formSchemaUtils.getControlBasicInfoMap().set(t.schema.id,{componentTitle:F,parentPathName:`${b}${F}`,reliedComponentId:M})}}return{canAccepts:l,checkCanDeleteComponent:a,checkCanMoveComponent:d,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:p,setComponentBasicInfoMap:u}}const Ke=r.defineComponent({name:"FDataGridDesign",props:Sn,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(t,e){var we;const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context"),l=vi(o,i),a=z.useDesignerComponent(n,o,l);a.value.styles="display:flex;flex:1;",r.onMounted(()=>{n.value.componentInstance=a}),r.provide("data-grid-context",{dataGridProps:t}),e.expose(a.value);const d=r.ref(t.columns),c=20,p=si(t),u=0,s=r.ref(),f=r.ref(),g=r.ref(t.showStripe),m=r.ref([]),y=r.ref(!1),b=r.ref(((we=t.rowOption)==null?void 0:we.wrapContent)||!1),M=Un(t,e),C=Dn(t),F=Ln(t,new Map,M,C,p),T=ci(t,F,p,m,e),v=r.computed(()=>F.totalItems.value<c?F.totalItems.value:c),{containerStyleObject:S}=Nn(t),h=Bn(t),{applyCommands:w}=h;w(d);const x=Tn(t),E=hi(),{applyColumnSorter:N,columnContext:I,updateColumnRenderContext:B}=x;N(F,E);const V=On(t,I),_=di(t,e,T,p),k=ai(t,e,p,_),W=Xn(t),P=ii(t,k,W),L=oi(t,F,k,C,p,W,P),Y=ri(t,p,P,L),J=li(t,p,P,L),re=_n(t,d,F,v,u,L,Y,J),{getVisualData:_e}=re,Ce=ui(t,T),{sidebarWidth:Se}=Ce;m.value=_e(0,v.value+u-1);const R=Yn(t,F,m,I,re,v,u,Se),{onWheel:O,dataGridWidth:j,viewPortHeight:G,viewPortWidth:q}=R,ee=Mn(t,I,s,q,V),{calculateColumnsSize:se}=ee,ce=r.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":g.value})),pe=r.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":y.value,"fv-grid-wrap-content":b.value})),{renderGridHeader:he}=Lt(o,t,x,R),{renderHorizontalScrollbar:ge}=In(t,s,R);function Ie(){var $,Q;G.value=(($=f.value)==null?void 0:$.clientHeight)||0,j.value=((Q=s.value)==null?void 0:Q.clientWidth)||0,se()}r.onMounted(()=>{s.value&&(hn.useResizeObserver(s.value,Ie),se(),r.nextTick(()=>{s.value&&(j.value=s.value.clientWidth),f.value&&(q.value=f.value.clientWidth,G.value=f.value.clientHeight)}))});function We($){$&&(d.value=$,w(d),B(d.value),N(F,E),se())}return r.watch(()=>t.columns,$=>{We($),z.canvasChanged.value++}),r.watch(q,()=>{s.value&&se()}),()=>r.createVNode("div",{ref:n,class:ce.value,style:S.value,onWheel:O},[he(),r.createVNode("div",{ref:s,class:pe.value,onMouseover:()=>{y.value=!0},onMouseleave:()=>{y.value=!1}},[ge()])])}}),bi={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},Ci={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},wi=r.defineComponent({name:"FOverlay",props:Ci,emits:["click"],setup(t,e){const n=r.ref(t.popupContentPosition),i=r.ref(t.host),o=r.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function l(d){e.emit("click"),d.preventDefault(),d.stopPropagation()}r.computed(()=>{const d=i.value;if(d){const c=d.getBoundingClientRect(),{left:p,top:u,height:s}=c;return{left:p,top:u+s}}return n.value});const a=r.computed(()=>({}));return()=>r.createVNode(r.Teleport,{to:"body"},{default:()=>{var d,c;return[r.createVNode("div",{class:"overlay-container",onClick:p=>l(p),style:o.value},[r.createVNode("div",{style:a.value},[(c=(d=e.slots).default)==null?void 0:c.call(d)])])]}})}});function xi(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Si(t){const e=document.createElement("div");e.style.display="contents";let n;const i=t.onClickCallback||(()=>{}),o=()=>{i(),n&&n.unmount()};return n=r.createApp({setup(){r.onUnmounted(()=>{document.body.removeChild(e)});const l=xi(t);return()=>r.createVNode(wi,{"popup-content-position":t.popupPosition,host:t.host,onClick:o,backgroundColor:t.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(e),n.mount(e),n}class Mi{static show(e){return Si(e)}}const Fi={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showFloatingClose:{type:Boolean,default:!1},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}};class Ee{constructor(e,n){this.x=e,this.y=n}static getTransformInfo(e){const i=window.getComputedStyle(e).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(i.length>=6){const o=parseInt(i[4],10),l=parseInt(i[5],10);return{x:o,y:l}}return{x:0,y:0}}static fromEvent(e,n=null){if(this.isMouseEvent(e))return new Ee(e.clientX,e.clientY);if(n===null||e.changedTouches.length===1)return new Ee(e.changedTouches[0].clientX,e.changedTouches[0].clientY);for(let i=0;i<e.changedTouches.length;i++)if(e.changedTouches[i].target===n)return new Ee(e.changedTouches[i].clientX,e.changedTouches[i].clientY)}static isMouseEvent(e){return Object.prototype.toString.apply(e).indexOf("MouseEvent")===8}static isIPosition(e){return!!e&&"x"in e&&"y"in e}static getCurrent(e){const n=new Ee(0,0);if(window){const i=window.getComputedStyle(e);if(i){const o=parseInt(i.getPropertyValue("left"),10),l=parseInt(i.getPropertyValue("top"),10);n.x=isNaN(o)?0:o,n.y=isNaN(l)?0:l}return n}return null}static copy(e){return new Ee(0,0).set(e)}get value(){return{x:this.x,y:this.y}}add(e){return this.x+=e.x,this.y+=e.y,this}subtract(e){return this.x-=e.x,this.y-=e.y,this}multiply(e){this.x*=e,this.y*=e}divide(e){this.x/=e,this.y/=e}reset(){return this.x=0,this.y=0,this}set(e){return this.x=e.x,this.y=e.y,this}}class nt{constructor(e,n){this.width=e,this.height=n}static getCurrent(e){const n=new nt(0,0);if(window){const i=window.getComputedStyle(e);return i&&(n.width=parseInt(i.getPropertyValue("width"),10),n.height=parseInt(i.getPropertyValue("height"),10)),n}return null}static copy(e){return new nt(0,0).set(e)}set(e){return this.width=e.width,this.height=e.height,this}}function Ti(t,e){const n=r.ref(),i=r.ref(),o=r.ref(),l=r.ref(),a=r.ref(),d=r.ref(),c=r.ref(),p=r.ref(),u=r.ref(),s=r.ref(),f=r.ref(),g=r.ref(t.resizeable),m=r.ref(),y=r.ref(t.draggable),b=r.ref(!1);function M(){const P=i.value||document.body,L=window.getComputedStyle(P);if(!L||!n.value)return;const Y=Ee.getTransformInfo(n.value),J={};c.value&&(J.deltaL=n.value.offsetLeft-c.value.x,J.deltaT=n.value.offsetTop-c.value.y);const re=L.getPropertyValue("position");J.width=P.clientWidth,J.height=P.clientHeight,J.pr=parseInt(L.getPropertyValue("padding-right"),10),J.pb=parseInt(L.getPropertyValue("padding-bottom"),10),J.position=L.getPropertyValue("position"),re==="static"&&(P.style.position="relative"),J.translateX=Y.x,J.translateY=Y.y,s.value=J}function C(P){if(n.value){l.value=nt.getCurrent(n.value),a.value=Ee.getCurrent(n.value),d.value=l.value?nt.copy(l.value):null,c.value=a.value?Ee.copy(a.value):null,M();const L=P.target.getAttribute("type")||"";p.value={n:!!L.match(/n/),s:!!L.match(/s/),w:!!L.match(/w/),e:!!L.match(/e/)}}}function F(){var P,L,Y,J;if(n.value){const re=n.value;p.value&&((p.value.n||p.value.s)&&((P=d.value)!=null&&P.height)&&(re.style.height=d.value.height+"px"),(p.value.w||p.value.e)&&((L=d.value)!=null&&L.width)&&(re.style.width=d.value.width+"px"),c.value&&((Y=c.value)!=null&&Y.x&&(re.style.left=c.value.x+"px"),(J=c.value)!=null&&J.y&&(re.style.top=c.value.y+"px")))}}function T(){const P=t.minHeight?t.minHeight:1,L=t.minWidth?t.minWidth:1;d.value&&c.value&&p.value&&l.value&&(d.value.height<P&&(d.value.height=P,p.value.n&&a.value&&(c.value.y=a.value.y+(l.value.height-P))),d.value.width<L&&(d.value.width=L,p.value.w&&a.value&&(c.value.x=a.value.x+(l.value.width-L))),t.maxHeight&&d.value.height>t.maxHeight&&(d.value.height=t.maxHeight,a.value&&p.value.n&&(c.value.y=a.value.y+(l.value.height-t.maxHeight))),t.maxWidth&&d.value.width>t.maxWidth&&(d.value.width=t.maxWidth,p.value.w&&a.value&&(c.value.x=a.value.x+(l.value.width-t.maxWidth))))}function v(){if(i.value){const P=s.value;if(c.value&&d.value&&p.value&&l.value){const L=P.width-P.pr-P.deltaL-P.translateX-c.value.x,Y=P.height-P.pb-P.deltaT-P.translateY-c.value.y;p.value.n&&c.value.y+P.translateY<0&&a.value&&(c.value.y=-P.translateY,d.value.height=l.value.height+a.value.y+P.translateY),p.value.w&&c.value.x+P.translateX<0&&a.value&&(c.value.x=-P.translateX,d.value.width=l.value.width+a.value.x+P.translateX),d.value.width>L&&(d.value.width=L),d.value.height>Y&&(d.value.height=Y)}}}function S(P){if(!o.value||!l.value||!a.value||!p.value)return;P.subtract(o.value);const L=P.x,Y=P.y;p.value.n?(c.value.y=a.value.y+Y,d.value.height=l.value.height-Y):p.value.s&&(d.value.height=l.value.height+Y),p.value.e?d.value.width=l.value.width+L:p.value.w&&(d.value.width=l.value.width-L,c.value.x=a.value.x+L),v(),T(),F()}function h(P){if(!u.value)return;const L=Ee.fromEvent(P);L&&S(L)}function w(){if(n.value){const{width:P,height:L,x:Y,y:J}=n.value.getBoundingClientRect(),re=Ee.getTransformInfo(n.value);return{size:{width:P,height:L},position:{x:Y-re.x,y:J-re.y}}}return null}function x(P){if(n.value){const L=w();f.value=L}o.value=void 0,l.value=null,a.value=null,d.value=null,c.value=null,p.value=null,u.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",x)}function E(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",x)}function N(P){P instanceof MouseEvent&&P.button===2||y.value&&(document.body.click(),P.stopPropagation(),P.preventDefault(),o.value=Ee.fromEvent(P),u.value=P.target,C(P),E())}function I(P){return n.value=P,g.value&&r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:L=>N(L)},null),r.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:L=>N(L)},null)])}function B(P=!0){document.body.click();const L=i.value||document.body,Y=nt.getCurrent(L),J=n.value;P&&J&&(m.value=w(),m.value.transform=J.style.transform),Y&&J&&(d.value=Y,d.value.height-=14,d.value.width-=14,J.style.height=d.value.height+"px",J.style.width=d.value.width+"px",J.style.left="7px",J.style.top="7px",J.style.transform="",f.value={size:d.value,position:{x:0,y:0}},y.value=!1,b.value=!0)}function V(){var P,L;if(document.body.click(),m.value){const Y={width:m.value.size.width||0,height:m.value.size.height||0},J={x:(window.innerWidth-Y.width)/2,y:(window.innerHeight-Y.height)/2};(P=d.value)==null||P.set(Y),(L=c.value)==null||L.set(J);const re=n.value;re.style.height=Y.height+"px",re.style.width=Y.width+"px",re.style.left=`${J.x}px`,re.style.top=`${J.y}px`,re.style.transform="",f.value={size:Y,position:J},y.value=t.draggable,b.value=!1}}function _(){if(n.value){const P=nt.getCurrent(n.value);if(P){const{width:L,height:Y}=P;n.value.style.left=`${(window.innerWidth-L)/2}px`,n.value.style.top=`${(window.innerHeight-Y)/2}px`,n.value.style.transform=""}}}function k(){const P=()=>{b.value?B(!1):_(),document.body.click()};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}}const W=k();return{renderResizeBar:I,boundingElement:i,resizedEventParam:f,maximize:B,restore:V,allowDrag:y,isMaximized:b,unWindowResizeHandle:W,moveToCenter:_}}function _i(t,e,n){const i=r.ref(),o=r.ref(t.draggable),l=r.ref(t.lockAxis),a=r.ref(),d=r.ref(),c=r.ref(!1),p=r.ref(new Ee(0,0)),u=r.ref(new Ee(0,0)),s=r.ref(new Ee(0,0)),f=r.ref(new Ee(0,0));r.watch(()=>n.value,h=>{a.value.style.cursor=h?"move":"default"});function g(h,w){if(w.tagName==="BUTTON")return!1;if(w===h)return!0;for(const x in w.children)if(Object.prototype.hasOwnProperty.call(w.children,x)&&g(h,w.children[x]))return!0;return!1}function m(){var E,N;let h=s.value.x+u.value.x,w=s.value.y+u.value.y;l.value==="x"?(h=((E=p.value)==null?void 0:E.x)||0,s.value.x=0):l.value==="y"&&(w=((N=p.value)==null?void 0:N.y)||0,s.value.y=0);const x=`translate3d(${Math.round(h)}px, ${Math.round(w)}px, 0px)`;i.value&&(i.value.style.transform=x),f.value.x=h,f.value.y=w}function y(){if(!d.value||!i.value)return null;const h=d.value.getBoundingClientRect(),w=i.value.getBoundingClientRect(),x={top:h.top<w.top,right:h.right>w.right,bottom:h.bottom>w.bottom,left:h.left<w.left};return x.top||(s.value.y-=w.top-h.top),x.bottom||(s.value.y-=w.bottom-h.bottom),x.right||(s.value.x-=w.right-h.right),x.left||(s.value.x-=w.left-h.left),m(),x}function b(h){h&&(p.value&&h.subtract(p.value),s.value.set(h),m(),y())}function M(h){c.value&&o.value&&(h.stopPropagation(),h.preventDefault(),b(Ee.fromEvent(h,a.value)))}function C(){var h;c.value&&(c.value=!1,u.value.add(s.value),s.value.reset(),(h=i.value)==null||h.classList.remove("ng-dragging"),e.emit("stopMove"),document.removeEventListener("mousemove",M),document.removeEventListener("mouseup",C))}function F(){!c.value&&a.value&&(c.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",M),document.addEventListener("mouseup",C))}function T(){if(i.value){const h=Ee.getTransformInfo(i.value);u.value.set(h);return}u.value.reset()}function v(h){if(!n.value||h instanceof MouseEvent&&h.button===2)return;const w=h.target||h.srcElement;a.value!==void 0&&w&&!g(w,a.value)||o.value!==!1&&(document.body.click(),h.stopPropagation(),h.preventDefault(),p.value=Ee.fromEvent(h,i.value),T(),F())}function S(h,w,x){if(o.value&&w){if(h)a.value=h;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)a.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const E=w.querySelector(t.dragHandle);E&&(a.value=E)}}i.value=w,d.value=x,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",v)):o.value=!1}}return{registerDraggle:S,resetTranslate:T}}function At(t,e){if(t){const n=i=>{i.key.toLowerCase()===t.toLowerCase()&&e({event:i,key:t})};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}}}function ki(t,e){const n=r.ref(t.enableEsc);let i=null;return n.value?(i=At("Escape",o=>{e.emit("esc",{event:o.event,type:"esc"})}),{remove:i}):null}function Vi(t,e){const n=r.ref(t.enableEnter);let i=null;return n.value?(i=At("Enter",o=>{e.emit("enter",{event:o.event,type:"enter"})}),{remove:i}):null}const st=r.defineComponent({name:"FModal",props:Fi,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(t,e){const n=r.ref(t.width||300),i=r.ref(t.height||200),o=r.ref(t.modelValue),l=r.ref(""),a=r.ref(t.class),d=r.ref(t.fitContent),c=r.ref(t.showHeader),p=r.ref(""),u=r.ref(t.showCloseButton),s=r.ref(t.showMaxButton),f=r.ref(!1),g=r.ref(t.dialogType),m=r.ref(t.src),y=r.ref(""),b=r.ref(t.showButtons),M=r.ref(t.title),C=r.ref(t.containment||null),F=r.ref();M.value==="错误提示"&&(M.value=je.LocaleService.getLocaleValue("messageBox.errorTitle"));const T=r.ref(!1);function v(A,ie){const Me=ie?"accept":"cancel";Promise.resolve().then(()=>{var ue;return(ue=t.beforeClose)==null?void 0:ue.call(t,{closeType:Me})}).then(ue=>{ue&&(o.value=!1,e.emit("update:modelValue",!1),ie!=null&&e.emit(ie?"accept":"cancel"),e.emit("closed",A))})}const S=[{name:"cancel",text:je.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:A=>{v(A,!1)}},{name:"accept",text:je.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:A=>{v(A,!0)}}],h=r.ref(t.buttons&&t.buttons.length?t.buttons:S),w=r.computed(()=>!!p.value),x=r.computed(()=>!!b.value&&!!h.value),E=r.ref(),N=r.ref(),I=r.ref(!1),{renderResizeBar:B,maximize:V,restore:_,boundingElement:k,resizedEventParam:W,allowDrag:P,unWindowResizeHandle:L,moveToCenter:Y}=Ti(t),{registerDraggle:J}=_i(t,e,P);function re(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function _e(){const A=document.querySelectorAll(".farris-modal").length;(!A||A-1<=0)&&document.body.classList.remove("modal-open"),F.value&&F.value.classList.remove("show")}r.watch(()=>t.title,(A,ie)=>{A!==ie&&(M.value=A)}),r.watch(()=>t.modelValue,(A,ie)=>{A!==ie&&(o.value=A,o.value&&t.draggable&&r.nextTick(()=>{N.value&&!C.value&&(C.value=N.value.parentElement,k.value=C.value,J(E.value,N.value,k.value),Y())}),A||(C.value&&(C.value=null),_e())),o.value?T.value=re():(I.value=!1,P.value=t.draggable)}),r.watch(()=>t.showHeader,(A,ie)=>{A!==ie&&(c.value=A)}),r.watch(()=>t.showButtons,(A,ie)=>{A!==ie&&(b.value=A)}),r.watch(()=>W.value,(A,ie)=>{const Me=A||{},ue=ie||{};JSON.stringify(Me)!==JSON.stringify(ue)&&e.emit("resize",{newSize:A,oldSize:ie,isMaximized:I.value})}),r.watch([()=>t.width,()=>t.height],(A,ie)=>{(A[0]!==ie[0]||A[1]!==ie[1])&&(n.value=A[0]||500,i.value=A[1]||600)}),r.watch(()=>t.class,(A,ie)=>{a.value=A});const Ce=r.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),Se=r.computed(()=>{var Me;const A={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!t.showFloatingClose};A["f-modal-fitContent"]=!!d.value,A.show=!!Ce.value;const ie=(Me=t.maskClass)==null?void 0:Me.split(" ");return ie==null||ie.reduce((ue,qe)=>(ue[qe]=!0,ue),A),A}),R=r.computed(()=>{var Me;const A={"modal-dialog":!0},ie=(Me=a.value)==null?void 0:Me.split(" ");return ie==null||ie.reduce((ue,qe)=>(ue[qe]=!0,ue),A),A}),O=()=>X.isMobilePhone()&&!t.isMessager||!!t.fullscreen,j=r.computed(()=>{const A=document.documentElement.clientWidth,ie=document.documentElement.clientHeight,Me=Math.min(n.value,A),ue=t.position==="right"?"100%":d.value?"auto":`${Math.min(i.value,ie-10)}px`,qe=`${(window.innerHeight-(ue==="100%"||ue==="auto"?0:parseInt(ue)))/2}px`,ft=t.position==="right"?`${window.innerWidth-Me}px`:`${(window.innerWidth-Me)/2}px`,lt={position:"absolute",top:qe,left:ft,width:`${Me}px`,height:ue};return t.mask||(lt.pointerEvents="auto"),lt}),G=r.ref(X.getMaxZIndex()||1050),q=r.computed(()=>{const A={display:"block",overflow:"hidden"};return t.mask||(A.pointerEvents="none",A.backgroundColor="transparent"),T.value&&(A.backgroundColor="transparent"),A.zIndex=G.value,A}),ee=r.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value,"is-mobile":O()})),se=r.computed(()=>{const A={display:c.value?"":"none"};return A["pointer-events"]=P.value?"auto":"none",A}),ce=r.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:I.value})),pe=r.computed(()=>({"modal-body":!0,"f-utils-flex-column":g.value==="iframe","f-utils-fill":!0}));function he(){return{height:`${t.footerHeight||60}px`}}const ge=r.computed(()=>{const A={textAlgin:y.value},ie=he();return Object.assign(A,ie)});function Ie(A){if(A==null||A.stopPropagation(),I.value){I.value=!1,_();return}V(),I.value=!0}async function We(A,ie){A.handle?await A.handle(ie,A)&&e.emit("closed",ie):(typeof A.onClick=="string"&&(A.onButtonClick=Be.cloneDeep(A.onClick||""),delete A.onClick),e.emit("buttonClick",{button:A,$event:ie}))}function we(A){A.width&&(n.value=A.width),A.height&&(i.value=A.height),A.buttons&&(h.value=A.buttons),A.title&&(M.value=A.title)}let $=null,Q=null;r.onBeforeMount(()=>{T.value=re()}),r.onMounted(()=>{N.value&&!C.value&&(C.value=N.value.parentElement,k.value=C.value,J(E.value,N.value,k.value)),Ce.value&&document.body.classList.add("modal-open"),$=ki(t,e),Q=Vi(t,e)}),r.onUnmounted(()=>{L&&L(),$&&$.remove(),Q&&Q.remove()}),e.expose({modalElementRef:N,updateModalOptions:we,close:v,maxDialog:Ie,isMaximized:I});function U(){return r.createVNode("div",{class:"action-wrapper",onClick:A=>v(A,!1)},[r.createVNode("span",{class:"close-icon"},[r.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function ve(){return r.createVNode("ul",null,[f.value&&r.createVNode("li",{class:"f-btn-icon f-bare"},[r.createVNode("span",{class:"f-icon modal_minimize"},null)]),s.value&&r.createVNode("li",{onClick:Ie,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[r.createVNode("span",{class:ce.value},null)]),u.value&&r.createVNode("li",{class:"f-btn-icon f-bare",onClick:A=>v(A,!1),style:"pointer-events: auto;"},[r.createVNode("span",{class:"f-icon modal_close"},null)])])}function be(){return r.createVNode("div",{class:"modal-footer",style:ge.value},[h.value&&h.value.map(A=>{var ue;const ie=r.ref(A.disabled),Me=A.class||((ue=A.appearance)==null?void 0:ue.class);return r.createVNode("button",{name:A.name,type:"button",disabled:ie.value,class:Me+(A.iconClass?" btn-icontext":"")+(A.visible===!1?"d-none":""),onClick:qe=>{We(A,qe)}},[!!A.iconClass&&r.createVNode("i",{class:A.iconClass},null),A.text])})])}function Re(){return r.createVNode("div",{ref:E,class:"modal-header",style:se.value},[e.slots.headerTemplate?e.slots.headerTemplate():r.createVNode("div",{class:"modal-title"},[w.value&&r.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),r.createVNode("span",{class:"modal-title-label"},[M.value])]),r.createVNode("div",{class:"actions"},[ve()])])}function Je(){return e.slots.footerTemplate?e.slots.footerTemplate():x.value&&be()}function ct(A){if(A.stopPropagation(),t.allowClickMaskToClose){if(A.target!==F.value)return;v(A,!1)}}function ut(){var A,ie;return r.createVNode("div",{id:l.value,class:R.value,style:j.value,ref:N},[t.showFloatingClose&&U(),r.createVNode("div",{class:ee.value},[c.value&&Re(),r.createVNode("div",{class:pe.value},[(ie=(A=e.slots).default)==null?void 0:ie.call(A),g.value==="iframe"&&r.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:m.value},null)]),Je()]),!d.value&&N.value&&!I.value&&B(N.value)])}function Ge(A){return A||"body"}return r.watchEffect(()=>{Ce.value&&(G.value=X.getMaxZIndex()||1050)}),()=>r.createVNode(r.Teleport,{to:Ge(t.host)},{default:()=>[Ce.value&&r.createVNode(r.Transition,{name:"fade",appear:!0},{default:()=>[r.createVNode("div",{ref:F,class:Se.value,style:q.value,onClick:ct},[ut()])]})]})}});function Ht(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ei(t){const e=document.createElement("div");e.style.display="contents";const n=r.createApp({setup(i,o){r.onUnmounted(()=>{document.body.removeChild(e)});const l=r.ref(),a=r.ref(t.class||""),d=r.ref(!!t.showButtons),c=r.ref(!!t.showHeader),p=r.ref(t.showCloseButton==null?!0:t.showCloseButton),u=r.ref(!!t.showFloatingClose),s=r.ref(!0),f=r.ref(t.title||""),g=t.acceptCallback||(()=>{}),m=t.rejectCallback||(()=>{}),y=t.closedCallback||(T=>{}),b=t.resizeHandle||(T=>{}),M=t.stopMoveHandle||(T=>{}),C=Ht(t),F=T=>{s.value=!1,n.unmount(),y(T)};return r.onMounted(()=>{}),o.expose({modalRef:l}),()=>r.createVNode(st,{ref:l,class:a.value,modelValue:s.value,"onUpdate:modelValue":T=>s.value=T,title:f.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":c.value,"show-buttons":d.value,"show-close-button":p.value,"show-max-button":!1,showFloatingClose:u.value,onAccept:g,onCancel:m,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:F,onResize:b,onStopMove:M},{default:()=>[C&&C(n)]})}});return document.body.appendChild(e),n.use(je.LocaleService.i18n),n.mount(e),n}class Ii{constructor(e){ne(this,"appContext",null);ne(this,"modalRef",r.ref());ne(this,"activeModalIndex",r.ref(0));ne(this,"modalRefs",{});ne(this,"isUseEscCloseModal",r.ref(!1));ne(this,"activeModalInstance",r.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=e,this.appContext=e?e._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(e,n){const{width:i,height:o}={width:window.innerWidth,height:window.innerHeight};return i<e&&(e=i-14),o<n&&(n=o-14),{width:e,height:n}}static show(e){const n=Object.assign({title:"",showButtons:!0,showHeader:!0},e);return Ei(n)}close(e){var n,i;e?(i=e.value)==null||i.close():(n=this.getCurrentModal())==null||n.close()}open(e){const n=document.createDocumentFragment();e.showMaxButton&&e.fitContent&&(e.showMaxButton=!1);const i=r.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},e)),o=r.ref(!0),l=i.value.acceptCallback||(()=>{}),a=i.value.rejectCallback||(()=>{}),d=i.value.closedCallback||((v,S)=>{}),c=i.value.resizeHandle||(v=>{}),p=e.stopMoveHandle||(v=>{});let u;const s=Ht(i.value),f=v=>{var h;o.value=!1;const S=(h=v==null?void 0:v.target)==null?void 0:h.classList.contains("modal_close");d(v,this.isUseEscCloseModal.value?"esc":S?"icon":"button")},g=v=>{f(v),u&&r.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],r.render(null,n),u=null,this.modalRef.value=null,this.modalRefs){const S=Object.keys(this.modalRefs).map(h=>Number(h));S.length>0?this.activeModalIndex.value=Math.max(...S):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},m=v=>{var S;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((S=this.activeModalInstance.value)==null||S.close(v==null?void 0:v.event))},{width:y,height:b}=i.value,M=this.adaptToWindow(y||500,b||320);Object.assign(i.value,M);const C=()=>r.createVNode(st,r.mergeProps({ref:this.modalRef,modelValue:o.value,"onUpdate:modelValue":v=>o.value=v},i.value,{isMessager:i.value.class&&i.value.class.indexOf("modal-message")>-1,onAccept:l,onCancel:a,onClosed:g,onResize:c,onEsc:m,onStopMove:p}),{default:()=>[s&&s(this.app)]});return u=(v=>{const S=r.h(C,v);return S.appContext=this.appContext,r.render(S,n),S})({...i.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:v=>{i.value={...i.value,...v},u&&r.render(r.cloneVNode(u,{...i}),n)},destroy:g,modalRef:this.activeModalInstance,close:()=>this.close()}}}const $t=Symbol("FModalService");st.install=t=>{t.component(st.name,st);const e=new Ii(t);t.provide($t,e),t.provide("FModalService",e)};function zt(t,e){function n(){const i=t.beforeOpen||t.beforeClickButton||null;let o=Promise.resolve(!0);if(i){const l=i(e.value);if(typeof l>"u")return o;typeof l=="boolean"?o=Promise.resolve(l):o=l}return o}return{judgeCanOpen:n}}function Pi(t,e,n,i,o){const l=r.ref(t.buttonBehavior),a=r.ref(t.popupOnInput),d=r.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:c}=zt(t,o),p=r.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),u=r.inject($t,null),s=r.ref();async function f(y){if(await c()&&p.value){const b=!!e.slots.default;if(l.value==="Modal"){const M=t.modalOptions,C=u==null?void 0:u.open({...M,render:()=>e.slots.default&&e.slots.default()});s.value=C==null?void 0:C.modalRef}l.value==="Overlay"&&Mi.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>e.slots.default&&e.slots.default()}),b&&l.value==="Popup"&&i.togglePopup(!0),b&&a.value&&i.hidePopup(),e.emit("clickButton",{origin:y,value:t.modelValue})}}function g(y){e.emit("mouseEnterIcon",y)}function m(y){e.emit("mouseLeaveIcon",y)}return{buttonGroupClass:d,onClickButton:f,onMouseEnterButton:g,onMouseLeaveButton:m,modalRef:s}}function Ni(t,e,n,i,o,l){const a=r.ref(!1),d=r.computed(()=>t.enableClear&&!t.readonly&&!t.disable),{changeTextBoxValue:c,hasClearClass:p}=l;function u(m){a.value=m,p.value=m}r.watch(o,()=>{u(!!o.value)});function s(m){const y=!t.readonly&&!t.disable&&t.editable,b=!t.editable;m.stopPropagation(),(y||b)&&(c(""),o.value="",u(!a.value),e.emit("clear"))}function f(m){if(d.value){if(!n.value){u(!1);return}!t.disable&&!t.readonly&&u(!0)}}function g(m){d.value&&u(!1)}return{enableClearButton:d,showClearButton:a,onClearValue:s,onMouseEnterTextBox:f,onMouseLeaveTextBox:g}}function Bi(t,e,n,i,o){const l=r.computed(()=>t.popupOnInput),a=r.computed(()=>t.popupOnFocus),{shouldPopupContent:d,closeAllPopover:c}=o,p=r.ref(!1),u=r.computed(()=>t.enableTitle?n.value:""),s=r.computed(()=>(t.disable||t.readonly)&&!t.forcePlaceholder?"":t.placeholder),f=r.computed(()=>t.readonly||!t.editable),g=r.ref(!1),m=r.computed(()=>!t.disable&&g.value),y=r.computed(()=>({"text-left":t.textAlign==="left","text-center":t.textAlign==="center","text-right":t.textAlign==="right","form-control":!0,"f-utils-fill":!0})),b=r.computed(()=>({"input-group":!0,"f-state-disabled":t.disable,"f-state-editable":t.editable&&!t.disable&&!t.readonly,"f-state-readonly":t.readonly,"f-state-focus":m.value,"input-group--has-clear":t.enableClear&&p.value}));function M(N,I=!0){n.value=N,I&&(e.emit("change",N),e.emit("update:modelValue",N))}function C(N){d.value=!1,M(N,!0)}r.watch(()=>t.modelValue,N=>{n.value=N});function F(N){g.value=!1,e.emit("blur",N),N.stopPropagation()}function T(N){e.emit("click",N),c(),e.slots.default&&!t.disable&&!t.readonly&&t.popupOnClick&&o.togglePopup()}function v(N){!t.disable&&!t.readonly&&(g.value=!0,f.value||(e.emit("focus",N),a.value&&!d.value&&o.popup()))}function S(N){e.emit("input",N);const I=N.target.value;i.value=I,n.value!==I&&M(I,t.updateOn==="change"),l.value&&!d.value&&o.popup()}function h(N){N.target.tagName!=="INPUT"&&N.preventDefault(),N.stopPropagation()}function w(N){e.emit("keydown",N)}function x(N){N.key==="Enter"&&(l.value||a.value)&&o.hidePopup(),e.emit("keyup",N)}function E(N){const I=N.target.value;N.stopPropagation(),M(I)}return{hasFocusedTextBox:m,isTextBoxReadonly:f,textBoxClass:y,textBoxPlaceholder:s,textBoxTitle:u,inputGroupClass:b,hasClearClass:p,changeTextBoxValue:M,commitValue:C,onBlurTextBox:F,onClickTextBox:T,onFocusTextBox:v,onInput:S,onKeyDownTextBox:w,onKeyUpTextBox:x,onMouseDownTextBox:h,onTextBoxValueChange:E}}const it="FarrisVue_PopoverInstancesKey";function Oi(t,e,n,i){const o=r.ref(),l=r.ref(!1),{judgeCanOpen:a}=zt(t,i);r.watch(()=>o.value,(g,m)=>{window[it]=window[it]||new WeakMap,g?window[it].set(n.value,g):window[it].delete(n.value)});function d(){if(window[it]){const g=window[it];document.querySelectorAll(".f-button-edit,.v-popover").forEach(m=>{const y=g.get(m);y&&m!==n.value&&!n.value.closest(".popover-fitcontent")&&y.hide()})}}function c(){const g=o.value;g&&g.show(n.value)}async function p(g=!1){if(!!e.slots.default){if(!g&&!l.value&&!await a())return;l.value=!l.value,l.value&&(await r.nextTick(),c())}}async function u(g=!1){if(!!e.slots.default){if(!g&&!await a())return;l.value=!0,await r.nextTick(),c()}}function s(){l.value=!1}function f(){l.value=!0,r.nextTick(()=>{c()})}return{hidePopup:s,showPopup:f,popup:u,shouldPopupContent:l,togglePopup:p,popoverRef:o,closeAllPopover:d}}function ji(t,e,n){const i=r.ref(),{isTextBoxReadonly:o,textBoxClass:l,textBoxPlaceholder:a,textBoxTitle:d,onBlurTextBox:c,onClickTextBox:p,onFocusTextBox:u,onInput:s,onKeyDownTextBox:f,onKeyUpTextBox:g,onMouseDownTextBox:m,onTextBoxValueChange:y}=n,b=r.ref(t.id),{uuid:M}=X.useGuid(),C=r.computed(()=>({}));r.onMounted(()=>{var h,w;t.selectOnCreated&&((h=i.value)==null||h.select()),t.focusOnCreated&&((w=i.value)==null||w.focus({preventScroll:!0})),b.value||(b.value="button-edit_"+M(8)),b.value=b.value+"-textbox"});const F=r.ref(!1),T=h=>{h.preventDefault(),F.value=!0},v=h=>{h.preventDefault(),F.value=!1,s(h)};function S(h){F.value||s(h)}return()=>r.createVNode("input",{id:t.id?t.id+"-textbox":void 0,ref:i,name:"input-group-value",autocomplete:t.autoComplete?"on":"off",class:l.value,style:C.value,disabled:t.disable,maxlength:t.maxLength,minlength:t.minLength,placeholder:a.value,readonly:o.value,tabindex:t.tabIndex,title:d.value,type:t.inputType,value:e.value,onBlur:c,onChange:y,onClick:p,onFocus:u,onInput:S,onKeydown:f,onKeyup:g,onMousedown:m,onCompositionend:v,onCompositionstart:T},null)}function Ri(t,e,n){const i=r.ref(t.separator),o=r.computed(()=>t.readonly||t.disable),{changeTextBoxValue:l,onFocusTextBox:a,onBlurTextBox:d,onClickTextBox:c,textBoxPlaceholder:p}=n,u=r.computed(()=>e.value?e.value.split(i.value).map(m=>({name:m,selectable:!0})):[]);function s(m){l(m.map(y=>y.name).join(i.value),!0)}r.watch(()=>t.separator,m=>{i.value=m});const f=r.ref(!t.disable&&!t.readonly);r.watch([()=>t.disable,()=>t.readonly],([m,y],[b,M])=>{f.value=!m&&!y});function g(m){c(m)}return()=>r.createVNode(Cn,{tabindex:t.tabIndex,onFocus:a,onBlur:d,id:`${t.id}-tag-editor`,class:"form-control",placeholder:p.value,data:u.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:s,onClick:g},null)}function Li(t,e,n,i){const{buttonGroupClass:o,onClickButton:l,onMouseEnterButton:a,onMouseLeaveButton:d}=n,{enableClearButton:c,showClearButton:p,onClearValue:u}=i,s=r.ref(),f=Be.debounce(b=>{l(b)},t.buttonBehavior==="Modal"?0:200),g=()=>{e.emit("beforeClearValue")},m=r.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":t.expandMode==="button","input-append-text":t.expandMode==="text","d-none":!!t.expandDisabled})),y=()=>{e.emit("expandClick")};return{renderButtonGroup:()=>r.createVNode("div",{id:t.id?`${t.id}-button-group`:void 0,class:o.value},[c.value&&r.withDirectives(r.createVNode("span",{class:"input-group-text input-group-clear",onClick:u,onMousedown:g},[r.createVNode("i",{class:"f-icon modal_close"},null)]),[[r.vShow,p.value]]),e.slots.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",onClick:f,onMouseenter:a,onMouseleave:d},[e.slots.buttonContent()]):t.buttonContent?r.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:s,onClick:b=>f(b),onMouseenter:a,onMouseleave:d},null):null,t.expandable&&r.createVNode("div",{class:m.value,onClick:y},[r.createVNode("div",{class:"input-group-text"},[t.expandContent])])]),buttonHandleElement:s}}function Ai(t,e,n){const i=r.ref(t.popupMinWidth),{hidePopup:o,popoverRef:l}=n,a=()=>{e.emit("shown")};return()=>r.createVNode(yn,{id:`${t.id}-popover`,ref:l,placement:t.placement,host:t.popupHost,"keep-width-with-reference":t.keepWidthWithReference,fitContent:!0,"right-boundary":t.popupRightBoundary,minWidth:i.value,class:t.popupClass,offsetX:t.popupOffsetX,onHidden:o,onShown:a,beforeClose:t.beforeClosePopup,limitContentBySpace:t.limitContentBySpace},{default:()=>{var d,c;return[(c=(d=e.slots).default)==null?void 0:c.call(d)]}})}const Hi=r.defineComponent({name:"FButtonEdit",props:bi,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","expandClick"],setup(t,e){const n=r.ref(),i=r.ref(t.customClass),o=r.ref(t.modelValue),l=Oi(t,e,n,o),{shouldPopupContent:a,hidePopup:d,showPopup:c,togglePopup:p}=l,u=Pi(t,e,n,l,o),s=r.ref(""),f=Bi(t,e,o,s,l),{hasFocusedTextBox:g,commitValue:m,inputGroupClass:y}=f,b=Ni(t,e,o,g,s,f),{onMouseEnterTextBox:M,onMouseLeaveTextBox:C}=b,F=r.ref(!1),T=r.computed(()=>{const k={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((W,P)=>(W[P]=!0,W),k),k}),v=r.computed(()=>({overflow:t.wrapText?"hidden":""})),S=r.computed(()=>({}));function h(){if(!t.multiSelect||t.inputType!=="tag"||!n.value)return 0;let k=0;const W=Array.from(n.value.querySelectorAll(".farris-tag-item"));return W&&W.length&&(k=W.map(P=>P.offsetTop).filter(P=>P>20).length),k}const w=r.ref(h());r.onUpdated(()=>{w.value=h()});function x(){return t.multiSelect&&t.inputType==="tag"?()=>r.createVNode(r.Fragment,null,[Ri(t,o,f)(),!!w.value&&r.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[r.createVNode("span",{class:"multi--more-text"},[r.createTextVNode("+"),w.value])])]):ji(t,o,f)}let E=x();r.watch([()=>t.multiSelect,()=>t.inputType],()=>{E=x()});const{renderButtonGroup:N,buttonHandleElement:I}=Li(t,e,u,b),B=Ai(t,e,l),V=r.ref(a.value),_={displayText:s,commitValue:m,elementRef:n,hidePopup:d,showPopup:c,popoverRef:l.popoverRef,shouldPopupContent:a,togglePopup:p,openDialog:()=>{I.value&&t.buttonBehavior==="Modal"&&I.value.click()},getModal:()=>{var k;return t.buttonBehavior==="Modal"?(k=u.modalRef.value)==null?void 0:k.value:null},getTextbox:()=>{var k;return(k=n.value)==null?void 0:k.querySelector("input")},forceClosePopup:()=>{V.value=!1,F.value=!0,a.value=!1}};return r.onMounted(()=>{n.value.componentInstance=_,window.onresize=()=>{document.body.click()}}),r.onBeforeUnmount(()=>{var k;window.onresize=null,(k=window[it])==null||k.delete(n.value)}),e.expose(_),r.watch(()=>a.value,async(k,W)=>{if(F.value){V.value=k,F.value=!1;return}if(!k&&t.beforeClosePopup&&typeof t.beforeClosePopup=="function"){try{const P=await t.beforeClosePopup();V.value=!P,(!P||t.readonly)&&(a.value=!0)}catch(P){console.error("Error in beforeClosePopup:",P),V.value=W,a.value=W}return}V.value=k}),()=>{var k,W;return r.createVNode(r.Fragment,null,[r.createVNode("div",r.mergeProps(e.attrs,{ref:n,class:T.value,id:t.id?t.id:void 0,style:v.value}),[r.createVNode("div",{id:t.id?`${t.id}-input-group`:void 0,class:y.value,style:S.value,onMouseenter:M,onMouseleave:C},[(W=(k=e.slots).precontent)==null?void 0:W.call(k),E(),N()])]),V.value&&B()])}}}),ht=new Map([["appearance",$e.resolveAppearance],["column","columnOption"],["command","commandOption"]]),Wt=new Map([]),$i="root-viewmodel";class zi{constructor(e,n){ne(this,"formSchemaUtils");ne(this,"controlCreatorUtils");ne(this,"designViewModelUtils");ne(this,"useFormCommand");ne(this,"formStateMachineUtils");this.resolver=e,this.designerHostService=n,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(e){const n=this.createComponentRefNode(e),i=this.createComponentNode(e),o=this.createViewModeNode(e),l=this.formSchemaUtils.getFormSchema();return l.module.viewmodels.push(o),l.module.components.push(i),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(n,e,o)}wrapContainerSectionForComponent(e,n,i){var c,p,u,s,f,g,m,y,b,M,C;const o=(p=(c=n==null?void 0:n.parentComponentInstance)==null?void 0:c.schema)==null?void 0:p.type,l=(f=(s=(u=n==null?void 0:n.parentComponentInstance)==null?void 0:u.schema)==null?void 0:s.appearance)==null?void 0:f.class,a=(m=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:m.templateId;if(o===z.DgControl["splitter-pane"].type&&(l!=null&&l.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(a))return e;const d=[z.DgControl["content-container"].type,z.DgControl["response-layout-item"].type,z.DgControl["splitter-pane"].type,z.DgControl.drawer.type];if(o&&d.includes(o)){const F=this.resolver.getSchemaByType("section",{parentComponentInstance:n.parentComponentInstance,mainTitle:n.componentName},this.designerHostService);if(F&&F.contents&&F.contents.length){const T=F.contents[0];return T.contents=[e],this.appendAddDeleteBtnToParentContainer(T,n,i),F}}return this.appendAddDeleteBtnToParentContainer((y=n==null?void 0:n.parentComponentInstance)==null?void 0:y.schema,n,i),o===z.DgControl["tab-page"].type&&(b=n.parentComponentInstance)!=null&&b.parent&&(M=n.parentComponentInstance)!=null&&M.parent.updateToolbarItems&&((C=n.parentComponentInstance)==null||C.parent.updateToolbarItems()),e}appendAddDeleteBtnToParentContainer(e,n,i){const o=e.type,l=i.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(n.bindTo==="/"||n.componentType!=="data-grid"&&n.componentType!=="form")return;const a=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),d=z.DgControl["tab-page"].type===o?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(d),p=[Object.assign({},c,{id:`button-add-${n.componentId}`,type:d,text:"新增",disabled:a.find(u=>u.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}AddItem1`}),Object.assign({},c,{id:`button-remove-${n.componentId}`,type:d,text:"删除",disabled:a.find(u=>u.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${i.id}.${l}RemoveItem1`})];e.toolbar||(e.toolbar={id:`${e.id}_toolbar`,type:z.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar",buttons:[]}),e.toolbar.id||(e.toolbar.id=`${e.id}_toolbar`),e.toolbar.type||(e.toolbar.type=z.DgControl["tab-page"].type===o?"tab-toolbar":"section-toolbar"),e.toolbar.buttons||(e.toolbar.buttons=[]),e.toolbar.buttons=e.toolbar.buttons.concat(p),this.appendAddAndDeleteCommands(i),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(e){var u;const n=e.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),i=X.useGuid().guid(),o=X.useGuid().guid(),l=this.resolveCommandController(),a={id:i,code:`${n}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:l,shortcut:{},extensions:[]},d={id:o,code:`${n}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${e.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:l,shortcut:{},extensions:[]};(u=this.designerHostService.designerContext)!=null&&u.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(a),this.designerHostService.designerContext.appendIdentifyForNewCommand(d)),e.commands.push(a,d),this.formSchemaUtils.getFormSchema().module.webcmds.find(s=>s.id===l).refedHandlers.push({host:i,handler:"AddItem"},{host:o,handler:"RemoveItem"})}resolveCommandController(){const e=this.formSchemaUtils.getFormSchema().module.webcmds,n=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],i=e.find(l=>n.includes(l.id));if(i)return i.id;const o="45be24f9-c1f7-44f7-b447-fe2ada458a61";return e.push({id:o,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),o}createComponentRefNode(e){const n=this.resolver.getSchemaByType("component-ref");return Object.assign(n,{id:`${e.componentId}-component-ref`,component:`${e.componentId}-component`}),n}createComponentNode(e){const n=this.resolver.getSchemaByType("component"),i=this.createDateGridComponentContents(e);return Object.assign(n,{id:`${e.componentId}-component`,viewModel:`${e.componentId}-component-viewmodel`,componentType:e.componentType,appearance:{class:this.getDataGridComponentClass(e)},contents:i}),n}createViewModeNode(e){return{id:`${e.componentId}-component-viewmodel`,code:`${e.componentId}-component-viewmodel`,name:e.componentName,bindTo:e.bindTo,parent:$i,fields:this.assembleViewModelFields(e),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(e){var l,a,d,c;const{templateId:n}=this.formSchemaUtils.getFormSchema().module,i=(l=e.parentComponentInstance)==null?void 0:l.schema,o=(a=i==null?void 0:i.appearance)==null?void 0:a.class;if(n==="double-list-in-tab-template"&&(i==null?void 0:i.type)==="tab-page"){const p=((d=e.parentComponentInstance)==null?void 0:d.parent)&&((c=e.parentComponentInstance)==null?void 0:c.parent.schema);if((p==null?void 0:p.type)==="tabs"&&(p==null?void 0:p.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(n)&&(o!=null&&o.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(e){var f,g,m,y,b;const n=(f=e.parentComponentInstance)==null?void 0:f.schema,i=(m=(g=n==null?void 0:n.schema)==null?void 0:g.appearance)==null?void 0:m.class,{templateId:o}=this.formSchemaUtils.getFormSchema().module;let l,a=!1;if(o==="double-list-in-tab-template"&&(n==null?void 0:n.type)==="tab-page"){const M=((y=e.parentComponentInstance)==null?void 0:y.parent)&&((b=e.parentComponentInstance)==null?void 0:b.parent.schema);(M==null?void 0:M.type)==="tabs"&&(M==null?void 0:M.fill)===!0&&(a=!0)}if(a){const M=this.resolver.getSchemaByType("section");Object.assign(M,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),l=M}else if((o==="double-list-template"||o==="tree-list-template")&&(i!=null&&i.includes("f-page-content-main"))){const M=this.resolver.getSchemaByType("section");Object.assign(M,{id:e.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),l=M}else{const M=this.resolver.getSchemaByType("content-container");Object.assign(M,{id:e.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),l=M}const d=this.resolver.getSchemaByType("data-grid"),c=[],p=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),u=e.editable&&p.length>0&&p.findIndex(M=>M.id==="editable")>-1;Object.assign(d,{id:e.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:u,dataSource:e.dataSource||"",editable:u?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!e.editable}}),l.contents=[d];const{selectedFields:s}=e;return s==null||s.forEach(M=>{if(M.$type===X.FormSchemaEntityField$Type.ComplexField)return;const C=Be.cloneDeep(M),F=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",C,"",u);F&&c.push(F)}),[l]}assembleViewModelFields(e){const n=[],{selectedFields:i}=e;return i==null||i.forEach(o=>{if(o.$type===X.FormSchemaEntityField$Type.ComplexField)return;let l="blur";const a=o.type.name;(a===X.FormSchemaEntityFieldTypeName.Enum||a===X.FormSchemaEntityFieldTypeName.Boolean)&&(l="change"),n.push({type:"Form",id:o.id,fieldName:o.bindingField,groupId:null,groupName:null,updateOn:l,fieldSchema:{}})}),n}}function yt(t,e,n,i){var l,a,d,c,p,u,s;const o=n.parentComponentInstance;if(o&&i){const f=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${f}`,componentName:((l=n.bindingSourceContext)==null?void 0:l.entityTitle)||((d=(a=n.bindingSourceContext)==null?void 0:a.bindingEntity)==null?void 0:d.name)||`表格-${f}`,componentType:"data-grid",parentContainerId:o.schema.id,parentComponentInstance:o,editable:!0,bindTo:((c=n.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(u=(p=n.bindingSourceContext)==null?void 0:p.bindingEntity)==null?void 0:u.label,selectedFields:(s=n.bindingSourceContext)==null?void 0:s.bindingEntityFields};return new zi(t,i).createComponent(g)}else return e}function Gt(t,e,n){return e}const qt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null}},required:["id","type"]},Ft={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function}};$e.createPropsResolver(Ft,qt,ht,yt);const Wi=$e.getPropsResolverGenerator(Ft,qt,ht,yt),Gi=new Map([["appearance",$e.resolveAppearance]]);function qi(t,e,n){return e}const Ui={title:"transfer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Di={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/transfer.schema.json",title:"transfer",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for transfer",type:"string"},type:{description:"The type string of transfer",type:"string",default:"transfer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Ut={dataSource:{type:Array,default:[]},displayType:{type:String,default:"List"},enableSearch:{type:Boolean,default:!0},identifyField:{type:String,default:"id"},textField:{type:String,default:"name"},placeholder:{type:String,default:""},selections:{type:Array,default:[]},selectionValues:{type:Array,default:[]},virtualized:{type:Boolean,default:!1},rowOption:{type:Object},columns:{type:Array,default:[{field:"name",title:"",dataType:"string",width:"100%"}]},checkBeforeRemoveItem:{type:Function,default:null},selectedItemClass:{Type:[String,Function],default:"draggable-item--text-truncate",validator:t=>typeof t=="string"||typeof t=="function"}};$e.createPropsResolver(Ut,Di,Gi,qi,Ui);const Yi={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},multiSelectMode:{type:String,default:"OnCheck"},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}}};function Xi(t,e){function n(l){const a=[];let d=l.nextNode();for(;d;)a.push(d),d=l.nextNode();return a}function i(l,a){const d=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return n(d).map(s=>({textNode:s,text:(s.textContent||"").toLocaleLowerCase()})).map(({textNode:s,text:f})=>{const g=[];let m=0;for(;m<f.length;){const y=f.indexOf(a,m);if(y===-1)break;g.push(y),m=y+a.length}return g.map(y=>{const b=new Range;return b.setStart(s,y),b.setEnd(s,y+a.length),b})}).flat()}function o(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!e))return;const a=i(e.value,l.toLocaleLowerCase()),d=new Highlight(...a);CSS.highlights.set("search-result",d)}return{search:o}}function Dt(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.size),s=r.ref(t.textField),f=r.ref(t.titleField),g=r.ref(t.disableField),m=r.computed(()=>{var x,E;return((x=t.selection)==null?void 0:x.multiSelect)&&((E=t.selection)==null?void 0:E.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:b,onMouseoutItem:M}=l,{getKey:C,listViewItemClass:F,listViewItemStyle:T,onCheckItem:v,onClickItem:S}=a,h=r.computed(()=>{const x={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?x:{margin:u.value==="small"?"0.25rem 0":"8px 0",...x}});function w(x,E,N){return x.checked=d.findIndexInSelectedItems(x)>-1,r.createVNode("li",{class:F(x,E),id:C(x,E),key:C(x,E),style:T(x,E),onClick:I=>S(x,E,I),onMouseenter:I=>y(I,x,E),onMouseover:I=>b(I,x,E),onMouseout:I=>M(I,x,E)},[m.value&&r.createVNode("div",{class:"f-list-select",onClick:I=>I.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+C(x,E),customClass:"listview-checkbox float-left",disabled:x[g.value],checked:x.checked,"onUpdate:checked":I=>x.checked=I,onChange:I=>{v(x,E,!I.checked)}},null)]),r.createVNode("div",{class:"f-list-content"},[r.createVNode("div",{class:t.itemContentClass,style:h.value,title:x.raw[f.value]||x.raw[s.value]},[x.raw[s.value]])])])}return{renderItem:w}}function Zi(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.multiSelect),s=r.ref(t.disableField),f=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:m,onMouseoutItem:y}=l,{getKey:b,listViewItemClass:M,listViewItemStyle:C,onCheckItem:F,onClickItem:T,updateSelectedItems:v}=a;function S(w,x,E){return t.contentTemplate?r.createVNode(r.Fragment,null,[t.contentTemplate({item:w.raw,index:x,selectedItem:E})]):e.slots.content?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.content({item:w.raw,index:x,selectedItem:E})]):r.createVNode("div",{style:"margin: 10px 0;"},[w.raw[f.value||"name"]])}function h(w,x,E){return r.createVNode("li",{class:M(w,x),id:b(w,x),key:b(w,x),style:C(w,x),onClick:N=>T(w,x,N),onMouseenter:N=>g(N,w,x),onMouseover:N=>m(N,w,x),onMouseout:N=>y(N,w,x)},[u.value&&r.createVNode("div",{class:"f-list-select",onClick:N=>N.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+b(w,x),customClass:"listview-checkbox",disabled:w[s.value],checked:w.checked,"onUpdate:checked":N=>w.checked=N,onChange:N=>{F(w,x,!N.checked),v()}},null)]),r.createVNode("div",{class:"f-list-content"},[S(w,x,E)])])}return{renderItem:h}}function Ji(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.multiSelect),s=r.ref(t.disableField),f=r.ref(t.textField),{onMouseenterItem:g,onMouseoverItem:m,onMouseoutItem:y}=l,{getKey:b,listViewItemClass:M,onCheckItem:C,onClickItem:F}=a,{dragstart:T,dragenter:v,dragover:S,dragend:h}=i,{removeItem:w}=c,x=r.computed(()=>({margin:u.value?"10px 0":"10px 0px 10px 14px"}));function E(_,k=""){const W=_.target;W.title=W.scrollWidth>W.clientWidth?k:""}function N(_){return r.createVNode("div",{style:x.value,onMouseenter:k=>E(k,_.raw[f.value||"name"])},[_.raw[f.value||"name"]])}function I(){return e.slots.itemContent?e.slots.itemContent:N}const B=I();function V(_,k,W){return r.createVNode("li",{class:M(_,k),id:b(_,k),key:b(_,k),onClick:P=>F(_,k,P),onMouseenter:P=>g(P,_,k),onMouseover:P=>m(P,_,k),onMouseout:P=>y(P,_,k),draggable:"true",onDragstart:P=>T(P,_,k),onDragenter:P=>v(P,k),onDragend:P=>h(P,_),onDragover:P=>S(P)},[u.value&&r.createVNode("div",{class:"f-list-select",onClick:P=>P.stopPropagation()},[r.createVNode(St.FCheckbox,{id:"list-"+b(_,k),customClass:"listview-checkbox",disabled:_[s.value]||!_.checked,checked:_.checked,"onUpdate:checked":P=>_.checked=P,onChange:P=>C(_,k,!P.checked)},null)]),r.createVNode("div",{class:"f-list-content"},[B(_)]),r.createVNode("div",{class:"f-list-remove",onClick:P=>{P.stopPropagation(),w(k)}},[r.createVNode("div",{class:"f-list-remove-icon"},[r.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),r.createVNode("div",{class:"f-list-handle"},[r.createVNode("div",null,[r.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:V}}function Qi(t,e,n,i,o,l,a,d,c,p){var b;const u=r.ref(((b=t.group)==null?void 0:b.groupFields)||[]),{collpaseGroupIconClass:s}=o,{toggleGroupRow:f}=p;function g(M,C){C.collapse=!C.collapse,n.value=f(C.collapse?"collapse":"expand",C,n.value)}function m(M,C,F){return e.slots.group?r.createVNode(r.Fragment,null,[e.slots.content&&e.slots.group({item:M.raw,index:C,selectedItem:F})]):r.createVNode("div",{class:"f-navlookup-recentHeader",onClick:T=>g(T,M)},[r.createVNode("div",{class:"fv-grid-group-row-icon"},[r.createVNode("span",{class:s(M)},null)]),r.createVNode("div",{class:"f-navlookup-recommandLabel"},[M.raw[u.value[M.layer]]])])}function y(M,C,F){return M.layer>-1&&m(M,C,F)}return{renderItem:y}}function Ki(t,e,n,i){const{dataView:o}=n,{updateSelectedItems:l}=i;function a(d){if(d>-1&&d<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[d]))return;const c=o.value.splice(d,1);l(),e.emit("removeItem",c[0])}}return{removeItem:a}}function eo(t,e,n,i,o,l,a,d,c,p){const u=r.ref(t.view),s=r.ref(t.view==="CardView"),f=r.ref({}),g=Ki(t,e,i,c),m=r.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":s.value,"flex-wrap":s.value})),y=r.computed(()=>!!n.value&&n.value.length>0),b=r.computed(()=>n.value.length===0);r.computed(()=>b.value&&!e.slots.empty);function M(){return u.value==="SingleView"?Dt:u.value==="DraggableView"?Ji:(u.value==="ContentView"||u.value==="CardView")&&(t.contentTemplate||e.slots.content)?Zi:Dt}const C=M(),{renderItem:F}=C(t,e,n,p,o,l,c,a,g,d),{renderItem:T}=Qi(t,e,n,p,o,l,c,a,g,d),v=[F,T];function S(){return n.value.filter(x=>x.visible!==!1).map((x,E)=>v[x.type](x,E,f))}function h(){return r.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[r.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():e.slots.empty?e.slots.empty():je.LocaleService.getLocaleValue("listView.emptyMessage")])])}function w(){return r.createVNode("ul",{class:m.value,style:"list-style: none;"},[y.value&&S(),b.value&&h()])}return{renderListArea:w}}function to(t,e,n){function i(){return e.slots.header&&r.createVNode("div",{class:"f-list-view-header"},[e.slots.header()])}return{renderHeader:i}}function Yt(t,e,n){const i=r.ref(t.headerClass),o=r.ref(t.placeholder),l=r.ref(""),a=r.computed(()=>!l.value),d=r.computed(()=>!!l.value);function c(f){l.value=""}r.watch(l,f=>{t.enableHighlightSearch&&n.search(f),e.emit("afterSearch",f)});const p=r.computed(()=>{const f={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((m,y)=>(m[y]=!0,m),f),f});function u(f){}function s(){return r.createVNode("div",{class:"f-list-view-header",onClick:r.withModifiers(()=>u,["prevent","stop"])},[r.createVNode("div",{class:p.value},[r.createVNode("div",{class:"farris-input-wrap"},[r.createVNode("div",{class:"f-cmp-inputgroup"},[r.createVNode("div",{class:"input-group f-state-editable"},[r.withDirectives(r.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":f=>l.value=f,name:"input-group-value",type:"text",placeholder:o.value,autocomplete:"off"},null),[[r.vModelText,l.value]]),r.createVNode("div",{class:"input-group-append"},[d.value&&r.createVNode("span",{class:"input-group-text input-group-clear",onClick:f=>c()},[r.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),a.value&&r.createVNode("span",{class:"input-group-text"},[r.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:s}}function no(){const t=r.ref(""),e=r.ref(-1),n=r.ref(""),i=r.ref(-1),o=r.ref(!1);function l(s,f,g){i.value=g}function a(s,f,g){o.value||(i.value=g)}function d(s,f,g){i.value=-1}function c(){o.value=!0}function p(){o.value=!1}function u(){e.value=-1,t.value=""}return{activeIndex:e,focusedItemId:n,hoverIndex:i,clearActiveItem:u,onMouseenterItem:l,onMouseoverItem:a,onMouseoutItem:d,resumeHover:p,suspendHover:c}}function io(t,e,n,i){const o=r.ref(t.idField),{dataView:l}=n,a=r.ref(-1),d=r.ref(!1),{activeIndex:c,focusedItemId:p,hoverIndex:u,resumeHover:s,suspendHover:f}=i;let g,m=0,y=0;function b(S,h){const w=S-m,x=h-y;g.style.left=parseInt(g.style.left)+w+"px",g.style.top=parseInt(g.style.top)+x+"px",m=S,y=h}function M(S){const{left:h,top:w}=S.getBoundingClientRect(),x=S.cloneNode(!0);return x.className=x.className+" f-listview-drag-moving",x.style.cssText=`
|
|
2
2
|
position:absolute;
|
|
3
3
|
left:${h}px;
|
|
4
4
|
top:${document.documentElement.scrollTop?w+document.documentElement.scrollTop:w}px;
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
`,x.children[0].style.cssText="overflow: hidden;flex: 1 1 auto;width: 100%;",x.children[0].children[0].style.cssText=`
|
|
16
16
|
margin: 10px 0px 10px 14px;
|
|
17
17
|
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
|
|
18
|
-
`,x.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",x.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(x),x}function C(S,h,w){if(S.stopPropagation(),f(),h){if(g=M(S.target),S.dataTransfer){const x=new Image;x.src="",S.dataTransfer.setDragImage(x,0,0)}m=S.pageX,y=S.pageY,setTimeout(()=>{a.value=w,d.value=!0,h.moving=!0})}}function F(S,h){if(S.preventDefault(),a.value!==h){const w=l.value[a.value],x=l.value;x.splice(a.value,1),x.splice(h,0,w),a.value=h,b(S.pageX,S.pageY)}}function T(S){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),b(S.pageX,S.pageY)}function v(S,h){h&&(h.moving=!1,g&&(document.body.removeChild(g),g=null)),l.value.forEach((w,x)=>{w.__fv_index__=x}),d.value=!1,s(),u.value=h.raw.__fv_index__,c.value=h.raw.__fv_index__,p.value=h.raw[o.value],e.emit("change",l.value),e.emit("activeChange",[h.raw])}return{dragstart:C,dragenter:F,dragover:T,dragend:v,isDragging:d}}function oo(t,e,n,i,o,l){const a=r.ref(t.idField),d=r.ref(t.disableField),c=r.ref(t.draggable);r.ref(t.itemClass);const p=r.ref(t.selection.multiSelect??!1),u=r.ref(t.selection.multiSelectMode),{isDragging:s}=i,{activeIndex:f,focusedItemId:g,hoverIndex:m}=o,{clearSelection:y,getSelectedItems:b,toggleSelectItem:M,currentSelectedDataId:C}=l,F=r.ref(b()),T=V=>F.value.length===0?!1:F.value.some(_=>{let k="";return _.data?k=_.data[a.value]:k=_[a.value],k===V});function v(){F.value=b()}function S(V,_){return V.raw[a.value]!=null?V.raw[a.value]:""}function h(V,_){const k={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!V.checked,"f-un-select":!!V.raw[d.value],"f-listview-active":p.value&&T(S(V))||!p.value&&V.raw[a.value]===C.value,"f-listview-hover":!s.value&&_===m.value,moving:!!V.moving};if(typeof t.itemClass=="string")return X.getCustomClass(k,t.itemClass);if(typeof t.itemClass=="function"){const W=t.itemClass(V);return X.getCustomClass(k,W)}return k}function w(V,_){const k={};if(typeof t.itemStyle=="string")return X.getCustomStyle(k,t.itemStyle);if(typeof t.itemStyle=="function"){const W=t.itemStyle(V);return X.getCustomStyle(k,W)}return k}const x=r.computed(()=>!p.value);function E(V,_,k){V.checked=k,!V.raw[d.value]&&(x.value&&(g.value=V.raw[a.value]),M(V))}const N=r.computed(()=>p.value&&u.value==="OnCheckClearByClick"),I=r.computed(()=>!p.value||p.value&&(u.value==="OnCheckAndClick"||u.value==="OnClick"));function B(V,_,k){if(V.raw[d.value]){k==null||k.preventDefault(),k==null||k.stopPropagation();return}C.value=V.raw[a.value],g.value=V.raw[a.value],f.value=_,N.value&&y(),I.value&&(M(V),v()),e.emit("clickItem",{data:F.value,index:_,dataItem:V.raw}),e.emit("activeChange",F.value)}return{getKey:S,selectedItems:F,listViewItemClass:h,listViewItemStyle:w,updateSelectedItems:v,onCheckItem:E,onClickItem:B}}const Xt=r.defineComponent({name:"FListView",props:Yi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,e){const n=r.ref(),i=r.ref(!0),o=r.ref(!1),l=r.ref([]),a=0,d=r.ref(t.columns),c=Ve.useFilter(t,e),p=Ve.useIdentify(t),u=Ve.useHierarchy(t),s=Ve.useGroupData(t,p),f=Ve.useDataView(t,new Map,c,u,p),g=Ve.useSelection(t,f,p,l,e),m=Xi(t,n),y=Ve.usePagination(t,f),b=r.computed(()=>f.dataView.value.length),M=Ve.useRow(t,e,g,p),C=Ve.useEdit(t,e,p,M,l),F=Ve.useVisualDataBound(t),T=Ve.useVisualDataCell(t,{},F),v=Ve.useVisualDataRow(t,f,C,u,p,F,T),S=Ve.useVisualGroupRow(t,p,T,v),h=Ve.useVisualSummaryRow(t,p,T,v),w=Ve.useVisualData(t,d,f,b,a,v,S,h),{getVisualData:x}=w;l.value=x(0,b.value+a-1);const E=r.computed(()=>{const U={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(U[`${t.size}-item`]=!0),X.getCustomClass(U,t.customClass)}),N=r.computed(()=>!!e.slots.footer||i.value);function I(){return t.header==="SearchBar"?Yt:t.header==="ContentHeader"?to:Yt}const B=I(),{renderHeader:V}=B(t,e,m),_=no(),k=io(t,e,f,_),W=oo(t,e,l,k,_,g),{renderListArea:P}=eo(t,e,l,f,s,_,g,w,W,k);function A(U){m.search(U)}function Y(U){U&&(f.load(U),l.value=x(0,b.value+a-1))}function J(){g.clearSelection(),_.clearActiveItem()}function re(){return W.selectedItems.value}function _e(){return W.selectedItems.value.map(U=>U[p.idField.value])}function Ce(U){g.selectedValues.value=U,W.updateSelectedItems()}function Se(){return g.currentSelectedDataId.value}function R(U){M.activeRowById(U)}function O(U){const ve=p.idField.value,be=l.value.find(Je=>Je.raw[ve]===U),Re=l.value.findIndex(Je=>Je.raw[ve]===U);be&&Re>-1&&W.onClickItem(be,Re)}function j(U){const ve=p.idField.value,be=l.value.find(Re=>Re.raw[ve]===U);be&&M.changeRow(be)}function G(U){y.updatePagination(U)}function q(U){return l.value.filter(ve=>U.includes(ve.raw[t.idField]))}e.expose({search:A,updateDataSource:Y,clearSelection:J,getSelections:re,updateSelectionByIds:Ce,getSelectionIds:_e,activeRowById:R,getCurrentRowId:Se,clickRowItemById:O,updatePagination:G,getVisibleDataByIds:q,selectRowById:j});function ee(U){t.multiSelect&&(U.preventDefault(),U.stopPropagation())}r.watch(()=>t.selectionValues,(U,ve)=>{U!==ve&&Ce(U)});const se=Ve.useSidebar(t,g),{sidebarWidth:ce,showSidebarCheckBox:pe}=se,he=Ve.useColumn(t,e),{applyColumnSorter:ge,columnContext:Ie,updateColumnRenderContext:We}=he,we=Ve.useVirtualScroll(t,f,l,Ie,w,b,a,ce,C),{shouldRenderPagination:$}=y,{renderDataGridPagination:Q}=Ve.getPagination(t,e,f,we,y,g);return()=>r.createVNode("div",{class:E.value,onClick:ee},[V(),r.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[P()]),N.value&&r.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),ro=r.defineComponent({name:"FTransfer",props:Ut,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(t,e){const n=r.ref(t.identifyField),i=r.ref(t.displayType),o=r.ref(!1),l=r.ref(t.dataSource),a=r.ref(t.textField),d=r.ref(t.selections||[]),c=r.computed(()=>d.value.map(B=>B[n.value])),p=new Map,u=r.ref(),s=r.ref(),f=r.ref();let g;function m(){const B=new Map,V=t.selectionValues||[];V.length&&V.reduce((k,W)=>(k.set(W,!0),k),B);const _=t.selections||[];_.length&&(B.clear(),_.reduce((k,W)=>(k.set(W[n.value],!0),k),B)),d.value.length||(d.value=l.value.filter(k=>B.has(k[n.value])).map(k=>Object.assign({},k))),l.value.forEach(k=>{const W=k[n.value],P=B.has(W);k.checked=P,P&&p.set(W,k)})}m(),r.watch(()=>t.selections,B=>{d.value=B,m()});const y=r.computed(()=>i.value==="List"),b=r.computed(()=>i.value==="Tree");function M(B){const V=Be.cloneDeep(d.value);d.value=B.map(_=>Object.assign({},_)),e.emit("change",d.value,V)}function C(B){e.emit("selectItem",B)}function F(B){e.emit("unSelectItem",B)}function T(){return r.createVNode(Xt,{class:"f-utils-fill",data:l.value,multiSelect:!0,itemClass:"f-transfer-list-item",textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box",selectionValues:c.value,onSelectionUpdate:M},null)}function v(){return r.createVNode(wn,{ref:f,data:l.value,columns:t.columns,virtualized:t.virtualized,rowOption:t.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:c.value,onSelectionUpdate:M,onSelectItem:C,onUnSelectItem:F},null)}function S(){return r.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[r.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&T(),b.value&&v()])])])}function h(B){const V=B[n.value];if(V!==null||V!==void 0){d.value=d.value.filter(k=>k[n.value]!==V);const _=p.get(V);_&&(_.checked=!1,p.delete(V)),e.emit("change",d.value),e.emit("removeItem",B)}}r.watch(d,B=>{u.value.updateDataSource(Be.cloneDeep(B));const V=g==null?void 0:g[n.value],_=B.find(k=>V===k[n.value]);_?u.value.activeRowById(_[n.value]):(g=null,u.value.activeRowById(""))});function w(B){const V=new Map;d.value.reduce((_,k)=>(_.set(k[n.value],k),_),V),d.value=B.map(_=>V.get(_[n.value])),e.emit("change",d.value)}function x(B){g=B[0],e.emit("activeChange",B)}function E(){var B;return r.createVNode(Xt,{ref:u,columns:t.columns,style:"flex:1",data:d.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:t.selectedItemClass,onChange:w,onRemoveItem:h,onActiveChange:x,checkBeforeRemoveItem:t.checkBeforeRemoveItem},{itemContent:(B=e.slots)!=null&&B.text?V=>{var _;return((_=e.slots)==null?void 0:_.text)&&e.slots.text(V)}:null})}function N(){return r.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[r.createVNode("div",{class:"selection-pane-title"},[r.createVNode("span",{class:"selection-title"},[je.LocaleService.getLocaleValue("transfer.selectedStart")]),r.createVNode("span",{class:"selection-count"},[d.value&&d.value.length]),r.createVNode("span",{class:"selection-item-title"},[je.LocaleService.getLocaleValue("transfer.selectedEnd")])]),r.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[E()])])])}const I=r.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return r.onMounted(()=>{s.value&&s.value.parentElement&&getComputedStyle(s.value.parentElement).display==="flex"&&(o.value=!0)}),()=>r.createVNode("div",{ref:s,class:I.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:d.value}):S(),N()])}}),lo=r.defineComponent({name:"FGridFieldEditor",props:Ft,emits:["change"],setup(t,e){const n=r.ref(t.viewModelId),i=r.inject("designViewModelUtils"),o=r.inject("useFormSchema"),l=r.inject("schemaService"),a=r.inject("controlCreatorUtils"),d=r.inject("designerContext");let c=t.gridData.columns;const{fieldEditable:p}=t.gridData,u=r.ref(`共 ${(c||[]).length} 项`),s=r.ref([]),f=r.ref([]);let g=[];function m(V,_=!0){if(d.checkCanDeleteControl){const k=g.find(W=>{var P;return((P=W.data)==null?void 0:P.id)===V.id});return d.checkCanDeleteControl(k,_)}return!0}const y={customRowStatus:V=>{const _=V.raw;_.type&&_.type.fields&&_.type.fields.length>0&&(V.disabled=!0),m(_,!1)||(V.disabled=!0)}};function b(){if(s.value=[],!c||c.length===0)return[];const V="[绑定字段不存在,待移除]";c.forEach(_=>{if(_.binding&&_.binding.field){const k=g.find(W=>W.data.id===_.binding.field);k?k.data.$type===X.FormSchemaEntityField$Type.ComplexField?s.value.push(Object.assign({isInValidBinding:!0},k.data,{name:k.data.name+V})):s.value.push(Object.assign({},k.data)):s.value.push({id:_.binding.field,name:_.title+V,label:_.field,bindingField:null,isInValidBinding:!0})}}),u.value=`共 ${s.value.length} 项`}function M(V,_=[]){return V&&V.forEach(k=>{if(_.push(k),k.children&&M(k.children,_),d.appendIdentifyForNewControl){const W=c.find(P=>{var A;return((A=P.binding)==null?void 0:A.field)===k.data.id});(!W||W[d.identifyForNewControl])&&d.appendIdentifyForNewControl(k)}}),_}function C(){if(o.designerMode==="PC_RTC"&&l.rtcAddedTreeNodes.value){const V=l.getTableInfoByViewModelId(n.value);if(V!=null&&V.id){const _=l.rtcAddedTreeNodes.value[V.id];_!=null&&_.length&&(f.value=f.value.concat(_))}}}function F(){f.value=i.getAllFields2TreeByVMId(n.value),C(),g=M(f.value)}function T(V,_,k){if(o.getComponents().find(P=>{let A=o.getControlsInCmpWidthBinding(P.viewModel,V);if(A=A.filter(Y=>{var re;if(Y.id===k)return!1;const J=_.type==="visible"?Y[_.type]:(re=Y.editor)==null?void 0:re[_.type];if(J&&J.type==="Expression"&&J.expressionId===_.id)return!0}),A.length)return!0}))return!0}function v(V){V.map(_=>{var W;const k=c.find(P=>{var A;return((A=P.binding)==null?void 0:A.field)===_});if(k&&o.getExpressions().length){const P=o.getExpressions(),A=P.findIndex(Y=>Y.target===_);A>-1&&((W=P[A].rules)==null||W.map(Y=>{var J;switch(Y.type){case"visible":case"readonly":case"required":{const re=Y.type==="visible"?k[Y.type]:(J=k.editor)==null?void 0:J[Y.type];re&&re.type==="Expression"&&re.expressionId===Y.id&&(T(_,Y,k.id)||(Y.needDelete=!0));break}default:T(_,Y,k.id)||(Y.needDelete=!0)}}),P[A].rules=P[A].rules.filter(Y=>!Y.needDelete))}})}function S(){const V=i.getDgViewModel(n.value),_=[],k=[],W=s.value;W.forEach(A=>{const Y=c==null?void 0:c.find(J=>{if(J.binding&&J.binding.field)return J.binding.field===A.id});if(Y)_.push(Y);else{const J=a.setGridFieldProperty(t.gridType,A.data,null,p);V.addField(A),_.push(J)}k.push(A.id)});const P=V.fields.filter(A=>!k.includes(A.id));if(P&&P.length>0){const A=P.map(Y=>Y.id);V.removeField(A),v(A)}W.length!==s.value.length&&(s.value=W),u.value=`共 ${_.length} 项`,e.emit("change",_)}const h={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{S()},rejectCallback:()=>{}};function w(){return t.getLatestGridData?c=t.getLatestGridData().columns:c=t.gridData.columns,F(),b(),Promise.resolve(!0)}function x(V){s.value=[...s.value,V.raw]}function E(V){const _=s.value.findIndex(k=>k.id===V.raw.id);_>-1&&(s.value=[...s.value.slice(0,_),...s.value.slice(_+1)])}function N(V){const _=s.value.findIndex(k=>k.id===V.id);_>-1&&(s.value=[...s.value.slice(0,_),...s.value.slice(_+1)])}function I(V){const _=V[0].__fv_index__,k=s.value.findIndex(P=>P.id===V[0].id),W=s.value.find(P=>P.id===V[0].id);s.value.splice(k,1),s.value.splice(_,0,W)}const B=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(V,_)=>V.data+` [${_.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return r.onMounted(()=>{F()}),()=>r.createVNode(Hi,{"button-behavior":"Modal","modal-options":h,modelValue:u.value,"onUpdate:modelValue":V=>u.value=V,editable:!1,beforeOpen:w},{default:()=>[r.createVNode("div",{class:"f-utils-absolute-all"},[r.createVNode(ro,{selections:s.value,"data-source":f.value,rowOption:y,class:"mx-2",columns:B,displayType:"Tree",onRemoveItem:N,onSelectItem:x,onUnSelectItem:E,onActiveChange:I,checkBeforeRemoveItem:m},{text:V=>r.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[V.data.name.data,r.createTextVNode(" ["),V.data.bindingField.data,r.createTextVNode("]")])})])]})}}),ao={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},headerFormatter:{description:"头部模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件"}},so={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},Tt={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},co=$e.createPropsResolver(Tt,ao,Wt,Gt),uo=$e.createPropsResolver(Tt,so,Wt,Gt);function fo(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function i(c,p=""){return{path:p+c.code,field:c.id,fullPath:c.code}}function o(c,p=""){const u=e.getViewModelById(c);return u?u.states.map(s=>i(s,p)):[]}function l(c){const p=e.getRootViewModelId(),u=o(c);if(c===p)return u;const s=o(p,"root-component.");return[...u,...s]}function a(c){return c.binding&&c.binding.path||c.id||""}function d(){return n&&n.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:d}}class Zt{constructor(e){ne(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);ne(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ne(this,"getExpressionConverter",(e,n)=>({convertFrom:(i,o,l,a)=>{const d=l.getExpressionRuleValue(e,n||o);return d&&d.value||""},convertTo:(i,o,l,a,d)=>{var c;if(o==="dataPicking"&&(l!=null&&l.target)){const p=`${l.target}_dataPicking`;((c=l.rules)==null?void 0:c.some(s=>s.id===p&&s.value))?i.dictPickingExpressionId=p:delete i.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=e}getExpressionRule(e,n){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const l=o.rules.find(a=>a.type===n);return l||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(e,n,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var d;const l=this.createTreeNode(o,n);let a=[];(d=o.type)!=null&&d.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...n,o.label])),i.push({data:l,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var c,p;const l=this.createTreeNode(o,n);l.type="entity";const a=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...n,o.label]),d=this.buildChildEntityTreeData((p=o.type)==null?void 0:p.entities,[...n,o.label]);d!=null&&d.length&&(a==null||a.push(...d)),i.push({data:l,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),o=this.buildChildEntityTreeData(n.type.entities,[n.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,i){const o=i==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,n),a=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(n)&&l?l.message:"",...a};return l.messageType!=null&&(d.messageType=l.messageType),d}buildRule(e,n,i,o){const{expression:l,message:a,messageType:d}=n,c={id:`${e}_${i}`,type:i,value:l};return(i==="validate"||i==="dataPicking"||i==="required")&&(c.message=a),i==="dataPicking"&&(c.messageType=d),i==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,i,o){const l=n==="Field"?e.binding.field:e.id,a=this.buildRule(l,i,o,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(u=>u.targetType===n&&u.target===l);const p=u=>u.value.trim()==="";if(c){const u=c.rules.find(s=>s.id===a.id);if(u)p(a)?c.rules=c.rules.filter(s=>s.id!==a.id):(Object.assign(u,a),o==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(p(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(p(a))return null;c={target:`${l}`,rules:[a],targetType:n}}return c}getExpressionEditorOptions(e,n,i,o){return i.reduce((l,a)=>{var c,p;const d=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return l[a]={hide:n==="Field"?!!((p=e==null?void 0:e.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,n),onSubmitModal:u=>{const s=this.updateExpression(e,n,u,a);if(o){const f=this.buildRule(d,u,a);o(f)}return s}}},l},{})}getExpressionInfo(e,n,i){const o=n==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,i),a={value:l&&l.value,targetId:o,targetType:n,expressionType:i};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(e,n,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,i,o)}}}getExpressionOptions(e,n,i){const o=this.getExpressionInfo(e,n,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,n),expressionInfo:o}}}class Jt{constructor(e,n){ne(this,"componentId");ne(this,"viewModelId");ne(this,"eventsEditorUtils");ne(this,"formSchemaUtils");ne(this,"formMetadataConverter");ne(this,"designViewModelUtils");ne(this,"designViewModelField");ne(this,"controlCreatorUtils");ne(this,"designerHostService");ne(this,"designerContext");ne(this,"schemaService",null);ne(this,"metadataService",null);ne(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===n)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:z.DgControl[e.type]&&z.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},i){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)l[a]=Object.assign(l[a]||{},n[a]);return{...o,properties:{...l},setPropertyRelates(a,d){if(a){switch(a&&a.propertyID){case"class":case"style":{z.canvasChanged.value++;break}}i&&i(a,e,d)}}}}getPropertyEditorParams(e,n=[],i="visible",o={},l={},a=""){const{getVariables:d,getControlName:c,getStateMachines:p}=fo(this.designerHostService),u=this.getRealTargetType(e),s=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:s};return s.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,u,a||i);break;case"StateMachine":f.stateMachines=p();break;case"Variable":Object.assign(f,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=d(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,n=""){var l;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((l=e.binding)!=null&&l.field)?i=["Const","Variable","StateMachine"]:(n==="dataGrid"||n==="treeGrid"||n==="wizard")&&(i=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,n="",i={},o){const l={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const c in i)a[c]=Object.assign(a[c]||{},i[c]);const d=this;return{...l,properties:{...a},setPropertyRelates(c,p){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,c);break}o&&o(c,p)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),l=Be.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,l),z.refreshCanvas()}addNewVariableToViewModel(e,n){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const a={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:l,expressionInfo:a}=n,{targetId:d,targetType:c,expressionType:p,value:u,message:s}=a,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let m=g.find(b=>b.target===d);m||(m={target:d,rules:[],targetType:c},g.push(m));const y=m.rules.find(b=>b.type===p);if(y)y.value=u,y.message=s;else{const b={id:l,type:p,value:u,message:s};m.rules.push(b)}delete n.expressionInfo}clearExpression(e,n){const i=e.propertyValue;if(i&&i.type==="Expression")return;const l=e.propertyID,a=this.formSchemaUtils.getExpressions(),d=n.binding?n.binding.field:n.id,c=a.find(p=>p.target===d);!c||!c.rules||(c.rules=c.rules.filter(p=>p.type!==l))}getExpressionOptions(e,n,i){return new Zt(this.formSchemaUtils).getExpressionOptions(e,n,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}const Qt=[{key:"none",value:"无"},{key:"cellNumber",value:"手机号"},{key:"tel",value:"座机号/传真号"},{key:"telOrCell",value:"手机号/座机号/传真号"},{key:"postCode",value:"邮编"},{key:"email",value:"电子邮箱"},{key:"idCode",value:"身份证号"},{key:"carCode",value:"车牌号"},{key:"subjectCode",value:"10位数字会计科目代码"},{key:"custom",value:"自定义"}];function mo(t){switch(t){case"none":return"";case"cellNumber":return"^1[0-9]{10}$";case"tel":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$";case"telOrCell":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$|^1[0-9]{10}$";case"postCode":return"^[1-9]\\d{5}(?!\\d)$";case"workCode":return"^\\d{8}$";case"email":return"^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z]{2,5}$";case"idCode":return"^[1-9]\\d{5}[1-9]\\d{3}((0[1-9])|(1[0-2]))(0[1-9]|([1|2][0-9])|3[0-1])((\\d{4})|\\d{3}X)$";case"carCode":return"^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][·\\s]?[A-HJ-NP-Z0-9]{4,5}[挂学警港澳]?|粤[Z港澳][·\\s]?[港澳][0-9A-HJ-NP-Z]{4}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?([DF][0-9A-HJ-NP-Z][0-9]{4}|[0-9]{5}[DF])[挂港澳]?|[使领][0-9]{3}[·\\s]?[0-9]{3}|临[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?[0-9A-Z]{4,5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z]?[·\\s]?警[0-9A-Z]{4}|[军海空][A-Z][·\\s]?[0-9]{4,5}|WJ(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]|\\d{2})[·\\s]?[0-9A-Z]{4,5})$";case"carCodeNew":return"^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$";case"subjectCode":return"^\\d{10}$"}return""}function po(t){var e;return"请输入正确的"+((e=Qt.find(n=>n.key===t))==null?void 0:e.value)}const go={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation.type=n,t.editor.formatValidation.expression=mo(n),t.editor.formatValidation.message=po(n)},convertFrom:(t,e,n)=>t.editor.formatValidation?e==="type"?t.editor.formatValidation[e]||"none":t.editor.formatValidation[e]:"none"},Kt={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation[e]=n},convertFrom:(t,e,n)=>t.editor.formatValidation?t.editor.formatValidation[e]:t.editor[e]},ho=["lookup","more-vertical","add","edit","x","search","image-edit","copy","source-code","top_developmenttool","reorder","reload"];function yo(t,e,n){const i=`<i class="f-icon f-icon-${e}"></i>`;n.value.setValue(i)}const en=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",null,[r.createTextVNode("按钮图标示例")]),r.createVNode("ul",{class:"d-flex",style:"width: 200px; flex-wrap: wrap;align-items: center;height: 100px;"},[ho.map(e=>r.createVNode("li",{key:e,class:"btn",title:"双击添加到内容区域",onDblclick:n=>yo(n,e,t)},[r.createVNode("i",{class:`f-icon f-icon-${e}`},null)]))])]);class vo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getPropertyConfig(e,n){return super.getPropertyConfig(e,n),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n,needValid:!0}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"},groupText:{description:"按钮文本",title:"按钮文本",type:"string",visible:e.editor.showType==="text"||!e.editor.showType,editor:{type:"code-editor",language:"html",leftTemplate:en}}})}getGridFieldEdtiorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"},groupText:{description:"按钮文本",title:"按钮文本",type:"string",visible:e.editor.showType==="text"||!e.editor.showType,editor:{type:"code-editor",language:"html",leftTemplate:en}}})}getFormatValidation(e){var i,o,l,a;const n={title:"输入格式校验",description:"输入校验",hide:!((i=e.binding)!=null&&i.field),properties:{type:{title:"格式类型",type:"enum",description:"格式类型",defaultValue:"",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:Qt},refreshPanelAfterChanged:!0,$converter:go,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((l=e.editor.formatValidation)==null?void 0:l.type)!=="none"&&(n.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Kt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(n.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Kt,parentPropertyID:"formatValidation"}),n}getEventPropertyConfig(e){const n=this;let i=[{label:"onClickHandle",name:"按钮点击事件"},...this.formGroupEvents];e.editor.showType==="password"&&(i=[...this.formGroupEvents]);const o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete d[n.viewModelId],c&&n.eventsEditorUtils.saveRelatedParameters(d,n.viewModelId,c.events,c);const p=n.designViewModelUtils.getDgViewModel(n.viewModelId);p&&n.designViewModelField&&p.changeField(n.designViewModelField.id,{valueChanging:d.fieldValueChanging,valueChanged:d.fieldValueChanged})}}}}const rt=class rt{static getEditorTypesByMDataType(e,n=!1,i=""){if(n)return[{key:z.DgControl["language-textbox"].type,value:z.DgControl["language-textbox"].name}];let o=rt.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const l=[z.DgControl["check-group"].type,z.DgControl["radio-group"].type,z.DgControl.image.type,z.DgControl["rich-text-editor"].type];o=o.filter(a=>!l.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const n in rt.fieldControlTypeMapping)rt.fieldControlTypeMapping[n].forEach(i=>{e.find(o=>o.key===i.key&&o.value===i.value)||e.push({key:i.key,value:i.value})});return e}static mappingDomPropAndSchemaProp(e,n){var l;const i=(l=e.editor)==null?void 0:l.type,o=[];return(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&n&&n.categoryId&&n.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(i===z.DgControl["input-group"].type||i===z.DgControl.textarea.type||i===z.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===z.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===z.DgControl["combo-list"].type||i===z.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===z.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===z.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===z.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ne(rt,"fieldControlTypeMapping",{String:[{key:z.DgControl["input-group"].type,value:z.DgControl["input-group"].name},{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl.image.type,value:z.DgControl.image.name},{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name},{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name},{key:z.DgControl["check-group"].type,value:z.DgControl["check-group"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name},{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl.textarea.type,value:z.DgControl.textarea.name},{key:z.DgControl["time-picker"].type,value:z.DgControl["time-picker"].name}],Text:[{key:z.DgControl.textarea.type,value:z.DgControl.textarea.name},{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl.image.type,value:z.DgControl.image.name},{key:z.DgControl["rich-text-editor"].type,value:z.DgControl["rich-text-editor"].name}],Decimal:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Integer:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Number:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name},{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name}],BigNumber:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Date:[{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name}],DateTime:[{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name}],Boolean:[{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name}],Enum:[{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name}],Object:[{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name}]});let dt=rt;var ot=(t=>(t.Form="Form",t.Variable="Variable",t))(ot||{});class bo{constructor(){ne(this,"label","");ne(this,"id","");ne(this,"columnInSM",12);ne(this,"columnInMD",6);ne(this,"columnInLG",3);ne(this,"columnInEL",2);ne(this,"displayWidthInSM",1);ne(this,"displayWidthInMD",1);ne(this,"displayWidthInLG",1);ne(this,"displayWidthInEL",1);ne(this,"displayColumnCountAtBreakPoint","md");ne(this,"tagRow",0);ne(this,"showTopBorder",0);ne(this,"group",1);ne(this,"isSupportedClass",!0);ne(this,"fieldSetId","")}}function Co(t){let e,n;const i=new Map;let o=[];function l(u,s){const g=u.split(" ").filter(C=>C.startsWith("col-"));if(g.length===0){s.isSupportedClass=!1;return}let m=g.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),y=g.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=g.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),M=g.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));m=m||"col-12",s.columnInSM=parseInt(m.replace("col-",""),10),s.displayWidthInSM=s.columnInSM/12,s.displayWidthInSM!==1&&(s.isSupportedClass=!1),y=y||"col-md-"+s.columnInSM,s.columnInMD=parseInt(y.replace("col-md-",""),10),s.displayWidthInMD=s.columnInMD/6,[1,2].includes(s.displayWidthInMD)||(s.isSupportedClass=!1),b=b||"col-xl-"+s.columnInMD,s.columnInLG=parseInt(b.replace("col-xl-",""),10),s.displayWidthInLG=s.columnInLG/3,[1,2,3,4].includes(s.displayWidthInLG)||(s.isSupportedClass=!1),M=M||"col-el-"+s.columnInLG,s.columnInEL=parseInt(M.replace("col-el-",""),10),s.displayWidthInEL=s.columnInEL/2,[1,2,3,4,5,6].includes(s.displayWidthInEL)||(s.isSupportedClass=!1)}function a(u,s,f,g=!1){let m=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,a(y,s,f,!0),m=!0;return}m&&(f+=1,m=!1);const b=y.appearance&&y.appearance.class,M=new bo;b?l(b,M):M.isSupportedClass=!1,M.label=y.label||y.id,M.id=y.id,M.group=f,g&&(M.fieldSetId=u.id),n===y.id&&(e=f),i.set(y.id,y),s.push(M)})}function d(u){const s=t.getComponentById(u);if(!s||!s.componentType||!s.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=t.selectNode(s,g=>g.type===z.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(u,s){s=s||u.id;const{result:f,message:g,formNode:m}=d(s);if(!f)return{result:f,message:g};n=u.id,o=[],i.clear();const y=m.contents[0].type===z.DgControl.fieldset.type?0:1;a(m,o,y);const b=o.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:b?"customize":"standard"},importData:o}}function p(u,s){s=s;const{result:f,formNode:g}=d(s);if(!f)return"";const m=[];return u.forEach(y=>{var C;const b=i.get(y.id),M=b.appearance&&b.appearance.class;if(M){const T=M.split(" ").filter(E=>!E.startsWith("col-")),v="col-"+y.columnInSM,S="col-md-"+y.columnInMD,h="col-xl-"+y.columnInLG,w="col-el-"+y.columnInEL,x=[v,S,h,w].concat(T);b.appearance.class=x.join(" ")}if(y.fieldSetId){const F=g.contents.find(v=>v.id===y.fieldSetId),T=m.find(v=>v.id===y.fieldSetId);T?(C=T.contents)==null||C.push(b):(m.push(F),F.contents=[b])}else m.push(b)}),g.contents=m,g.id}return{checkCanFindFormNode:d,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:a}}const wo=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",null,[r.createTextVNode("代码示例")]),r.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[r.createVNode("code",null,[`
|
|
18
|
+
`,x.children[1].style.cssText="width: 30px;padding: 0 14px 0 0",x.children[2].style.cssText="padding: 0 14px 0 0;",document.body.appendChild(x),x}function C(S,h,w){if(S.stopPropagation(),f(),h){if(g=M(S.target),S.dataTransfer){const x=new Image;x.src="",S.dataTransfer.setDragImage(x,0,0)}m=S.pageX,y=S.pageY,setTimeout(()=>{a.value=w,d.value=!0,h.moving=!0})}}function F(S,h){if(S.preventDefault(),a.value!==h){const w=l.value[a.value],x=l.value;x.splice(a.value,1),x.splice(h,0,w),a.value=h,b(S.pageX,S.pageY)}}function T(S){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),b(S.pageX,S.pageY)}function v(S,h){h&&(h.moving=!1,g&&(document.body.removeChild(g),g=null)),l.value.forEach((w,x)=>{w.__fv_index__=x}),d.value=!1,s(),u.value=h.raw.__fv_index__,c.value=h.raw.__fv_index__,p.value=h.raw[o.value],e.emit("change",l.value),e.emit("activeChange",[h.raw])}return{dragstart:C,dragenter:F,dragover:T,dragend:v,isDragging:d}}function oo(t,e,n,i,o,l){const a=r.ref(t.idField),d=r.ref(t.disableField),c=r.ref(t.draggable);r.ref(t.itemClass);const p=r.ref(t.selection.multiSelect??!1),u=r.ref(t.selection.multiSelectMode),{isDragging:s}=i,{activeIndex:f,focusedItemId:g,hoverIndex:m}=o,{clearSelection:y,getSelectedItems:b,toggleSelectItem:M,currentSelectedDataId:C}=l,F=r.ref(b()),T=V=>F.value.length===0?!1:F.value.some(_=>{let k="";return _.data?k=_.data[a.value]:k=_[a.value],k===V});function v(){F.value=b()}function S(V,_){return V.raw[a.value]!=null?V.raw[a.value]:""}function h(V,_){const k={"f-list-view-group-item":!0,"f-list-view-draggable-item":c.value,"f-un-click":!V.checked,"f-un-select":!!V.raw[d.value],"f-listview-active":p.value&&T(S(V))||!p.value&&V.raw[a.value]===C.value,"f-listview-hover":!s.value&&_===m.value,moving:!!V.moving};if(typeof t.itemClass=="string")return X.getCustomClass(k,t.itemClass);if(typeof t.itemClass=="function"){const W=t.itemClass(V);return X.getCustomClass(k,W)}return k}function w(V,_){const k={};if(typeof t.itemStyle=="string")return X.getCustomStyle(k,t.itemStyle);if(typeof t.itemStyle=="function"){const W=t.itemStyle(V);return X.getCustomStyle(k,W)}return k}const x=r.computed(()=>!p.value);function E(V,_,k){V.checked=k,!V.raw[d.value]&&(x.value&&(g.value=V.raw[a.value]),M(V))}const N=r.computed(()=>p.value&&u.value==="OnCheckClearByClick"),I=r.computed(()=>!p.value||p.value&&(u.value==="OnCheckAndClick"||u.value==="OnClick"));function B(V,_,k){if(V.raw[d.value]){k==null||k.preventDefault(),k==null||k.stopPropagation();return}C.value=V.raw[a.value],g.value=V.raw[a.value],f.value=_,N.value&&y(),I.value&&(M(V),v()),e.emit("clickItem",{data:F.value,index:_,dataItem:V.raw}),e.emit("activeChange",F.value)}return{getKey:S,selectedItems:F,listViewItemClass:h,listViewItemStyle:w,updateSelectedItems:v,onCheckItem:E,onClickItem:B}}const Xt=r.defineComponent({name:"FListView",props:Yi,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,e){const n=r.ref(),i=r.ref(!0),o=r.ref(!1),l=r.ref([]),a=0,d=r.ref(t.columns),c=Ve.useFilter(t,e),p=Ve.useIdentify(t),u=Ve.useHierarchy(t),s=Ve.useGroupData(t,p),f=Ve.useDataView(t,new Map,c,u,p),g=Ve.useSelection(t,f,p,l,e),m=Xi(t,n),y=Ve.usePagination(t,f),b=r.computed(()=>f.dataView.value.length),M=Ve.useRow(t,e,g,p),C=Ve.useEdit(t,e,p,M,l),F=Ve.useVisualDataBound(t),T=Ve.useVisualDataCell(t,{},F),v=Ve.useVisualDataRow(t,f,C,u,p,F,T),S=Ve.useVisualGroupRow(t,p,T,v),h=Ve.useVisualSummaryRow(t,p,T,v),w=Ve.useVisualData(t,d,f,b,a,v,S,h),{getVisualData:x}=w;l.value=x(0,b.value+a-1);const E=r.computed(()=>{const U={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(U[`${t.size}-item`]=!0),X.getCustomClass(U,t.customClass)}),N=r.computed(()=>!!e.slots.footer||i.value);function I(){return t.header==="SearchBar"?Yt:t.header==="ContentHeader"?to:Yt}const B=I(),{renderHeader:V}=B(t,e,m),_=no(),k=io(t,e,f,_),W=oo(t,e,l,k,_,g),{renderListArea:P}=eo(t,e,l,f,s,_,g,w,W,k);function L(U){m.search(U)}function Y(U){U&&(f.load(U),l.value=x(0,b.value+a-1))}function J(){g.clearSelection(),_.clearActiveItem()}function re(){return W.selectedItems.value}function _e(){return W.selectedItems.value.map(U=>U[p.idField.value])}function Ce(U){g.selectedValues.value=U,W.updateSelectedItems()}function Se(){return g.currentSelectedDataId.value}function R(U){M.activeRowById(U)}function O(U){const ve=p.idField.value,be=l.value.find(Je=>Je.raw[ve]===U),Re=l.value.findIndex(Je=>Je.raw[ve]===U);be&&Re>-1&&W.onClickItem(be,Re)}function j(U){const ve=p.idField.value,be=l.value.find(Re=>Re.raw[ve]===U);be&&M.changeRow(be)}function G(U){y.updatePagination(U)}function q(U){return l.value.filter(ve=>U.includes(ve.raw[t.idField]))}e.expose({search:L,updateDataSource:Y,clearSelection:J,getSelections:re,updateSelectionByIds:Ce,getSelectionIds:_e,activeRowById:R,getCurrentRowId:Se,clickRowItemById:O,updatePagination:G,getVisibleDataByIds:q,selectRowById:j});function ee(U){t.multiSelect&&(U.preventDefault(),U.stopPropagation())}r.watch(()=>t.selectionValues,(U,ve)=>{U!==ve&&Ce(U)});const se=Ve.useSidebar(t,g),{sidebarWidth:ce,showSidebarCheckBox:pe}=se,he=Ve.useColumn(t,e),{applyColumnSorter:ge,columnContext:Ie,updateColumnRenderContext:We}=he,we=Ve.useVirtualScroll(t,f,l,Ie,w,b,a,ce,C),{shouldRenderPagination:$}=y,{renderDataGridPagination:Q}=Ve.getPagination(t,e,f,we,y,g);return()=>r.createVNode("div",{class:E.value,onClick:ee},[V(),r.createVNode("div",{ref:n,class:"f-list-view-content",onMouseover:()=>{o.value=!0},onMouseleave:()=>{o.value=!1}},[P()]),N.value&&r.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():e.slots.footer&&e.slots.footer()])])}}),ro=r.defineComponent({name:"FTransfer",props:Ut,emits:["change","activeChange","selectItem","unSelecteItem","removeItem"],setup(t,e){const n=r.ref(t.identifyField),i=r.ref(t.displayType),o=r.ref(!1),l=r.ref(t.dataSource),a=r.ref(t.textField),d=r.ref(t.selections||[]),c=r.computed(()=>d.value.map(B=>B[n.value])),p=new Map,u=r.ref(),s=r.ref(),f=r.ref();let g;function m(){const B=new Map,V=t.selectionValues||[];V.length&&V.reduce((k,W)=>(k.set(W,!0),k),B);const _=t.selections||[];_.length&&(B.clear(),_.reduce((k,W)=>(k.set(W[n.value],!0),k),B)),d.value.length||(d.value=l.value.filter(k=>B.has(k[n.value])).map(k=>Object.assign({},k))),l.value.forEach(k=>{const W=k[n.value],P=B.has(W);k.checked=P,P&&p.set(W,k)})}m(),r.watch(()=>t.selections,B=>{d.value=B,m()});const y=r.computed(()=>i.value==="List"),b=r.computed(()=>i.value==="Tree");function M(B){const V=Be.cloneDeep(d.value);d.value=B.map(_=>Object.assign({},_)),e.emit("change",d.value,V)}function C(B){e.emit("selectItem",B)}function F(B){e.emit("unSelectItem",B)}function T(){return r.createVNode(Xt,{class:"f-utils-fill",data:l.value,multiSelect:!0,itemClass:"f-transfer-list-item",textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},draggable:!1,header:"Search",headerClass:"transfer-search-box",selectionValues:c.value,onSelectionUpdate:M},null)}function v(){return r.createVNode(wn,{ref:f,data:l.value,columns:t.columns,virtualized:t.virtualized,rowOption:t.rowOption,textField:a.value,selection:{enableSelectRow:!0,multiSelect:!0,multiSelectMode:"OnCheckAndClick",showCheckbox:!0,showSelectAll:!1,showSelection:!0},selectionValues:c.value,onSelectionUpdate:M,onSelectItem:C,onUnSelectItem:F},null)}function S(){return r.createVNode("div",{class:"f-utils-fill option-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column option-pane-content f-utils-fill"},[r.createVNode("div",{class:"container columns-box d-flex f-utils-fill"},[y.value&&T(),b.value&&v()])])])}function h(B){const V=B[n.value];if(V!==null||V!==void 0){d.value=d.value.filter(k=>k[n.value]!==V);const _=p.get(V);_&&(_.checked=!1,p.delete(V)),e.emit("change",d.value),e.emit("removeItem",B)}}r.watch(d,B=>{u.value.updateDataSource(Be.cloneDeep(B));const V=g==null?void 0:g[n.value],_=B.find(k=>V===k[n.value]);_?u.value.activeRowById(_[n.value]):(g=null,u.value.activeRowById(""))});function w(B){const V=new Map;d.value.reduce((_,k)=>(_.set(k[n.value],k),_),V),d.value=B.map(_=>V.get(_[n.value])),e.emit("change",d.value)}function x(B){g=B[0],e.emit("activeChange",B)}function E(){var B;return r.createVNode(Xt,{ref:u,columns:t.columns,style:"flex:1",data:d.value,draggable:!0,view:"DraggableView","keep-order":!0,textField:a.value,itemClass:t.selectedItemClass,onChange:w,onRemoveItem:h,onActiveChange:x,checkBeforeRemoveItem:t.checkBeforeRemoveItem},{itemContent:(B=e.slots)!=null&&B.text?V=>{var _;return((_=e.slots)==null?void 0:_.text)&&e.slots.text(V)}:null})}function N(){return r.createVNode("div",{class:"f-utils-fill selection-pane d-flex flex-column"},[r.createVNode("div",{class:"f-utils-flex-column selection-pane-content f-utils-fill"},[r.createVNode("div",{class:"selection-pane-title"},[r.createVNode("span",{class:"selection-title"},[je.LocaleService.getLocaleValue("transfer.selectedStart")]),r.createVNode("span",{class:"selection-count"},[d.value&&d.value.length]),r.createVNode("span",{class:"selection-item-title"},[je.LocaleService.getLocaleValue("transfer.selectedEnd")])]),r.createVNode("div",{class:"container columns-box f-utils-fill d-flex"},[E()])])])}const I=r.computed(()=>({"f-transfer":!0,row:!0,"f-utils-fill":o.value}));return r.onMounted(()=>{s.value&&s.value.parentElement&&getComputedStyle(s.value.parentElement).display==="flex"&&(o.value=!0)}),()=>r.createVNode("div",{ref:s,class:I.value,style:"height:480px"},[e.slots.children?e.slots.children({selections:d.value}):S(),N()])}}),lo=r.defineComponent({name:"FGridFieldEditor",props:Ft,emits:["change"],setup(t,e){const n=r.ref(t.viewModelId),i=r.inject("designViewModelUtils"),o=r.inject("useFormSchema"),l=r.inject("schemaService"),a=r.inject("controlCreatorUtils"),d=r.inject("designerContext");let c=t.gridData.columns;const{fieldEditable:p}=t.gridData,u=r.ref(`共 ${(c||[]).length} 项`),s=r.ref([]),f=r.ref([]);let g=[];function m(V,_=!0){if(d.checkCanDeleteControl){const k=g.find(W=>{var P;return((P=W.data)==null?void 0:P.id)===V.id});return d.checkCanDeleteControl(k,_)}return!0}const y={customRowStatus:V=>{const _=V.raw;_.type&&_.type.fields&&_.type.fields.length>0&&(V.disabled=!0),m(_,!1)||(V.disabled=!0)}};function b(){if(s.value=[],!c||c.length===0)return[];const V="[绑定字段不存在,待移除]";c.forEach(_=>{if(_.binding&&_.binding.field){const k=g.find(W=>W.data.id===_.binding.field);k?k.data.$type===X.FormSchemaEntityField$Type.ComplexField?s.value.push(Object.assign({isInValidBinding:!0},k.data,{name:k.data.name+V})):s.value.push(Object.assign({},k.data)):s.value.push({id:_.binding.field,name:_.title+V,label:_.field,bindingField:null,isInValidBinding:!0})}}),u.value=`共 ${s.value.length} 项`}function M(V,_=[]){return V&&V.forEach(k=>{if(_.push(k),k.children&&M(k.children,_),d.appendIdentifyForNewControl){const W=c.find(P=>{var L;return((L=P.binding)==null?void 0:L.field)===k.data.id});(!W||W[d.identifyForNewControl])&&d.appendIdentifyForNewControl(k)}}),_}function C(){if(o.designerMode==="PC_RTC"&&l.rtcAddedTreeNodes.value){const V=l.getTableInfoByViewModelId(n.value);if(V!=null&&V.id){const _=l.rtcAddedTreeNodes.value[V.id];_!=null&&_.length&&(f.value=f.value.concat(_))}}}function F(){f.value=i.getAllFields2TreeByVMId(n.value),C(),g=M(f.value)}function T(V,_,k){if(o.getComponents().find(P=>{let L=o.getControlsInCmpWidthBinding(P.viewModel,V);if(L=L.filter(Y=>{var re;if(Y.id===k)return!1;const J=_.type==="visible"?Y[_.type]:(re=Y.editor)==null?void 0:re[_.type];if(J&&J.type==="Expression"&&J.expressionId===_.id)return!0}),L.length)return!0}))return!0}function v(V){V.map(_=>{var W;const k=c.find(P=>{var L;return((L=P.binding)==null?void 0:L.field)===_});if(k&&o.getExpressions().length){const P=o.getExpressions(),L=P.findIndex(Y=>Y.target===_);L>-1&&((W=P[L].rules)==null||W.map(Y=>{var J;switch(Y.type){case"visible":case"readonly":case"required":{const re=Y.type==="visible"?k[Y.type]:(J=k.editor)==null?void 0:J[Y.type];re&&re.type==="Expression"&&re.expressionId===Y.id&&(T(_,Y,k.id)||(Y.needDelete=!0));break}default:T(_,Y,k.id)||(Y.needDelete=!0)}}),P[L].rules=P[L].rules.filter(Y=>!Y.needDelete))}})}function S(){const V=i.getDgViewModel(n.value),_=[],k=[],W=s.value;W.forEach(L=>{const Y=c==null?void 0:c.find(J=>{if(J.binding&&J.binding.field)return J.binding.field===L.id});if(Y)_.push(Y);else{const J=a.setGridFieldProperty(t.gridType,L.data,null,p);V.addField(L),_.push(J)}k.push(L.id)});const P=V.fields.filter(L=>!k.includes(L.id));if(P&&P.length>0){const L=P.map(Y=>Y.id);V.removeField(L),v(L)}W.length!==s.value.length&&(s.value=W),u.value=`共 ${_.length} 项`,e.emit("change",_)}const h={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{S()},rejectCallback:()=>{}};function w(){return t.getLatestGridData?c=t.getLatestGridData().columns:c=t.gridData.columns,F(),b(),Promise.resolve(!0)}function x(V){s.value=[...s.value,V.raw]}function E(V){const _=s.value.findIndex(k=>k.id===V.raw.id);_>-1&&(s.value=[...s.value.slice(0,_),...s.value.slice(_+1)])}function N(V){const _=s.value.findIndex(k=>k.id===V.id);_>-1&&(s.value=[...s.value.slice(0,_),...s.value.slice(_+1)])}function I(V){const _=V[0].__fv_index__,k=s.value.findIndex(P=>P.id===V[0].id),W=s.value.find(P=>P.id===V[0].id);s.value.splice(k,1),s.value.splice(_,0,W)}const B=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(V,_)=>V.data+` [${_.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return r.onMounted(()=>{F()}),()=>r.createVNode(Hi,{"button-behavior":"Modal","modal-options":h,modelValue:u.value,"onUpdate:modelValue":V=>u.value=V,editable:!1,beforeOpen:w},{default:()=>[r.createVNode("div",{class:"f-utils-absolute-all"},[r.createVNode(ro,{selections:s.value,"data-source":f.value,rowOption:y,class:"mx-2",columns:B,displayType:"Tree",onRemoveItem:N,onSelectItem:x,onUnSelectItem:E,onActiveChange:I,checkBeforeRemoveItem:m},{text:V=>r.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[V.data.name.data,r.createTextVNode(" ["),V.data.bindingField.data,r.createTextVNode("]")])})])]})}}),ao={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},headerFormatter:{description:"头部模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件"}},so={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},Tt={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},co=$e.createPropsResolver(Tt,ao,Wt,Gt),uo=$e.createPropsResolver(Tt,so,Wt,Gt);function fo(t){const{formSchemaUtils:e,formStateMachineUtils:n}=t;function i(c,p=""){return{path:p+c.code,field:c.id,fullPath:c.code}}function o(c,p=""){const u=e.getViewModelById(c);return u?u.states.map(s=>i(s,p)):[]}function l(c){const p=e.getRootViewModelId(),u=o(c);if(c===p)return u;const s=o(p,"root-component.");return[...u,...s]}function a(c){return c.binding&&c.binding.path||c.id||""}function d(){return n&&n.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:d}}class Zt{constructor(e){ne(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);ne(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ne(this,"getExpressionConverter",(e,n)=>({convertFrom:(i,o,l,a)=>{const d=l.getExpressionRuleValue(e,n||o);return d&&d.value||""},convertTo:(i,o,l,a,d)=>{var c;if(o==="dataPicking"&&(l!=null&&l.target)){const p=`${l.target}_dataPicking`;((c=l.rules)==null?void 0:c.some(s=>s.id===p&&s.value))?i.dictPickingExpressionId=p:delete i.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=e}getExpressionRule(e,n){const i=this.formSchemaService.getExpressions();if(!i)return"";const o=i.find(a=>a.target===e);if(!o)return"";const l=o.rules.find(a=>a.type===n);return l||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const n=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(n);if(!i||!i.states||i.states.length===0)return[];const o=[];return i.states.filter(l=>l.category==="remote").forEach(l=>{o.push({key:l.code,name:l.name,description:l.name,category:l.category})}),o}createTreeNode(e,n,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:n,type:"field"}}buildEntityFieldsTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var d;const l=this.createTreeNode(o,n);let a=[];(d=o.type)!=null&&d.fields&&(a=this.buildEntityFieldsTreeData(o.type.fields,[...n,o.label])),i.push({data:l,children:a,expanded:!0})}),i}buildChildEntityTreeData(e=null,n){const i=[];return e==null||e.forEach(o=>{var c,p;const l=this.createTreeNode(o,n);l.type="entity";const a=this.buildEntityFieldsTreeData((c=o.type)==null?void 0:c.fields,[...n,o.label]),d=this.buildChildEntityTreeData((p=o.type)==null?void 0:p.entities,[...n,o.label]);d!=null&&d.length&&(a==null||a.push(...d)),i.push({data:l,children:a||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const n=e[0];if(!(n!=null&&n.type))return[];const i=this.buildEntityFieldsTreeData(n.type.fields,[n.code]),o=this.buildChildEntityTreeData(n.type.entities,[n.code]);return o!=null&&o.length&&(i==null||i.push(...o)),{entityCode:n.code,fields:[{data:this.createTreeNode(n,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,n,i){const o=i==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,n),a=this.getEntitiesAndVariables(),d={message:["validate","required","dataPicking"].includes(n)&&l?l.message:"",...a};return l.messageType!=null&&(d.messageType=l.messageType),d}buildRule(e,n,i,o){const{expression:l,message:a,messageType:d}=n,c={id:`${e}_${i}`,type:i,value:l};return(i==="validate"||i==="dataPicking"||i==="required")&&(c.message=a),i==="dataPicking"&&(c.messageType=d),i==="validate"&&o&&(c.elementId=o),c}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,n,i,o){const l=n==="Field"?e.binding.field:e.id,a=this.buildRule(l,i,o,e.type==="form-group"?e.id:"");let c=this.getExpressionData().find(u=>u.targetType===n&&u.target===l);const p=u=>u.value.trim()==="";if(c){const u=c.rules.find(s=>s.id===a.id);if(u)p(a)?c.rules=c.rules.filter(s=>s.id!==a.id):(Object.assign(u,a),o==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(p(a))return null;c.rules=c.rules||[],c.rules.push(a)}}else{if(p(a))return null;c={target:`${l}`,rules:[a],targetType:n}}return c}getExpressionEditorOptions(e,n,i,o){return i.reduce((l,a)=>{var c,p;const d=n==="Field"?(c=e==null?void 0:e.binding)==null?void 0:c.field:e.id;return l[a]={hide:n==="Field"?!!((p=e==null?void 0:e.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(d),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,n),onSubmitModal:u=>{const s=this.updateExpression(e,n,u,a);if(o){const f=this.buildRule(d,u,a);o(f)}return s}}},l},{})}getExpressionInfo(e,n,i){const o=n==="Field"?e.binding.field:e.id,l=this.getExpressionRule(o,i),a={value:l&&l.value,targetId:o,targetType:n,expressionType:i};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(e,n,i=["compute","dependency","validate"],o){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,n,i,o)}}}getExpressionOptions(e,n,i){const o=this.getExpressionInfo(e,n,i);return{dialogTitle:`${this.expressionNames[i]}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,n),expressionInfo:o}}}class Jt{constructor(e,n){ne(this,"componentId");ne(this,"viewModelId");ne(this,"eventsEditorUtils");ne(this,"formSchemaUtils");ne(this,"formMetadataConverter");ne(this,"designViewModelUtils");ne(this,"designViewModelField");ne(this,"controlCreatorUtils");ne(this,"designerHostService");ne(this,"designerContext");ne(this,"schemaService",null);ne(this,"metadataService",null);ne(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService,this.designerContext=n.designerContext}getFormDesignerInstance(){var e,n;return(n=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:n.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(l=>l.id===n)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:e.type,name:z.DgControl[e.type]&&z.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,n={},i){const o={title:"外观",description:"Appearance"},l={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const a in n)l[a]=Object.assign(l[a]||{},n[a]);return{...o,properties:{...l},setPropertyRelates(a,d){if(a){switch(a&&a.propertyID){case"class":case"style":{z.canvasChanged.value++;break}}i&&i(a,e,d)}}}}getPropertyEditorParams(e,n=[],i="visible",o={},l={},a=""){const{getVariables:d,getControlName:c,getStateMachines:p}=fo(this.designerHostService),u=this.getRealTargetType(e),s=n&&n.length>0?n:["Const","Variable","StateMachine","Expression"],f={type:"property-editor",propertyTypes:s};return s.map(g=>{switch(g){case"Const":Object.assign(f,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},o);break;case"Expression":f.expressionConfig=this.getExpressionOptions(e,u,a||i);break;case"StateMachine":f.stateMachines=p();break;case"Variable":Object.assign(f,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:d(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=d(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(f.newVariablePrefix="ext_"+f.newVariablePrefix);break}}),f}getVisibleProperty(e,n=""){var l;let i=["Const","Variable","StateMachine","Expression"];return n==="gridFieldEditor"?i=["Const","Expression"]:n==="form-group"&&!((l=e.binding)!=null&&l.field)?i=["Const","Variable","StateMachine"]:(n==="dataGrid"||n==="treeGrid"||n==="wizard")&&(i=["Const","Variable","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,n="",i={},o){const l={title:"行为",description:""},a=this.getVisibleProperty(e,n);for(const c in i)a[c]=Object.assign(a[c]||{},i[c]);const d=this;return{...l,properties:{...a},setPropertyRelates(c,p){if(c){switch(c.propertyID){case"disabled":case"readonly":case"visible":d.afterMutilEditorChanged(e,c);break}o&&o(c,p)}}}}afterMutilEditorChanged(e,n){this.addNewVariableToViewModel(n,this.viewModelId),this.updateExpressionValue(n),this.clearExpression(n,e)}updateElementByParentContainer(e,n){const i=n&&n.parent&&n.parent.schema;if(!i)return;const o=i.contents.findIndex(a=>a.id===e),l=Be.cloneDeep(i.contents[o]);i.contents.splice(o,1),i.contents.splice(o,0,l),z.refreshCanvas()}addNewVariableToViewModel(e,n){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const a={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(e){const n=e.propertyValue;if(!((n&&n.type)==="Expression"&&n.expressionInfo))return;const{expressionId:l,expressionInfo:a}=n,{targetId:d,targetType:c,expressionType:p,value:u,message:s}=a,f=this.formSchemaUtils.getModule();f.expressions=f.expressions||[];const{expressions:g}=f;let m=g.find(b=>b.target===d);m||(m={target:d,rules:[],targetType:c},g.push(m));const y=m.rules.find(b=>b.type===p);if(y)y.value=u,y.message=s;else{const b={id:l,type:p,value:u,message:s};m.rules.push(b)}delete n.expressionInfo}clearExpression(e,n){const i=e.propertyValue;if(i&&i.type==="Expression")return;const l=e.propertyID,a=this.formSchemaUtils.getExpressions(),d=n.binding?n.binding.field:n.id,c=a.find(p=>p.target===d);!c||!c.rules||(c.rules=c.rules.filter(p=>p.type!==l))}getExpressionOptions(e,n,i){return new Zt(this.formSchemaUtils).getExpressionOptions(e,n,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const n={};return n[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var o;((o=i.controller)==null?void 0:o.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},n}}const Qt=[{key:"none",value:"无"},{key:"cellNumber",value:"手机号"},{key:"tel",value:"座机号/传真号"},{key:"telOrCell",value:"手机号/座机号/传真号"},{key:"postCode",value:"邮编"},{key:"email",value:"电子邮箱"},{key:"idCode",value:"身份证号"},{key:"carCode",value:"车牌号"},{key:"subjectCode",value:"10位数字会计科目代码"},{key:"custom",value:"自定义"}];function mo(t){switch(t){case"none":return"";case"cellNumber":return"^1[0-9]{10}$";case"tel":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$";case"telOrCell":return"^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$|^1[0-9]{10}$";case"postCode":return"^[1-9]\\d{5}(?!\\d)$";case"workCode":return"^\\d{8}$";case"email":return"^[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z]{2,5}$";case"idCode":return"^[1-9]\\d{5}[1-9]\\d{3}((0[1-9])|(1[0-2]))(0[1-9]|([1|2][0-9])|3[0-1])((\\d{4})|\\d{3}X)$";case"carCode":return"^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][·\\s]?[A-HJ-NP-Z0-9]{4,5}[挂学警港澳]?|粤[Z港澳][·\\s]?[港澳][0-9A-HJ-NP-Z]{4}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?([DF][0-9A-HJ-NP-Z][0-9]{4}|[0-9]{5}[DF])[挂港澳]?|[使领][0-9]{3}[·\\s]?[0-9]{3}|临[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][·\\s]?[0-9A-Z]{4,5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z]?[·\\s]?警[0-9A-Z]{4}|[军海空][A-Z][·\\s]?[0-9]{4,5}|WJ(?:[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]|\\d{2})[·\\s]?[0-9A-Z]{4,5})$";case"carCodeNew":return"^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))$";case"subjectCode":return"^\\d{10}$"}return""}function po(t){var e;return"请输入正确的"+((e=Qt.find(n=>n.key===t))==null?void 0:e.value)}const go={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation.type=n,t.editor.formatValidation.expression=mo(n),t.editor.formatValidation.message=po(n)},convertFrom:(t,e,n)=>t.editor.formatValidation?e==="type"?t.editor.formatValidation[e]||"none":t.editor.formatValidation[e]:"none"},Kt={convertTo:(t,e,n,i)=>{t.editor.formatValidation||(t.editor.formatValidation={type:"none"}),t.editor.formatValidation[e]=n},convertFrom:(t,e,n)=>t.editor.formatValidation?t.editor.formatValidation[e]:t.editor[e]},ho=["lookup","more-vertical","add","edit","x","search","image-edit","copy","source-code","top_developmenttool","reorder","reload"];function yo(t,e,n){const i=`<i class="f-icon f-icon-${e}"></i>`;n.value.setValue(i)}const en=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",null,[r.createTextVNode("按钮图标示例")]),r.createVNode("ul",{class:"d-flex",style:"width: 200px; flex-wrap: wrap;align-items: center;height: 100px;"},[ho.map(e=>r.createVNode("li",{key:e,class:"btn",title:"双击添加到内容区域",onDblclick:n=>yo(n,e,t)},[r.createVNode("i",{class:`f-icon f-icon-${e}`},null)]))])]);class vo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getPropertyConfig(e,n){return super.getPropertyConfig(e,n),this.propertyConfig.categories.formatValidation=this.getFormatValidation(e),this.propertyConfig}getEditorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n,needValid:!0}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"},groupText:{description:"按钮文本",title:"按钮文本",type:"string",visible:e.editor.showType==="text"||!e.editor.showType,editor:{type:"code-editor",language:"html",leftTemplate:en}}})}getGridFieldEdtiorProperties(e){var i,o;let n;if(((i=e==null?void 0:e.binding)==null?void 0:i.type)==="Form"){const l=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(o=l==null?void 0:l.schemaField)!=null&&o.type&&(n=l.schemaField.type.length)}return this.getComponentConfig(e,{},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:n}},showType:{description:"指定是文本框还是密码框",title:"展示类型",type:"enum",editor:{type:"combo-list",data:[{id:"text",name:"文本框"},{id:"password",name:"密码框"}]},refreshPanelAfterChanged:!0,defaultValue:"text"},enableViewPassword:{description:"",title:"能否查看密码",visible:e.editor.showType==="password",type:"boolean"},groupText:{description:"按钮文本",title:"按钮文本",type:"string",visible:e.editor.showType==="text"||!e.editor.showType,editor:{type:"code-editor",language:"html",leftTemplate:en}}})}getFormatValidation(e){var i,o,l,a;const n={title:"输入格式校验",description:"输入校验",hide:!((i=e.binding)!=null&&i.field),properties:{type:{title:"格式类型",type:"enum",description:"格式类型",defaultValue:"",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:Qt},refreshPanelAfterChanged:!0,$converter:go,parentPropertyID:"formatValidation"}}};return(o=e.editor.formatValidation)!=null&&o.type&&((l=e.editor.formatValidation)==null?void 0:l.type)!=="none"&&(n.properties.message={title:"输入错误提示",type:"string",description:"输入错误提示",$converter:Kt,parentPropertyID:"formatValidation"}),((a=e.editor.formatValidation)==null?void 0:a.type)==="custom"&&(n.properties.expression={title:"匹配正则",type:"string",description:"匹配正则",$converter:Kt,parentPropertyID:"formatValidation"}),n}getEventPropertyConfig(e){const n=this;let i=[{label:"onClickHandle",name:"按钮点击事件"},...this.formGroupEvents];e.editor.showType==="password"&&(i=[...this.formGroupEvents]);const o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete d[n.viewModelId],c&&(n.eventsEditorUtils.saveRelatedParameters(d,n.viewModelId,c.events,c),n.updateLinkedLabel(c,d));const p=n.designViewModelUtils.getDgViewModel(n.viewModelId);p&&n.designViewModelField&&p.changeField(n.designViewModelField.id,{valueChanging:d.fieldValueChanging,valueChanged:d.fieldValueChanged})}}}}const rt=class rt{static getEditorTypesByMDataType(e,n=!1,i=""){if(n)return[{key:z.DgControl["language-textbox"].type,value:z.DgControl["language-textbox"].name}];let o=rt.fieldControlTypeMapping[e];if(i==="data-grid-column"&&(o!=null&&o.length)){const l=[z.DgControl["check-group"].type,z.DgControl["radio-group"].type,z.DgControl.image.type,z.DgControl["rich-text-editor"].type];o=o.filter(a=>!l.includes(a.key))}return o}static getAllInputTypes(){const e=[];for(const n in rt.fieldControlTypeMapping)rt.fieldControlTypeMapping[n].forEach(i=>{e.find(o=>o.key===i.key&&o.value===i.value)||e.push({key:i.key,value:i.value})});return e}static mappingDomPropAndSchemaProp(e,n){var l;const i=(l=e.editor)==null?void 0:l.type,o=[];return(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&n&&n.categoryId&&n.categoryId.indexOf("gridFieldEditor")<0&&o.push({domField:"title",schemaField:"name"}),o.push({domField:"label",schemaField:"name"}),o.push({domField:"editor.required",schemaField:"require"}),o.push({domField:"editor.readonly",schemaField:"readonly"}),(i===z.DgControl["input-group"].type||i===z.DgControl.textarea.type||i===z.DgControl["number-spinner"].type)&&o.push({domField:"editor.maxLength",schemaField:"type.length"}),i===z.DgControl["number-spinner"].type&&o.push({domField:"editor.precision",schemaField:"type.precision"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.precision",schemaField:"type.precision"}),(i===z.DgControl["combo-list"].type||i===z.DgControl["radio-group"].type)&&o.push({domField:"editor.data",schemaField:"type.enumValues"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"formatter.data",schemaField:"type.enumValues"}),i===z.DgControl["date-picker"].type&&(o.push({domField:"editor.displayFormat",schemaField:"editor.format"}),o.push({domField:"editor.fieldType",schemaField:"type.name"})),i===z.DgControl["number-spinner"].type&&(o.push({domField:"editor.max",schemaField:"editor.maxValue"}),o.push({domField:"editor.min",schemaField:"editor.minValue"})),i===z.DgControl.lookup.type&&(o.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),o.push({domField:"editor.valueField",schemaField:"editor.valueField"}),o.push({domField:"editor.textField",schemaField:"editor.textField"}),o.push({domField:"editor.displayType",schemaField:"editor.displayType"}),o.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),o.push({domField:"editor.helpId",schemaField:"editor.helpId"})),o.push({domField:"path",schemaField:"bindingPath"}),o.push({domField:"binding.path",schemaField:"bindingField"}),o.push({domField:"binding.fullPath",schemaField:"path"}),(e.type===z.DgControl["data-grid-column"].type||e.type===z.DgControl["tree-grid-column"].type)&&o.push({domField:"field",schemaField:"bindingPath"}),o}};ne(rt,"fieldControlTypeMapping",{String:[{key:z.DgControl["input-group"].type,value:z.DgControl["input-group"].name},{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl.image.type,value:z.DgControl.image.name},{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name},{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name},{key:z.DgControl["check-group"].type,value:z.DgControl["check-group"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name},{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl.textarea.type,value:z.DgControl.textarea.name},{key:z.DgControl["time-picker"].type,value:z.DgControl["time-picker"].name}],Text:[{key:z.DgControl.textarea.type,value:z.DgControl.textarea.name},{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl.image.type,value:z.DgControl.image.name},{key:z.DgControl.avatar.type,value:z.DgControl.avatar.name},{key:z.DgControl["rich-text-editor"].type,value:z.DgControl["rich-text-editor"].name}],Decimal:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Integer:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Number:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name},{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name}],BigNumber:[{key:z.DgControl["number-spinner"].type,value:z.DgControl["number-spinner"].name}],Date:[{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name}],DateTime:[{key:z.DgControl["date-picker"].type,value:z.DgControl["date-picker"].name}],Boolean:[{key:z.DgControl.switch.type,value:z.DgControl.switch.name},{key:z.DgControl["check-box"].type,value:z.DgControl["check-box"].name}],Enum:[{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name}],Object:[{key:z.DgControl.lookup.type,value:z.DgControl.lookup.name},{key:z.DgControl["combo-list"].type,value:z.DgControl["combo-list"].name},{key:z.DgControl["radio-group"].type,value:z.DgControl["radio-group"].name}]});let dt=rt;var ot=(t=>(t.Form="Form",t.Variable="Variable",t))(ot||{});class bo{constructor(){ne(this,"label","");ne(this,"id","");ne(this,"columnInSM",12);ne(this,"columnInMD",6);ne(this,"columnInLG",3);ne(this,"columnInEL",2);ne(this,"displayWidthInSM",1);ne(this,"displayWidthInMD",1);ne(this,"displayWidthInLG",1);ne(this,"displayWidthInEL",1);ne(this,"displayColumnCountAtBreakPoint","md");ne(this,"tagRow",0);ne(this,"showTopBorder",0);ne(this,"group",1);ne(this,"isSupportedClass",!0);ne(this,"fieldSetId","")}}function Co(t){let e,n;const i=new Map;let o=[];function l(u,s){const g=u.split(" ").filter(C=>C.startsWith("col-"));if(g.length===0){s.isSupportedClass=!1;return}let m=g.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),y=g.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=g.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),M=g.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));m=m||"col-12",s.columnInSM=parseInt(m.replace("col-",""),10),s.displayWidthInSM=s.columnInSM/12,s.displayWidthInSM!==1&&(s.isSupportedClass=!1),y=y||"col-md-"+s.columnInSM,s.columnInMD=parseInt(y.replace("col-md-",""),10),s.displayWidthInMD=s.columnInMD/6,[1,2].includes(s.displayWidthInMD)||(s.isSupportedClass=!1),b=b||"col-xl-"+s.columnInMD,s.columnInLG=parseInt(b.replace("col-xl-",""),10),s.displayWidthInLG=s.columnInLG/3,[1,2,3,4].includes(s.displayWidthInLG)||(s.isSupportedClass=!1),M=M||"col-el-"+s.columnInLG,s.columnInEL=parseInt(M.replace("col-el-",""),10),s.displayWidthInEL=s.columnInEL/2,[1,2,3,4,5,6].includes(s.displayWidthInEL)||(s.isSupportedClass=!1)}function a(u,s,f,g=!1){let m=!1;u.contents.forEach(y=>{if(y.type==="fieldset"){f+=1,a(y,s,f,!0),m=!0;return}m&&(f+=1,m=!1);const b=y.appearance&&y.appearance.class,M=new bo;b?l(b,M):M.isSupportedClass=!1,M.label=y.label||y.id,M.id=y.id,M.group=f,g&&(M.fieldSetId=u.id),n===y.id&&(e=f),i.set(y.id,y),s.push(M)})}function d(u){const s=t.getComponentById(u);if(!s||!s.componentType||!s.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const f=t.selectNode(s,g=>g.type===z.DgControl["response-form"].type);return!f||!f.contents||f.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:f}}function c(u,s){s=s||u.id;const{result:f,message:g,formNode:m}=d(s);if(!f)return{result:f,message:g};n=u.id,o=[],i.clear();const y=m.contents[0].type===z.DgControl.fieldset.type?0:1;a(m,o,y);const b=o.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:e||1,model:b?"customize":"standard"},importData:o}}function p(u,s){s=s;const{result:f,formNode:g}=d(s);if(!f)return"";const m=[];return u.forEach(y=>{var C;const b=i.get(y.id),M=b.appearance&&b.appearance.class;if(M){const T=M.split(" ").filter(E=>!E.startsWith("col-")),v="col-"+y.columnInSM,S="col-md-"+y.columnInMD,h="col-xl-"+y.columnInLG,w="col-el-"+y.columnInEL,x=[v,S,h,w].concat(T);b.appearance.class=x.join(" ")}if(y.fieldSetId){const F=g.contents.find(v=>v.id===y.fieldSetId),T=m.find(v=>v.id===y.fieldSetId);T?(C=T.contents)==null||C.push(b):(m.push(F),F.contents=[b])}else m.push(b)}),g.contents=m,g.id}return{checkCanFindFormNode:d,checkCanOpenLayoutEditor:c,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:a}}const wo=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",null,[r.createTextVNode("代码示例")]),r.createVNode("pre",{style:"background-color: #f5f5f5; padding: 10px; border-radius: 5px;"},[r.createVNode("code",null,[`
|
|
19
19
|
<h3>Tips:</h3>
|
|
20
20
|
<span style="color: blue;">
|
|
21
21
|
自定义提示内容
|
|
22
22
|
</span>
|
|
23
|
-
`])])]);class vt extends Jt{constructor(n,i){super(n,i);ne(this,"responseLayoutEditorFunction");ne(this,"bindingVarible");ne(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"点击标签事件"}]);ne(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Co(this.formSchemaUtils)}getCommonPropertyConfig(n,i,o="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(n,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(n,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"form-group"),o==="Card"){const l=this.getTipsConfig(n);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...l},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(n.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(n))}}getPropertyConfig(n,i){return this.getCommonPropertyConfig(n,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressions=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(n),this.propertyConfig}getGridFieldEdtiorPropConfig(n,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(n,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(n):this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressons=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories}getBasicProperties(n,i,o="Card"){var p;const l=this;this.setDesignViewModelField(n);const{canChangeControlType:a,editorTypeList:d}=this.getAvailableEditorType(n),c={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:d,readonly:!a}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((p=n.editor)==null?void 0:p.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!n.isRtcControl}},setPropertyRelates(u,s,f){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(n,u,i);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(n,u,f);break}}}};return o.toLocaleLowerCase()!=="card"&&delete c.properties.showLabelType,c}getExpandProperties(n){const i=this,o=["Const","Variable"],l=this.getPropertyEditorParams(n,o,"expandable"),a=this.getPropertyEditorParams(n,o,"expandDisabled");return{description:"Expand Information",title:"扩展区域",properties:{expandable:{description:"是否启用扩展区域",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:l},expandMode:{description:"扩展模式 text | button",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!n.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展内容",title:"扩展内容",type:"string",visible:!!n.editor.expandable},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否隐藏扩展区域",title:"隐藏扩展区域",editor:a,visible:!!n.editor.expandable}},setPropertyRelates(c,p){if(c)switch(c.propertyID){case"expandable":case"expandDisabled":i.afterMutilEditorChanged(n,c);break}}}}checkCanChangeControlType(n,i){if(!n.binding)return!1;if(n.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(n.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=z.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField?o=dt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=dt.getEditorTypesByMDataType(this.bindingVarible.type,!1)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(n,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(n,i){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(n,o.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||n.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(n.id,i),delete n.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,n.id,this.componentId),z.canvasChanged.value++;break;case"style":{z.canvasChanged.value++;break}}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,i,o){const l=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const d=a.contents.findIndex(u=>u.id===n.id);if(d===-1)return;const c=a.contents[d];let p;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(m=>m.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),p=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}p||(p=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(p,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding}),Object.prototype.hasOwnProperty.call(c,"visible")&&Object.assign(p,{visible:c.visible}),c.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(c.editor,u)&&(p.editor[u]=c.editor[u])}),o!=null&&o.updateContextSchema?o.updateContextSchema(p):(o.schema=Object.assign(c,p),Object.assign(n,p)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),z.canvasChanged.value++,r.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(n){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor"].includes(n.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:wo},visible:!!n.enableTips}}:{}}getComponentConfig(n,i={},o={},l){var f,g;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),d=(f=n.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],c=this.getPropertyEditorParams(n,d,"readonly"),p=this.getPropertyEditorParams(n,d,"required"),u={readonly:{description:"",title:"只读",editor:c},required:{description:"",title:"必填",type:"boolean",editor:p,visible:!!((g=n.binding)!=null&&g.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in o)u[m]=Object.assign(u[m]||{},o[m]);const s=this;return{...a,properties:{...u},setPropertyRelates(m,y){if(m){switch(m.propertyID){case"readonly":case"required":s.afterMutilEditorChanged(n,m);break}l&&l.bind(s)(m,n,y)}}}}updateUnifiedLayoutAfterControlChanged(n,i,o){const l=n.split(" ");let a=l.find(s=>/^col-([1-9]|10|11|12)$/.test(s)),d=l.find(s=>/^col-md-([1-9]|10|11|12)$/.test(s)),c=l.find(s=>/^col-xl-([1-9]|10|11|12)$/.test(s)),p=l.find(s=>/^col-el-([1-9]|10|11|12)$/.test(s));a=a||"col-12",d=d||"col-md-"+a.replace("col-",""),c=c||"col-xl-"+d.replace("col-md-",""),p=p||"col-el-"+c.replace("col-xl-","");const u={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(d.replace("col-md-",""),10),columnInLG:parseInt(c.replace("col-xl-",""),10),columnInEL:parseInt(p.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(n,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),i){const m=l.find(y=>y.id===i.id);Object.assign(m||{},i)}const a=l.map(m=>m.columnInSM),d=l.map(m=>m.columnInMD),c=l.map(m=>m.columnInLG),p=l.map(m=>m.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,s=this.checkIsUniqueColumn(d)?d[0]:null,f=this.checkIsUniqueColumn(c)?c[0]:null,g=this.checkIsUniqueColumn(p)?p[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:s,uniqueColClassInLG:f,uniqueColClassInEL:g})}checkIsUniqueColumn(n){const i=new Set(n);return Array.from(i).length===1}getItemCollectionEditor(n,i,o){return i=i||"value",o=o||"name",{editor:{columns:[{field:i,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:i,nameField:o,requiredFields:[i,o],uniqueFields:[i,o],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(n,i){n.binding&&n.binding.type===ot.Form&&n.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(n.fieldValueChanging=this.designViewModelField.valueChanging,n.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(n){if(!n.binding)return n.type;switch(n.binding.type){case ot.Form:return n.binding.path||n.type;case ot.Variable:return n.binding.fullPath||n.type}return n.type}getEventPropertyConfig(n,i="card",o,l){const a=this;let d=[...this.formGroupEvents];if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(n.editor.type)&&d.push({lable:"onClear",name:"清空事件"}),o&&(d=d.concat(o)),d.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(n,d);const p=a.eventsEditorUtils.formProperties(n,a.viewModelId,d);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(p),tabId:"commands",tabName:"交互",setPropertyRelates(f,g){const m=f.propertyValue;delete n[a.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,m.controlInfo={type:a.getControlMethodType(n),name:n.title},a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,m.events,m)),l&&l(f,g,m);const y=a.designViewModelUtils.getDgViewModel(a.viewModelId);y&&a.designViewModelField&&y.changeField(a.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged})}}}getExpressionConfig(n,i,o=["compute","dependency","validate"],l){return new Zt(this.formSchemaUtils).getExpressionConfig(n,i,o,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(n,i,o){var l;n.editor[i]!==o?n.editor[i]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(n,i,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(i==="trueValue"?"true":"false"));const d=i==="trueValue"?"falseValue":"trueValue";n.editor[d]===l&&(l=l+1),this.updatePropertyValue(n,i,l)}getBooleanValueConverter(){return{convertFrom:(n,i)=>n.editor[i],convertTo:(n,i,o)=>{this.setBooleanValue(n,i,o)}}}}class xo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return{description:"编辑器",title:"编辑器",type:"avatar",$converter:"/converter/property-editor.converter",parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean"},avatarWidth:{description:"",title:"头像宽度",type:"number"},avatarHeight:{description:"",title:"头像高度",type:"number"},cover:{description:"",title:"封面",type:"string"}}}}}class So extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.getComponentConfig(e,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},(o,l)=>{if(o)switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"&&(e.editor.valueField="value",e.editor.textField="name");break}case"data":{e.formatter&&(e.formatter.data=[...o.propertyValue]);break}}})}}class Mo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,i;return this.getComponentConfig(e,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1},label:{description:"",title:"名称",type:"string"},trueValue:{description:"选中的值",title:"选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,d;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",d="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,d=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&d!==void 0&&(e.editor.falseValue=d)}}}const tn={convertFrom:(t,e)=>(t.editor.remote||{})[e],convertTo:(t,e,n)=>{t.editor.remote=t.editor.remote||{},t.editor.remote[e]=n}};class Fo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getCommonEditorProperties(e){var n,i,o;return{viewType:{visible:!!((n=e.editor)!=null&&n.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=e.editor)!=null&&i.multiSelect)&&((o=e.editor)==null?void 0:o.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(e){var l,a;const n=this;let i="";if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const d=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=d==null?void 0:d.schemaField)!=null&&a.type&&(i=d.schemaField.type.$type)}return n.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},url:{visible:e.editor.dataSourceType==="dynamic",$converter:tn,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:tn,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(d,c)=>{if(!d||!c.editor)return;const p=this;switch(d.propertyID){case"dataSourceType":{d.propertyValue==="static"?(c.editor.valueField="value",c.editor.textField="name",c.editor.remote=null):d.propertyValue==="dynamic"&&(c.editor.remote={method:"GET"},c.editor.valueField="value",c.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(c)&&c.formatter&&(c.formatter.data=[...d.propertyValue]);break}case"viewType":d.propertyValue==="tag"&&(c.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,n){var a,d,c,p,u,s;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const f=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(d=f==null?void 0:f.schemaField)!=null&&d.type&&(o=f.schemaField.type.$type)}return i.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((c=e.editor)!=null&&c.dataSourceType)||((p=e.editor)==null?void 0:p.dataSourceType)==="static",...i.getItemCollectionEditor(e,(u=e.editor)==null?void 0:u.valueField,(s=e.editor)==null?void 0:s.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(f,g)=>{if(!f||!g.editor)return;const m=this;switch(f.propertyID){case"dataSourceType":{f.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):f.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...f.propertyValue]);break}}})}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name",n.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,n="card",i,o){const l=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const d=l.eventsEditorUtils.formProperties(e,l.viewModelId,a);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(u,s){const f=u.propertyValue;delete e[l.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(e,l.viewModelId,f.events,f)),o&&o(u,s,f);const g=l.designViewModelUtils.getDgViewModel(l.viewModelId);g&&l.designViewModelField&&g.changeField(l.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged}),e.editor.beforeOpen!==e.beforeOpen&&(e.editor.beforeOpen=e.beforeOpen),e.editor.onChange!==e.onChange&&(e.editor.onChange=e.onChange),e.editor.onClear!==e.onClear&&(e.editor.onClear=e.onClear)}}}}class To extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{resizable:{description:"",title:"拖拽调整大小",type:"boolean"},autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}getGridFieldEdtiorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}}function _o(){let t="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:t}=window.top.localStorage);const e=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"}],n=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],i=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],o=[{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"}],l=[{id:"yyyy",name:"yyyy"}];return t==="zh-CHS"&&(e.push({id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}),n.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),l.push({id:"yyyy年",name:"yyyy年"})),t==="zh-CHT"&&(e.push({id:"yyyy年MM月dd日 HH時mm分ss秒",name:"yyyy年MM月dd日 HH時mm分ss秒"},{id:"yyyy年MM月dd日 HH時mm分",name:"yyyy年MM月dd日 HH時mm分"}),n.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),l.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:n,mdFormats:o,yFormats:l}}const ko=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],Vo=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"}],Eo=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],Io=[{id:"yyyy",name:"yyyy"}],{timeFormats:Po,yMdFormats:No,yMFormats:nn,mdFormats:Bo,yFormats:_t}=_o();class Oo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:n,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:l,formatTo:a}=X.useDateFormat();if(i){const d=l(i,"yyyy-MM-dd HH:mm:ss");d&&(e.editor.maxDate=a(d,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(n){const d=l(n,"yyyy-MM-dd HH:mm:ss");d&&(e.editor.minDate=a(d,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}}getEditorProperties(e){var d,c,p,u,s,f,g,m,y,b,M,C,F,T,v;const n=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(c=(d=this.designViewModelField)==null?void 0:d.type)==null?void 0:c.name,l=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(p=e==null?void 0:e.editor)!=null&&p.selectMode||(e.editor.selectMode="day"),this.checkMaxMinDate(e),this.getComponentConfig(e,{type:"date-picker"},{enableClear:{description:"是否显示清除按钮",title:"启用清除",type:"boolean"},selectMode:{description:"",title:"显示类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",textField:"label",valueField:"value",data:l}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((u=e==null?void 0:e.editor)==null?void 0:u.selectMode)==="day"},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:((s=e==null?void 0:e.editor)==null?void 0:s.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((f=e==null?void 0:e.editor)==null?void 0:f.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((g=e==null?void 0:e.editor)==null?void 0:g.selectMode)==="day"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1,needValid:!0}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:n}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:i},visible:((m=e==null?void 0:e.editor)==null?void 0:m.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((y=e==null?void 0:e.editor)==null?void 0:y.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:"1900-01-01 00:00:00",maxDate:((b=e==null?void 0:e.editor)==null?void 0:b.maxDate)||"9999-12-31 23:59:59",showTime:(M=e==null?void 0:e.editor)==null?void 0:M.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((C=e==null?void 0:e.editor)==null?void 0:C.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((F=e==null?void 0:e.editor)==null?void 0:F.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(T=e==null?void 0:e.editor)==null?void 0:T.showTime},refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((v=e==null?void 0:e.editor)==null?void 0:v.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(e){var n,i,o,l;if(((n=e==null?void 0:e.editor)==null?void 0:n.selectMode)==="day")return"yyyy-MM-dd"+((i=e==null?void 0:e.editor)!=null&&i.showTime?" HH:mm:ss":"");if(((o=e==null?void 0:e.editor)==null?void 0:o.selectMode)==="month")return"yyyy-MM";if(((l=e==null?void 0:e.editor)==null?void 0:l.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const n=this,i=[{label:"onDatePicked",name:"日期选择后事件"},...this.formGroupEvents],o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete d[n.viewModelId],c&&n.eventsEditorUtils.saveRelatedParameters(d,n.viewModelId,c.events,c);const p=n.designViewModelUtils.getDgViewModel(n.viewModelId);p&&n.designViewModelField&&p.changeField(n.designViewModelField.id,{valueChanging:d.fieldValueChanging,valueChanged:d.fieldValueChanged})}}}setEditorPropertyRelates(e,n,i){if(!(!e||!n.editor))switch(e.propertyID){case"showTime":{const o=n.editor;e.propertyValue?(o.displayFormat="yyyy-MM-dd HH:mm:ss",o.valueFormat="yyyy-MM-dd HH:mm:ss"):(o.displayFormat="yyyy-MM-dd",o.valueFormat="yyyy-MM-dd"),n.formatter&&(n.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{n.formatter&&(n.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(n.editor.showWeekNumber=!1,n.editor.showTime=!1,n.editor.enableQuickSelect=!1,e.propertyValue==="month"?(n.editor.displayFormat="yyyy-MM",n.editor.valueFormat="yyyy-MM"):(n.editor.displayFormat="yyyy",n.editor.valueFormat="yyyy")):(n.editor.displayFormat="yyyy-MM-dd",n.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const n=e.selectMode||"day";let i=[];switch(n){case"day":{const o=[];e.showTime&&o.push(...Po),o.push(...No,...nn,..._t,...Bo),i=o;break}case"month":{i=[...nn,..._t];break}case"year":{i=[..._t];break}}return i}getValueFormatOptions(e){switch(e.selectMode||"day"){case"day":{let i=[...ko];return e.showTime&&(i=[...Vo]),i}case"month":return Eo;case"year":return Io;default:return[]}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)&&(e.editor.fieldType=o.type.name,o.type.name===X.FormSchemaEntityFieldTypeName.DateTime&&(Object.prototype.hasOwnProperty.call(e.editor,"showTime")||(e.editor.showTime=!0),Object.prototype.hasOwnProperty.call(e.editor,"displayFormat")||(e.editor.displayFormat="yyyy-MM-dd HH:mm:ss"),Object.prototype.hasOwnProperty.call(e.editor,"valueFormat")||(e.editor.valueFormat="yyyy-MM-dd HH:mm:ss")))}}const jo=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Ro="";function bt(t){let e=[10,20,30,50,100];return t&&(typeof t=="string"&&(e=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(e=t)),e.map(n=>({value:parseInt(n,10)})).sort((n,i)=>n.value-i.value)}const me={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;return e==="multiSelect"||e==="enableTitle"?!!n[e]:e==="separator"?n[e]||",":e==="onlySelectLeaf"?n[e]==null?!1:n[e]:e==="loadTreeDataType"?n[e]||"default":e==="placeholder"?Be.isNil(n[e])?"请选择":n[e]:e==="openType"?n[e]||"Modal":n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;if(i[e]=n,e==="multiSelect"&&!n&&(i.enableCascade=!1),e==="openType"){if(n==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:l}=i;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function Ao(t){let e="form_group_"+Date.now();return t&&(e=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function Lo(t,e){const{enablePager:n,pageSize:i,pageList:o}=e;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:n,sizeLimits:bt(o).map(l=>l.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const on={convertFrom:(t,e)=>{var i;return(i=(t.editor?t.editor:t).dataSource)==null?void 0:i.displayName},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=t.editor?t.editor:t,o=n[0],{name:l,id:a,metadataContent:d,code:c}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${l}(${c})`,i.helpId=a;const{displayType:p,idField:u,textField:s}=d;i.displayType=p,i.dataSource.idField=u,i.textField=s,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:f}=d.dataSource;Lo(i,f);const{treeInfo:g}=p.toUpperCase()==="NAVTREELIST"?d.navigation:d.dataSource;if(g){const{onlySelectLeaf:m,loadDataType:y}=g;i.loadTreeDataType="default",i.onlySelectLeaf=m??!1}if(i.dataSource.uri||(i.dataSource.uri=Ao(t.id)),i.dialog){const{width:m}=i.dialog;p&&p.toUpperCase().indexOf("NAV")>-1&&(!m||m<520)&&(i.dialog.width=960)}}}},Ho={convertFrom:(t,e)=>{var n;return(n=t.editor.dataSource)==null?void 0:n.idField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},$o={convertFrom:(t,e)=>{var n;return(n=t.editor)==null?void 0:n.textField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.textField=i==null?void 0:i.bindingPath}}},zo={convertFrom:(t,e)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,e,n)=>{t.editor.displayType=n}},Ye={convertFrom:(t,e)=>{var l;let n=t.editor?t.editor.dialog:t.dialog;const i=t.editor?t.editor.openType:t.openType;if(n||(n={}),e==="title")return n[e]||Ro;if(!i||i==="Modal"){if(e==="width")return(l=n.displayType)!=null&&l.toUpperCase().startsWith("NAV")?n[e]||960:n[e]||590;if(e==="height")return n[e]||620;if(e==="navigatorWidth")return n[e]||320}else{if(e==="width")return n[e]||460;if(e==="height")return n[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return n[e]==null?!0:n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;i.dialog=i.dialog||{},i.dialog[e]=n}},Wo={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;if(n.pagination=n.pagination||{},e==="enable"||e==="showLimits")return n.pagination[e]==null?!1:n.pagination[e];if(e==="sizeLimits"){const i=n.pagination[e];return bt(i)}if(e==="size")return n.pagination[e]||20},convertTo:(t,e,n)=>{var o;const i=t.editor?t.editor.pagination||{}:t;if(i.pagination=i.pagination||{},e==="sizeLimits"){const l=n.map(d=>d.value);i.pagination[e]=l;const a=((o=i.pagination)==null?void 0:o.size)??20;l.includes(a)||(i.pagination.size=l[0]);return}i.pagination[e]=n}},rn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],ln=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[r.createTextVNode("示例代码:")]),r.createVNode("pre",{style:"height: calc(100% - 35px);margin: 0;"},[`{
|
|
23
|
+
`])])]);class vt extends Jt{constructor(n,i){super(n,i);ne(this,"responseLayoutEditorFunction");ne(this,"bindingVarible");ne(this,"formGroupEvents",[{label:"fieldValueChanging",name:"绑定字段值变化前事件"},{label:"fieldValueChanged",name:"绑定字段值变化后事件"},{label:"onClickLabel",name:"标签点击事件"}]);ne(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Co(this.formSchemaUtils)}getCommonPropertyConfig(n,i,o="Card"){if(this.propertyConfig.categories.basic=this.getBasicProperties(n,i,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(n,i),this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"form-group"),o==="Card"){const l=this.getTipsConfig(n);this.propertyConfig.categories.behavior.properties={...this.propertyConfig.categories.behavior.properties,...l},["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","language-textbox"].includes(n.editor.type)&&(this.propertyConfig.categories.expansion=this.getExpandProperties(n))}}getPropertyConfig(n,i){return this.getCommonPropertyConfig(n,i,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressions=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(n),this.propertyConfig}getGridFieldEdtiorPropConfig(n,i){return this.propertyConfig.categories={},this.getCommonPropertyConfig(n,i,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(n):this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig.categories.expressons=this.getExpressionConfig(n,"Field"),this.propertyConfig.categories}getBasicProperties(n,i,o="Card"){var p;const l=this;this.setDesignViewModelField(n);const{canChangeControlType:a,editorTypeList:d}=this.getAvailableEditorType(n),c={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:d,readonly:!a}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((p=n.editor)==null?void 0:p.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!0},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!n.isRtcControl}},setPropertyRelates(u,s,f){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(n,u,i);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(n,u,f);break}}}};return o.toLocaleLowerCase()!=="card"&&delete c.properties.showLabelType,c}getExpandProperties(n){const i=this,o=["Const","Variable"],l=this.getPropertyEditorParams(n,o,"expandable"),a=this.getPropertyEditorParams(n,o,"expandDisabled");return{description:"Expand Information",title:"扩展区域",properties:{expandable:{description:"是否启用扩展区域",title:"启用扩展区域",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:l},expandMode:{description:"扩展模式 text | button",title:"扩展模式",type:"enum",refreshPanelAfterChanged:!0,$converter:"/converter/property-editor.converter",editor:{data:[{id:"text",name:"静态文本"},{id:"button",name:"交互按钮"}]},defaultValue:"text",visible:!!n.editor.expandable},expandContent:{$converter:"/converter/property-editor.converter",description:"扩展内容",title:"扩展内容",type:"string",visible:!!n.editor.expandable},expandDisabled:{$converter:"/converter/property-editor.converter",description:"是否隐藏扩展区域",title:"隐藏扩展区域",editor:a,visible:!!n.editor.expandable}},setPropertyRelates(c,p){if(c)switch(c.propertyID){case"expandable":case"expandDisabled":i.afterMutilEditorChanged(n,c);break}}}}checkCanChangeControlType(n,i){if(!n.binding)return!1;if(n.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(n.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=z.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField?o=dt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(o=dt.getEditorTypesByMDataType(this.bindingVarible.type,!1)),{canChangeControlType:i,editorTypeList:o}}changeBindingField(n,i,o){i.needRefreshEntityTree=!0}getAppearanceProperties(n,i){const o=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(n,o.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,o.componentId||n.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(n.id,i),delete n.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(l.propertyValue,n.id,this.componentId),z.canvasChanged.value++;break;case"style":{z.canvasChanged.value++;break}}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,i,o){const l=i.propertyValue,a=o&&o.parent&&o.parent.schema;if(!a)return;const d=a.contents.findIndex(u=>u.id===n.id);if(d===-1)return;const c=a.contents[d];let p;if(this.designViewModelField){const f=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(m=>m.id===this.designViewModelField.id).fieldSchema||{};f.editor||(f.editor={}),f.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,f,!1),p=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}p||(p=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(p,{id:c.id,appearance:c.appearance,size:c.size,label:c.label,binding:c.binding}),Object.prototype.hasOwnProperty.call(c,"visible")&&Object.assign(p,{visible:c.visible}),c.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(c.editor,u)&&(p.editor[u]=c.editor[u])}),o!=null&&o.updateContextSchema?o.updateContextSchema(p):(o.schema=Object.assign(c,p),Object.assign(n,p)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),z.canvasChanged.value++,r.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getTipsConfig(n){return["time-picker","date-picker","lookup","combo-list","number-spinner","input-group","textarea","rich-text-editor","language-textbox"].includes(n.editor.type)?{enableTips:{refreshPanelAfterChanged:!0,description:"",title:"启用提示",type:"boolean",default:!1},tipsContent:{description:"提示内容",title:"提示内容",type:"string",editor:{type:"code-editor",language:"html",leftTemplate:wo},visible:!!n.enableTips}}:{}}getComponentConfig(n,i={},o={},l){var f,g;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},i),d=(f=n.binding)!=null&&f.field?[]:["Const","Variable","StateMachine"],c=this.getPropertyEditorParams(n,d,"readonly"),p=this.getPropertyEditorParams(n,d,"required"),u={readonly:{description:"",title:"只读",editor:c},required:{description:"",title:"必填",type:"boolean",editor:p,visible:!!((g=n.binding)!=null&&g.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in o)u[m]=Object.assign(u[m]||{},o[m]);const s=this;return{...a,properties:{...u},setPropertyRelates(m,y){if(m){switch(m.propertyID){case"readonly":case"required":s.afterMutilEditorChanged(n,m);break}l&&l.bind(s)(m,n,y)}}}}updateUnifiedLayoutAfterControlChanged(n,i,o){const l=n.split(" ");let a=l.find(s=>/^col-([1-9]|10|11|12)$/.test(s)),d=l.find(s=>/^col-md-([1-9]|10|11|12)$/.test(s)),c=l.find(s=>/^col-xl-([1-9]|10|11|12)$/.test(s)),p=l.find(s=>/^col-el-([1-9]|10|11|12)$/.test(s));a=a||"col-12",d=d||"col-md-"+a.replace("col-",""),c=c||"col-xl-"+d.replace("col-md-",""),p=p||"col-el-"+c.replace("col-xl-","");const u={id:i,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(d.replace("col-md-",""),10),columnInLG:parseInt(c.replace("col-xl-",""),10),columnInEL:parseInt(p.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,u)}updateUnifiedLayoutAfterResponseLayoutChanged(n,i){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!o||!o.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,l,1),i){const m=l.find(y=>y.id===i.id);Object.assign(m||{},i)}const a=l.map(m=>m.columnInSM),d=l.map(m=>m.columnInMD),c=l.map(m=>m.columnInLG),p=l.map(m=>m.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,s=this.checkIsUniqueColumn(d)?d[0]:null,f=this.checkIsUniqueColumn(c)?c[0]:null,g=this.checkIsUniqueColumn(p)?p[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:s,uniqueColClassInLG:f,uniqueColClassInEL:g})}checkIsUniqueColumn(n){const i=new Set(n);return Array.from(i).length===1}getItemCollectionEditor(n,i,o){return i=i||"value",o=o||"name",{editor:{columns:[{field:i,title:"值",dataType:"string"},{field:o,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:i,nameField:o,requiredFields:[i,o],uniqueFields:[i,o],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(n,i){n.binding&&n.binding.type===ot.Form&&n.binding.field?(i.find(o=>o.label==="fieldValueChanging"),i.find(o=>o.label==="fieldValueChanged"),this.designViewModelField&&(n.fieldValueChanging=this.designViewModelField.valueChanging,n.fieldValueChanged=this.designViewModelField.valueChanged)):i=i.filter(o=>o.label!=="fieldValueChanging"&&o.label!=="fieldValueChanged")}getControlMethodType(n){if(!n.binding)return n.type;switch(n.binding.type){case ot.Form:return n.binding.path||n.type;case ot.Variable:return n.binding.fullPath||n.type}return n.type}updateLinkedLabel(n,i){if(n.boundEventsList&&n.boundEventsList.length>0){const o=n.boundEventsList.find(l=>l.boundEvents&&l.boundEvents.label==="onClickLabel");i.linkLabel=!!o}else i.linkLabel=!1}getEventPropertyConfig(n,i="card",o,l){const a=this;let d=[...this.formGroupEvents];if(["time-picker","date-picker","lookup","combo-list","number-spinner","input-group"].includes(n.editor.type)&&d.push({lable:"onClear",name:"清空事件"}),o&&(d=d.concat(o)),d.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(n,d);const p=a.eventsEditorUtils.formProperties(n,a.viewModelId,d);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(p),tabId:"commands",tabName:"交互",setPropertyRelates(f,g){const m=f.propertyValue;delete n[a.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,m.controlInfo={type:a.getControlMethodType(n),name:n.title},a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,m.events,m),a.updateLinkedLabel(m,g)),l&&l(f,g,m);const y=a.designViewModelUtils.getDgViewModel(a.viewModelId);y&&a.designViewModelField&&y.changeField(a.designViewModelField.id,{valueChanging:n.fieldValueChanging,valueChanged:n.fieldValueChanged})}}}getExpressionConfig(n,i,o=["compute","dependency","validate"],l){return new Zt(this.formSchemaUtils).getExpressionConfig(n,i,o,l)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(n,i,o){var l;n.editor[i]!==o?n.editor[i]=o:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(n,i,o){let l=o;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(i==="trueValue"?"true":"false"));const d=i==="trueValue"?"falseValue":"trueValue";n.editor[d]===l&&(l=l+1),this.updatePropertyValue(n,i,l)}getBooleanValueConverter(){return{convertFrom:(n,i)=>n.editor[i],convertTo:(n,i,o)=>{this.setBooleanValue(n,i,o)}}}}class xo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{},{placeholder:{visible:!1},maxSize:{description:"允许头像上传的大小,单位MB",title:"允许图片大小 (M)",type:"number"},cover:{description:"",title:"默认封面",type:"string"},title:{description:"鼠标滑过图像时的提示文字",title:"提示文字",type:"string"},avatarWidth:{description:"",title:"头像宽度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},avatarHeight:{description:"",title:"头像高度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},imageType:{description:"允许图片上传的类型",title:"允许图片格式",type:"array",editor:{type:"combo-list",placeholder:"",multiSelect:!0,data:[{id:"png",name:"png"},{id:"jpg",name:"jpg"},{id:"jpeg",name:"jpeg"},{id:"webp",name:"webp"},{id:"svg",name:"svg"},{id:"gif",name:"gif"},{id:"bmp",name:"bmp"}]}}})}}class So extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.getComponentConfig(e,{type:"check-group"},{placeholder:{visible:!1},disabled:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},(o,l)=>{if(o)switch(o.propertyID){case"dataSourceType":{o.propertyValue==="static"&&(e.editor.valueField="value",e.editor.textField="name");break}case"data":{e.formatter&&(e.formatter.data=[...o.propertyValue]);break}}})}}class Mo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,i;return this.getComponentConfig(e,{type:"check-box"},{placeholder:{visible:!1},disabled:{visible:!1},label:{description:"",title:"名称",type:"string"},trueValue:{description:"选中的值",title:"选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"未选中的值",title:"未选中的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,d;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",d="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,d=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&d!==void 0&&(e.editor.falseValue=d)}}}const tn={convertFrom:(t,e)=>(t.editor.remote||{})[e],convertTo:(t,e,n)=>{t.editor.remote=t.editor.remote||{},t.editor.remote[e]=n}};class Fo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getCommonEditorProperties(e){var n,i,o;return{viewType:{visible:!!((n=e.editor)!=null&&n.multiSelect),description:"数据展示类型,有标签和文本两种方式",title:"数据展示类型",type:"enum",editor:{data:[{id:"tag",name:"标签"},{id:"text",name:"文本"}]},refreshPanelAfterChanged:!0},separator:{visible:!!((i=e.editor)!=null&&i.multiSelect)&&((o=e.editor)==null?void 0:o.viewType)==="text",description:"下拉列表启用多选且数据展示类型为文本时的分隔符",title:"分隔符",type:"enum",editor:{data:[{id:",",name:"逗号(,)"},{id:"#",name:"井号(#)"},{id:".",name:"句号(.)"},{id:"|",name:"竖线(|)"}]}},editable:{description:"",title:"允许编辑",type:"boolean",refreshPanelAfterChanged:!0,readonly:!0}}}getEditorProperties(e){var l,a;const n=this;let i="";if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const d=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=d==null?void 0:d.schemaField)!=null&&a.type&&(i=d.schemaField.type.$type)}return n.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},dataSourceType:{description:"",title:"数据源类型",type:"enum",editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},url:{visible:e.editor.dataSourceType==="dynamic",$converter:tn,description:"",title:"服务端API",type:"string"},body:{visible:!1,$converter:tn,description:"",title:"服务端API参数",type:"string"},textField:{description:"",title:"数据源显示字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"数据源值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},multiSelect:{description:"",title:"启用多选",visible:!i||i==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(d,c)=>{if(!d||!c.editor)return;const p=this;switch(d.propertyID){case"dataSourceType":{d.propertyValue==="static"?(c.editor.valueField="value",c.editor.textField="name",c.editor.remote=null):d.propertyValue==="dynamic"&&(c.editor.remote={method:"GET"},c.editor.valueField="value",c.editor.textField="name");break}case"data":{!p.checkEnumDataReadonly(c)&&c.formatter&&(c.formatter.data=[...d.propertyValue]);break}case"viewType":d.propertyValue==="tag"&&(c.editor.editable=!1)}})}getGridFieldEdtiorProperties(e,n){var a,d,c,p,u,s;const i=this;let o="";if(((a=e==null?void 0:e.binding)==null?void 0:a.type)==="Form"){const f=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(d=f==null?void 0:f.schemaField)!=null&&d.type&&(o=f.schemaField.type.$type)}return i.getComponentConfig(e,{type:"combo-list"},{enableClear:{description:"",title:"启用清空",type:"boolean"},data:{description:"",title:"数据",type:"array",visible:!((c=e.editor)!=null&&c.dataSourceType)||((p=e.editor)==null?void 0:p.dataSourceType)==="static",...i.getItemCollectionEditor(e,(u=e.editor)==null?void 0:u.valueField,(s=e.editor)==null?void 0:s.textField),refreshPanelAfterChanged:!0},textField:{description:"",title:"数据源显示字段",type:"string",readonly:!0},valueField:{description:"",title:"数据源值字段",type:"string",readonly:!0},multiSelect:{description:"",title:"启用多选",visible:o==="StringType",type:"boolean",refreshPanelAfterChanged:!0},maxLength:{description:"",title:"最大输入长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,needValid:!0}},...this.getCommonEditorProperties(e)},(f,g)=>{if(!f||!g.editor)return;const m=this;switch(f.propertyID){case"dataSourceType":{f.propertyValue==="static"?(g.editor.valueField="value",g.editor.textField="name",g.editor.remote=null):f.propertyValue==="dynamic"&&(g.editor.remote={method:"GET"},g.editor.valueField="value",g.editor.textField="name");break}case"data":{!m.checkEnumDataReadonly(g)&&g.formatter&&(g.formatter.data=[...f.propertyValue]);break}}})}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name",n.editor.remote={});break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}getEventPropertyConfig(e,n="card",i,o){const l=this;let a=[{label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}];i&&(a=a.concat(i)),this.appendFieldValueChangeEvents(e,a);const d=l.eventsEditorUtils.formProperties(e,l.viewModelId,a);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(u,s){const f=u.propertyValue;delete e[l.viewModelId],f&&(f.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(e,l.viewModelId,f.events,f),l.updateLinkedLabel(f,s)),o&&o(u,s,f);const g=l.designViewModelUtils.getDgViewModel(l.viewModelId);g&&l.designViewModelField&&g.changeField(l.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged}),e.editor.beforeOpen!==e.beforeOpen&&(e.editor.beforeOpen=e.beforeOpen),e.editor.onChange!==e.onChange&&(e.editor.onChange=e.onChange),e.editor.onClear!==e.onClear&&(e.editor.onClear=e.onClear)}}}}class To extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{resizable:{description:"",title:"拖拽调整大小",type:"boolean"},autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}getGridFieldEdtiorProperties(e){return this.getComponentConfig(e,{type:"textarea"},{autoHeight:{description:"",title:"自动高度",visible:!1,type:"boolean"}})}}function _o(){let t="zh-CHS";window&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:t}=window.top.localStorage);const e=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"}],n=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],i=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],o=[{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"}],l=[{id:"yyyy",name:"yyyy"}];return t==="zh-CHS"&&(e.push({id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}),n.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),l.push({id:"yyyy年",name:"yyyy年"})),t==="zh-CHT"&&(e.push({id:"yyyy年MM月dd日 HH時mm分ss秒",name:"yyyy年MM月dd日 HH時mm分ss秒"},{id:"yyyy年MM月dd日 HH時mm分",name:"yyyy年MM月dd日 HH時mm分"}),n.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),i.push({id:"yyyy年MM月",name:"yyyy年MM月"}),o.push({id:"MM月dd日",name:"MM月dd日"}),l.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:e,yMFormats:i,yMdFormats:n,mdFormats:o,yFormats:l}}const ko=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],Vo=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"}],Eo=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],Io=[{id:"yyyy",name:"yyyy"}],{timeFormats:Po,yMdFormats:No,yMFormats:nn,mdFormats:Bo,yFormats:_t}=_o();class Oo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getDatePickerModes(e){return e==="Date"||e==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(e){const{minDate:n,maxDate:i,showTime:o}=(e==null?void 0:e.editor)||{},{parseToDate:l,formatTo:a}=X.useDateFormat();if(i){const d=l(i,"yyyy-MM-dd HH:mm:ss");d&&(e.editor.maxDate=a(d,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(n){const d=l(n,"yyyy-MM-dd HH:mm:ss");d&&(e.editor.minDate=a(d,o?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}}getEditorProperties(e){var d,c,p,u,s,f,g,m,y,b,M,C,F,T,v;const n=this.getDateFormatOptions(e==null?void 0:e.editor),i=this.getValueFormatOptions(e==null?void 0:e.editor),o=(c=(d=this.designViewModelField)==null?void 0:d.type)==null?void 0:c.name,l=this.getDatePickerModes(o),a=this.getExtremeDateFormat(e);return(p=e==null?void 0:e.editor)!=null&&p.selectMode||(e.editor.selectMode="day"),this.checkMaxMinDate(e),this.getComponentConfig(e,{type:"date-picker"},{enableClear:{description:"是否显示清除按钮",title:"启用清除",type:"boolean"},selectMode:{description:"",title:"显示类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",textField:"label",valueField:"value",data:l}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((u=e==null?void 0:e.editor)==null?void 0:u.selectMode)==="day"},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:((s=e==null?void 0:e.editor)==null?void 0:s.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((f=e==null?void 0:e.editor)==null?void 0:f.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((g=e==null?void 0:e.editor)==null?void 0:g.selectMode)==="day"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1,needValid:!0}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:n}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:i},visible:((m=e==null?void 0:e.editor)==null?void 0:m.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((y=e==null?void 0:e.editor)==null?void 0:y.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:"1900-01-01 00:00:00",maxDate:((b=e==null?void 0:e.editor)==null?void 0:b.maxDate)||"9999-12-31 23:59:59",showTime:(M=e==null?void 0:e.editor)==null?void 0:M.showTime},refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:{type:"date-picker",enableClear:!0,selectMode:((C=e==null?void 0:e.editor)==null?void 0:C.selectMode)||"day",displayFormat:a,valueFormat:a,minDate:((F=e==null?void 0:e.editor)==null?void 0:F.minDate)||"1900-01-01 00:00:00",maxDate:"9999-12-31 23:59:59",showTime:(T=e==null?void 0:e.editor)==null?void 0:T.showTime},refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((v=e==null?void 0:e.editor)==null?void 0:v.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(e){var n,i,o,l;if(((n=e==null?void 0:e.editor)==null?void 0:n.selectMode)==="day")return"yyyy-MM-dd"+((i=e==null?void 0:e.editor)!=null&&i.showTime?" HH:mm:ss":"");if(((o=e==null?void 0:e.editor)==null?void 0:o.selectMode)==="month")return"yyyy-MM";if(((l=e==null?void 0:e.editor)==null?void 0:l.selectMode)==="year")return"yyyy"}getEventPropertyConfig(e){const n=this,i=[{label:"onDatePicked",name:"日期选择后事件"},...this.formGroupEvents],o=n.eventsEditorUtils.formProperties(e,n.viewModelId,i);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(o),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,d){const c=a.propertyValue;delete d[n.viewModelId],c&&(n.eventsEditorUtils.saveRelatedParameters(d,n.viewModelId,c.events,c),n.updateLinkedLabel(c,d));const p=n.designViewModelUtils.getDgViewModel(n.viewModelId);p&&n.designViewModelField&&p.changeField(n.designViewModelField.id,{valueChanging:d.fieldValueChanging,valueChanged:d.fieldValueChanged})}}}setEditorPropertyRelates(e,n,i){if(!(!e||!n.editor))switch(e.propertyID){case"showTime":{const o=n.editor;e.propertyValue?(o.displayFormat="yyyy-MM-dd HH:mm:ss",o.valueFormat="yyyy-MM-dd HH:mm:ss"):(o.displayFormat="yyyy-MM-dd",o.valueFormat="yyyy-MM-dd"),n.formatter&&(n.formatter.dateFormat=o.displayFormat);break}case"displayFormat":{n.formatter&&(n.formatter.dateFormat=e.propertyValue);break}case"selectMode":{e.propertyValue!=="day"?(n.editor.showWeekNumber=!1,n.editor.showTime=!1,n.editor.enableQuickSelect=!1,e.propertyValue==="month"?(n.editor.displayFormat="yyyy-MM",n.editor.valueFormat="yyyy-MM"):(n.editor.displayFormat="yyyy",n.editor.valueFormat="yyyy")):(n.editor.displayFormat="yyyy-MM-dd",n.editor.valueFormat="yyyy-MM-dd");break}}}getDateFormatOptions(e){const n=e.selectMode||"day";let i=[];switch(n){case"day":{const o=[];e.showTime&&o.push(...Po),o.push(...No,...nn,..._t,...Bo),i=o;break}case"month":{i=[...nn,..._t];break}case"year":{i=[..._t];break}}return i}getValueFormatOptions(e){switch(e.selectMode||"day"){case"day":{let i=[...ko];return e.showTime&&(i=[...Vo]),i}case"month":return Eo;case"year":return Io;default:return[]}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)&&(e.editor.fieldType=o.type.name,o.type.name===X.FormSchemaEntityFieldTypeName.DateTime&&(Object.prototype.hasOwnProperty.call(e.editor,"showTime")||(e.editor.showTime=!0),Object.prototype.hasOwnProperty.call(e.editor,"displayFormat")||(e.editor.displayFormat="yyyy-MM-dd HH:mm:ss"),Object.prototype.hasOwnProperty.call(e.editor,"valueFormat")||(e.editor.valueFormat="yyyy-MM-dd HH:mm:ss")))}}const jo=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Ro="";function bt(t){let e=[10,20,30,50,100];return t&&(typeof t=="string"&&(e=t.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(t)&&(e=t)),e.map(n=>({value:parseInt(n,10)})).sort((n,i)=>n.value-i.value)}const me={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;return e==="multiSelect"||e==="enableTitle"?!!n[e]:e==="separator"?n[e]||",":e==="onlySelectLeaf"?n[e]==null?!1:n[e]:e==="loadTreeDataType"?n[e]||"default":e==="placeholder"?Be.isNil(n[e])?"请选择":n[e]:e==="openType"?n[e]||"Modal":n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;if(i[e]=n,e==="multiSelect"&&!n&&(i.enableCascade=!1),e==="openType"){if(n==="Popup")i.showSelections=!1,i.enableCascade=!1;else if(i.dialog){const{width:o}=i.dialog,{displayType:l}=i;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(i.dialog.width=960)}}i.multiSelect&&i.openType==="Popup"&&(i.editable=!1,i.allowFreeInput=!1)}};function Lo(t){let e="form_group_"+Date.now();return t&&(e=t.replaceAll("-","_").replaceAll(".","_")),"lookup."+e}function Ao(t,e){const{enablePager:n,pageSize:i,pageList:o}=e;t.pagination=t.pagination||{},Object.assign(t.pagination,{enable:n,sizeLimits:bt(o).map(l=>l.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const on={convertFrom:(t,e)=>{var i;return(i=(t.editor?t.editor:t).dataSource)==null?void 0:i.displayName},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=t.editor?t.editor:t,o=n[0],{name:l,id:a,metadataContent:d,code:c}=o;i.dataSource||(i.dataSource={}),i.dataSource.displayName=`${l}(${c})`,i.helpId=a;const{displayType:p,idField:u,textField:s}=d;i.displayType=p,i.dataSource.idField=u,i.textField=s,i.dataSource.type="ViewObject",i.enableEqualSearch=!1;const{pageInfo:f}=d.dataSource;Ao(i,f);const{treeInfo:g}=p.toUpperCase()==="NAVTREELIST"?d.navigation:d.dataSource;if(g){const{onlySelectLeaf:m,loadDataType:y}=g;i.loadTreeDataType="default",i.onlySelectLeaf=m??!1}if(i.dataSource.uri||(i.dataSource.uri=Lo(t.id)),i.dialog){const{width:m}=i.dialog;p&&p.toUpperCase().indexOf("NAV")>-1&&(!m||m<520)&&(i.dialog.width=960)}}}},Ho={convertFrom:(t,e)=>{var n;return(n=t.editor.dataSource)==null?void 0:n.idField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},$o={convertFrom:(t,e)=>{var n;return(n=t.editor)==null?void 0:n.textField},convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.editor.textField=i==null?void 0:i.bindingPath}}},zo={convertFrom:(t,e)=>t.editor.displayType?t.editor.displayType.toUpperCase():"LIST",convertTo:(t,e,n)=>{t.editor.displayType=n}},Ye={convertFrom:(t,e)=>{var l;let n=t.editor?t.editor.dialog:t.dialog;const i=t.editor?t.editor.openType:t.openType;if(n||(n={}),e==="title")return n[e]||Ro;if(!i||i==="Modal"){if(e==="width")return(l=n.displayType)!=null&&l.toUpperCase().startsWith("NAV")?n[e]||960:n[e]||590;if(e==="height")return n[e]||620;if(e==="navigatorWidth")return n[e]||320}else{if(e==="width")return n[e]||460;if(e==="height")return n[e]||380}if(e==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(e))return n[e]==null?!0:n[e]},convertTo:(t,e,n)=>{const i=t.editor?t.editor:t;i.dialog=i.dialog||{},i.dialog[e]=n}},Wo={convertFrom:(t,e)=>{const n=t.editor?t.editor:t;if(n.pagination=n.pagination||{},e==="enable"||e==="showLimits")return n.pagination[e]==null?!1:n.pagination[e];if(e==="sizeLimits"){const i=n.pagination[e];return bt(i)}if(e==="size")return n.pagination[e]||20},convertTo:(t,e,n)=>{var o;const i=t.editor?t.editor.pagination||{}:t;if(i.pagination=i.pagination||{},e==="sizeLimits"){const l=n.map(d=>d.value);i.pagination[e]=l;const a=((o=i.pagination)==null?void 0:o.size)??20;l.includes(a)||(i.pagination.size=l[0]);return}i.pagination[e]=n}},rn=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],ln=t=>r.createVNode(r.Fragment,null,[r.createVNode("h5",{style:"display: flex;justify-content: space-between;align-items: center;"},[r.createTextVNode("示例代码:")]),r.createVNode("pre",{style:"height: calc(100% - 35px);margin: 0;"},[`{
|
|
24
24
|
// 列绑定字段返回自定义数据,rowData: 行数据, column: 列信息
|
|
25
25
|
// 返回字符串
|
|
26
26
|
"name": ({rowData, column}) => {
|
|
@@ -46,16 +46,16 @@
|
|
|
46
46
|
class: 'bg-red'
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
}`])]),Go=Symbol("schema_repository_token");function qo(t,e){const n=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(i,o)=>`${i==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Go},dataSourceConverter:on,defaultConverter:me,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:gt.FieldSelectorRepositoryToken,displayFormatter:n},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const i=e.designViewModelUtils.getAllFields2TreeByVMId(e.viewModelId),o=e.schemaService.getPrimaryField();return o?i.filter(l=>l.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:n}}}}function Uo(t){var l,a;const e={type:"combo-list",enableClear:!1,editable:!1},n={type:"number-spinner",useThousands:!1},i=()=>t.displayType?t.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?t.showNavigation===void 0?!0:!!t.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:me,editor:{...e,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:t.openType!=="Popup",$converter:Ye},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...n,min:o()?520:300,needValid:!0},$converter:Ye},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...n,min:200,needValid:!0},$converter:Ye},showNavigation:{description:"显示导航栏",$converter:me,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&t.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&t.openType!=="Popup",editor:{...n,min:200,max:(((l=t==null?void 0:t.dialog)==null?void 0:l.width)??960)-200,needValid:!0},$converter:Ye},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!t.enableUserData&&(((a=t==null?void 0:t.dialog)==null?void 0:a.resizeable)??!0)&&t.openType!=="Popup",$converter:Ye},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ye}}}function Do(t,e=!0){var l,a,d,c;const n=!((l=t.pagination)!=null&&l.enable),i=()=>t.displayType?t.displayType.toUpperCase():"",o=(p,u)=>{const s=i()!=="TREELIST"||p.treeToList;return u&&s?p.pagination&&p.pagination[u]:s};return{hide:!o(t)||n,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Wo,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(t)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(t,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:bt((a=t.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:p,data:u})=>!u||!u.length?(p==null||p.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(f=>parseInt(f.value,10))).size===u.length?!0:(p==null||p.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(t),editor:{type:"combo-list",enableClear:!1,editable:!1,data:bt((d=t.pagination)==null?void 0:d.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(c=t.pagination)==null?void 0:c.size}}}}}class Yo extends Le.InputBaseProperty{constructor(){super(...arguments);ne(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ne(this,"numberEditor",{type:"number-spinner",useThousands:!1});ne(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ne(this,"visibleEditor",{...this.comboListEditor,editable:!1});ne(this,"requiredEditor",{...this.comboListEditor,editable:!1});ne(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(n,i){const o=["validate"];return n.type==="form-group"&&o.push("dataPicking"),new Le.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(n,"Field",o)}getPropertyConfig(n,i,o="Card"){var C;const l=(C=n.binding)!=null&&C.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(n,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(n,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(n,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(n,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(n,i,o),d=this.getBehaviorConfig(n),c=this.getAppearanceProperties(n,i),p=this.getLookupConfig(n),u=this.getEventPropConfig(n),s=this.getDialogPropertyConfig(n),f=this.getPageConfig(n.editor),g=this.getTreePropConfig(n.editor),m=this.getSearchConfig(n),y=this.getExpandProperties(n),b=this.getExpressionConfig(n,"Field"),M={basic:a,appearance:c,behavior:d,expandConfig:y,lookup:p,treeConfig:g,dialog:s,pager:f,searchConfig:m,expressions:b};return n.type==="form-group"&&(M.eventsEditor=u),{type:"object",categories:M}}getGridFieldEdtiorPropConfig(n){return this.getPropertyConfig(n,null,"Grid").categories}flattenTreeNodes(n){return n.reduce((i,o)=>{var l;return i.push(o),(l=o.children)!=null&&l.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var d;const n=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!n||!n.includes("."))return!0;const i=n.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(c=>c.data.code===i[0]);if(!l)return!1;const a=[l,...this.flattenTreeNodes(l.children)];return!i.reduce((c,p,u)=>[...c,u?`${c[u-1]}.${p}`:p],[]).some(c=>{var p,u,s;return((s=(u=(p=a.find(f=>f.data.path===c))==null?void 0:p.data)==null?void 0:u.type)==null?void 0:s.$type)==="EntityType"})}getBehaviorConfig(n){const i=this.getTipsConfig(n);return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor},...i},setPropertyRelates:(o,l)=>{this.afterMutilEditorChanged(l,o)}}}changeBindingField(n,i){super.changeBindingField(n,i),n.editor.multiSelect=!1}getDisplayType(n){return n.displayType?n.displayType.toUpperCase():""}mapFieldsDisplayFormatter(n){return n&&n.length?n.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(n){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:me,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:me,title:"允许查询所有列",type:"boolean",visible:n.editor.openType!=="Popup"&&n.editor.enableSearchBar==null?!0:!!n.editor.enableSearchBar},enableEqualSearch:{$converter:me,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:n.editor.openType!=="Popup"&&(((i=n.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(n.editor)!=="TREELIST"}},hide:n.editor.openType==="Popup"}}getLookupConfig(n){var p;const i=n.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,s=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:s,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:l,idFieldEditor:a,textFieldEditor:d,mappingFieldsEditor:c}=qo(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,s)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(s,u);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((p=n.binding)!=null&&p.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:me},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:me,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:me,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:me,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:me},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:u=>u&&u.length?u.map(s=>`${s.name}(${s.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,n),onSubmitModal:u=>{if(u){delete i.mappingFields;const s=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(s.relativePath,u[0].data).then(f=>JSON.parse(f==null?void 0:f.metadata.content))}}},$converter:on},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:me,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:gt.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:s})=>{var M;if(!(i==null?void 0:i.helpId))return s==null||s.warning({message:"请先配置数据源!"}),!1;const g=o(),y=new Le.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let b={};if(u){const C=await u.getData(g),F=await u.getLookupConditions(g);b={fieldList:C,conditionList:F}}return(M=y.variables)!=null&&M.forms&&(y.variables.forms.items=y.variables.forms.items.filter(C=>C.category==="remote")),{...b,...y,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:s,conditions:f,originalConditions:g,FMessageBoxService:m})=>{if(s)try{const y=o(),b=await s.getLookupConditions(y)||[];return JSON.stringify(b)!==JSON.stringify(g.value)?(u==null||u.clearAll(),m.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{f.value=b,g.value=JSON.parse(JSON.stringify(f.value))},()=>{}),!1):(JSON.stringify(f.value)===JSON.stringify(g.value)||await s.saveFilterCondition(f.value,y,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return m==null||m.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:zo,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...a},$converter:Ho},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:$o,editor:d},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:me,editor:{...c}},textAlign:{description:"文本对齐方式",title:"文本对齐方式",type:"string",$converter:me,editor:{type:"combo-list",editable:!1,data:[{text:"左对齐",value:"left"},{text:"居中对齐",value:"center"},{text:"右对齐",value:"right"}],textField:"text",idField:"value",valueField:"value"}},customFormatter:{description:"自定义数据格式化、样式",title:"格式化",type:"string",$converter:me,editor:{type:"code-editor",language:"javascript",leftTemplate:ln}},customNavFormatter:{description:"自定义左侧导航数据格式化、样式",title:"左侧导航格式化",type:"string",$converter:me,editor:{type:"code-editor",language:"javascript",leftTemplate:ln},visible:this.getDisplayType(i).includes("NAV")&&i.openType!=="Popup"},enableToSelect:{description:"数据加载后是否选中现有值",$converter:me,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:me,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:me,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:me,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:me,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:me,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:me,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(n){return this.getDisplayType(n).startsWith("NAV")&&n.openType!=="Popup"?n.showNavigation===void 0?!0:!!n.showNavigation:!1}getDialogPropertyConfig(n){const i=Uo(n.editor);return i.openType.$converter=me,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ye,properties:i}}showPagerProperty(n,i){const o=this.getDisplayType(n)!=="TREELIST"||n.treeToList;return i&&o?n.pagination&&n.pagination[i]:o}getPageConfig(n){return Do(n)}showLoadType(n){const i=this.getDisplayType(n);return(i==="TREELIST"||i==="NAVTREELIST")&&!n.treeToList&&!n.navTreeToList}isTree(n){return this.getDisplayType(n)==="TREELIST"&&!n.treeToList}getTreePropConfig(n){return{hide:this.getDisplayType(n)!=="TREELIST"&&this.getDisplayType(n)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:me,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:me,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:me,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(n)},enableFullTree:{description:"启用构造完整树",$converter:me,title:"构造完整树",type:"boolean",visible:this.showLoadType(n)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:me,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(n)},enableCascade:{description:"启用级联选择",$converter:me,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(n)&&!!n.multiSelect&&n.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:me,title:"显示级联状态",type:"boolean",visible:!!n.enableCascade&&this.isTree(n)},cascadeValue:{description:"缺省级联选择模式",$converter:me,title:"缺省级联选择模式",type:"string",visible:!!n.enableCascade&&this.isTree(n),editor:{...this.comboListEditor,data:jo,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:me,title:"默认展开层级",type:"number",visible:this.showLoadType(n),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(n){const i=this;let o=rn;n.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData")),o.push(...this.formGroupEvents);const l=i.eventsEditorUtils.formProperties(n,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,c){const p=d.propertyValue;delete c[i.viewModelId],p&&i.eventsEditorUtils.saveRelatedParameters(c,i.viewModelId,p.events,p);const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:c.fieldValueChanging,valueChanged:c.fieldValueChanged})}}}async checkSameBESource(n,i){var o,l,a,d,c;if(n&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(n.data.id===i.editor.helpId)return!0;const p=await this.metadataService.getPickMetadata("",n.data).then(y=>{var b;if((b=y==null?void 0:y.metadata)!=null&&b.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var b;if((b=y==null?void 0:y.metadata)!=null&&b.content)return JSON.parse(y.metadata.content)}),s=(l=p==null?void 0:p.dataSource)==null?void 0:l.sourceType,f=(a=u.dataSource)==null?void 0:a.sourceType,g=(d=p==null?void 0:p.dataSource)==null?void 0:d.sourceId,m=(c=u==null?void 0:u.dataSource)==null?void 0:c.sourceId;if(s==="BE"&&f==="BE"&&g!==m)return new Mt.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}class Xo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class Zo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var l,a,d,c,p,u,s,f;let n,i=!1;if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=g==null?void 0:g.schemaField)!=null&&a.type&&(n=g.schemaField.type.precision,i=g.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:n===0,min:0,max:n,needValid:!0},refreshPanelAfterChanged:!0},step:{description:"",title:"步长",type:"number",editor:{min:0,needValid:!0,precision:(d=e==null?void 0:e.editor)==null?void 0:d.precision}},min:{description:"",title:"最小值",type:"number",editor:{nullable:!0,max:(c=e==null?void 0:e.editor)==null?void 0:c.max,precision:(p=e==null?void 0:e.editor)==null?void 0:p.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((u=e==null?void 0:e.editor)==null?void 0:u.min)===void 0||(s=e==null?void 0:e.editor)==null?void 0:s.min,precision:(f=e==null?void 0:e.editor)==null?void 0:f.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{editable:!1,data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},bigNumber:{description:"",title:"支持大数字",type:"boolean",readonly:!0,visible:i},showZero:{description:"",title:"显示0值",type:"boolean"},nullable:{description:"允许设置为 null",title:"允许为空",type:"boolean"},useThousands:{description:"",title:"启用千分位",type:"boolean"},showButton:{description:"",title:"显示加减按钮",type:"boolean"}},function(g,m,y){if(g)switch(g.propertyID){case"precision":{m.formatter&&(m.formatter.precision=g.propertyValue);break}}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.name)===X.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class Jo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.getComponentConfig(e,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},this.setEditorPropertyRelates)}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class Qo extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,i;return this.getComponentConfig(e,{type:"switch"},{disabled:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开标签",type:"string"},offLabel:{description:"",title:"关闭标签",type:"string"},onBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:blue或者#2A87FF",title:"打开背景色",type:"string"},offBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:gray或者#D9DEE7",title:"关闭背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{id:"small",name:"小号"},{id:"medium",name:"中号"},{id:"large",name:"大号"}]}},trueValue:{description:"打开时的值",title:"打开的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,d;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",d="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,d=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&d!==void 0&&(e.editor.falseValue=d)}}}class Ko extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:e.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1,needValid:!0}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}}},(n,i)=>{n.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=n.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class er extends Le.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"language-textbox"},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:e.editor.maxLength,needValid:!0}}})}}class tr extends Jt{constructor(n,i){super(n,i);ne(this,"dataGridProps",null);ne(this,"notifyService",new Mt.FNotifyService)}getPropertyConfig(n,i){var d,c,p;this.dataGridProps=i,this.getBasicPropConfig(n),this.getAppearanceProperties(n,i);const l={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((d=n.formatter)==null?void 0:d.type)==="enum"&&((c=n.editor)==null?void 0:c.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(n,"value","name"),refreshPanelAfterChanged:!0}},a=(u,s)=>{if(u)switch(u.propertyID){case"formatterEnumData":{n.formatter&&(n.formatter.data=[...u.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"gridFieldEditor",l,a),this.getFieldEditorProperties(n,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(n),((p=n.formatter)==null?void 0:p.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(n)),this.getEventPropConfig(n),this.propertyConfig}getColumnTemplate(n){const i=n.columnTemplateType&&n.columnTemplateType==="custom"||!n.columnTemplateType&&n.columnTemplate&&!n.onClickLinkCommand,o=this;return{title:"列模板",description:"用于配置自定义列模板以及内置的格式化模板,如超链接、图片",properties:{columnTemplateType:{description:"列模板类型",title:"列模板类型",$converter:"/converter/change-formatter-type.converter",type:"enum",editor:{data:[{id:"default",name:"无"},{id:"hyperlink",name:"超链接"},{id:"custom",name:"自定义"}]}},columnTemplate:{description:"列模板",title:"列模板",type:"string",visible:!!i,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(l,a,d){var c;if(l){switch(l&&l.propertyID){case"columnTemplateType":{l.propertyValue==="custom"&&a.columnTemplate&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{l.propertyValue&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(c=o.getFormDesignerInstance())==null||c.reloadPropertyPanel()}}}}getItemCollectionEditor(n,i,o){const l=i||"value",a=o||"name";return{editor:{columns:[{field:l,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:l,nameField:a,requiredFields:[l,a],uniqueFields:[l,a],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(n){var c,p,u;const i=n.columnTemplateType==="hyperlink"||!n.columnTemplateType&&n.columnTemplate&&n.onClickLinkCommand;let o=[];((c=n.editor)==null?void 0:c.type)==="combo-list"&&o.push({label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}),i&&o.push({label:"onClickLinkCommand",name:"超链接事件"}),((p=n==null?void 0:n.editor)==null?void 0:p.type)==="lookup"&&(o=[...o,...rn],n.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"))),((u=n==null?void 0:n.editor)==null?void 0:u.type)==="date-picker"&&(o=[{label:"onDatePicked",name:"日期选择后事件"}]);const l=this,a=l.eventsEditorUtils.formProperties(n,l.viewModelId,o),d=l.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:d,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,f){var m,y,b,M;const g=s.propertyValue;delete n[l.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,g.events,g)),n.remoteSort=!!n.columnSorted,n.onClickLinkCommand&&!n.onClickLinkCommand.includes("communication:")&&(n.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
|
|
49
|
+
}`])]),Go=Symbol("schema_repository_token");function qo(t,e){const n=i=>i&&i.length?i.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:e.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(i,o)=>`${i==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Go},dataSourceConverter:on,defaultConverter:me,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:gt.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:t,formBasicInfo:e.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:gt.FieldSelectorRepositoryToken,displayFormatter:n},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const i=e.designViewModelUtils.getAllFields2TreeByVMId(e.viewModelId),o=e.schemaService.getPrimaryField();return o?i.filter(l=>l.data.bindingPath!==o):i},formatter:(i,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:n}}}}function Uo(t){var l,a;const e={type:"combo-list",enableClear:!1,editable:!1},n={type:"number-spinner",useThousands:!1},i=()=>t.displayType?t.displayType.toUpperCase():"",o=()=>i().startsWith("NAV")?t.showNavigation===void 0?!0:!!t.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:me,editor:{...e,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:t.openType!=="Popup",$converter:Ye},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...n,min:o()?520:300,needValid:!0},$converter:Ye},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...n,min:200,needValid:!0},$converter:Ye},showNavigation:{description:"显示导航栏",$converter:me,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:i().includes("NAV")&&t.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&t.openType!=="Popup",editor:{...n,min:200,max:(((l=t==null?void 0:t.dialog)==null?void 0:l.width)??960)-200,needValid:!0},$converter:Ye},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!t.enableUserData&&(((a=t==null?void 0:t.dialog)==null?void 0:a.resizeable)??!0)&&t.openType!=="Popup",$converter:Ye},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ye},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:t.openType!=="Popup",$converter:Ye}}}function Do(t,e=!0){var l,a,d,c;const n=!((l=t.pagination)!=null&&l.enable),i=()=>t.displayType?t.displayType.toUpperCase():"",o=(p,u)=>{const s=i()!=="TREELIST"||p.treeToList;return u&&s?p.pagination&&p.pagination[u]:s};return{hide:!o(t)||n,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Wo,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:e,visible:o(t)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:e,visible:o(t,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:bt((a=t.pagination)==null?void 0:a.sizeLimits),beforeSubmit:({notifyService:p,data:u})=>!u||!u.length?(p==null||p.warning({message:"每页显示条数不能为空!"}),!1):new Set(u.map(f=>parseInt(f.value,10))).size===u.length?!0:(p==null||p.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(t),editor:{type:"combo-list",enableClear:!1,editable:!1,data:bt((d=t.pagination)==null?void 0:d.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(c=t.pagination)==null?void 0:c.size}}}}}class Yo extends Ae.InputBaseProperty{constructor(){super(...arguments);ne(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ne(this,"numberEditor",{type:"number-spinner",useThousands:!1});ne(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ne(this,"visibleEditor",{...this.comboListEditor,editable:!1});ne(this,"requiredEditor",{...this.comboListEditor,editable:!1});ne(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(n,i){const o=["validate"];return n.type==="form-group"&&o.push("dataPicking"),new Ae.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(n,"Field",o)}getPropertyConfig(n,i,o="Card"){var C;const l=(C=n.binding)!=null&&C.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(n,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(n,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(n,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(n,["Const","Variable"],"allowFreeInput");const a=this.getBasicProperties(n,i,o),d=this.getBehaviorConfig(n),c=this.getAppearanceProperties(n,i),p=this.getLookupConfig(n),u=this.getEventPropConfig(n),s=this.getDialogPropertyConfig(n),f=this.getPageConfig(n.editor),g=this.getTreePropConfig(n.editor),m=this.getSearchConfig(n),y=this.getExpandProperties(n),b=this.getExpressionConfig(n,"Field"),M={basic:a,appearance:c,behavior:d,expandConfig:y,lookup:p,treeConfig:g,dialog:s,pager:f,searchConfig:m,expressions:b};return n.type==="form-group"&&(M.eventsEditor=u),{type:"object",categories:M}}getGridFieldEdtiorPropConfig(n){return this.getPropertyConfig(n,null,"Grid").categories}flattenTreeNodes(n){return n.reduce((i,o)=>{var l;return i.push(o),(l=o.children)!=null&&l.length&&i.push(...this.flattenTreeNodes(o.children)),i},[])}isSimpleStringField(){var d;const n=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!n||!n.includes("."))return!0;const i=n.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(c=>c.data.code===i[0]);if(!l)return!1;const a=[l,...this.flattenTreeNodes(l.children)];return!i.reduce((c,p,u)=>[...c,u?`${c[u-1]}.${p}`:p],[]).some(c=>{var p,u,s;return((s=(u=(p=a.find(f=>f.data.path===c))==null?void 0:p.data)==null?void 0:u.type)==null?void 0:s.$type)==="EntityType"})}getBehaviorConfig(n){const i=this.getTipsConfig(n);return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor},...i},setPropertyRelates:(o,l)=>{this.afterMutilEditorChanged(l,o)}}}changeBindingField(n,i){super.changeBindingField(n,i),n.editor.multiSelect=!1}getDisplayType(n){return n.displayType?n.displayType.toUpperCase():""}mapFieldsDisplayFormatter(n){return n&&n.length?n.map(i=>`${i.name}[${i.bindingPath}]`).join(","):""}getSearchConfig(n){var i;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:me,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:me,title:"允许查询所有列",type:"boolean",visible:n.editor.openType!=="Popup"&&n.editor.enableSearchBar==null?!0:!!n.editor.enableSearchBar},enableEqualSearch:{$converter:me,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:n.editor.openType!=="Popup"&&(((i=n.editor)==null?void 0:i.enableSearchBar)??!0)!==!1&&this.getDisplayType(n.editor)!=="TREELIST"}},hide:n.editor.openType==="Popup"}}getLookupConfig(n){var p;const i=n.editor,o=()=>{const u=this.formSchemaUtils.getFormSchema().module.entity[0].id,s=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:s,viewModelId:u,dataSourceId:i.helpId}},{dataSourceEditor:l,idFieldEditor:a,textFieldEditor:d,mappingFieldsEditor:c}=qo(i,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(u,s)=>{if(u)switch(u.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(s,u);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((p=n.binding)!=null&&p.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:me},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:me,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:me,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(i.multiSelect&&i.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:me,editor:this.freeInputEditor,visible:!!i.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:me},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:u=>u&&u.length?u.map(s=>`${s.name}(${s.code})`).join(","):"",validateFunction:async u=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(u,n),onSubmitModal:u=>{if(u){delete i.mappingFields;const s=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(s.relativePath,u[0].data).then(f=>JSON.parse(f==null?void 0:f.metadata.content))}}},$converter:on},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:me,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:gt.FieldSelectorRepositoryToken,beforeOpen:async({repository:u,notifyService:s})=>{var M;if(!(i==null?void 0:i.helpId))return s==null||s.warning({message:"请先配置数据源!"}),!1;const g=o(),y=new Ae.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let b={};if(u){const C=await u.getData(g),F=await u.getLookupConditions(g);b={fieldList:C,conditionList:F}}return(M=y.variables)!=null&&M.forms&&(y.variables.forms.items=y.variables.forms.items.filter(C=>C.category==="remote")),{...b,...y,isServerSide:!0}},onSubmitModal:async({loadingService:u,repository:s,conditions:f,originalConditions:g,FMessageBoxService:m})=>{if(s)try{const y=o(),b=await s.getLookupConditions(y)||[];return JSON.stringify(b)!==JSON.stringify(g.value)?(u==null||u.clearAll(),m.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{f.value=b,g.value=JSON.parse(JSON.stringify(f.value))},()=>{}),!1):(JSON.stringify(f.value)===JSON.stringify(g.value)||await s.saveFilterCondition(f.value,y,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return m==null||m.error("保存失败",""),!1}finally{u==null||u.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:zo,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...a},$converter:Ho},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:$o,editor:d},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:me,editor:{...c}},textAlign:{description:"文本对齐方式",title:"文本对齐方式",type:"string",$converter:me,editor:{type:"combo-list",editable:!1,data:[{text:"左对齐",value:"left"},{text:"居中对齐",value:"center"},{text:"右对齐",value:"right"}],textField:"text",idField:"value",valueField:"value"}},customFormatter:{description:"自定义数据格式化、样式",title:"格式化",type:"string",$converter:me,editor:{type:"code-editor",language:"javascript",leftTemplate:ln}},customNavFormatter:{description:"自定义左侧导航数据格式化、样式",title:"左侧导航格式化",type:"string",$converter:me,editor:{type:"code-editor",language:"javascript",leftTemplate:ln},visible:this.getDisplayType(i).includes("NAV")&&i.openType!=="Popup"},enableToSelect:{description:"数据加载后是否选中现有值",$converter:me,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:me,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:me,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect&&i.openType!=="Popup"},separator:{description:"多选分隔符",$converter:me,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:me,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:me,title:"启用收藏夹",type:"boolean",visible:i.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:me,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:i.openType!=="Popup"}}}}showNavigatiorWidth(n){return this.getDisplayType(n).startsWith("NAV")&&n.openType!=="Popup"?n.showNavigation===void 0?!0:!!n.showNavigation:!1}getDialogPropertyConfig(n){const i=Uo(n.editor);return i.openType.$converter=me,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:Ye,properties:i}}showPagerProperty(n,i){const o=this.getDisplayType(n)!=="TREELIST"||n.treeToList;return i&&o?n.pagination&&n.pagination[i]:o}getPageConfig(n){return Do(n)}showLoadType(n){const i=this.getDisplayType(n);return(i==="TREELIST"||i==="NAVTREELIST")&&!n.treeToList&&!n.navTreeToList}isTree(n){return this.getDisplayType(n)==="TREELIST"&&!n.treeToList}getTreePropConfig(n){return{hide:this.getDisplayType(n)!=="TREELIST"&&this.getDisplayType(n)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:me,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:me,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(n)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:me,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(n)},enableFullTree:{description:"启用构造完整树",$converter:me,title:"构造完整树",type:"boolean",visible:this.showLoadType(n)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:me,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(n)},enableCascade:{description:"启用级联选择",$converter:me,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(n)&&!!n.multiSelect&&n.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:me,title:"显示级联状态",type:"boolean",visible:!!n.enableCascade&&this.isTree(n)},cascadeValue:{description:"缺省级联选择模式",$converter:me,title:"缺省级联选择模式",type:"string",visible:!!n.enableCascade&&this.isTree(n),editor:{...this.comboListEditor,data:jo,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:me,title:"默认展开层级",type:"number",visible:this.showLoadType(n),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(n){const i=this;let o=rn;n.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData")),o.push(...this.formGroupEvents);const l=i.eventsEditorUtils.formProperties(n,i.viewModelId,o);return{title:"事件",hideTitle:!0,properties:i.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,c){const p=d.propertyValue;delete c[i.viewModelId],p&&(i.eventsEditorUtils.saveRelatedParameters(c,i.viewModelId,p.events,p),i.updateLinkedLabel(p,c));const u=i.designViewModelUtils.getDgViewModel(i.viewModelId);u&&i.designViewModelField&&u.changeField(i.designViewModelField.id,{valueChanging:c.fieldValueChanging,valueChanged:c.fieldValueChanged})}}}async checkSameBESource(n,i){var o,l,a,d,c;if(n&&((o=i==null?void 0:i.editor)!=null&&o.helpId)&&!i.isRtcControl){if(n.data.id===i.editor.helpId)return!0;const p=await this.metadataService.getPickMetadata("",n.data).then(y=>{var b;if((b=y==null?void 0:y.metadata)!=null&&b.content)return JSON.parse(y.metadata.content)}),u=await this.metadataService.getPickMetadata("",{id:i.editor.helpId}).then(y=>{var b;if((b=y==null?void 0:y.metadata)!=null&&b.content)return JSON.parse(y.metadata.content)}),s=(l=p==null?void 0:p.dataSource)==null?void 0:l.sourceType,f=(a=u.dataSource)==null?void 0:a.sourceType,g=(d=p==null?void 0:p.dataSource)==null?void 0:d.sourceId,m=(c=u==null?void 0:u.dataSource)==null?void 0:c.sourceId;if(s==="BE"&&f==="BE"&&g!==m)return new Mt.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}class Xo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"number-range"},{editable:{description:"",title:"允许编辑",type:"boolean"}})}}class Zo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var l,a,d,c,p,u,s,f;let n,i=!1;if(((l=e==null?void 0:e.binding)==null?void 0:l.type)==="Form"){const g=this.schemaService.getFieldByIDAndVMID(e.binding.field,this.viewModelId);(a=g==null?void 0:g.schemaField)!=null&&a.type&&(n=g.schemaField.type.precision,i=g.schemaField.type.name==="BigNumber")}return this.getComponentConfig(e,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number",editor:{readonly:n===0,min:0,max:n,needValid:!0},refreshPanelAfterChanged:!0},step:{description:"",title:"步长",type:"number",editor:{min:0,needValid:!0,precision:(d=e==null?void 0:e.editor)==null?void 0:d.precision}},min:{description:"",title:"最小值",type:"number",editor:{nullable:!0,max:(c=e==null?void 0:e.editor)==null?void 0:c.max,precision:(p=e==null?void 0:e.editor)==null?void 0:p.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},max:{description:"",title:"最大值",type:"number",editor:{nullable:!0,min:((u=e==null?void 0:e.editor)==null?void 0:u.min)===void 0||(s=e==null?void 0:e.editor)==null?void 0:s.min,precision:(f=e==null?void 0:e.editor)==null?void 0:f.precision,bigNumber:i,needValid:!0},refreshPanelAfterChanged:!0,visible:this.designViewModelField!=null},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{editable:!1,data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},bigNumber:{description:"",title:"支持大数字",type:"boolean",readonly:!0,visible:i},showZero:{description:"",title:"显示0值",type:"boolean"},nullable:{description:"允许设置为 null",title:"允许为空",type:"boolean"},useThousands:{description:"",title:"启用千分位",type:"boolean"},showButton:{description:"",title:"显示加减按钮",type:"boolean"}},function(g,m,y){if(g)switch(g.propertyID){case"precision":{m.formatter&&(m.formatter.precision=g.propertyValue);break}}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.name)===X.FormSchemaEntityFieldTypeName.Number&&(e.editor.precision=o.type.precision)}}class Jo extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){const n=this;return n.getComponentConfig(e,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!e.editor.dataSourceType||e.editor.dataSourceType==="static",...n.getItemCollectionEditor(e,e.editor.valueField,e.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:e.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:e.editor.dataSourceType!=="dynamic"}},this.setEditorPropertyRelates)}setEditorPropertyRelates(e,n,i){if(!e||!n.editor)return;const o=this;switch(e.propertyID){case"dataSourceType":{e.propertyValue==="static"&&(n.editor.valueField="value",n.editor.textField="name");break}case"data":{!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...e.propertyValue]);break}}}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;e.editor&&((l=o==null?void 0:o.type)==null?void 0:l.$type)===X.FormSchemaEntityFieldType$Type.EnumType&&(e.editor.data=o.type.enumValues||[])}}class Qo extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){var n,i;return this.getComponentConfig(e,{type:"switch"},{disabled:{visible:!1},placeholder:{visible:!1},onLabel:{description:"",title:"打开标签",type:"string"},offLabel:{description:"",title:"关闭标签",type:"string"},onBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:blue或者#2A87FF",title:"打开背景色",type:"string"},offBackground:{description:"值可以是颜色或者16进制颜色字符串,比如:gray或者#D9DEE7",title:"关闭背景色",type:"string"},size:{description:"",title:"尺寸",type:"enum",editor:{data:[{id:"small",name:"小号"},{id:"medium",name:"中号"},{id:"large",name:"大号"}]}},trueValue:{description:"打开时的值",title:"打开的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((n=this.designViewModelField)==null?void 0:n.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()},falseValue:{description:"关闭时的值",title:"关闭的值",type:this.getBindingDataType(),visible:this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean",refreshPanelAfterChanged:!0,editor:this.getEditor(),$converter:this.getBooleanValueConverter()}})}changeBindingField(e,n,i){var l;super.changeBindingField(e,n);const o=i;if(e.editor&&((l=o==null?void 0:o.type)!=null&&l.name)){let a,d;o.type.name===X.FormSchemaEntityFieldTypeName.String&&(a="true",d="false"),o.type.name===X.FormSchemaEntityFieldTypeName.Number&&(a=1,d=0),!Object.prototype.hasOwnProperty.call(e.editor,"trueValue")&&a!==void 0&&(e.editor.trueValue=a),!Object.prototype.hasOwnProperty.call(e.editor,"falseValue")&&d!==void 0&&(e.editor.falseValue=d)}}}class Ko extends vt{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:e.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1,needValid:!0}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0}}},(n,i)=>{n.propertyID==="use12Hours"&&(i.editor.format=i.editor.format||"hh:mm:ss",i.editor.format=n.propertyValue?i.editor.format.replace("HH","hh"):i.editor.format.replace("hh","HH"))})}}class er extends Ae.InputBaseProperty{constructor(e,n){super(e,n)}getEditorProperties(e){return this.getComponentConfig(e,{type:"language-textbox"},{maxLength:{description:"文本字数最大长度",title:"最大长度",type:"number",editor:{nullable:!0,min:0,useThousands:!1,max:e.editor.maxLength,needValid:!0}}})}}class tr extends Jt{constructor(n,i){super(n,i);ne(this,"dataGridProps",null);ne(this,"notifyService",new Mt.FNotifyService)}getPropertyConfig(n,i){var d,c,p;this.dataGridProps=i,this.getBasicPropConfig(n),this.getAppearanceProperties(n,i);const l={formatterEnumData:{description:"",title:"枚举数据",type:"array",visible:!!(((d=n.formatter)==null?void 0:d.type)==="enum"&&((c=n.editor)==null?void 0:c.type)!=="combo-list"),$converter:"/converter/change-formatter-enum.converter",...this.getItemCollectionEditor(n,"value","name"),refreshPanelAfterChanged:!0}},a=(u,s)=>{if(u)switch(u.propertyID){case"formatterEnumData":{n.formatter&&(n.formatter.data=[...u.propertyValue]);break}}};return this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"gridFieldEditor",l,a),this.getFieldEditorProperties(n,i),this.propertyConfig.categories.templateFormat=this.getColumnTemplate(n),((p=n.formatter)==null?void 0:p.type)!=="multilingual"&&(this.propertyConfig.categories.formatter=this.getTemplateProperties(n)),this.getEventPropConfig(n),this.propertyConfig}getColumnTemplate(n){const i=n.columnTemplateType&&n.columnTemplateType==="custom"||!n.columnTemplateType&&n.columnTemplate&&!n.onClickLinkCommand,o=this;return{title:"列模板",description:"用于配置自定义列模板以及内置的格式化模板,如超链接、图片",properties:{columnTemplateType:{description:"列模板类型",title:"列模板类型",$converter:"/converter/change-formatter-type.converter",type:"enum",editor:{data:[{id:"default",name:"无"},{id:"hyperlink",name:"超链接"},{id:"custom",name:"自定义"}]}},columnTemplate:{description:"列模板",title:"列模板",type:"string",visible:!!i,editor:{type:"code-editor",language:"html"}}},setPropertyRelates(l,a,d){var c;if(l){switch(l&&l.propertyID){case"columnTemplateType":{l.propertyValue==="custom"&&a.columnTemplate&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}case"columnTemplate":{l.propertyValue&&o.notifyService.warning({position:"top-center",message:"注意:已自定义列模板,【列格式化】【悬浮提示】【数据水平对齐方式】【数据垂直对齐方式】等列属性会失效"});break}}(c=o.getFormDesignerInstance())==null||c.reloadPropertyPanel()}}}}getItemCollectionEditor(n,i,o){const l=i||"value",a=o||"name";return{editor:{columns:[{field:l,title:"值",dataType:"string"},{field:a,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:l,nameField:a,requiredFields:[l,a],uniqueFields:[l,a],readonly:this.checkEnumDataReadonly(n)}}}checkEnumDataReadonly(n){return!n.binding||n.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===X.FormSchemaEntityFieldType$Type.EnumType)}getEventPropConfig(n){var c,p,u;const i=n.columnTemplateType==="hyperlink"||!n.columnTemplateType&&n.columnTemplate&&n.onClickLinkCommand;let o=[];((c=n.editor)==null?void 0:c.type)==="combo-list"&&o.push({label:"onChange",name:"值变化事件"},{label:"beforeOpen",name:"下拉面板前事件"}),i&&o.push({label:"onClickLinkCommand",name:"超链接事件"}),((p=n==null?void 0:n.editor)==null?void 0:p.type)==="lookup"&&(o=[...o,...rn],n.editor.openType==="Popup"&&(o=o.filter(s=>s.label!=="beforeSelectData"))),((u=n==null?void 0:n.editor)==null?void 0:u.type)==="date-picker"&&(o=[{label:"onDatePicked",name:"日期选择后事件"}]);const l=this,a=l.eventsEditorUtils.formProperties(n,l.viewModelId,o),d=l.createBaseEventProperty(a);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:d,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(s,f){var m,y,b,M;const g=s.propertyValue;delete n[l.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(n,l.viewModelId,g.events,g)),n.remoteSort=!!n.columnSorted,n.onClickLinkCommand&&!n.onClickLinkCommand.includes("communication:")&&(n.columnTemplate=`<span class="f-pretend-link f-cursor-pointer"
|
|
50
50
|
@click="(ctx)=>viewModel.current.${n.onClickLinkCommand}({id: rowData.id,context: ctx})">
|
|
51
51
|
{{rowData.${n.field}}}
|
|
52
52
|
</span>`,(m=l.getFormDesignerInstance())==null||m.reloadPropertyPanel()),!n.onClickLinkCommand&&n.columnTemplate&&n.columnTemplateType==="hyperlink"&&(n.columnTemplate=`<span class="f-pretend-link f-cursor-pointer">
|
|
53
53
|
{{rowData.${n.field}}}
|
|
54
|
-
</span>`,(y=l.getFormDesignerInstance())==null||y.reloadPropertyPanel()),((b=n.editor)==null?void 0:b.beforeOpen)!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),((M=n.editor)==null?void 0:M.onChange)!==n.onChange&&(n.editor.onChange=n.onChange)}}}getBasicPropConfig(n){const i=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,l,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(n,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(n,i){var o,l,a,d;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:n.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},draggable:{description:"允许列拖拽",title:"启用拖拽",type:"boolean"},width:{description:"列宽",title:"列宽",type:"number"},showTips:{description:"启用鼠标悬浮提示",title:"鼠标悬浮提示",type:"boolean"},halign:{description:"标题对齐方式",title:"标题对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},align:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"顶对齐"},{id:"middle",name:"居中"},{id:"bottom",name:"底对齐"}]}},headerFormatter:{description:"头部模板",title:"头部模板",type:"string",editor:{type:"code-editor",language:"html"}},summaryType:{description:"合计类型",title:"合计类型",visible:!!((l=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&l.enable)&&n.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0},enableGroup:{description:"启用分组",title:"分组",visible:!!((d=(a=this.dataGridProps)==null?void 0:a.group)!=null&&d.enable),type:"boolean",fixed:{description:"固定列",title:"固定列",type:"enum",editor:{data:[{id:"primary",name:"不固定"},{id:"left",name:"固定左侧"},{id:"right",name:"固定右侧"}]},refreshPanelAfterChanged:!0}},setPropertyRelates(c,p,u){if(c)switch(c&&c.propertyID){case"width":{p.actualWidth=c.propertyValue;break}case"summaryType":{const{groupFields:s}=i.summary;!s.includes(p.field)&&c.propertyValue==="sum"&&s.push(p.field),s.includes(p.field)&&c.propertyValue==="none"&&s.splice(s.indexOf(p.field),1);break}case"columnTemplate":{c.propertyValue;break}case"enableGroup":c.propertyValue?i.group.groupFields=[p.field]:i.group.groupFields=[]}}}}}getFieldEditorProperties(n,i){i.fieldEditable&&n.editor&&this.getFieldEditorProp(n)}setFormatterEnumData(n){var i,o;(i=n.formatter)!=null&&i.data&&!n.formatterEnumData&&(n.formatterEnumData=(o=n.formatter)==null?void 0:o.data)}getTemplateProperties(n){var l,a,d,c,p,u,s,f,g,m;const i=Object.prototype.hasOwnProperty;return{title:"格式化",description:"",properties:{type:{description:"",title:"类型",type:"enum",$converter:"/converter/change-formatter.converter",refreshPanelAfterChanged:!0,editor:{data:[...{enum:[{id:"enum",name:"枚举"},{id:"none",name:"无"}],boolean:[{id:"boolean",name:"布尔"},{id:"none",name:"无"}],number:[{id:"number",name:"数字"},{id:"none",name:"无"}],date:[{id:"date",name:"日期"},{id:"none",name:"无"}],datetime:[{id:"date",name:"日期"},{id:"none",name:"无"}],string:[{id:"enum",name:"枚举"},{id:"date",name:"日期"},{id:"none",name:"无"}]}[n.dataType],{id:"custom",name:"自定义"}]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((l=n.formatter)==null?void 0:l.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=n.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=n.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((c=n.formatter)==null?void 0:c.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((p=n.formatter)==null?void 0:p.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((u=n.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=n.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((f=n.formatter)==null?void 0:f.type)==="date"||((g=n.formatter)==null?void 0:g.type)==="datetime",refreshPanelAfterChanged:!0,description:"日期格式",type:"enum",editor:{data:[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"dd/MM/yyyy",name:"dd/MM/yyyy"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"},{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"},{id:"yyyy年MM月",name:"yyyy年MM月"},{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"},{id:"MM月dd日",name:"MM月dd日"},{id:"yyyy",name:"yyyy"},{id:"yyyy年",name:"yyyy年"},{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"},{id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}]}},customFormat:{description:"自定义",title:"自定义",type:"string",$converter:"/converter/change-formatter.converter",visible:((m=n.formatter)==null?void 0:m.type)==="custom",editor:{type:"code-editor",language:"html"}}},setPropertyRelates(y,b,M){var C;if(y)switch(y&&y.propertyID){case"type":{y.propertyValue!=="none"&&b.columnTemplate,y.propertyValue==="boolean"&&(i.call(b.formatter,"trueText")||(b.formatter.trueText="是"),i.call(b.formatter,"falseText")||(b.formatter.falseText="否")),y.propertyValue==="number"&&(i.call(b.formatter,"prefix")||(b.formatter.prefix=""),i.call(b.formatter,"suffix")||(b.formatter.suffix=""),i.call(b.formatter,"precision")||(b.formatter.precision=0),i.call(b.formatter,"decimal")||(b.formatter.decimal="."),i.call(b.formatter,"thousand")||(b.formatter.thousand=",")),y.propertyValue==="date"&&(i.call(b.formatter,"dateFormat")||(b.formatter.dateFormat="yyyy-MM-dd")),y.propertyValue==="enum"&&(i.call(b.formatter,"data")||(b.formatter.data=[],(C=b.formatterEnumData)!=null&&C.length&&(b.formatterEnumData=[])));break}}}}}getFieldEditorProp(n,i="gridFieldEditor",o=!1){const l=this.formMetadataConverter.getRealEditorType(n.editor.type);let a;switch(l){case"avatar":a=new xo(this.componentId,this.designerHostService);break;case"check-group":a=new So(this.componentId,this.designerHostService);break;case"check-box":a=new Mo(this.componentId,this.designerHostService);break;case"combo-list":a=new Fo(this.componentId,this.designerHostService);break;case"date-picker":a=new Oo(this.componentId,this.designerHostService);break;case"lookup":a=new Yo(this.componentId,this.designerHostService);break;case"number-range":a=new Xo(this.componentId,this.designerHostService);break;case"number-spinner":a=new Zo(this.componentId,this.designerHostService);break;case"radio-group":a=new Jo(this.componentId,this.designerHostService);break;case"switch":a=new Qo(this.componentId,this.designerHostService);break;case"textarea":a=new To(this.componentId,this.designerHostService);break;case"time-picker":a=new Ko(this.componentId,this.designerHostService);break;case"language-textbox":a=new er(this.componentId,this.designerHostService);break;default:a=new vo(this.componentId,this.designerHostService)}this.setDesignViewModelField(n);const d=this,{canChangeControlType:c,editorTypeList:p}=this.getAvailableEditorType(n);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:n.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:p,readonly:!c}}},setPropertyRelates(f,g){if(f)switch(f&&f.propertyID){case"type":{d.changeFieldEditorType(n,f.propertyValue);break}}}};const u=["id","type","class","style","binding","label","responseLayout","visible","fill"],s=a.getGridFieldEdtiorPropConfig(n);Object.keys(s).map(f=>{const g=s[f],m={};if(Object.keys(g.properties).map(y=>{u.findIndex(b=>b===y)===-1&&g.properties[y]!==!1&&(m[y]=g.properties[y])}),Object.keys(m).length!==0){const y=g==null?void 0:g.title,b="gridFieldEditor",M="编辑器",C=g==null?void 0:g.description,F=(g==null?void 0:g.$converter)||"";d.propertyConfig.categories[i+"_"+f]={title:y,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||b,tabName:g.tabName||M,description:C,$converter:F,parentPropertyID:"editor",propertyData:n,properties:m,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(n,i){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);o.changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const l=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(l,s=>s.type===z.DgControl["data-grid"].type||s.type===z.DgControl["tree-grid"].type);if(!a)return;const d=o.fields.find(s=>s.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(i,d,null,!0),p=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,u=p.findIndex(s=>s.id===n.id);if(u>-1&&p[u].editor){const s={};["readonly","required","placeholder"].map(f=>{Object.prototype.hasOwnProperty.call(p[u].editor,f)&&(s[f]=p[u].editor[f])}),p[u].editor=Object.assign(c.editor,s)}Object.assign(p[u],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&p[u].formatter&&delete p[u].formatter}checkCanChangeControlType(n,i){return!(!n.binding||!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=z.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField&&(o=dt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,n.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(n,i){!n||!i||(n.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(n.dataType,n,i))}}function nr(t,e,n){const i=t.schema,o=r.ref(!0),l=r.ref(!0);function a(f){return!1}function d(){return!1}function c(){return!1}function p(){return!0}function u(f){var y,b;const g=new tr(f,e),m=(y=t==null?void 0:t.parent)==null?void 0:y.schema;return m!=null&&m.groupFields&&m!=null&&m.groupFields.includes(i.field)&&(i.enableSummary=!0),g.getPropertyConfig(i,(b=t==null?void 0:t.parent)==null?void 0:b.schema)}function s(){var b,M;if(!e||!t)return;const{formSchemaUtils:f}=e;let g=at["data-grid"].name;const m=f.getControlBasicInfoMap(),y=m.get((M=(b=t.parent)==null?void 0:b.schema)==null?void 0:M.id);y&&y.parentPathName&&(g=y.parentPathName),m.set(i.id,{showName:i.title,parentPathName:`${g} > ${i.title}`,reliedComponentId:y.reliedComponentId})}return{canAccepts:a,checkCanDeleteComponent:d,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:l,getPropsConfig:u,setComponentBasicInfoMap:s}}function ir(t={}){function e(p,u,s,f){if(typeof s=="number")return f[p].length===s;if(typeof s=="object"){const g=Object.keys(s)[0],m=s[g];if(g==="not")return Number(f[p].length)!==Number(m);if(g==="moreThan")return Number(f[p].length)>=Number(m);if(g==="lessThan")return Number(f[p].length)<=Number(m)}return!1}function n(p,u,s,f){return f[p]&&f[p].propertyValue&&String(f[p].propertyValue.value)===String(s)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((p,u)=>(p.set(u,t[u]),p),i);function o(p,u){const s=p;return typeof u=="number"?[{target:s,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:s,operator:"getProperty",param:p,value:!!u}]:typeof u=="object"?Object.keys(u).map(f=>{if(f==="length")return{target:s,operator:"length",param:null,value:u[f]};const g=f,m=u[f];return{target:s,operator:"getProperty",param:g,value:m}}):[]}function l(p){return Object.keys(p).reduce((s,f)=>{const g=o(f,p[f]);return s.push(...g),s},[])}function a(p,u){if(i.has(p.operator)){const s=i.get(p.operator);return s&&s(p.target,p.param,p.value,u)||!1}return!1}function d(p,u){return l(p).reduce((g,m)=>g&&a(m,u),!0)}function c(p,u){const s=Object.keys(p),f=s.includes("allOf"),g=s.includes("anyOf"),m=f||g,M=(m?p[m?f?"allOf":"anyOf":"allOf"]:[p]).map(F=>d(F,u));return f?!M.includes(!1):M.includes(!0)}return{parseValueSchema:c}}const or={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},rr={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},lr={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},ar={convertFrom:(t,e,n)=>{var o;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((o=at[i])==null?void 0:o.name)||i}},sr={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},dr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="dateFormat")return t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none";if(e==="customFormat")return t.formmater.customFormat}return"none"}},cr={convertTo:(t,e,n,i)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enableType"&&n==="default"&&(t.command.enable=!0,t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),e==="enableType"&&n==="custom"&&(t.command.enable=!0,t.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),e==="enableType"&&n==="unable"&&(t.command.enable=!1)},convertFrom:(t,e,n)=>{var i,o;if(t.command){if(e==="enableType"){const l=(o=(i=t.command)==null?void 0:i.commands)==null?void 0:o.find(a=>a.command==="edit"&&a.type==="primary");return t.command.enable?l?"default":"custom":"unable"}if(e==="commands")return t.command.enableType==="custom"?t.command.commands:[];if(e==="formatter")return t.command.formatter;if(e==="count")return t.command.count}return""}},ur={convertTo:(t,e,n,i)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},fr={convertTo:(t,e,n,i)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>{var i;return e==="customSummaryStyle"?t.summary.customSummaryStyle:e==="position"?((i=t.summary)==null?void 0:i[e])||"bottom":t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""}},mr={convertTo:(t,e,n,i)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},pr={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},gr={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),e==="sizeLimits"?t.pagination.sizeLimits=n.split(","):t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?e==="sizeLimits"?t.pagination.sizeLimits.join(","):t.pagination[e]:t[e]},hr={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},yr={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>{var i,o;return e==="showCheckbox"?(i=t.selection)!=null&&i.multiSelect?!0:(o=t.selection)==null?void 0:o.showCheckbox:t.selection?t.selection[e]:t[e]}},vr={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},br={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},Cr={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},wr={convertFrom:(t,e,n)=>{var i,o;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(o=t.formatter)==null?void 0:o.data:t.formatterEnumData}},xr={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,o;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((o=t.sort)!=null&&o.multiSort)}},Sr={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},Mr={convertTo:(t,e,n,i)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle;if(e==="height")return t.rowOption.height}return""}},Fr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t[e]=n,e==="columnTemplateType"&&n==="hyperlink"&&(t.onClickLinkCommand?t.columnTemplate=`
|
|
54
|
+
</span>`,(y=l.getFormDesignerInstance())==null||y.reloadPropertyPanel()),((b=n.editor)==null?void 0:b.beforeOpen)!==n.beforeOpen&&(n.editor.beforeOpen=n.beforeOpen),((M=n.editor)==null?void 0:M.onChange)!==n.onChange&&(n.editor.onChange=n.onChange)}}}getBasicPropConfig(n){const i=this;this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},title:{description:"标题",title:"标题",type:"string"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(o,l,a){if(o)switch(o&&o.propertyID){case"binding":{i.afterChangeBindingType(n,a),o.needRefreshEntityTree=!0;break}}}}}getAppearanceProperties(n,i){var o,l,a,d;this.propertyConfig.categories.appearance={description:"",title:"外观",properties:{resizable:{description:"允许拖拽改变列宽",title:"拖拽改变列宽",type:"boolean"},filterable:{visible:n.dataType!=="enum",description:"启用过滤",title:"启用过滤",type:"boolean"},sortable:{description:"启用排序",title:"启用排序",type:"boolean",visible:i.type!=="tree-grid"},draggable:{description:"允许列拖拽",title:"启用拖拽",type:"boolean"},width:{description:"列宽",title:"列宽",type:"number"},showTips:{description:"启用鼠标悬浮提示",title:"鼠标悬浮提示",type:"boolean"},halign:{description:"标题对齐方式",title:"标题对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},align:{description:"数据水平对齐方式选择",title:"数据水平对齐方式",type:"enum",editor:{data:[{id:"left",name:"左对齐"},{id:"center",name:"居中"},{id:"right",name:"右对齐"}]}},valign:{description:"数据垂直对齐方式选择",title:"数据垂直对齐方式",type:"enum",editor:{data:[{id:"top",name:"顶对齐"},{id:"middle",name:"居中"},{id:"bottom",name:"底对齐"}]}},headerFormatter:{description:"头部模板",title:"头部模板",type:"string",editor:{type:"code-editor",language:"html"}},summaryType:{description:"合计类型",title:"合计类型",visible:!!((l=(o=this.dataGridProps)==null?void 0:o.summary)!=null&&l.enable)&&n.dataType==="number",type:"enum",editor:{data:[{id:"none",name:"无"},{id:"sum",name:"求和"}]},refreshPanelAfterChanged:!0},enableGroup:{description:"启用分组",title:"分组",visible:!!((d=(a=this.dataGridProps)==null?void 0:a.group)!=null&&d.enable),type:"boolean",refreshPanelAfterChanged:!0},fixed:{description:"固定列",title:"固定列",type:"enum",editor:{data:[{id:"primary",name:"不固定"},{id:"left",name:"固定左侧"},{id:"right",name:"固定右侧"}]},refreshPanelAfterChanged:!0}},setPropertyRelates(c,p,u){if(c)switch(c&&c.propertyID){case"width":{p.actualWidth=c.propertyValue;break}case"summaryType":{const{groupFields:s}=i.summary;!s.includes(p.field)&&c.propertyValue==="sum"&&s.push(p.field),s.includes(p.field)&&c.propertyValue==="none"&&s.splice(s.indexOf(p.field),1);break}case"columnTemplate":{c.propertyValue;break}case"enableGroup":c.propertyValue?i.group.groupFields=[p.field]:i.group.groupFields=[]}}}}getFieldEditorProperties(n,i){i.fieldEditable&&n.editor&&this.getFieldEditorProp(n)}setFormatterEnumData(n){var i,o;(i=n.formatter)!=null&&i.data&&!n.formatterEnumData&&(n.formatterEnumData=(o=n.formatter)==null?void 0:o.data)}getTemplateProperties(n){var l,a,d,c,p,u,s,f,g,m;const i=Object.prototype.hasOwnProperty;return{title:"格式化",description:"",properties:{type:{description:"",title:"类型",type:"enum",$converter:"/converter/change-formatter.converter",refreshPanelAfterChanged:!0,editor:{data:[...{enum:[{id:"enum",name:"枚举"},{id:"none",name:"无"}],boolean:[{id:"boolean",name:"布尔"},{id:"none",name:"无"}],number:[{id:"number",name:"数字"},{id:"none",name:"无"}],date:[{id:"date",name:"日期"},{id:"none",name:"无"}],datetime:[{id:"date",name:"日期"},{id:"none",name:"无"}],string:[{id:"enum",name:"枚举"},{id:"date",name:"日期"},{id:"none",name:"无"}]}[n.dataType],{id:"custom",name:"自定义"}]}},trueText:{title:"布尔为true时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((l=n.formatter)==null?void 0:l.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为true时文本"},falseText:{title:"布尔为false时文本",$converter:"/converter/change-formatter.converter",type:"string",visible:((a=n.formatter)==null?void 0:a.type)==="boolean",refreshPanelAfterChanged:!0,description:"布尔为false时文本"},prefix:{title:"前缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((d=n.formatter)==null?void 0:d.type)==="number",refreshPanelAfterChanged:!0,description:"前缀"},suffix:{title:"后缀",$converter:"/converter/change-formatter.converter",type:"string",visible:((c=n.formatter)==null?void 0:c.type)==="number",refreshPanelAfterChanged:!0,description:"后缀"},precision:{title:"精度",$converter:"/converter/change-formatter.converter",type:"number",visible:((p=n.formatter)==null?void 0:p.type)==="number",refreshPanelAfterChanged:!0,description:"精度"},decimal:{title:"小数分隔符",$converter:"/converter/change-formatter.converter",type:"string",visible:((u=n.formatter)==null?void 0:u.type)==="number",refreshPanelAfterChanged:!0,description:"小数分隔符"},thousand:{title:"千分位",$converter:"/converter/change-formatter.converter",type:"string",visible:((s=n.formatter)==null?void 0:s.type)==="number",refreshPanelAfterChanged:!0,description:"千分位"},dateFormat:{title:"日期格式",$converter:"/converter/change-formatter.converter",visible:((f=n.formatter)==null?void 0:f.type)==="date"||((g=n.formatter)==null?void 0:g.type)==="datetime",refreshPanelAfterChanged:!0,description:"日期格式",type:"enum",editor:{data:[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"dd/MM/yyyy",name:"dd/MM/yyyy"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"},{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"},{id:"yyyy年MM月",name:"yyyy年MM月"},{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"},{id:"MM月dd日",name:"MM月dd日"},{id:"yyyy",name:"yyyy"},{id:"yyyy年",name:"yyyy年"},{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"},{id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}]}},customFormat:{description:"自定义",title:"自定义",type:"string",$converter:"/converter/change-formatter.converter",visible:((m=n.formatter)==null?void 0:m.type)==="custom",editor:{type:"code-editor",language:"html"}}},setPropertyRelates(y,b,M){var C;if(y)switch(y&&y.propertyID){case"type":{y.propertyValue!=="none"&&b.columnTemplate,y.propertyValue==="boolean"&&(i.call(b.formatter,"trueText")||(b.formatter.trueText="是"),i.call(b.formatter,"falseText")||(b.formatter.falseText="否")),y.propertyValue==="number"&&(i.call(b.formatter,"prefix")||(b.formatter.prefix=""),i.call(b.formatter,"suffix")||(b.formatter.suffix=""),i.call(b.formatter,"precision")||(b.formatter.precision=0),i.call(b.formatter,"decimal")||(b.formatter.decimal="."),i.call(b.formatter,"thousand")||(b.formatter.thousand=",")),y.propertyValue==="date"&&(i.call(b.formatter,"dateFormat")||(b.formatter.dateFormat="yyyy-MM-dd")),y.propertyValue==="enum"&&(i.call(b.formatter,"data")||(b.formatter.data=[],(C=b.formatterEnumData)!=null&&C.length&&(b.formatterEnumData=[])));break}}}}}getFieldEditorProp(n,i="gridFieldEditor",o=!1){const l=this.formMetadataConverter.getRealEditorType(n.editor.type);let a;switch(l){case"avatar":a=new xo(this.componentId,this.designerHostService);break;case"check-group":a=new So(this.componentId,this.designerHostService);break;case"check-box":a=new Mo(this.componentId,this.designerHostService);break;case"combo-list":a=new Fo(this.componentId,this.designerHostService);break;case"date-picker":a=new Oo(this.componentId,this.designerHostService);break;case"lookup":a=new Yo(this.componentId,this.designerHostService);break;case"number-range":a=new Xo(this.componentId,this.designerHostService);break;case"number-spinner":a=new Zo(this.componentId,this.designerHostService);break;case"radio-group":a=new Jo(this.componentId,this.designerHostService);break;case"switch":a=new Qo(this.componentId,this.designerHostService);break;case"textarea":a=new To(this.componentId,this.designerHostService);break;case"time-picker":a=new Ko(this.componentId,this.designerHostService);break;case"language-textbox":a=new er(this.componentId,this.designerHostService);break;default:a=new vo(this.componentId,this.designerHostService)}this.setDesignViewModelField(n);const d=this,{canChangeControlType:c,editorTypeList:p}=this.getAvailableEditorType(n);this.propertyConfig.categories[`${i}_editorType`]={description:"",title:"编辑器类型",propertyData:n.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:p,readonly:!c}}},setPropertyRelates(f,g){if(f)switch(f&&f.propertyID){case"type":{d.changeFieldEditorType(n,f.propertyValue);break}}}};const u=["id","type","class","style","binding","label","responseLayout","visible","fill"],s=a.getGridFieldEdtiorPropConfig(n);Object.keys(s).map(f=>{const g=s[f],m={};if(Object.keys(g.properties).map(y=>{u.findIndex(b=>b===y)===-1&&g.properties[y]!==!1&&(m[y]=g.properties[y])}),Object.keys(m).length!==0){const y=g==null?void 0:g.title,b="gridFieldEditor",M="编辑器",C=g==null?void 0:g.description,F=(g==null?void 0:g.$converter)||"";d.propertyConfig.categories[i+"_"+f]={title:y,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||b,tabName:g.tabName||M,description:C,$converter:F,parentPropertyID:"editor",propertyData:n,properties:m,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(n,i){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);o.changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const l=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),a=this.formSchemaUtils.selectNode(l,s=>s.type===z.DgControl["data-grid"].type||s.type===z.DgControl["tree-grid"].type);if(!a)return;const d=o.fields.find(s=>s.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(i,d,null,!0),p=Object.prototype.hasOwnProperty.call(a,"columns")?a.columns:a.fields,u=p.findIndex(s=>s.id===n.id);if(u>-1&&p[u].editor){const s={};["readonly","required","placeholder"].map(f=>{Object.prototype.hasOwnProperty.call(p[u].editor,f)&&(s[f]=p[u].editor[f])}),p[u].editor=Object.assign(c.editor,s)}Object.assign(p[u],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&p[u].formatter&&delete p[u].formatter}checkCanChangeControlType(n,i){return!(!n.binding||!this.designViewModelField||this.designViewModelField.$type!==X.FormSchemaEntityField$Type.SimpleField)}getAvailableEditorType(n){var l;const i=this.checkCanChangeControlType(n,this.viewModelId);if(!i)return{canChangeControlType:!1,editorTypeList:[{key:n.editor.type,value:((l=z.DgControl[n.editor.type])==null?void 0:l.name)||n.editor.type}]};let o=[];return this.designViewModelField&&this.designViewModelField.$type===X.FormSchemaEntityField$Type.SimpleField&&(o=dt.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,n.type)),{canChangeControlType:i,editorTypeList:o}}afterChangeBindingType(n,i){!n||!i||(n.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(i),this.controlCreatorUtils.setGridFieldFormatter(n.dataType,n,i))}}function nr(t,e,n){const i=t.schema,o=r.ref(!0),l=r.ref(!0);function a(f){return!1}function d(){return!1}function c(){return!1}function p(){return!0}function u(f){var y,b;const g=new tr(f,e),m=(y=t==null?void 0:t.parent)==null?void 0:y.schema;return m!=null&&m.groupFields&&m!=null&&m.groupFields.includes(i.field)&&(i.enableSummary=!0),g.getPropertyConfig(i,(b=t==null?void 0:t.parent)==null?void 0:b.schema)}function s(){var b,M;if(!e||!t)return;const{formSchemaUtils:f}=e;let g=at["data-grid"].name;const m=f.getControlBasicInfoMap(),y=m.get((M=(b=t.parent)==null?void 0:b.schema)==null?void 0:M.id);y&&y.parentPathName&&(g=y.parentPathName),m.set(i.id,{showName:i.title,parentPathName:`${g} > ${i.title}`,reliedComponentId:y.reliedComponentId})}return{canAccepts:a,checkCanDeleteComponent:d,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:p,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:l,getPropsConfig:u,setComponentBasicInfoMap:s}}function ir(t={}){function e(p,u,s,f){if(typeof s=="number")return f[p].length===s;if(typeof s=="object"){const g=Object.keys(s)[0],m=s[g];if(g==="not")return Number(f[p].length)!==Number(m);if(g==="moreThan")return Number(f[p].length)>=Number(m);if(g==="lessThan")return Number(f[p].length)<=Number(m)}return!1}function n(p,u,s,f){return f[p]&&f[p].propertyValue&&String(f[p].propertyValue.value)===String(s)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((p,u)=>(p.set(u,t[u]),p),i);function o(p,u){const s=p;return typeof u=="number"?[{target:s,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:s,operator:"getProperty",param:p,value:!!u}]:typeof u=="object"?Object.keys(u).map(f=>{if(f==="length")return{target:s,operator:"length",param:null,value:u[f]};const g=f,m=u[f];return{target:s,operator:"getProperty",param:g,value:m}}):[]}function l(p){return Object.keys(p).reduce((s,f)=>{const g=o(f,p[f]);return s.push(...g),s},[])}function a(p,u){if(i.has(p.operator)){const s=i.get(p.operator);return s&&s(p.target,p.param,p.value,u)||!1}return!1}function d(p,u){return l(p).reduce((g,m)=>g&&a(m,u),!0)}function c(p,u){const s=Object.keys(p),f=s.includes("allOf"),g=s.includes("anyOf"),m=f||g,M=(m?p[m?f?"allOf":"anyOf":"allOf"]:[p]).map(F=>d(F,u));return f?!M.includes(!1):M.includes(!0)}return{parseValueSchema:c}}const or={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},rr={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},lr={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},ar={convertFrom:(t,e,n)=>{var o;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((o=at[i])==null?void 0:o.name)||i}},sr={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},dr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="dateFormat")return t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none";if(e==="customFormat")return t.formmater.customFormat}return"none"}},cr={convertTo:(t,e,n,i)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enableType"&&n==="default"&&(t.command.enable=!0,t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),e==="enableType"&&n==="custom"&&(t.command.enable=!0,t.command.commands=[{value:"add",text:{en:"add","zh-CHS":"增加","zh-CHT":"增加"},type:"link"},{value:"edit",text:{en:"edit","zh-CHS":"编辑","zh-CHT":"編輯"},type:"danger"},{value:"remove",text:{en:"remove","zh-CHS":"删除","zh-CHT":"刪除"},type:"remove"}]),e==="enableType"&&n==="unable"&&(t.command.enable=!1)},convertFrom:(t,e,n)=>{var i,o;if(t.command){if(e==="enableType"){const l=(o=(i=t.command)==null?void 0:i.commands)==null?void 0:o.find(a=>a.command==="edit"&&a.type==="primary");return t.command.enable?l?"default":"custom":"unable"}if(e==="commands")return t.command.enableType==="custom"?t.command.commands:[];if(e==="formatter")return t.command.formatter;if(e==="count")return t.command.count}return""}},ur={convertTo:(t,e,n,i)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},fr={convertTo:(t,e,n,i)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>{var i;return e==="customSummaryStyle"?t.summary.customSummaryStyle:e==="position"?((i=t.summary)==null?void 0:i[e])||"bottom":t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""}},mr={convertTo:(t,e,n,i)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},pr={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},gr={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),e==="sizeLimits"?t.pagination.sizeLimits=n.split(","):t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?e==="sizeLimits"?t.pagination.sizeLimits.join(","):t.pagination[e]:t[e]},hr={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},yr={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>{var i,o;return e==="showCheckbox"?(i=t.selection)!=null&&i.multiSelect?!0:(o=t.selection)==null?void 0:o.showCheckbox:t.selection?t.selection[e]:t[e]}},vr={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},br={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},Cr={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},wr={convertFrom:(t,e,n)=>{var i,o;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(o=t.formatter)==null?void 0:o.data:t.formatterEnumData}},xr={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,o;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((o=t.sort)!=null&&o.multiSort)}},Sr={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},Mr={convertTo:(t,e,n,i)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle;if(e==="height")return t.rowOption.height}return""}},Fr={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t[e]=n,e==="columnTemplateType"&&n==="hyperlink"&&(t.onClickLinkCommand?t.columnTemplate=`
|
|
55
55
|
<span class="f-pretend-link f-cursor-pointer"
|
|
56
56
|
@click="(ctx)=>viewModel.current.${t.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
|
|
57
57
|
{{rowData.${t.field}}}
|
|
58
58
|
</span>`:t.columnTemplate=`
|
|
59
59
|
<span class="f-pretend-link f-cursor-pointer">
|
|
60
60
|
{{rowData.${t.field}}}
|
|
61
|
-
</span>`),e==="columnTemplateType"&&n==="default"&&(t.columnTemplate=""),e==="columnTemplateType"&&n==="custom"&&(t.columnTemplate=""))},convertFrom:(t,e,n)=>e==="columnTemplate"?t.columnTemplate:e==="columnTemplateType"?t.columnTemplateType?t.columnTemplateType||"default":t.columnTemplate&&!t.onClickLinkCommand?"custom":t.columnTemplate&&t.onClickLinkCommand?"hyperlink":"default":""};function Tr(t,e,n){const i=new Map([["/converter/appearance.converter",or],["/converter/buttons.converter",rr],["/converter/property-editor.converter",lr],["/converter/items-count.converter",vr],["/converter/type.converter",ar],["/converter/change-editor.converter",sr],["/converter/change-formatter.converter",dr],["/converter/column-command.converter",cr],["/converter/column-option.converter",ur],["/converter/summary.converter",fr],["/converter/group.converter",mr],["/converter/form-group-label.converter",br],["/converter/field-selector.converter",pr],["/converter/pagination.converter",gr],["/converter/row-number.converter",hr],["/converter/grid-selection.converter",yr],["/converter/size.converter",Cr],["/converter/change-formatter-enum.converter",wr],["/converter/grid-sort.converter",xr],["/converter/grid-filter.converter",Sr],["/converter/row-option.converter",Mr],["/converter/change-formatter-type.converter",Fr]]),o=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),l=ir();function a(m,y){return()=>l.parseValueSchema(m,y)}function d(m,y,b){return m.includes("visible")&&y.visible!==void 0?typeof y.visible=="boolean"?()=>!!y.visible:y.visible===void 0?!0:a(y.visible,b):()=>!0}function c(m,y,b){return m.includes("readonly")&&y.readonly!==void 0?typeof y.readonly=="boolean"?()=>!!y.readonly:a(y.readonly,b):()=>!1}function p(m,y){const b=m.$converter||y;return typeof b=="string"&&b&&i.has(b)?i.get(b)||null:b||null}function u(m,y,b,M,C,F="",T=""){return Object.keys(m).map(S=>{const h=r.ref(1),w=S,x=m[S],E=Object.keys(x),N=x.title,I=x.type,B=o.get(I)||{type:"input-group",enableClear:!1},V=x.editor?Object.assign({},B,x.editor):Object.assign({},B),_=d(E,x,y),k=c(E,x,y);V.readonly=V.readonly===void 0?k():V.readonly;const W=x.type==="cascade"?u(x.properties,y,b,M,C,F,T):[],P=!0;let A=p(x,T);const Y=r.computed({get(){if(h.value){if(["class","style"].find(O=>O===w)&&!A&&(A=i.get("/converter/appearance.converter")||null),A&&A.convertFrom)return A.convertFrom(b,S,C,F);const R=b[S];return Object.prototype.hasOwnProperty.call(x,"defaultValue")&&(R===void 0||typeof R=="string"&&R==="")?x.type==="boolean"?x.defaultValue:x.defaultValue||"":R}return null},set(R){h.value+=1,A&&A.convertTo?(A.convertTo(M,S,R,C,F),A.convertTo(b,S,R,C,F)):(M[S]=R,b[S]=R)}}),{refreshPanelAfterChanged:J,description:re,isExpand:_e,parentPropertyID:Ce}=x,Se={propertyID:w,propertyName:N,propertyType:I,propertyValue:Y,editor:V,visible:_,readonly:k,cascadeConfig:W,hideCascadeTitle:P,refreshPanelAfterChanged:J,description:re,isExpand:_e,parentPropertyID:Ce};return y[w]=Se,Se})}function s(m,y,b={}){const M={},C=t[m];return C&&C.categories?Object.keys(C.categories).map(T=>{const v=C.categories[T],S=v==null?void 0:v.title,h=u(v.properties||{},M,{},b,y);return{categoryId:T,categoryName:S,properties:h}}):[]}function f(m,y,b,M,C=""){const F=y.$ref.schema,T=y.$ref.converter,v=b[F],S=v.type,h=n(v),w={},x=t[S];if(x&&x.categories){const E=x.categories[m],N=E==null?void 0:E.title;T&&Object.keys(E.properties).forEach(V=>{E.properties[V].$converter=T});const I=(E==null?void 0:E.properties)||{},B=u(I,w,h,v,M,C);return{categoryId:m,categoryName:N,properties:B}}return{categoryId:m,categoryName:"",properties:[]}}function g(m,y,b,M,C){const F=m.type,T=n(m),v={};let S=C||t[F];if(!(S&&Object.keys(S).length>0)&&b&&b.getPropConfig&&(S=b.getPropConfig(M)),S&&S.categories){const w=[];return Object.keys(S.categories).map(x=>{const E=S.categories[x];if(E.$ref){w.push(f(x,E,m,y,M));return}const N=E==null?void 0:E.title,I=E==null?void 0:E.tabId,B=E==null?void 0:E.tabName,V=E==null?void 0:E.hide,_=E==null?void 0:E.hideTitle,k=u(E.properties||{},v,T,m,y,M,E.$converter),{setPropertyRelates:W}=E,P=E==null?void 0:E.parentPropertyID;w.push({categoryId:x,categoryName:N,tabId:I,tabName:B,hide:V,properties:k,hideTitle:_,setPropertyRelates:W,parentPropertyID:P})}),w}return[]}return{getPropertyConfigBySchema:g,getPropertyConfigByType:s,propertyConverterMap:i}}function _r(t,e){let n;function i(s){const{properties:f,title:g,ignore:m}=s,y=m&&Array.isArray(m),b=Object.keys(f).reduce((M,C)=>((!y||!m.find(F=>F===C))&&(M[C]=f[C].type==="object"&&f[C].properties?i(f[C]):Be.cloneDeep(f[C].default)),M),{});if(g&&(!y||!m.find(M=>M==="id"))){const M=g.toLowerCase().replace(/-/g,"_");b.id=`${M}_${Math.random().toString().slice(2,6)}`}return b}function o(s){const{properties:f,title:g,required:m}=s;if(m&&Array.isArray(m)){const y=m.reduce((b,M)=>(b[M]=f[M].type==="object"&&f[M].properties?i(f[M]):Be.cloneDeep(f[M].default),b),{});if(g&&m.find(b=>b==="id")){const b=g.toLowerCase().replace(/-/g,"_");y.id=`${b}_${Math.random().toString().slice(2,6)}`}return y}return{type:g}}function l(s,f={},g){const m=t[s];if(m){let y=o(m);const b=e[s];return y=b?b({getSchemaByType:l},y,f,g):y,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(y),y}return null}function a(s,f){const g=i(f);return Object.keys(g).reduce((m,y)=>(Object.prototype.hasOwnProperty.call(s,y)&&(m[y]&&Be.isPlainObject(m[y])&&Be.isPlainObject(s[y]||!s[y])?Object.assign(m[y],s[y]||{}):m[y]=s[y]),m),g),g}function d(s,f){return Object.keys(s).filter(m=>s[m]!=null).reduce((m,y)=>{if(f.has(y)){const b=f.get(y);if(typeof b=="string")m[b]=s[y];else{const M=b(y,s[y],s);Object.assign(m,M)}}else m[y]=s[y];return m},{})}function c(s,f,g=new Map){const m=a(s,f);return d(m,g)}function p(s){var g;const f=s.type;if(f){const m=t[f];if(!m)return s;const y=a(s,m),b=((g=s.editor)==null?void 0:g.type)||"";if(b){const M=t[b],C=a(s.editor,M);y.editor=C}return y}return s}function u(s){n=s}return{getSchemaByType:l,resolveSchemaWithDefaultValue:p,resolveSchemaToProps:c,mappingSchemaToProps:d,setDesignerContext:u}}const kr={},Vr={},{resolveSchemaWithDefaultValue:Er}=_r(kr,Vr);Tr({},{},Er);const{globalStorageKey:Vl}=X.useThirdComponent();var an=(t=>(t.SimpleField="SimpleField",t.ComplexField="ComplexField",t))(an||{});function Ir(t,e,n){function i(){const a=n.componentId;if(!a)return!1;const d=t.formSchemaUtils.getViewModelIdByComponentId(a);if(!d)return!1;const{schema:c}=e,{designViewModelUtils:p}=t,u=p.getDgViewModel(d),s=u==null?void 0:u.fields.find(f=>f.id===c.binding.field);return!(!s||s.$type!==an.SimpleField)}function o(){const{schema:a}=e;return!!t.formSchemaUtils.getVariableById(a.binding.field)}function l(){var c;const{schema:a}=e;let d=!0;if(!t||!((c=a.binding)!=null&&c.field))return d;switch(a.binding.type){case ot.Form:{d=i();break}case ot.Variable:d=o()}return d}return{checkBindingFieldValidation:l}}const sn=r.defineComponent({name:"FDataGridColumnDesign",props:Tt,emits:[],setup(t,e){const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context");r.inject("data-grid-context");const l=nr(o,i),a=z.useDesignerComponent(n,o,l);r.onMounted(()=>{n.value.componentInstance=a}),e.expose(a.value);function d(s){var f;(f=o==null?void 0:o.setupContext)==null||f.emit("selectionChange",a.value.schema,o.schema,t.componentId,a.value)}const{checkBindingFieldValidation:c}=Ir(i,o,t),u=!r.inject("external-container-id");return()=>{var m;const s=u?c():!0,f="绑定信息已失效,请手动移除列",g=s?"":"color:red";return r.createVNode(r.Fragment,null,[s?"":r.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:f},null),r.createVNode("span",{class:"fv-column-title",style:g,ref:n,onClick:y=>d()},[((m=t.editor)==null?void 0:m.required)===!0&&r.createVNode("span",{class:"text-danger"},[r.createTextVNode("*")]),t.title])])}}}),dn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"string",default:"10,20,30,50,100"},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:28},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"string"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"enum",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},beforeUpdate:{description:"",type:"string",default:""},scrollbarMode:{description:"",type:"string",default:"auto"},beforeEditCell:{description:"编辑前事件",type:"string"},mergeCell:{description:"合并单元格",type:"boolean",default:!1},virtualized:{description:"是否虚拟加载",type:"boolean",default:!0}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function Pr(){function t(e,n){const i={};return i.beforeEditCell=o=>n.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>n.call("beforeUpdate",e,[o,e]),i}return{resolve:t}}const cn=$e.getPropsResolverGenerator(Qe.dataGridProps,dn,ht,yt),un=$e.createPropsResolver(Qe.dataGridProps,dn,ht,yt),fn=$e.createCollectionBindingResolver(),mn=$e.createDataGridSelectionItemResolver(),pn=$e.createDataViewUpdateColumnsResolver(),gn=Pr();Ke.install=t=>{t.component(Ke.name,Ke)},Ke.register=(t,e,n,i,o)=>{t["data-grid"]=Qe,e["data-grid"]=cn(o),t["grid-field-editor"]=lo,e["grid-field-editor"]=Wi(o),i["data-grid"]={bindingResolver:fn,selectionItemResolver:mn,updateColumnsResolver:pn,callbackResolver:gn}},Ke.registerDesigner=(t,e,n)=>{t["data-grid"]=Ke,e["data-grid"]=un,e["data-grid-column"]=co,t["data-grid-column"]=sn,e["tree-grid-column"]=uo,t["tree-grid-column"]=sn};const Nr=X.withInstall(Ke);le.FDataGridDesign=Ke,le.bindingResolver=fn,le.callbackResolver=gn,le.default=Nr,le.getColumnHeader=At,le.propsResolver=un,le.propsResolverGenerator=cn,le.selectionItemResolver=mn,le.updateColumnsResolver=pn,Object.defineProperties(le,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
61
|
+
</span>`),e==="columnTemplateType"&&n==="default"&&(t.columnTemplate=""),e==="columnTemplateType"&&n==="custom"&&(t.columnTemplate=""))},convertFrom:(t,e,n)=>e==="columnTemplate"?t.columnTemplate:e==="columnTemplateType"?t.columnTemplateType?t.columnTemplateType||"default":t.columnTemplate&&!t.onClickLinkCommand?"custom":t.columnTemplate&&t.onClickLinkCommand?"hyperlink":"default":""},Tr={convertTo:(t,e,n,i)=>{t.hierarchy||(t.hierarchy={cascadeOption:{}}),t.hierarchy.cascadeOption||(t.hierarchy.cascadeOption={}),t.hierarchy.cascadeOption[e]=n},convertFrom:(t,e,n)=>{var i,o;return!!((o=(i=t.hierarchy)==null?void 0:i.cascadeOption)!=null&&o[e])}};function _r(t,e,n){const i=new Map([["/converter/appearance.converter",or],["/converter/buttons.converter",rr],["/converter/property-editor.converter",lr],["/converter/items-count.converter",vr],["/converter/type.converter",ar],["/converter/change-editor.converter",sr],["/converter/change-formatter.converter",dr],["/converter/column-command.converter",cr],["/converter/column-option.converter",ur],["/converter/summary.converter",fr],["/converter/group.converter",mr],["/converter/form-group-label.converter",br],["/converter/field-selector.converter",pr],["/converter/pagination.converter",gr],["/converter/row-number.converter",hr],["/converter/grid-selection.converter",yr],["/converter/size.converter",Cr],["/converter/change-formatter-enum.converter",wr],["/converter/grid-sort.converter",xr],["/converter/grid-filter.converter",Sr],["/converter/row-option.converter",Mr],["/converter/change-formatter-type.converter",Fr],["/converter/tree-auto-check.converter",Tr]]),o=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),l=ir();function a(m,y){return()=>l.parseValueSchema(m,y)}function d(m,y,b){return m.includes("visible")&&y.visible!==void 0?typeof y.visible=="boolean"?()=>!!y.visible:y.visible===void 0?!0:a(y.visible,b):()=>!0}function c(m,y,b){return m.includes("readonly")&&y.readonly!==void 0?typeof y.readonly=="boolean"?()=>!!y.readonly:a(y.readonly,b):()=>!1}function p(m,y){const b=m.$converter||y;return typeof b=="string"&&b&&i.has(b)?i.get(b)||null:b||null}function u(m,y,b,M,C,F="",T=""){return Object.keys(m).map(S=>{const h=r.ref(1),w=S,x=m[S],E=Object.keys(x),N=x.title,I=x.type,B=o.get(I)||{type:"input-group",enableClear:!1},V=x.editor?Object.assign({},B,x.editor):Object.assign({},B),_=d(E,x,y),k=c(E,x,y);V.readonly=V.readonly===void 0?k():V.readonly;const W=x.type==="cascade"?u(x.properties,y,b,M,C,F,T):[],P=!0;let L=p(x,T);const Y=r.computed({get(){if(h.value){if(["class","style"].find(O=>O===w)&&!L&&(L=i.get("/converter/appearance.converter")||null),L&&L.convertFrom)return L.convertFrom(b,S,C,F);const R=b[S];return Object.prototype.hasOwnProperty.call(x,"defaultValue")&&(R===void 0||typeof R=="string"&&R==="")?x.type==="boolean"?x.defaultValue:x.defaultValue||"":R}return null},set(R){h.value+=1,L&&L.convertTo?(L.convertTo(M,S,R,C,F),L.convertTo(b,S,R,C,F)):(M[S]=R,b[S]=R)}}),{refreshPanelAfterChanged:J,description:re,isExpand:_e,parentPropertyID:Ce}=x,Se={propertyID:w,propertyName:N,propertyType:I,propertyValue:Y,editor:V,visible:_,readonly:k,cascadeConfig:W,hideCascadeTitle:P,refreshPanelAfterChanged:J,description:re,isExpand:_e,parentPropertyID:Ce};return y[w]=Se,Se})}function s(m,y,b={}){const M={},C=t[m];return C&&C.categories?Object.keys(C.categories).map(T=>{const v=C.categories[T],S=v==null?void 0:v.title,h=u(v.properties||{},M,{},b,y);return{categoryId:T,categoryName:S,properties:h}}):[]}function f(m,y,b,M,C=""){const F=y.$ref.schema,T=y.$ref.converter,v=b[F],S=v.type,h=n(v),w={},x=t[S];if(x&&x.categories){const E=x.categories[m],N=E==null?void 0:E.title;T&&Object.keys(E.properties).forEach(V=>{E.properties[V].$converter=T});const I=(E==null?void 0:E.properties)||{},B=u(I,w,h,v,M,C);return{categoryId:m,categoryName:N,properties:B}}return{categoryId:m,categoryName:"",properties:[]}}function g(m,y,b,M,C){const F=m.type,T=n(m),v={};let S=C||t[F];if(!(S&&Object.keys(S).length>0)&&b&&b.getPropConfig&&(S=b.getPropConfig(M)),S&&S.categories){const w=[];return Object.keys(S.categories).map(x=>{const E=S.categories[x];if(E.$ref){w.push(f(x,E,m,y,M));return}const N=E==null?void 0:E.title,I=E==null?void 0:E.tabId,B=E==null?void 0:E.tabName,V=E==null?void 0:E.hide,_=E==null?void 0:E.hideTitle,k=u(E.properties||{},v,T,m,y,M,E.$converter),{setPropertyRelates:W}=E,P=E==null?void 0:E.parentPropertyID;w.push({categoryId:x,categoryName:N,tabId:I,tabName:B,hide:V,properties:k,hideTitle:_,setPropertyRelates:W,parentPropertyID:P})}),w}return[]}return{getPropertyConfigBySchema:g,getPropertyConfigByType:s,propertyConverterMap:i}}function kr(t,e){let n;function i(s){const{properties:f,title:g,ignore:m}=s,y=m&&Array.isArray(m),b=Object.keys(f).reduce((M,C)=>((!y||!m.find(F=>F===C))&&(M[C]=f[C].type==="object"&&f[C].properties?i(f[C]):Be.cloneDeep(f[C].default)),M),{});if(g&&(!y||!m.find(M=>M==="id"))){const M=g.toLowerCase().replace(/-/g,"_");b.id=`${M}_${Math.random().toString().slice(2,6)}`}return b}function o(s){const{properties:f,title:g,required:m}=s;if(m&&Array.isArray(m)){const y=m.reduce((b,M)=>(b[M]=f[M].type==="object"&&f[M].properties?i(f[M]):Be.cloneDeep(f[M].default),b),{});if(g&&m.find(b=>b==="id")){const b=g.toLowerCase().replace(/-/g,"_");y.id=`${b}_${Math.random().toString().slice(2,6)}`}return y}return{type:g}}function l(s,f={},g){const m=t[s];if(m){let y=o(m);const b=e[s];return y=b?b({getSchemaByType:l},y,f,g):y,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(y),y}return null}function a(s,f){const g=i(f);return Object.keys(g).reduce((m,y)=>(Object.prototype.hasOwnProperty.call(s,y)&&(m[y]&&Be.isPlainObject(m[y])&&Be.isPlainObject(s[y]||!s[y])?Object.assign(m[y],s[y]||{}):m[y]=s[y]),m),g),g}function d(s,f){return Object.keys(s).filter(m=>s[m]!=null).reduce((m,y)=>{if(f.has(y)){const b=f.get(y);if(typeof b=="string")m[b]=s[y];else{const M=b(y,s[y],s);Object.assign(m,M)}}else m[y]=s[y];return m},{})}function c(s,f,g=new Map){const m=a(s,f);return d(m,g)}function p(s){var g;const f=s.type;if(f){const m=t[f];if(!m)return s;const y=a(s,m),b=((g=s.editor)==null?void 0:g.type)||"";if(b){const M=t[b],C=a(s.editor,M);y.editor=C}return y}return s}function u(s){n=s}return{getSchemaByType:l,resolveSchemaWithDefaultValue:p,resolveSchemaToProps:c,mappingSchemaToProps:d,setDesignerContext:u}}const Vr={},Er={},{resolveSchemaWithDefaultValue:Ir}=kr(Vr,Er);_r({},{},Ir);const{globalStorageKey:El}=X.useThirdComponent();var an=(t=>(t.SimpleField="SimpleField",t.ComplexField="ComplexField",t))(an||{});function Pr(t,e,n){function i(){const a=n.componentId;if(!a)return!1;const d=t.formSchemaUtils.getViewModelIdByComponentId(a);if(!d)return!1;const{schema:c}=e,{designViewModelUtils:p}=t,u=p.getDgViewModel(d),s=u==null?void 0:u.fields.find(f=>f.id===c.binding.field);return!(!s||s.$type!==an.SimpleField)}function o(){const{schema:a}=e;return!!t.formSchemaUtils.getVariableById(a.binding.field)}function l(){var c;const{schema:a}=e;let d=!0;if(!t||!((c=a.binding)!=null&&c.field))return d;switch(a.binding.type){case ot.Form:{d=i();break}case ot.Variable:d=o()}return d}return{checkBindingFieldValidation:l}}const sn=r.defineComponent({name:"FDataGridColumnDesign",props:Tt,emits:[],setup(t,e){const n=r.ref(),i=r.inject("designer-host-service"),o=r.inject("design-item-context");r.inject("data-grid-context");const l=nr(o,i),a=z.useDesignerComponent(n,o,l);r.onMounted(()=>{n.value.componentInstance=a}),e.expose(a.value);function d(s){var f;(f=o==null?void 0:o.setupContext)==null||f.emit("selectionChange",a.value.schema,o.schema,t.componentId,a.value)}const{checkBindingFieldValidation:c}=Pr(i,o,t),u=!r.inject("external-container-id");return()=>{var m;const s=u?c():!0,f="绑定信息已失效,请手动移除列",g=s?"":"color:red";return r.createVNode(r.Fragment,null,[s?"":r.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:f},null),r.createVNode("span",{class:"fv-column-title",style:g,ref:n,onClick:y=>d()},[((m=t.editor)==null?void 0:m.required)===!0&&r.createVNode("span",{class:"text-danger"},[r.createTextVNode("*")]),t.title])])}}}),dn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"string",default:"10,20,30,50,100"},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:28},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"string"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"enum",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},beforeUpdate:{description:"",type:"string",default:""},scrollbarMode:{description:"",type:"string",default:"auto"},beforeEditCell:{description:"编辑前事件",type:"string"},mergeCell:{description:"合并单元格",type:"boolean",default:!1},virtualized:{description:"是否虚拟加载",type:"boolean",default:!0}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function Nr(){function t(e,n){const i={};return i.beforeEditCell=o=>n.call("beforeEditCell",e,[o,e]),i.beforeUpdate=o=>n.call("beforeUpdate",e,[o,e]),i}return{resolve:t}}const cn=$e.getPropsResolverGenerator(Qe.dataGridProps,dn,ht,yt),un=$e.createPropsResolver(Qe.dataGridProps,dn,ht,yt),fn=$e.createCollectionBindingResolver(),mn=$e.createDataGridSelectionItemResolver(),pn=$e.createDataViewUpdateColumnsResolver(),gn=Nr();Ke.install=t=>{t.component(Ke.name,Ke)},Ke.register=(t,e,n,i,o)=>{t["data-grid"]=Qe,e["data-grid"]=cn(o),t["grid-field-editor"]=lo,e["grid-field-editor"]=Wi(o),i["data-grid"]={bindingResolver:fn,selectionItemResolver:mn,updateColumnsResolver:pn,callbackResolver:gn}},Ke.registerDesigner=(t,e,n)=>{t["data-grid"]=Ke,e["data-grid"]=un,e["data-grid-column"]=co,t["data-grid-column"]=sn,e["tree-grid-column"]=uo,t["tree-grid-column"]=sn};const Br=X.withInstall(Ke);le.FDataGridDesign=Ke,le.bindingResolver=fn,le.callbackResolver=gn,le.default=Br,le.getColumnHeader=Lt,le.propsResolver=un,le.propsResolverGenerator=cn,le.selectionItemResolver=mn,le.updateColumnsResolver=pn,Object.defineProperties(le,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|