@farris/ui-vue 1.7.3 → 1.7.5
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/accordion/index.esm.js +312 -61
- package/components/accordion/index.umd.cjs +1 -1
- package/components/avatar/index.esm.js +1482 -56
- package/components/avatar/index.umd.cjs +1 -1
- package/components/binding-selector/index.esm.js +752 -8
- package/components/binding-selector/index.umd.cjs +1 -1
- package/components/button-group/index.esm.js +266 -110
- package/components/button-group/index.umd.cjs +1 -1
- package/components/calendar/index.esm.js +129 -128
- package/components/calendar/index.umd.cjs +2 -2
- package/components/code-editor/index.esm.js +237 -169
- package/components/code-editor/index.umd.cjs +3 -3
- package/components/collection-property-editor/index.esm.js +134 -133
- package/components/collection-property-editor/index.umd.cjs +2 -2
- package/components/color-picker/index.esm.js +812 -502
- package/components/color-picker/index.umd.cjs +1 -1
- package/components/combo-list/index.esm.js +323 -291
- package/components/combo-list/index.umd.cjs +1 -1
- package/components/combo-tree/index.esm.js +355 -174
- package/components/combo-tree/index.umd.cjs +1 -1
- package/components/comment/index.esm.js +134 -133
- package/components/comment/index.umd.cjs +2 -2
- package/components/common/index.esm.js +1 -1
- package/components/common/index.umd.cjs +1 -1
- package/components/component/index.esm.js +3791 -2760
- package/components/component/index.umd.cjs +8 -1
- package/components/condition/index.esm.js +2482 -492
- package/components/condition/index.umd.cjs +8 -1
- package/components/data-view/index.esm.js +1816 -1790
- package/components/data-view/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +1 -1
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +2975 -2615
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/drawer/index.esm.js +397 -387
- package/components/drawer/index.umd.cjs +2 -2
- package/components/dropdown/index.esm.js +373 -124
- package/components/dropdown/index.umd.cjs +2 -2
- package/components/dynamic-form/index.esm.js +592 -1894
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-resolver/index.esm.js +250 -248
- package/components/dynamic-resolver/index.umd.cjs +2 -2
- package/components/dynamic-view/index.esm.js +427 -466
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/event-parameter/index.esm.js +1 -1
- package/components/event-parameter/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +1890 -1473
- package/components/events-editor/index.umd.cjs +3 -3
- package/components/expression-editor/index.css +1 -1
- package/components/expression-editor/index.esm.js +7371 -2
- package/components/expression-editor/index.umd.cjs +427 -1
- package/components/fieldset/index.esm.js +1 -1
- package/components/fieldset/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +2 -3
- package/components/filter-bar/index.umd.cjs +2 -2
- package/components/filter-condition-editor/index.css +1 -1
- package/components/filter-condition-editor/index.esm.js +9044 -425
- package/components/filter-condition-editor/index.umd.cjs +427 -1
- package/components/html-template/index.esm.js +33 -36
- package/components/html-template/index.umd.cjs +1 -1
- package/components/image-cropper/index.esm.js +615 -361
- package/components/image-cropper/index.umd.cjs +1 -1
- package/components/json-editor/index.esm.js +325 -247
- package/components/json-editor/index.umd.cjs +1 -1
- package/components/language-textbox/index.esm.js +269 -269
- package/components/language-textbox/index.umd.cjs +2 -2
- package/components/layout/index.esm.js +549 -163
- package/components/layout/index.umd.cjs +1 -1
- package/components/list-nav/index.esm.js +837 -39
- package/components/list-nav/index.umd.cjs +1 -1
- package/components/list-view/index.esm.js +427 -646
- package/components/list-view/index.umd.cjs +6 -6
- package/components/lookup/index.esm.js +3624 -3625
- package/components/lookup/index.umd.cjs +1 -1
- package/components/menu-lookup/index.esm.js +577 -536
- package/components/menu-lookup/index.umd.cjs +6 -6
- package/components/nav/index.esm.js +311 -31
- package/components/nav/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +1634 -189
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +82 -82
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/order/index.esm.js +1190 -850
- package/components/order/index.umd.cjs +6 -6
- package/components/page-footer/index.esm.js +331 -48
- package/components/page-footer/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +110 -116
- package/components/page-header/index.umd.cjs +1 -1
- package/components/pagination/index.esm.js +509 -232
- package/components/pagination/index.umd.cjs +1 -1
- package/components/progress/index.esm.js +353 -148
- package/components/progress/index.umd.cjs +3 -3
- package/components/property-editor/index.esm.js +157 -153
- package/components/property-editor/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +1825 -871
- package/components/property-panel/index.umd.cjs +12 -5
- package/components/query-solution/index.css +1 -1
- package/components/query-solution/index.esm.js +6075 -3863
- package/components/query-solution/index.umd.cjs +13 -6
- package/components/response-layout/index.esm.js +1 -1
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +2447 -2221
- package/components/schema-selector/index.umd.cjs +7 -7
- package/components/search-box/index.esm.js +244 -72
- package/components/search-box/index.umd.cjs +1 -1
- package/components/section/index.esm.js +134 -133
- package/components/section/index.umd.cjs +2 -2
- package/components/smoke-detector/index.esm.js +179 -8
- package/components/smoke-detector/index.umd.cjs +1 -1
- package/components/sort-condition-editor/index.css +1 -0
- package/components/sort-condition-editor/index.esm.js +9488 -4
- package/components/sort-condition-editor/index.umd.cjs +427 -1
- package/components/splitter/index.esm.js +1172 -142
- package/components/splitter/index.umd.cjs +1 -1
- package/components/step/index.esm.js +47 -48
- package/components/step/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +490 -419
- package/components/tabs/index.umd.cjs +1 -1
- package/components/text/index.esm.js +217 -73
- package/components/text/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +29 -27
- package/components/textarea/index.umd.cjs +2 -2
- package/components/transfer/index.esm.js +760 -543
- package/components/transfer/index.umd.cjs +5 -5
- package/components/tree-grid/index.esm.js +105 -104
- package/components/tree-grid/index.umd.cjs +1 -1
- package/components/tree-view/index.esm.js +320 -153
- package/components/tree-view/index.umd.cjs +1 -1
- package/components/uploader/index.esm.js +1125 -634
- package/components/uploader/index.umd.cjs +2 -2
- package/components/verify-detail/index.esm.js +359 -106
- package/components/verify-detail/index.umd.cjs +1 -1
- package/components/video/index.esm.js +222 -89
- package/components/video/index.umd.cjs +1 -1
- package/components/weather/index.esm.js +290 -199
- package/components/weather/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +5192 -4408
- package/designer/data-grid/index.umd.cjs +17 -10
- package/designer/drawer/index.esm.js +576 -567
- package/designer/drawer/index.umd.cjs +2 -2
- package/designer/dynamic-form/index.esm.js +1418 -1154
- package/designer/dynamic-form/index.umd.cjs +8 -1
- package/designer/farris-designer.all.esm.js +12665 -12117
- package/designer/farris-designer.all.umd.cjs +12 -12
- package/designer/list-view/index.esm.js +327 -327
- package/designer/list-view/index.umd.cjs +3 -3
- package/designer/modal/index.esm.js +29 -137
- package/designer/modal/index.umd.cjs +1 -1
- package/designer/radio-group/index.esm.js +0 -1
- package/designer/radio-group/index.umd.cjs +1 -1
- package/designer/response-toolbar/index.esm.js +9 -9
- package/designer/response-toolbar/index.umd.cjs +1 -1
- package/designer/section/index.esm.js +1 -6
- package/designer/section/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +2829 -2540
- package/designer/tabs/index.umd.cjs +2 -2
- package/designer/tree-grid/index.esm.js +822 -464
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/farris.all.esm.js +68724 -67244
- package/farris.all.umd.cjs +92 -92
- package/index.css +1 -1
- package/package.json +1 -1
- package/types/accordion/src/accordion.props.d.ts +1 -0
- package/types/accordion/src/components/accordion-item.props.d.ts +1 -0
- package/types/avatar/src/avatar.props.d.ts +1 -0
- package/types/binding-selector/index.d.ts +54 -0
- package/types/binding-selector/src/binding-selector.props.d.ts +1 -0
- package/types/button-group/index.d.ts +0 -15
- package/types/button-group/src/button-group.props.d.ts +1 -0
- package/types/code-editor/index.d.ts +1 -0
- package/types/code-editor/src/code-textbox.component.d.ts +6 -6
- package/types/code-editor/src/code-textbox.props.d.ts +2 -0
- package/types/color-picker/index.d.ts +15 -0
- package/types/color-picker/src/color-picker.props.d.ts +1 -0
- package/types/combo-list/src/composition/use-data-source.d.ts +2 -1
- package/types/combo-list/src/property-config/combo-list.property-config.d.ts +14 -2
- package/types/combo-tree/src/combo-tree.props.d.ts +1 -0
- package/types/component/index.d.ts +2 -0
- package/types/component/src/component.props.d.ts +8 -0
- package/types/components.d.ts +6 -1
- package/types/condition/index.d.ts +55 -0
- package/types/designer-toolbox/index.d.ts +3 -0
- package/types/designer-toolbox/src/toolbox.component.d.ts +14 -0
- package/types/designer-toolbox/src/toolbox.props.d.ts +29 -0
- package/types/designer-toolbox/src/types.d.ts +21 -0
- package/types/designer.d.ts +13 -0
- package/types/dropdown/index.d.ts +6 -27
- package/types/dropdown/src/dropdown.item.component.d.ts +1 -1
- package/types/dropdown/src/dropdown.props.d.ts +1 -0
- package/types/dynamic-form/designer.d.ts +1 -3
- package/types/dynamic-form/index.d.ts +3 -9
- package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +3 -3
- package/types/dynamic-resolver/index.d.ts +0 -3
- package/types/dynamic-resolver/src/resolver/property-config/property-config-resolver-design.d.ts +1 -1
- package/types/dynamic-resolver/src/resolver/property-config/property-config-resolver.d.ts +1 -1
- package/types/dynamic-resolver/src/resolver/property-config/use-property-config-resolver.d.ts +2 -2
- package/types/dynamic-resolver/src/resolver/schema/schema-resolver-design.d.ts +1 -1
- package/types/dynamic-resolver/src/resolver/schema/schema-resolver.d.ts +1 -1
- package/types/dynamic-view/src/components/maps.d.ts +104 -92
- package/types/{binding-selector/designer.d.ts → expression-editor/index.d.ts} +6 -6
- package/types/filter-condition-editor/index.d.ts +9 -0
- package/types/filter-condition-editor/src/components/filter-condition-grid.component.d.ts +12 -12
- package/types/filter-condition-editor/src/components/sort-editor-grid.component.d.ts +12 -12
- package/types/filter-condition-editor/src/filter-condition-editor.props.d.ts +1 -0
- package/types/flow-canvas/index.d.ts +3 -0
- package/types/{dynamic-form/src/component/form-control/form-control.component.d.ts → flow-canvas/src/components/flow-node-item.component.d.ts} +1 -1
- package/types/flow-canvas/src/components/flow-node-item.props.d.ts +3 -0
- package/types/flow-canvas/src/composition/types.d.ts +42 -0
- package/types/flow-canvas/src/composition/use-bezier-curve.d.ts +2 -0
- package/types/flow-canvas/src/composition/use-connections.d.ts +2 -0
- package/types/flow-canvas/src/composition/use-curve.d.ts +4 -0
- package/types/flow-canvas/src/composition/use-drawing-bezier.d.ts +2 -0
- package/types/flow-canvas/src/composition/use-drawing.d.ts +4 -0
- package/types/flow-canvas/src/flow-canvas.component.d.ts +8 -0
- package/types/flow-canvas/src/flow-canvas.props.d.ts +3 -0
- package/types/image-cropper/src/image-cropper.props.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/json-editor/src/json-editor.props.d.ts +1 -0
- package/types/layout/index.d.ts +0 -1
- package/types/layout/src/components/layout-pane.props.d.ts +1 -0
- package/types/layout/src/layout.props.d.ts +1 -0
- package/types/list-nav/index.d.ts +5 -24
- package/types/list-nav/src/list-nav.props.d.ts +1 -0
- package/types/list-view/index.d.ts +0 -1
- package/types/list-view/src/composition/use-draggable.d.ts +1 -1
- package/types/lookup/index.d.ts +1 -1
- package/types/lookup/src/components/popup-container.component.d.ts +3 -3
- package/types/menu-lookup/src/menu-lookup.props.d.ts +1 -0
- package/types/modal/designer.d.ts +0 -2
- package/types/nav/index.d.ts +20 -24
- package/types/nav/src/nav.props.d.ts +1 -0
- package/types/number-range/src/number-range.props.d.ts +1 -0
- package/types/order/index.d.ts +5 -36
- package/types/order/src/designer/order.design.component.d.ts +1 -1
- package/types/order/src/order.props.d.ts +1 -0
- package/types/page-footer/index.d.ts +2 -0
- package/types/page-footer/src/page-footer.props.d.ts +1 -0
- package/types/pagination/index.d.ts +0 -15
- package/types/pagination/src/pagination.props.d.ts +1 -0
- package/types/progress/src/progress.props.d.ts +1 -0
- package/types/query-solution/index.d.ts +1 -1
- package/types/radio-group/designer.d.ts +1 -2
- package/types/search-box/index.d.ts +17 -1
- package/types/search-box/src/search-box.props.d.ts +1 -0
- package/types/section/designer.d.ts +0 -1
- package/types/smoke-detector/index.d.ts +2 -0
- package/types/smoke-detector/src/smoke-detector.props.d.ts +1 -0
- package/types/sort-condition-editor/index.d.ts +7 -2
- package/types/sort-condition-editor/src/sort-condition-editor.props.d.ts +1 -0
- package/types/splitter/index.d.ts +0 -1
- package/types/splitter/src/components/splitter-pane.props.d.ts +1 -0
- package/types/splitter/src/splitter.props.d.ts +1 -0
- package/types/tabs/designer.d.ts +0 -1
- package/types/tabs/index.d.ts +1 -0
- package/types/text/index.d.ts +20 -24
- package/types/text/src/text.props.d.ts +1 -0
- package/types/transfer/src/transfer.props.d.ts +1 -0
- package/types/tree-view/src/tree-view.props.d.ts +1 -0
- package/types/uploader/src/uploader.props.d.ts +1 -0
- package/types/verify-detail/index.d.ts +5 -58
- package/types/verify-detail/src/designer/verify-detail.design.component.d.ts +8 -8
- package/types/verify-detail/src/verify-detail.props.d.ts +1 -0
- package/types/video/index.d.ts +20 -24
- package/types/video/src/video.props.d.ts +1 -0
- package/components/dynamic-form/index.css +0 -1
- package/designer/accordion/index.esm.js +0 -257
- package/designer/accordion/index.umd.cjs +0 -1
- package/designer/avatar/index.esm.js +0 -1460
- package/designer/avatar/index.umd.cjs +0 -1
- package/designer/binding-selector/index.esm.js +0 -792
- package/designer/binding-selector/index.umd.cjs +0 -1
- package/designer/button-group/index.esm.js +0 -282
- package/designer/button-group/index.umd.cjs +0 -1
- package/designer/code-editor/index.esm.js +0 -75
- package/designer/code-editor/index.umd.cjs +0 -1
- package/designer/color-picker/index.esm.js +0 -1096
- package/designer/color-picker/index.umd.cjs +0 -1
- package/designer/combo-list/index.esm.js +0 -1095
- package/designer/combo-list/index.umd.cjs +0 -1
- package/designer/combo-tree/index.esm.js +0 -186
- package/designer/combo-tree/index.umd.cjs +0 -1
- package/designer/component/index.css +0 -1
- package/designer/component/index.esm.js +0 -5002
- package/designer/component/index.umd.cjs +0 -1
- package/designer/condition/index.esm.js +0 -1899
- package/designer/condition/index.umd.cjs +0 -1
- package/designer/dropdown/index.esm.js +0 -261
- package/designer/dropdown/index.umd.cjs +0 -1
- package/designer/expression-editor/index.css +0 -1
- package/designer/expression-editor/index.esm.js +0 -7006
- package/designer/expression-editor/index.umd.cjs +0 -427
- package/designer/filter-condition-editor/index.css +0 -1
- package/designer/filter-condition-editor/index.esm.js +0 -4795
- package/designer/filter-condition-editor/index.umd.cjs +0 -1
- package/designer/html-template/index.esm.js +0 -718
- package/designer/html-template/index.umd.cjs +0 -1
- package/designer/image-cropper/index.esm.js +0 -765
- package/designer/image-cropper/index.umd.cjs +0 -1
- package/designer/json-editor/index.esm.js +0 -83
- package/designer/json-editor/index.umd.cjs +0 -1
- package/designer/language-textbox/index.esm.js +0 -783
- package/designer/language-textbox/index.umd.cjs +0 -8
- package/designer/layout/index.esm.js +0 -430
- package/designer/layout/index.umd.cjs +0 -1
- package/designer/list-nav/index.esm.js +0 -802
- package/designer/list-nav/index.umd.cjs +0 -1
- package/designer/lookup/index.esm.js +0 -2083
- package/designer/lookup/index.umd.cjs +0 -1
- package/designer/menu-lookup/index.esm.js +0 -46
- package/designer/menu-lookup/index.umd.cjs +0 -1
- package/designer/nav/index.esm.js +0 -284
- package/designer/nav/index.umd.cjs +0 -1
- package/designer/number-range/index.esm.js +0 -1616
- package/designer/number-range/index.umd.cjs +0 -1
- package/designer/order/index.css +0 -1
- package/designer/order/index.esm.js +0 -2196
- package/designer/order/index.umd.cjs +0 -18
- package/designer/page-footer/index.esm.js +0 -290
- package/designer/page-footer/index.umd.cjs +0 -1
- package/designer/page-header/index.esm.js +0 -1003
- package/designer/page-header/index.umd.cjs +0 -1
- package/designer/pagination/index.esm.js +0 -591
- package/designer/pagination/index.umd.cjs +0 -1
- package/designer/progress/index.esm.js +0 -213
- package/designer/progress/index.umd.cjs +0 -1
- package/designer/search-box/index.esm.js +0 -245
- package/designer/search-box/index.umd.cjs +0 -1
- package/designer/smoke-detector/index.css +0 -1
- package/designer/smoke-detector/index.esm.js +0 -178
- package/designer/smoke-detector/index.umd.cjs +0 -1
- package/designer/sort-condition-editor/index.esm.js +0 -138
- package/designer/sort-condition-editor/index.umd.cjs +0 -1
- package/designer/splitter/index.esm.js +0 -1120
- package/designer/splitter/index.umd.cjs +0 -1
- package/designer/step/index.esm.js +0 -226
- package/designer/step/index.umd.cjs +0 -1
- package/designer/text/index.esm.js +0 -147
- package/designer/text/index.umd.cjs +0 -1
- package/designer/transfer/index.esm.js +0 -254
- package/designer/transfer/index.umd.cjs +0 -1
- package/designer/tree-view/index.esm.js +0 -313
- package/designer/tree-view/index.umd.cjs +0 -1
- package/designer/uploader/index.esm.js +0 -1190
- package/designer/uploader/index.umd.cjs +0 -2
- package/designer/verify-detail/index.esm.js +0 -258
- package/designer/verify-detail/index.umd.cjs +0 -1
- package/designer/video/index.esm.js +0 -136
- package/designer/video/index.umd.cjs +0 -1
- package/designer/weather/index.css +0 -1
- package/designer/weather/index.esm.js +0 -6244
- package/designer/weather/index.umd.cjs +0 -14
- package/types/accordion/designer.d.ts +0 -44
- package/types/avatar/designer.d.ts +0 -29
- package/types/button-group/designer.d.ts +0 -29
- package/types/code-editor/designer.d.ts +0 -5
- package/types/color-picker/designer.d.ts +0 -29
- package/types/combo-list/designer.d.ts +0 -29
- package/types/combo-list/src/designer/combo-list.design.props.d.ts +0 -6
- package/types/combo-tree/designer.d.ts +0 -5
- package/types/component/designer.d.ts +0 -35
- package/types/condition/designer.d.ts +0 -56
- package/types/dropdown/designer.d.ts +0 -6
- package/types/dynamic-form/src/composition/use-input-type-resolver.d.ts +0 -11
- package/types/expression-editor/designer.d.ts +0 -9
- package/types/filter-condition-editor/designer.d.ts +0 -10
- package/types/html-template/designer.d.ts +0 -31
- package/types/html-template/src/designer/html-template.design.props.d.ts +0 -9
- package/types/image-cropper/designer.d.ts +0 -4
- package/types/json-editor/designer.d.ts +0 -5
- package/types/layout/designer.d.ts +0 -32
- package/types/list-nav/designer.d.ts +0 -6
- package/types/menu-lookup/designer.d.ts +0 -5
- package/types/nav/designer.d.ts +0 -6
- package/types/number-range/designer.d.ts +0 -29
- package/types/order/designer.d.ts +0 -6
- package/types/page-footer/designer.d.ts +0 -6
- package/types/page-header/src/designer/page-header.design.props.d.ts +0 -20
- package/types/pagination/designer.d.ts +0 -29
- package/types/progress/designer.d.ts +0 -29
- package/types/search-box/designer.d.ts +0 -52
- package/types/smoke-detector/designer.d.ts +0 -6
- package/types/sort-condition-editor/designer.d.ts +0 -9
- package/types/splitter/designer.d.ts +0 -32
- package/types/step/designer.d.ts +0 -6
- package/types/text/designer.d.ts +0 -6
- package/types/transfer/designer.d.ts +0 -35
- package/types/tree-view/designer.d.ts +0 -29
- package/types/uploader/designer.d.ts +0 -141
- package/types/verify-detail/designer.d.ts +0 -6
- package/types/video/designer.d.ts +0 -6
- /package/{designer → components}/condition/index.css +0 -0
- /package/{designer → components}/uploader/index.css +0 -0
|
@@ -6,7 +6,7 @@ import { resolveAppearance as Y, createPropsResolver as Z, getPropsResolverGener
|
|
|
6
6
|
import { DgControl as S, canvasChanged as ee, refreshCanvas as te, UseTemplateDragAndDropRules as ne, useDragulaCommonRule as se, useDesignerComponent as ie, setPositionOfSelectedComponentBtnGroup as oe } from "../designer-canvas/index.esm.js";
|
|
7
7
|
import { FormBindingType as D } from "../property-panel/index.esm.js";
|
|
8
8
|
import { cloneDeep as re } from "lodash-es";
|
|
9
|
-
import { useDesignerRules as G } from "
|
|
9
|
+
import { useDesignerRules as G } from "../dynamic-form/index.esm.js";
|
|
10
10
|
const _ = /* @__PURE__ */ new Map([
|
|
11
11
|
["appearance", Y]
|
|
12
12
|
]), ae = "https://json-schema.org/draft/2020-12/schema", le = "https://farris-design.gitee.io/fieldset.schema.json", de = "fieldset", ce = "A Farris Container Component", ue = "object", pe = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(m,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("lodash-es"),require("../../designer/dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","lodash-es","../../designer/dynamic-form/index.umd.js"],l):(m=typeof globalThis<"u"?globalThis:m||self,l(m.fieldset={},m.Vue,m.dynamicResolver,m.designerCanvas,m.propertyPanel,m.LodashES,m.designer))})(this,function(m,l,F,x,B,L,U){"use strict";var te=Object.defineProperty;var ne=(m,l,F)=>l in m?te(m,l,{enumerable:!0,configurable:!0,writable:!0,value:F}):m[l]=F;var b=(m,l,F)=>ne(m,typeof l!="symbol"?l+"":l,F);const A=new Map([["appearance",F.resolveAppearance]]),O={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/fieldset.schema.json",title:"fieldset",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a fieldset",type:"string"},type:{description:"The type string of fieldset component",type:"string",default:"fieldset"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},title:{description:"The title for a fieldset",type:"string"},contents:{description:"",type:"array",default:[]}},required:["id","type","contents"]};function j(p,e,t){return Object.assign(e,{appearance:{class:"col-12 px-0"},title:"分组标题"}),e}const T={customClass:{type:String,default:""},customStyle:{type:String,default:""},title:{type:String,default:""}},D=Object.assign({},T,{componentId:{type:String,default:""}}),W=F.createPropsResolver(T,O,A,j),k=F.getPropsResolverGenerator(T,O,A,j),R=l.defineComponent({name:"FFieldset",props:T,emits:[],setup(p,e){const t=l.ref(!0);function n(a,r){a&&r&&r.split(" ").reduce((u,f)=>(u[f]=!0,u),a)}const i=l.computed(()=>{const a={"f-section-formgroup":!0,"f-state-collapse":!t.value};return n(a,p.customClass),a}),o=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":t.value}));function s(){t.value=!t.value}return()=>l.createVNode("fieldset",{class:i.value,style:p.customStyle},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:s},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:s},[l.createVNode("button",{class:o.value},null)])])]),l.createVNode("div",{class:"f-section-formgroup-inputs"},[e.slots.default&&e.slots.default()])])}});function J(p){const{formSchemaUtils:e,formStateMachineUtils:t}=p;function n(r,d=""){return{path:d+r.code,field:r.id,fullPath:r.code}}function i(r,d=""){const u=e.getViewModelById(r);return u?u.states.map(f=>n(f,d)):[]}function o(r){const d=e.getRootViewModelId(),u=i(r);if(r===d)return u;const f=i(d,"root-component.");return[...u,...f]}function s(r){return r.binding&&r.binding.path||r.id||""}function a(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:a}}class K{constructor(e){b(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'"}]);b(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});b(this,"getExpressionConverter",(e,t)=>({convertFrom:(n,i,o,s)=>{const a=o.getExpressionRuleValue(e,t||i);return a&&a.value||""},convertTo:(n,i,o,s,a)=>{var r;if(i==="dataPicking"&&(o!=null&&o.target)){const d=`${o.target}_dataPicking`;((r=o.rules)==null?void 0:r.some(f=>f.id===d&&f.value))?n.dictPickingExpressionId=d:delete n.dictPickingExpressionId}s.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,t){const n=this.formSchemaService.getExpressions();if(!n)return"";const i=n.find(s=>s.target===e);if(!i)return"";const o=i.rules.find(s=>s.type===t);return o||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(t);if(!n||!n.states||n.states.length===0)return[];const i=[];return n.states.filter(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(e,t,n="label"){return{id:e.id,name:e.name,bindingPath:e[n],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var a;const o=this.createTreeNode(i,t);let s=[];(a=i.type)!=null&&a.fields&&(s=this.buildEntityFieldsTreeData(i.type.fields,[...t,i.label])),n.push({data:o,children:s,expanded:!0})}),n}buildChildEntityTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var r,d;const o=this.createTreeNode(i,t);o.type="entity";const s=this.buildEntityFieldsTreeData((r=i.type)==null?void 0:r.fields,[...t,i.label]),a=this.buildChildEntityTreeData((d=i.type)==null?void 0:d.entities,[...t,i.label]);a!=null&&a.length&&(s==null||s.push(...a)),n.push({data:o,children:s||[],expanded:!0})}),n}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const n=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),i=this.buildChildEntityTreeData(t.type.entities,[t.code]);return i!=null&&i.length&&(n==null||n.push(...i)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,n){const i=n==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,t),s=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(a.messageType=o.messageType),a}buildRule(e,t,n,i){const{expression:o,message:s,messageType:a}=t,r={id:`${e}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(r.message=s),n==="dataPicking"&&(r.messageType=a),n==="validate"&&i&&(r.elementId=i),r}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,n,i){const o=t==="Field"?e.binding.field:e.id,s=this.buildRule(o,n,i,e.type==="form-group"?e.id:"");let r=this.getExpressionData().find(u=>u.targetType===t&&u.target===o);const d=u=>u.value.trim()==="";if(r){const u=r.rules.find(f=>f.id===s.id);if(u)d(s)?r.rules=r.rules.filter(f=>f.id!==s.id):(Object.assign(u,s),i==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(d(s))return null;r.rules=r.rules||[],r.rules.push(s)}}else{if(d(s))return null;r={target:`${o}`,rules:[s],targetType:t}}return r}getExpressionEditorOptions(e,t,n,i){return n.reduce((o,s)=>{var r,d;const a=t==="Field"?(r=e==null?void 0:e.binding)==null?void 0:r.field:e.id;return o[s]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),onSubmitModal:u=>{const f=this.updateExpression(e,t,u,s);if(i){const y=this.buildRule(a,u,s);i(y)}return f}}},o},{})}getExpressionInfo(e,t,n){const i=t==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,n),s={value:o&&o.value,targetId:i,targetType:t,expressionType:n};return o&&o.message&&(s.message=o.message),s}getExpressionConfig(e,t,n=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,n,i)}}}getExpressionOptions(e,t,n){const i=this.getExpressionInfo(e,t,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,n,t),expressionInfo:i}}}class Q{constructor(e,t){b(this,"componentId");b(this,"viewModelId");b(this,"eventsEditorUtils");b(this,"formSchemaUtils");b(this,"formMetadataConverter");b(this,"designViewModelUtils");b(this,"designViewModelField");b(this,"controlCreatorUtils");b(this,"designerHostService");b(this,"designerContext");b(this,"schemaService",null);b(this,"metadataService",null);b(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var n;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===t)}e.updateOn=(n=this.designViewModelField)==null?void 0:n.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:x.DgControl[e.type]&&x.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},n){const i={title:"外观",description:"Appearance"},o={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 s in t)o[s]=Object.assign(o[s]||{},t[s]);return{...i,properties:{...o},setPropertyRelates(s,a){if(s){switch(s&&s.propertyID){case"class":case"style":{x.canvasChanged.value++;break}}n&&n(s,e,a)}}}}getPropertyEditorParams(e,t=[],n="visible",i={},o={},s=""){const{getVariables:a,getControlName:r,getStateMachines:d}=J(this.designerHostService),u=this.getRealTargetType(e),f=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],y={type:"property-editor",propertyTypes:f};return f.map(S=>{switch(S){case"Const":Object.assign(y,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":y.expressionConfig=this.getExpressionOptions(e,u,s||n);break;case"StateMachine":y.stateMachines=d();break;case"Variable":Object.assign(y,{controlName:r(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:I=>{I.value=a(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(y.newVariablePrefix="ext_"+y.newVariablePrefix);break}}),y}getVisibleProperty(e,t=""){var o;let n=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?n=["Const","Expression"]:t==="form-group"&&!((o=e.binding)!=null&&o.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,n,"visible")}}}getBehaviorConfig(e,t="",n={},i){const o={title:"行为",description:""},s=this.getVisibleProperty(e,t);for(const r in n)s[r]=Object.assign(s[r]||{},n[r]);const a=this;return{...o,properties:{...s},setPropertyRelates(r,d){if(r){switch(r.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(e,r);break}i&&i(r,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const n=t&&t.parent&&t.parent.schema;if(!n)return;const i=n.contents.findIndex(s=>s.id===e),o=L.cloneDeep(n.contents[i]);n.contents.splice(i,1),n.contents.splice(i,0,o),x.refreshCanvas()}addNewVariableToViewModel(e,t){const n=e.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const s={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:o,expressionInfo:s}=t,{targetId:a,targetType:r,expressionType:d,value:u,message:f}=s,y=this.formSchemaUtils.getModule();y.expressions=y.expressions||[];const{expressions:S}=y;let I=S.find(P=>P.target===a);I||(I={target:a,rules:[],targetType:r},S.push(I));const V=I.rules.find(P=>P.type===d);if(V)V.value=u,V.message=f;else{const P={id:o,type:d,value:u,message:f};I.rules.push(P)}delete t.expressionInfo}clearExpression(e,t){const n=e.propertyValue;if(n&&n.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),a=t.binding?t.binding.field:t.id,r=s.find(d=>d.target===a);!r||!r.rules||(r.rules=r.rules.filter(d=>d.type!==o))}getExpressionOptions(e,t,n){return new K(this.formSchemaUtils).getExpressionOptions(e,t,n)}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 t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:n=>{var i;((i=n.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},t}}class X extends Q{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig}getAppearanceProperties(e){const t=this;return this.getAppearanceConfig(e,{title:{title:"标题",type:"string",description:"标题"}},(i,o,s)=>{switch(i&&i.propertyID){case"title":{i.needRefreshControlTree=!0,t.changeGroupNameInViewModel(o.id,i.propertyValue);break}}})}changeGroupNameInViewModel(e,t){var o;const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);n&&n.changeGroupName(e,t);const i=this.formSchemaUtils.getViewModelById(this.viewModelId);(o=i==null?void 0:i.fields)!=null&&o.length&&i.fields.forEach(s=>{s.groupId===e&&(s.groupName=t)})}}function Y(p,e){const t=new x.UseTemplateDragAndDropRules,{canAccept:n}=t.getTemplateRule(p,e),i=p.schema;function o(){return"f-section-formgroup"}function s(){return!0}function a(){return!0}function r(){return!1}function d(c){const{sourceElement:g}=c,{componentInstance:w}=g,h=e==null?void 0:e.formSchemaUtils;if(!h)return!0;const M=h.getComponentById(w.value.belongedComponentId),C=h.getViewModelById(M.viewModel),v=h.getComponentById(p.componentInstance.value.belongedComponentId),E=h.getViewModelById(v.viewModel);return C!=null&&C.id&&(E!=null&&E.id)&&C.id!==E.id?C.bindTo===E.bindTo:!0}function u(c){const{bindingTargetId:g}=c;if(!e)return;const{formSchemaUtils:w,schemaService:h}=e,M=w.getComponentById(p.componentInstance.value.belongedComponentId),C=h.getFieldByIDAndVMID(g,M.viewModel);return!!(C!=null&&C.schemaField)}function f(c){return c.sourceType==="control"&&c.componentCategory==="input"?!0:c.sourceType==="move"&&c.componentType==="form-group"?d(c):c.sourceType==="field"&&c.componentCategory==="input"?u(c):!1}function y(c){return!(!x.useDragulaCommonRule().basalDragulaRuleForContainer(c,e)||!n||!f(c))}function S(c){return new X(c,e).getPropertyConfig(i)}function I(c){var E,N,$,q,G;if(!e)return;const{formSchemaUtils:g,designViewModelUtils:w}=e,h=c.componentInstance,M=h.value.parent,C=g.getComponentById(h.value.belongedComponentId),v=w.getDgViewModel(C.viewModel);switch(M&&((E=M.schema)==null?void 0:E.type)){case x.DgControl.fieldset.type:case x.DgControl["response-form"].type:case x.DgControl["response-layout-item"].type:{const _={groupId:i.id,groupName:i.title},ee=($=(N=h.value.schema)==null?void 0:N.binding)==null?void 0:$.type,z=(G=(q=h.value.schema)==null?void 0:q.binding)==null?void 0:G.field;switch(ee){case B.FormBindingType.Form:{v.changeField(z,_);break}case B.FormBindingType.Variable:{g.modifyViewModelFieldById(C.viewModel,z,_,!0);break}}break}}}function V(c){if(!c||!c.componentInstance||!e)return;const g=c.componentInstance,w=g.value.schema;if(!w.binding||!w.binding.field)return;I(c);const{formSchemaUtils:h}=e,M=h.getViewModelIdByComponentId(g.value.belongedComponentId),C=h.getViewModelIdByComponentId(p.componentInstance.value.belongedComponentId);M!==C&&U.useDesignerRules(p,e).moveInputBetweenComponent(c)}function P(c,g){var w,h,M;if(c.componentCategory==="input"){const{label:C}=c;let v;const E=e==null?void 0:e.controlCreatorUtils;(w=c.bindingSourceContext)!=null&&w.entityFieldNode?v=E.setFormFieldProperty((h=c.bindingSourceContext)==null?void 0:h.entityFieldNode,g==null?void 0:g.type):(v=E.createFormGroupWithoutField(g==null?void 0:g.type),v.label=C);const N=U.useDesignerRules(p,e);return N.resolveFormGroupAppearance(v),N.syncFieldToViewModel(c,(M=v.editor)==null?void 0:M.type,i.id,i.title),v}return g}return{canAccepts:y,hideNestedPaddingInDesginerView:r,getPropsConfig:S,checkCanDeleteComponent:s,checkCanMoveComponent:a,onAcceptMovedChildElement:V,onResolveNewComponentSchema:P,getDesignerClass:o}}const Z=l.defineComponent({name:"FFieldsetDesign",props:D,emits:[],setup(p,e){const t=l.ref(),n=l.ref(),i=l.inject("design-item-context"),o=l.inject("designer-host-service"),s=Y(i,o),a=x.useDesignerComponent(n,i,s);e.expose(a.value);const{designerContext:r}=o;l.onMounted(()=>{n.value.componentInstance=a});const d=l.ref(!0);function u(V,P){V&&P&&P.split(" ").reduce((g,w)=>(g[w]=!0,g),V)}const f=l.computed(()=>{const V={"f-section-formgroup":!0,"f-state-collapse":!d.value};return u(V,p.customClass),V}),y=l.computed(()=>{const V=r&&r.designerMode==="Mobile";return{display:d.value?"flex":"none","flex-wrap":"wrap","flex-direction":V?"column":"row"}}),S=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":d.value}));function I(V){V.stopPropagation(),d.value=!d.value,l.nextTick(()=>{x.setPositionOfSelectedComponentBtnGroup()})}return()=>l.createVNode("fieldset",{class:f.value,ref:t},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:I},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:I},[l.createVNode("button",{class:S.value},null)])])]),l.createVNode("div",{"data-dragref":`${i.schema.id}-container`,ref:n,class:"f-section-formgroup-inputs drag-container",style:y.value},[e.slots.default&&e.slots.default()])])}}),H={install(p){p.component(R.name,R)},register(p,e,t,n,i){p.fieldset=R,e.fieldset=k(i)},registerDesigner(p,e,t,n){p.fieldset=Z,e.fieldset=k(n)}};m.Fieldset=R,m.default=H,m.fieldsetDesignerProps=D,m.fieldsetProps=T,m.propsResolver=W,m.propsResolverGenerator=k,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(m,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","lodash-es","../dynamic-form/index.umd.js"],l):(m=typeof globalThis<"u"?globalThis:m||self,l(m.fieldset={},m.Vue,m.dynamicResolver,m.designerCanvas,m.propertyPanel,m.LodashES,m.dynamicForm))})(this,function(m,l,F,x,B,L,U){"use strict";var te=Object.defineProperty;var ne=(m,l,F)=>l in m?te(m,l,{enumerable:!0,configurable:!0,writable:!0,value:F}):m[l]=F;var b=(m,l,F)=>ne(m,typeof l!="symbol"?l+"":l,F);const A=new Map([["appearance",F.resolveAppearance]]),O={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/fieldset.schema.json",title:"fieldset",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a fieldset",type:"string"},type:{description:"The type string of fieldset component",type:"string",default:"fieldset"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},title:{description:"The title for a fieldset",type:"string"},contents:{description:"",type:"array",default:[]}},required:["id","type","contents"]};function j(p,e,t){return Object.assign(e,{appearance:{class:"col-12 px-0"},title:"分组标题"}),e}const T={customClass:{type:String,default:""},customStyle:{type:String,default:""},title:{type:String,default:""}},D=Object.assign({},T,{componentId:{type:String,default:""}}),W=F.createPropsResolver(T,O,A,j),k=F.getPropsResolverGenerator(T,O,A,j),R=l.defineComponent({name:"FFieldset",props:T,emits:[],setup(p,e){const t=l.ref(!0);function n(a,r){a&&r&&r.split(" ").reduce((u,f)=>(u[f]=!0,u),a)}const i=l.computed(()=>{const a={"f-section-formgroup":!0,"f-state-collapse":!t.value};return n(a,p.customClass),a}),o=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":t.value}));function s(){t.value=!t.value}return()=>l.createVNode("fieldset",{class:i.value,style:p.customStyle},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:s},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:s},[l.createVNode("button",{class:o.value},null)])])]),l.createVNode("div",{class:"f-section-formgroup-inputs"},[e.slots.default&&e.slots.default()])])}});function J(p){const{formSchemaUtils:e,formStateMachineUtils:t}=p;function n(r,d=""){return{path:d+r.code,field:r.id,fullPath:r.code}}function i(r,d=""){const u=e.getViewModelById(r);return u?u.states.map(f=>n(f,d)):[]}function o(r){const d=e.getRootViewModelId(),u=i(r);if(r===d)return u;const f=i(d,"root-component.");return[...u,...f]}function s(r){return r.binding&&r.binding.path||r.id||""}function a(){return t&&t.getRenderStates()||[]}return{getVariables:o,getControlName:s,getStateMachines:a}}class K{constructor(e){b(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'"}]);b(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});b(this,"getExpressionConverter",(e,t)=>({convertFrom:(n,i,o,s)=>{const a=o.getExpressionRuleValue(e,t||i);return a&&a.value||""},convertTo:(n,i,o,s,a)=>{var r;if(i==="dataPicking"&&(o!=null&&o.target)){const d=`${o.target}_dataPicking`;((r=o.rules)==null?void 0:r.some(f=>f.id===d&&f.value))?n.dictPickingExpressionId=d:delete n.dictPickingExpressionId}s.updateExpression(o)}}));this.formSchemaService=e}getExpressionRule(e,t){const n=this.formSchemaService.getExpressions();if(!n)return"";const i=n.find(s=>s.target===e);if(!i)return"";const o=i.rules.find(s=>s.type===t);return o||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(t);if(!n||!n.states||n.states.length===0)return[];const i=[];return n.states.filter(o=>o.category==="remote").forEach(o=>{i.push({key:o.code,name:o.name,description:o.name,category:o.category})}),i}createTreeNode(e,t,n="label"){return{id:e.id,name:e.name,bindingPath:e[n],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var a;const o=this.createTreeNode(i,t);let s=[];(a=i.type)!=null&&a.fields&&(s=this.buildEntityFieldsTreeData(i.type.fields,[...t,i.label])),n.push({data:o,children:s,expanded:!0})}),n}buildChildEntityTreeData(e=null,t){const n=[];return e==null||e.forEach(i=>{var r,d;const o=this.createTreeNode(i,t);o.type="entity";const s=this.buildEntityFieldsTreeData((r=i.type)==null?void 0:r.fields,[...t,i.label]),a=this.buildChildEntityTreeData((d=i.type)==null?void 0:d.entities,[...t,i.label]);a!=null&&a.length&&(s==null||s.push(...a)),n.push({data:o,children:s||[],expanded:!0})}),n}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const n=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),i=this.buildChildEntityTreeData(t.type.entities,[t.code]);return i!=null&&i.length&&(n==null||n.push(...i)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,n){const i=n==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,t),s=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(t)&&o?o.message:"",...s};return o.messageType!=null&&(a.messageType=o.messageType),a}buildRule(e,t,n,i){const{expression:o,message:s,messageType:a}=t,r={id:`${e}_${n}`,type:n,value:o};return(n==="validate"||n==="dataPicking"||n==="required")&&(r.message=s),n==="dataPicking"&&(r.messageType=a),n==="validate"&&i&&(r.elementId=i),r}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,n,i){const o=t==="Field"?e.binding.field:e.id,s=this.buildRule(o,n,i,e.type==="form-group"?e.id:"");let r=this.getExpressionData().find(u=>u.targetType===t&&u.target===o);const d=u=>u.value.trim()==="";if(r){const u=r.rules.find(f=>f.id===s.id);if(u)d(s)?r.rules=r.rules.filter(f=>f.id!==s.id):(Object.assign(u,s),i==="validate"&&e.type==="form-group"&&(u.elementId=e.id));else{if(d(s))return null;r.rules=r.rules||[],r.rules.push(s)}}else{if(d(s))return null;r={target:`${o}`,rules:[s],targetType:t}}return r}getExpressionEditorOptions(e,t,n,i){return n.reduce((o,s)=>{var r,d;const a=t==="Field"?(r=e==null?void 0:e.binding)==null?void 0:r.field:e.id;return o[s]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,s,t),onSubmitModal:u=>{const f=this.updateExpression(e,t,u,s);if(i){const y=this.buildRule(a,u,s);i(y)}return f}}},o},{})}getExpressionInfo(e,t,n){const i=t==="Field"?e.binding.field:e.id,o=this.getExpressionRule(i,n),s={value:o&&o.value,targetId:i,targetType:t,expressionType:n};return o&&o.message&&(s.message=o.message),s}getExpressionConfig(e,t,n=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!e.binding,properties:{...this.getExpressionEditorOptions(e,t,n,i)}}}getExpressionOptions(e,t,n){const i=this.getExpressionInfo(e,t,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,n,t),expressionInfo:i}}}class Q{constructor(e,t){b(this,"componentId");b(this,"viewModelId");b(this,"eventsEditorUtils");b(this,"formSchemaUtils");b(this,"formMetadataConverter");b(this,"designViewModelUtils");b(this,"designViewModelField");b(this,"controlCreatorUtils");b(this,"designerHostService");b(this,"designerContext");b(this,"schemaService",null);b(this,"metadataService",null);b(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var n;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(o=>o.id===t)}e.updateOn=(n=this.designViewModelField)==null?void 0:n.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:x.DgControl[e.type]&&x.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},n){const i={title:"外观",description:"Appearance"},o={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 s in t)o[s]=Object.assign(o[s]||{},t[s]);return{...i,properties:{...o},setPropertyRelates(s,a){if(s){switch(s&&s.propertyID){case"class":case"style":{x.canvasChanged.value++;break}}n&&n(s,e,a)}}}}getPropertyEditorParams(e,t=[],n="visible",i={},o={},s=""){const{getVariables:a,getControlName:r,getStateMachines:d}=J(this.designerHostService),u=this.getRealTargetType(e),f=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],y={type:"property-editor",propertyTypes:f};return f.map(S=>{switch(S){case"Const":Object.assign(y,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":y.expressionConfig=this.getExpressionOptions(e,u,s||n);break;case"StateMachine":y.stateMachines=d();break;case"Variable":Object.assign(y,{controlName:r(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:I=>{I.value=a(this.viewModelId)}},o),this.designerContext.designerMode==="PC_RTC"&&(y.newVariablePrefix="ext_"+y.newVariablePrefix);break}}),y}getVisibleProperty(e,t=""){var o;let n=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?n=["Const","Expression"]:t==="form-group"&&!((o=e.binding)!=null&&o.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,n,"visible")}}}getBehaviorConfig(e,t="",n={},i){const o={title:"行为",description:""},s=this.getVisibleProperty(e,t);for(const r in n)s[r]=Object.assign(s[r]||{},n[r]);const a=this;return{...o,properties:{...s},setPropertyRelates(r,d){if(r){switch(r.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(e,r);break}i&&i(r,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const n=t&&t.parent&&t.parent.schema;if(!n)return;const i=n.contents.findIndex(s=>s.id===e),o=L.cloneDeep(n.contents[i]);n.contents.splice(i,1),n.contents.splice(i,0,o),x.refreshCanvas()}addNewVariableToViewModel(e,t){const n=e.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const s={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:o,expressionInfo:s}=t,{targetId:a,targetType:r,expressionType:d,value:u,message:f}=s,y=this.formSchemaUtils.getModule();y.expressions=y.expressions||[];const{expressions:S}=y;let I=S.find(P=>P.target===a);I||(I={target:a,rules:[],targetType:r},S.push(I));const V=I.rules.find(P=>P.type===d);if(V)V.value=u,V.message=f;else{const P={id:o,type:d,value:u,message:f};I.rules.push(P)}delete t.expressionInfo}clearExpression(e,t){const n=e.propertyValue;if(n&&n.type==="Expression")return;const o=e.propertyID,s=this.formSchemaUtils.getExpressions(),a=t.binding?t.binding.field:t.id,r=s.find(d=>d.target===a);!r||!r.rules||(r.rules=r.rules.filter(d=>d.type!==o))}getExpressionOptions(e,t,n){return new K(this.formSchemaUtils).getExpressionOptions(e,t,n)}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 t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:n=>{var i;((i=n.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},t}}class X extends Q{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig}getAppearanceProperties(e){const t=this;return this.getAppearanceConfig(e,{title:{title:"标题",type:"string",description:"标题"}},(i,o,s)=>{switch(i&&i.propertyID){case"title":{i.needRefreshControlTree=!0,t.changeGroupNameInViewModel(o.id,i.propertyValue);break}}})}changeGroupNameInViewModel(e,t){var o;const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);n&&n.changeGroupName(e,t);const i=this.formSchemaUtils.getViewModelById(this.viewModelId);(o=i==null?void 0:i.fields)!=null&&o.length&&i.fields.forEach(s=>{s.groupId===e&&(s.groupName=t)})}}function Y(p,e){const t=new x.UseTemplateDragAndDropRules,{canAccept:n}=t.getTemplateRule(p,e),i=p.schema;function o(){return"f-section-formgroup"}function s(){return!0}function a(){return!0}function r(){return!1}function d(c){const{sourceElement:g}=c,{componentInstance:w}=g,h=e==null?void 0:e.formSchemaUtils;if(!h)return!0;const M=h.getComponentById(w.value.belongedComponentId),C=h.getViewModelById(M.viewModel),v=h.getComponentById(p.componentInstance.value.belongedComponentId),E=h.getViewModelById(v.viewModel);return C!=null&&C.id&&(E!=null&&E.id)&&C.id!==E.id?C.bindTo===E.bindTo:!0}function u(c){const{bindingTargetId:g}=c;if(!e)return;const{formSchemaUtils:w,schemaService:h}=e,M=w.getComponentById(p.componentInstance.value.belongedComponentId),C=h.getFieldByIDAndVMID(g,M.viewModel);return!!(C!=null&&C.schemaField)}function f(c){return c.sourceType==="control"&&c.componentCategory==="input"?!0:c.sourceType==="move"&&c.componentType==="form-group"?d(c):c.sourceType==="field"&&c.componentCategory==="input"?u(c):!1}function y(c){return!(!x.useDragulaCommonRule().basalDragulaRuleForContainer(c,e)||!n||!f(c))}function S(c){return new X(c,e).getPropertyConfig(i)}function I(c){var E,N,$,q,G;if(!e)return;const{formSchemaUtils:g,designViewModelUtils:w}=e,h=c.componentInstance,M=h.value.parent,C=g.getComponentById(h.value.belongedComponentId),v=w.getDgViewModel(C.viewModel);switch(M&&((E=M.schema)==null?void 0:E.type)){case x.DgControl.fieldset.type:case x.DgControl["response-form"].type:case x.DgControl["response-layout-item"].type:{const _={groupId:i.id,groupName:i.title},ee=($=(N=h.value.schema)==null?void 0:N.binding)==null?void 0:$.type,z=(G=(q=h.value.schema)==null?void 0:q.binding)==null?void 0:G.field;switch(ee){case B.FormBindingType.Form:{v.changeField(z,_);break}case B.FormBindingType.Variable:{g.modifyViewModelFieldById(C.viewModel,z,_,!0);break}}break}}}function V(c){if(!c||!c.componentInstance||!e)return;const g=c.componentInstance,w=g.value.schema;if(!w.binding||!w.binding.field)return;I(c);const{formSchemaUtils:h}=e,M=h.getViewModelIdByComponentId(g.value.belongedComponentId),C=h.getViewModelIdByComponentId(p.componentInstance.value.belongedComponentId);M!==C&&U.useDesignerRules(p,e).moveInputBetweenComponent(c)}function P(c,g){var w,h,M;if(c.componentCategory==="input"){const{label:C}=c;let v;const E=e==null?void 0:e.controlCreatorUtils;(w=c.bindingSourceContext)!=null&&w.entityFieldNode?v=E.setFormFieldProperty((h=c.bindingSourceContext)==null?void 0:h.entityFieldNode,g==null?void 0:g.type):(v=E.createFormGroupWithoutField(g==null?void 0:g.type),v.label=C);const N=U.useDesignerRules(p,e);return N.resolveFormGroupAppearance(v),N.syncFieldToViewModel(c,(M=v.editor)==null?void 0:M.type,i.id,i.title),v}return g}return{canAccepts:y,hideNestedPaddingInDesginerView:r,getPropsConfig:S,checkCanDeleteComponent:s,checkCanMoveComponent:a,onAcceptMovedChildElement:V,onResolveNewComponentSchema:P,getDesignerClass:o}}const Z=l.defineComponent({name:"FFieldsetDesign",props:D,emits:[],setup(p,e){const t=l.ref(),n=l.ref(),i=l.inject("design-item-context"),o=l.inject("designer-host-service"),s=Y(i,o),a=x.useDesignerComponent(n,i,s);e.expose(a.value);const{designerContext:r}=o;l.onMounted(()=>{n.value.componentInstance=a});const d=l.ref(!0);function u(V,P){V&&P&&P.split(" ").reduce((g,w)=>(g[w]=!0,g),V)}const f=l.computed(()=>{const V={"f-section-formgroup":!0,"f-state-collapse":!d.value};return u(V,p.customClass),V}),y=l.computed(()=>{const V=r&&r.designerMode==="Mobile";return{display:d.value?"flex":"none","flex-wrap":"wrap","flex-direction":V?"column":"row"}}),S=l.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":d.value}));function I(V){V.stopPropagation(),d.value=!d.value,l.nextTick(()=>{x.setPositionOfSelectedComponentBtnGroup()})}return()=>l.createVNode("fieldset",{class:f.value,ref:t},[l.createVNode("legend",{class:"f-section-formgroup-legend"},[l.createVNode("div",{class:"f-header"},[l.createVNode("div",{class:"f-title",onClick:I},[p.title]),l.createVNode("div",{class:"f-toolbar",onClick:I},[l.createVNode("button",{class:S.value},null)])])]),l.createVNode("div",{"data-dragref":`${i.schema.id}-container`,ref:n,class:"f-section-formgroup-inputs drag-container",style:y.value},[e.slots.default&&e.slots.default()])])}}),H={install(p){p.component(R.name,R)},register(p,e,t,n,i){p.fieldset=R,e.fieldset=k(i)},registerDesigner(p,e,t,n){p.fieldset=Z,e.fieldset=k(n)}};m.Fieldset=R,m.default=H,m.fieldsetDesignerProps=D,m.fieldsetProps=T,m.propsResolver=W,m.propsResolverGenerator=k,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -10,10 +10,9 @@ import { useCondition as Xe, useSolutionUtils as me } from "../query-solution/in
|
|
|
10
10
|
import { FNotifyService as Ze } from "../notify/index.esm.js";
|
|
11
11
|
import { LocaleService as ge } from "../locale/index.esm.js";
|
|
12
12
|
import { cloneDeep as H, isPlainObject as ae } from "lodash-es";
|
|
13
|
-
import { FDynamicFormGroup as Je } from "
|
|
13
|
+
import { FDynamicFormGroup as Je, useTypeResolver as ve } from "../dynamic-form/index.esm.js";
|
|
14
14
|
import { radioGroupProps as Ye } from "../radio-group/index.esm.js";
|
|
15
15
|
import { useDataSource as Ke, FComboListContainer as et } from "../combo-list/index.esm.js";
|
|
16
|
-
import { useTypeResolver as ve } from "../dynamic-form/index.esm.js";
|
|
17
16
|
import { DgControl as tt } from "../designer-canvas/index.esm.js/";
|
|
18
17
|
const he = /* @__PURE__ */ new Map([
|
|
19
18
|
["appearance", We]
|
|
@@ -331,7 +330,7 @@ const gt = {
|
|
|
331
330
|
dataSource: n,
|
|
332
331
|
displayText: r,
|
|
333
332
|
modelValue: s
|
|
334
|
-
} = Ke(i);
|
|
333
|
+
} = Ke(i, t);
|
|
335
334
|
function l(m) {
|
|
336
335
|
r.value = m.map((u) => u[i.textField]).join(i.separator);
|
|
337
336
|
let a = "";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(P,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../condition/index.umd.js"),require("../query-solution/index.umd.js"),require("../notify/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../../designer/dynamic-form/index.umd.js"),require("../radio-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../designer-canvas/index.umd.js/")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../condition/index.umd.js","../query-solution/index.umd.js","../notify/index.umd.js","../locale/index.umd.js","lodash-es","../../designer/dynamic-form/index.umd.js","../radio-group/index.umd.js","../combo-list/index.umd.js","../dynamic-form/index.umd.js","../designer-canvas/index.umd.js/"],s):(P=typeof globalThis<"u"?globalThis:P||self,s(P["filter-bar"]={},P.Vue,P.dynamicResolver,P.designerCanvas,P.common,P.condition,P.querySolution,P.notify,P.locale,P.LodashES,P.designer,P.radioGroup,P.comboList,P.dynamicForm,P._))})(this,function(P,s,q,h,W,Q,K,we,ee,z,Ie,xe,te,ie,Ve){"use strict";var Et=Object.defineProperty;var St=(P,s,q)=>s in P?Et(P,s,{enumerable:!0,configurable:!0,writable:!0,value:q}):P[s]=q;var V=(P,s,q)=>St(P,typeof s!="symbol"?s+"":s,q);const ne=new Map([["appearance",q.resolveAppearance]]);function Ee(i,t){const e=t==null?void 0:t.formSchemaUtils,n=i.parentComponentInstance,r="54bddc89-5f7e-4b91-9c45-80dd6606cfe9";function l(){const f=q.getSchemaByType(h.DgControl["content-container"].type),u=q.getSchemaByType(h.DgControl["filter-bar"].type);if(!f||!u)return;const o=Math.random().toString(36).substr(2,4);Object.assign(f,{id:"filter-container-"+o,appearance:{class:"f-filter-container"},contents:[u]}),Object.assign(u,{id:"filter-"+o,fields:[]});const c=n.belongedComponentId,y=e.getViewModelIdByComponentId(c),p=e.getViewModelById(y);return p!=null&&p.states&&(p.states.find(m=>m.code==="originalFilterConditionList")||p.states.push({id:W.useGuid().guid(),category:"locale",code:"originalFilterConditionList",name:"筛选条过滤条件",type:"String"})),{filterBar:u,filterBarContainer:f}}function a(){const f=e.getViewModelIdByComponentId(n.belongedComponentId),u=e.getViewModelById(f);let o;if(u&&u.commands){if(o=u.commands.find(c=>c.handlerName==="Filter"&&c.cmpId===r),!o)o={id:W.useGuid().guid(),code:`${u.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:r},u.commands.push(o);else if(o.params&&o.params.length){const c=o.params.find(y=>y.name==="filter");c&&(c.value=`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`)}}return{filterInGridViewModel:o}}function g(f){const u=e.getCommands();if(!u)return;let o=u.find(c=>c.id===r);o||(o={id:r,path:"igix/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},e.getCommands().push(o)),f&&!o.refedHandlers.find(c=>c.host===f.id)&&o.refedHandlers.push({host:f.id,handler:"Filter"})}function d(){const{filterBar:f,filterBarContainer:u}=l(),{filterInGridViewModel:o}=a();f&&o&&(f.onQuery=o.code),g(o);const c=t==null?void 0:t.useFormCommand;return c&&c.checkCommands(),u}return{createFilterBar:d}}function re(i,t,e,n){if(e.parentComponentInstance&&n){const a=Ee(e,n).createFilterBar();if(a)return a}return t}const oe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/filter-bar.schema.json",title:"filter-bar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for filter-bar",type:"string"},type:{description:"The type string of filter-bar",type:"string",default:"filter-bar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},defaultValues:{description:"",type:"array"},disabled:{type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fields:{description:"",type:"array"},resetText:{description:"",type:"string"}},required:["id","type"],events:{onQuery:"查询事件"}},H={defaultValues:{type:Array,default:[]},fields:{type:Array,default:[]},mode:{type:String,default:"editable"},visible:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},resetText:{type:String,default:"清空筛选"},customClass:{type:String,default:""},customStyle:{type:String,default:""}},le=q.createPropsResolver(H,oe,ne,re);function X(){const{getLocaleValue:i}=ee.LocaleService;return{confirm:i("filterBar.confirm"),cancel:i("filterBar.cancel"),advancedFilter:i("filterBar.advancedFilter"),clearAll:i("filterBar.clearAll"),expand:i("filterBar.expand"),fold:i("filterBar.fold"),require:i("filterBar.require")}}function Se(i){return ee.LocaleService.getRealPropertyValue(i,"清空筛选","filterBar.reset")}function Te(i,t,e,n){const r=s.ref([]),l=s.ref([]),a=s.ref([]),g=s.ref("");s.ref(i.mode);const d=new Map,{createConditionValue:f}=Q.useConditionValue(),{convertToControls:u}=Q.useConditionUtils("filter-bar"),o=K.useCondition(i,t),{getFilterConditions:c}=o,{fieldToCondition:y,judgeLoadNewValue:p}=K.useSolutionUtils(),m=new we.FNotifyService,b=X();let v="[]";function C(w){return!i.disabled&&!w.value.isEmpty()}function k(w){l.value=u(w),l.value.reduce((T,L)=>(T.set(L.labelCode,L),T),d)}function N(w){const T=Array.isArray(w)?w:[];a.value=l.value.map(L=>{const x=T.find(I=>I.id===L.id);if(x){const I=y(L,x.value);return p(I,L)&&I.value.clear(),I}return y(L)})}function E(w){a.value=a.value.filter(T=>T.id!==w.id),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),l.value=l.value.filter(T=>T.id!==w.id),t.emit("remove",w.fieldCode)}function M(){var w;i.disabled?e.value=!1:e.value=((w=a.value)==null?void 0:w.findIndex(T=>{var L;return T.value&&!((L=T.value)!=null&&L.isEmpty())}))>-1}function j(w,T=[]){const L=JSON.stringify(w||[]);L!==v&&(t.emit("conditionChange",w),v=L,T.length===0&&t.emit("query",w))}function D(){var x;M();const w=[];(a.value||[]).map(I=>{I.required&&(!I.value||I.value.isEmpty())&&w.push(I.fieldName||"")});const T=(x=a.value)==null?void 0:x.filter(I=>{var U;return I.value&&!((U=I.value)!=null&&U.isEmpty())});if(w.length>0){m.warning({message:b.require.replace("[fields]",w.join(",")),position:"top-center"});return}const L=c(T,l.value);j(L,w)}function S(w,T,L=!0){k(w),N(T),L&&D()}function F(w){w.value.clear(),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),t.emit("clear",w.fieldCode),D()}function A(){a.value.forEach(w=>w.value.clear())}function O(){a.value.forEach(w=>{w.value.clear()}),t.emit("reset"),D(),n.resizeFilerBar()}return{clearAll:A,clearFilterItem:F,currentFilterId:g,filterFields:l,filterItems:a,fieldMap:d,loadFilterItems:S,removeFilterItem:E,reset:O,shouldShowClearButtonInFilterItem:C,handleQuery:D}}function Me(i,t,e,n){const r=s.ref([]),l=X(),a=s.ref(l.advancedFilter),g=s.ref(Se(i.resetText)),d=s.ref(!1),{clearAll:f,reset:u,filterItems:o}=e;function c(){r.value=o.value.filter(b=>b.isExtend)}c();const y=s.computed(()=>r.value&&r.value.length>0);function p(b){d.value=!0}function m(b){i.mode==="display-only"?f():u()}return()=>s.createVNode("div",{class:"f-filter-toolbars"},[y.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>p()},[a.value]),n.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>m()},[g.value])])}const Pe={filterItem:{type:Object,default:null},position:{type:Object,default:null},reference:{type:Object}},ke=Object.assign({},xe.radioGroupProps),Ne=s.defineComponent({name:"FFilterRadioGroup",props:ke,emits:["update:modelValue","change"],setup(i,t){const e=s.ref(),{dataSource:n,displayText:r,modelValue:l}=te.useDataSource(i);function a(g){r.value=g.map(f=>f[i.textField]).join(i.separator);let d="";g.length===1?d=g[0][i.valueField]:d=g.map(f=>f[i.valueField]).join(i.separator),l.value!==d&&(l.value=d,t.emit("update:modelValue",l.value),t.emit("change",l.value))}return()=>s.createVNode(te.FComboListContainer,{style:"margin: -2px -15px;padding: 0;",ref:e,idField:i.valueField,valueField:i.valueField,textField:i.textField,titleField:i.titleField,dataSource:n.value,selectedValues:l.value,multiSelect:!1,enableSearch:!1,onSelectionChange:g=>{a(g)}},null)}}),Be=s.defineComponent({name:"FFilterBarItemCondition",props:Pe,emits:["cancel","confirm","clearFilter"],setup(i,t){const e=s.ref(z.cloneDeep(i.filterItem)),n=s.ref(),r=X(),l=s.ref("0px"),a=s.ref("0px"),g=s.ref("0px"),d=s.ref("auto"),f=s.computed(()=>({left:d.value==="auto"?"26px":"auto",right:d.value})),u=s.computed(()=>({left:l.value,top:a.value})),o=s.computed(()=>({width:g.value==="0px"?null:g.value,maxWidth:g.value==="0px"?null:g.value})),c=s.ref(),{useFilterItemsComposition:y,resolveEditorProps:p}=s.inject("useFilterItemsComposition"),{fieldMap:m}=y,{renderFieldConditionEditor:b,conditionChangeHandler:v}=Q.useConditionUtils("filter-bar"),C=s.ref("");let k=!1,N={};const E=s.ref(!0);function M(){var R,Y;if(!i.reference||!c.value)return;const x=(R=i.reference)==null?void 0:R.getBoundingClientRect();let I=(Y=c.value)==null?void 0:Y.getBoundingClientRect().width;const U=document.body.clientWidth-x.x-30,B=document.body.clientWidth-x.y-30;I>U&&I>B&&(I=Math.max(U,B)),x.left>document.body.clientWidth-I-20?(l.value=x.left+x.width-I+"px",a.value=x.top+x.height+"px",d.value="26px"):(l.value=x.left+"px",a.value=x.top+x.height+"px",d.value="auto"),g.value=I+"px"}function j(x,I,U,B){k=!0,N={value:I,editor:U,option:B}}function D(){if(!n.value)return!1;const x=n.value.parentElement,I=Array.from(x.children);return I?!!I.find(B=>!B||!B.classList?!1:B.classList.contains("popover")&&B.style.visibility==="visible"):!1}function S(x,I,U,B){v(x,I,U,B),t.emit("confirm",e.value)}function F(){const{id:x,editor:I,needEmitChange:U}=b(m,e.value,j);if(C.value="filter-panel--"+I.type,I.type==="radio-group"){const B=p(I.type,I);return E.value=!1,s.createVNode(Ne,s.mergeProps(B,{modelValue:e.value.value.value,"onUpdate:modelValue":R=>e.value.value.value=R,onChange:R=>{S(e.value,R,I)}}),{default:()=>[s.createTextVNode(" ")]})}return s.createVNode(Ie.FDynamicFormGroup,{showLabelType:"force-none",id:x,key:x,editor:I,modelValue:e.value.value.value,"onUpdate:modelValue":B=>e.value.value.value=B,onChange:(B,R)=>{U&&j(e.value,B,I,R)}},null)}s.onMounted(()=>{M()});function A(x){const I=C.value.replace("filter-panel--","");["input","radio-group","switch"].findIndex(U=>U===I)>-1?t.emit("cancel"):D()||t.emit("cancel")}function O(x){x.stopPropagation(),k&&v(e.value,N.value,N.editor,N.option),t.emit("confirm",e.value)}function w(x){e.value.value.clear(),x.stopPropagation(),t.emit("confirm",e.value)}function T(){const x=W.getMaxZIndex();return{zIndex:Math.max(x,1050)}}const L=T();return()=>s.createVNode("div",{class:"f-filter-panel-wrapper can-close",ref:n,onClick:A,style:{zIndex:L}},[s.createVNode("div",{class:"f-filter-panel "+C.value,ref:c,style:u.value},[s.createVNode("div",{class:"f-filter-panel-inner",style:o.value,onClick:x=>x.stopPropagation()},[s.createVNode("div",{class:"f-filter-panel-arrow",style:f.value},null),F(),E.value&&s.createVNode("div",{class:"f-filter-panel-footer"},[s.createVNode("div",{class:"filter-panel-clear"},[s.createVNode("button",{class:"btn btn-link",onClick:w,style:"padding-left:0;"},[r.clearAll])]),s.createVNode("div",{class:"filter-panel-btns"},[s.createVNode("button",{class:"btn btn-secondary can-close",onClick:A},[r.cancel]),s.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:O},[r.confirm])])])])])])}}),se={filterItem:{type:Object,default:null},disabled:{type:Boolean,default:!1}},De=s.defineComponent({name:"FFilterBarItem",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{clearFilterItem:r,currentFilterId:l,removeFilterItem:a,shouldShowClearButtonInFilterItem:g}=n,d=s.ref(!1),f=s.ref(!1),u=s.ref(),o=s.ref(""),c=s.ref(),y=function(){return{"f-filter-item":!0,"f-state-disabled":i.disabled,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===l.value||d.value}};s.computed(()=>!i.disabled&&i.mode==="editable");function p(E){i.disabled||(i.mode==="display-only"?a(e.value):r(e.value))}function m(E){i.disabled||(d.value=!0)}function b(){d.value=!1}function v(){c.value&&c.value.scrollWidth>c.value.clientWidth?o.value=c.value.innerHTML:o.value=""}function C(E){d.value=!1,e.value.value=E.value,t.emit("confirm",E),s.nextTick(()=>{v()})}function k(){f.value=i.disabled?!1:g(e.value)}function N(){f.value=!1}return s.onMounted(()=>{v()}),()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:y(),onMouseenter:()=>k(),onMouseleave:()=>N()},[s.createVNode("div",{class:"f-filter-item-inner",ref:u,onClick:E=>m()},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),!e.value.value.isEmpty()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content",ref:c,title:o.value},[e.value.value.getDisplayText()])]),!i.disabled&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),f.value&&s.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:E=>p()},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),d.value&&s.createVNode(s.Teleport,{to:"body"},{default:()=>[s.createVNode(Be,{filterItem:e.value,reference:u.value,onConfirm:C,onCancel:b},null)]})])}});function ae(i,t){const e=s.ref(null),n=15;let r=0;function l(d=-1,f=-1){var p;if(!i.value)return;const u=(p=i.value)==null?void 0:p.querySelector(".f-filter-list");if(!u)return;const o=u.children;if(!o||o.length===0||(d<0&&(d=i.value.clientWidth),r=f<0?r:f,Math.abs(d-r)<n))return;Array.from(o).forEach(m=>{m.style.display="flex"}),t.value=u.clientWidth<u.scrollWidth;let c=!1,y=0;for(let m=0;m<o.length;m++){const b=o[m],v=Math.ceil(b.offsetWidth+(parseFloat(getComputedStyle(b).marginRight)||0)+parseFloat(getComputedStyle(b).marginLeft));!c&&y+v<=d?y+=v:(b.style.display="none",c=!0)}r=d}function a(){var f,u;if(!i.value)return;(f=e.value)==null||f.unobserve(i.value);const d=((u=i.value.querySelector(".f-filter-list"))==null?void 0:u.children)||[];Array.from(d).forEach(o=>{o.style.display="flex"}),r=0}function g(){if(!i.value)return;const d=new ResizeObserver(f=>{const u=f[0].contentRect.width;l(u)});return d.observe(i.value),e.value=d,d}return{setupWidthObserver:g,cancelWidthObserver:a,handleVisibleChildren:l}}const G=s.defineComponent({name:"FFilterBar",props:H,emits:["clear","remove","reset","conditionChange","change","query"],setup(i,t){const e=s.ref(!1),n=s.ref(!1),r=s.ref(null),l=s.ref(!1),a=s.ref(0),g=ae(r,n),{cancelWidthObserver:d,setupWidthObserver:f,handleVisibleChildren:u}=g,o={resizeFilerBar:()=>{e.value||s.nextTick(()=>{u(-1,0)})}},c=Te(i,t,l,o),{filterFields:y,filterItems:p,loadFilterItems:m,handleQuery:b}=c,{resolveEditorProps:v}=ie.useTypeResolver();s.provide("useFilterItemsComposition",{useFilterItemsComposition:c,resolveEditorProps:v});const C=X(),k=s.computed(()=>{const O={display:y.value&&y.value.length?"":"none"};return W.getCustomStyle(O,i==null?void 0:i.customStyle)});m(i.fields,i.defaultValues,!!(i.defaultValues&&i.defaultValues.length>0)),s.watch([()=>i.defaultValues,()=>i.fields],([O,w])=>{m(w,O),a.value++,o.resizeFilerBar()}),s.onMounted(()=>{f()}),s.onUnmounted(()=>{d()});const N=s.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":e.value})),E=s.computed(()=>({"extend-btn-arrow":!0,"f-icon":!0,"f-icon-arrow-chevron-up":e.value,"f-icon-arrow-chevron-down":!e.value})),M=s.computed(()=>!e.value&&n.value);function j(){e.value=!e.value,e.value?d():f()}const D=Me(i,t,c,l);function S(O){t.emit("change",O),b(),o.resizeFilerBar()}function F(){return s.createVNode("div",{class:N.value,key:i.id+"-main-"+a.value},[p.value.map((O,w)=>!O.isExtend&&s.createVNode(De,{filterItem:O,onConfirm:S,disabled:i.disabled||O.disabled},null)),e.value&&D()])}function A(){return M.value&&s.createVNode("div",{class:"f-filter-list-ellipsis",onClick:O=>j()},[s.createTextVNode("...")])}return()=>s.createVNode("div",{class:"f-filter-wrapper "+i.customClass,style:k.value},[s.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[s.createVNode("div",{class:"f-filter-main f-utils-fill"},[s.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:r},[F()]),A(),!e.value&&D()]),n.value&&s.createVNode("div",{class:"f-filter-extend-btn"},[s.createVNode("button",{class:"btn btn-link",onClick:j},[s.createVNode("span",{class:"extend-btn-text"},[e.value?C.fold:C.expand]),s.createVNode("span",{class:E.value},null)])])])])}});function Oe(i,t){s.ref([]);const e=s.ref([]),n=s.ref([]),r=s.ref("");s.ref(!1),s.ref(i.mode);const l=new Map,{convertToControls:a}=Q.useConditionUtils("filter-bar"),{fieldToCondition:g}=K.useSolutionUtils();function d(c){return!c.value.isEmpty()}function f(c){e.value=z.cloneDeep(c),e.value.reduce((y,p)=>(y.set(p.labelCode,p),y),l)}function u(c){n.value=e.value.map(y=>g(y))}function o(c,y){f(c),u()}return o(i.fields),{currentFilterId:r,filterFields:e,filterItems:n,fieldMap:l,loadFilterItems:o,shouldShowClearButtonInFilterItem:d}}function Le(i,t,e){const n=s.ref([]),r=s.ref("更多筛选"),{filterItems:l}=e;function a(){n.value=l.value.filter(d=>d.isExtend)}a();const g=s.computed(()=>n.value&&n.value.length>0);return()=>s.createVNode("div",{class:"f-filter-toolbars"},[g.value&&s.createVNode("button",{class:"btn btn-link"},[r.value])])}const je=s.defineComponent({name:"FFilterBarItemDesign",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{currentFilterId:r,shouldShowClearButtonInFilterItem:l}=n,a=s.ref(i.disabled),g=function(){return{"f-filter-item":!0,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===r.value}};return()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:g()},[s.createVNode("div",{class:"f-filter-item-inner"},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),e.value.value.getDisplayText()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content"},[e.value.value.getDisplayText()])]),!a.value&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(e.value)&&s.createVNode("span",{class:"mr-3 f-filter-item-clear"},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)])])}});function Ue(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(d,f=""){return{path:f+d.code,field:d.id,fullPath:d.code}}function r(d,f=""){const u=t.getViewModelById(d);return u?u.states.map(o=>n(o,f)):[]}function l(d){const f=t.getRootViewModelId(),u=r(d);if(d===f)return u;const o=r(f,"root-component.");return[...u,...o]}function a(d){return d.binding&&d.binding.path||d.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:g}}class de{constructor(t){V(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'"}]);V(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});V(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,l,a)=>{const g=l.getExpressionRuleValue(t,e||r);return g&&g.value||""},convertTo:(n,r,l,a,g)=>{var d;if(r==="dataPicking"&&(l!=null&&l.target)){const f=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(o=>o.id===f&&o.value))?n.dictPickingExpressionId=f:delete n.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.formSchemaService.getExpressions();if(!n)return"";const r=n.find(a=>a.target===t);if(!r)return"";const l=r.rules.find(a=>a.type===e);return l||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(l=>l.category==="remote").forEach(l=>{r.push({key:l.code,name:l.name,description:l.name,category:l.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var g;const l=this.createTreeNode(r,e);let a=[];(g=r.type)!=null&&g.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:l,children:a,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var d,f;const l=this.createTreeNode(r,e);l.type="entity";const a=this.buildEntityFieldsTreeData((d=r.type)==null?void 0:d.fields,[...e,r.label]),g=this.buildChildEntityTreeData((f=r.type)==null?void 0:f.entities,[...e,r.label]);g!=null&&g.length&&(a==null||a.push(...g)),n.push({data:l,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&l?l.message:"",...a};return l.messageType!=null&&(g.messageType=l.messageType),g}buildRule(t,e,n,r){const{expression:l,message:a,messageType:g}=e,d={id:`${t}_${n}`,type:n,value:l};return(n==="validate"||n==="dataPicking"||n==="required")&&(d.message=a),n==="dataPicking"&&(d.messageType=g),n==="validate"&&r&&(d.elementId=r),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const l=e==="Field"?t.binding.field:t.id,a=this.buildRule(l,n,r,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(u=>u.targetType===e&&u.target===l);const f=u=>u.value.trim()==="";if(d){const u=d.rules.find(o=>o.id===a.id);if(u)f(a)?d.rules=d.rules.filter(o=>o.id!==a.id):(Object.assign(u,a),r==="validate"&&t.type==="form-group"&&(u.elementId=t.id));else{if(f(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(f(a))return null;d={target:`${l}`,rules:[a],targetType:e}}return d}getExpressionEditorOptions(t,e,n,r){return n.reduce((l,a)=>{var d,f;const g=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return l[a]={hide:e==="Field"?!!((f=t==null?void 0:t.binding)!=null&&f.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(g),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(t,a,e),onSubmitModal:u=>{const o=this.updateExpression(t,e,u,a);if(r){const c=this.buildRule(g,u,a);r(c)}return o}}},l},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,n),a={value:l&&l.value,targetId:r,targetType:e,expressionType:n};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class Ae{constructor(t,e){V(this,"componentId");V(this,"viewModelId");V(this,"eventsEditorUtils");V(this,"formSchemaUtils");V(this,"formMetadataConverter");V(this,"designViewModelUtils");V(this,"designViewModelField");V(this,"controlCreatorUtils");V(this,"designerHostService");V(this,"designerContext");V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(l=>l.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){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:t.type,name:h.DgControl[t.type]&&h.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={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 e)l[a]=Object.assign(l[a]||{},e[a]);return{...r,properties:{...l},setPropertyRelates(a,g){if(a){switch(a&&a.propertyID){case"class":case"style":{h.canvasChanged.value++;break}}n&&n(a,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},l={},a=""){const{getVariables:g,getControlName:d,getStateMachines:f}=Ue(this.designerHostService),u=this.getRealTargetType(t),o=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:o};return o.map(y=>{switch(y){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":c.expressionConfig=this.getExpressionOptions(t,u,a||n);break;case"StateMachine":c.stateMachines=f();break;case"Variable":Object.assign(c,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:g(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=g(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(t,e=""){var l;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((l=t.binding)!=null&&l.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},r){const l={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const d in n)a[d]=Object.assign(a[d]||{},n[d]);const g=this;return{...l,properties:{...a},setPropertyRelates(d,f){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,d);break}r&&r(d,f)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===t),l=z.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,l),h.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const a={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:l,expressionInfo:a}=e,{targetId:g,targetType:d,expressionType:f,value:u,message:o}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:y}=c;let p=y.find(b=>b.target===g);p||(p={target:g,rules:[],targetType:d},y.push(p));const m=p.rules.find(b=>b.type===f);if(m)m.value=u,m.message=o;else{const b={id:l,type:f,value:u,message:o};p.rules.push(b)}delete e.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const l=t.propertyID,a=this.formSchemaUtils.getExpressions(),g=e.binding?e.binding.field:e.id,d=a.find(f=>f.target===g);!d||!d.rules||(d.rules=d.rules.filter(f=>f.type!==l))}getExpressionOptions(t,e,n){return new de(this.formSchemaUtils).getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const _=class _{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:h.DgControl["language-textbox"].type,value:h.DgControl["language-textbox"].name}];let r=_.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(r!=null&&r.length)){const l=[h.DgControl["check-group"].type,h.DgControl["radio-group"].type,h.DgControl.image.type,h.DgControl["rich-text-editor"].type];r=r.filter(a=>!l.includes(a.key))}return r}static getAllInputTypes(){const t=[];for(const e in _.fieldControlTypeMapping)_.fieldControlTypeMapping[e].forEach(n=>{t.find(r=>r.key===n.key&&r.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var l;const n=(l=t.editor)==null?void 0:l.type,r=[];return(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(n===h.DgControl["input-group"].type||n===h.DgControl.textarea.type||n===h.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===h.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===h.DgControl["combo-list"].type||n===h.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===h.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===h.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===h.DgControl.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor.textField",schemaField:"editor.textField"}),r.push({domField:"editor.displayType",schemaField:"editor.displayType"}),r.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),r.push({domField:"editor.helpId",schemaField:"editor.helpId"})),r.push({domField:"path",schemaField:"bindingPath"}),r.push({domField:"binding.path",schemaField:"bindingField"}),r.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};V(_,"fieldControlTypeMapping",{String:[{key:h.DgControl["input-group"].type,value:h.DgControl["input-group"].name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name},{key:h.DgControl["check-group"].type,value:h.DgControl["check-group"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl["time-picker"].type,value:h.DgControl["time-picker"].name}],Text:[{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["rich-text-editor"].type,value:h.DgControl["rich-text-editor"].name}],Decimal:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Integer:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Number:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],BigNumber:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Date:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],DateTime:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],Boolean:[{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],Enum:[{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}],Object:[{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}]});let Z=_;var J=(i=>(i.Form="Form",i.Variable="Variable",i))(J||{});class Re{constructor(){V(this,"label","");V(this,"id","");V(this,"columnInSM",12);V(this,"columnInMD",6);V(this,"columnInLG",3);V(this,"columnInEL",2);V(this,"displayWidthInSM",1);V(this,"displayWidthInMD",1);V(this,"displayWidthInLG",1);V(this,"displayWidthInEL",1);V(this,"displayColumnCountAtBreakPoint","md");V(this,"tagRow",0);V(this,"showTopBorder",0);V(this,"group",1);V(this,"isSupportedClass",!0);V(this,"fieldSetId","")}}function qe(i){let t,e;const n=new Map;let r=[];function l(u,o){const y=u.split(" ").filter(C=>C.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let p=y.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),m=y.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=y.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),v=y.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",o.columnInSM=parseInt(p.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),m=m||"col-md-"+o.columnInSM,o.columnInMD=parseInt(m.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),b=b||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(b.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function a(u,o,c,y=!1){let p=!1;u.contents.forEach(m=>{if(m.type==="fieldset"){c+=1,a(m,o,c,!0),p=!0;return}p&&(c+=1,p=!1);const b=m.appearance&&m.appearance.class,v=new Re;b?l(b,v):v.isSupportedClass=!1,v.label=m.label||m.id,v.id=m.id,v.group=c,y&&(v.fieldSetId=u.id),e===m.id&&(t=c),n.set(m.id,m),o.push(v)})}function g(u){const o=i.getComponentById(u);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=i.selectNode(o,y=>y.type===h.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function d(u,o){o=o||u.id;const{result:c,message:y,formNode:p}=g(o);if(!c)return{result:c,message:y};e=u.id,r=[],n.clear();const m=p.contents[0].type===h.DgControl.fieldset.type?0:1;a(p,r,m);const b=r.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:b?"customize":"standard"},importData:r}}function f(u,o){o=o;const{result:c,formNode:y}=g(o);if(!c)return"";const p=[];return u.forEach(m=>{var C;const b=n.get(m.id),v=b.appearance&&b.appearance.class;if(v){const N=v.split(" ").filter(F=>!F.startsWith("col-")),E="col-"+m.columnInSM,M="col-md-"+m.columnInMD,j="col-xl-"+m.columnInLG,D="col-el-"+m.columnInEL,S=[E,M,j,D].concat(N);b.appearance.class=S.join(" ")}if(m.fieldSetId){const k=y.contents.find(E=>E.id===m.fieldSetId),N=p.find(E=>E.id===m.fieldSetId);N?(C=N.contents)==null||C.push(b):(p.push(k),k.contents=[b])}else p.push(b)}),y.contents=p,y.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:f,getResonseFormLayoutConfig:a}}class $e extends Ae{constructor(e,n){super(e,n);V(this,"responseLayoutEditorFunction");V(this,"bindingVarible");V(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=qe(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,n,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,n){return this.getCommonPropertyConfig(e,n,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,n){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,n,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,n,r="Card"){var f;const l=this;this.setDesignViewModelField(e);const{canChangeControlType:a,editorTypeList:g}=this.getAvailableEditorType(e),d={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:g,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:((f=e.editor)==null?void 0:f.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,o,c){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(e,u,n);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(e,u,c);break}}}};return r.toLocaleLowerCase()!=="card"&&delete d.properties.showLabelType,d}checkCanChangeControlType(e,n){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==W.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var l;const n=this.checkCanChangeControlType(e,this.viewModelId);if(!n)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((l=h.DgControl[e.editor.type])==null?void 0:l.name)||e.editor.type}]};let r=[];return this.designViewModelField&&this.designViewModelField.$type===W.FormSchemaEntityField$Type.SimpleField?r=Z.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(r=Z.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:n,editorTypeList:r}}changeBindingField(e,n,r){n.needRefreshEntityTree=!0}getAppearanceProperties(e,n){const r=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:()=>r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),h.canvasChanged.value++;break;case"style":{h.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){const l=n.propertyValue,a=r&&r.parent&&r.parent.schema;if(!a)return;const g=a.contents.findIndex(u=>u.id===e.id);if(g===-1)return;const d=a.contents[g];let f;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}f||(f=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(f,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(f,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(d.editor,u)&&(f.editor[u]=d.editor[u])}),r!=null&&r.updateContextSchema?r.updateContextSchema(f):(r.schema=Object.assign(d,f),Object.assign(e,f)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),h.canvasChanged.value++,s.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,n={},r={},l){var c,y;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},n),g=(c=e.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],d=this.getPropertyEditorParams(e,g,"readonly"),f=this.getPropertyEditorParams(e,g,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:f,visible:!!((y=e.binding)!=null&&y.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in r)u[p]=Object.assign(u[p]||{},r[p]);const o=this;return{...a,properties:{...u},setPropertyRelates(p,m){if(p){switch(p.propertyID){case"readonly":case"required":o.afterMutilEditorChanged(e,p);break}l&&l.bind(o)(p,e,m)}}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const l=e.split(" ");let a=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),g=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),d=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),f=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));a=a||"col-12",g=g||"col-md-"+a.replace("col-",""),d=d||"col-xl-"+g.replace("col-md-",""),f=f||"col-el-"+d.replace("col-xl-","");const u={id:n,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(g.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(f.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),n){const p=l.find(m=>m.id===n.id);Object.assign(p||{},n)}const a=l.map(p=>p.columnInSM),g=l.map(p=>p.columnInMD),d=l.map(p=>p.columnInLG),f=l.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,o=this.checkIsUniqueColumn(g)?g[0]:null,c=this.checkIsUniqueColumn(d)?d[0]:null,y=this.checkIsUniqueColumn(f)?f[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:o,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,r){return n=n||"value",r=r||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:r,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:n,nameField:r,requiredFields:[n,r],uniqueFields:[n,r],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===W.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,n){e.binding&&e.binding.type===J.Form&&e.binding.field?(n.find(r=>r.label==="fieldValueChanging"),n.find(r=>r.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):n=n.filter(r=>r.label!=="fieldValueChanging"&&r.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case J.Form:return e.binding.path||e.type;case J.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,n="card",r,l){const a=this;let g=[];if(r&&(g=g.concat(r)),g.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,g);const d=a.eventsEditorUtils.formProperties(e,a.viewModelId,g);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(o,c){const y=o.propertyValue;delete e[a.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:a.getControlMethodType(e),name:e.title},a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,y.events,y)),l&&l(o,c,y);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,n,r=["compute","dependency","validate"],l){return new de(this.formSchemaUtils).getExpressionConfig(e,n,r,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(e,n,r){var l;e.editor[n]!==r?e.editor[n]=r:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(e,n,r){let l=r;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(n==="trueValue"?"true":"false"));const g=n==="trueValue"?"falseValue":"trueValue";e.editor[g]===l&&(l=l+1),this.updatePropertyValue(e,n,l)}getBooleanValueConverter(){return{convertFrom:(e,n)=>e.editor[n],convertTo:(e,n,r)=>{this.setBooleanValue(e,n,r)}}}}class We extends $e{getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceConfig(),this.getBehaviorConfig(t),this.getFilterBarConfig(t),this.getEventPropConfig(t),this.propertyConfig}getBehaviorConfig(t){this.propertyConfig.categories.apperance={description:"Basic Infomation",title:"行为",properties:{resetText:{description:"选择筛选条件后,按钮“清空筛选”的文本",type:"string",title:"按钮“清空筛选”的文本"}}}}getFilterBarConfig(t){const e=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),n=this;this.getPropertyEditorParams(t,[],"visible"),this.getPropertyEditorParams(t,[],"disable"),this.propertyConfig.categories.control={description:"Basic Infomation",title:"编辑器",properties:{fields:{description:"筛选条字段设置",title:"筛选条字段",type:"",editor:{type:"query-solution-config",source:"filter-bar",title:"筛选条字段",fieldsConfig:e,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService}},defaultValues:{description:"默认值绑定字段",type:"object",title:"默认值绑定字段",editor:this.getPropertyEditorParams(t,["Variable"],"",{},{newVariableType:"Object"})}},setPropertyRelates(r,l){if(r)switch(r.propertyID){case"visible":case"disable":n.afterMutilEditorChanged(t,r);break;case"defaultValues":n.addNewVariableToViewModel(r,n.viewModelId);break}}}}getEventPropConfig(t){const e=[{label:"onQuery",name:"查询事件"}],n=this,r=n.eventsEditorUtils.formProperties(t,n.viewModelId,e),l=n.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const d=a.propertyValue;delete t[n.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(t,n.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function Ge(i,t){function e(g,d){const f=i.schema;return new We(g,t).getPropertyConfig(f,d)}function n(){return!1}function r(){return!1}function l(){return!1}function a(){var g;if(i&&t){const{formSchemaUtils:d}=t,f=d.getControlBasicInfoMap(),{schema:u}=i,o=Ve.DgControl["filter-bar"].name;f.set(u.id,{componentTitle:o,parentPathName:o}),(g=u.fields)!=null&&g.length&&u.fields.map(c=>{f.set(c.id,{componentTitle:c.name,parentPathName:`${o} > ${c.name}`})})}}return{getPropsConfig:e,canAccepts:n,checkCanDeleteComponent:r,checkCanMoveComponent:l,setComponentBasicInfoMap:a}}function ce(i,t){let e;function n(o){const{properties:c,title:y,ignore:p}=o,m=p&&Array.isArray(p),b=Object.keys(c).reduce((v,C)=>((!m||!p.find(k=>k===C))&&(v[C]=c[C].type==="object"&&c[C].properties?n(c[C]):z.cloneDeep(c[C].default)),v),{});if(y&&(!m||!p.find(v=>v==="id"))){const v=y.toLowerCase().replace(/-/g,"_");b.id=`${v}_${Math.random().toString().slice(2,6)}`}return b}function r(o){const{properties:c,title:y,required:p}=o;if(p&&Array.isArray(p)){const m=p.reduce((b,v)=>(b[v]=c[v].type==="object"&&c[v].properties?n(c[v]):z.cloneDeep(c[v].default),b),{});if(y&&p.find(b=>b==="id")){const b=y.toLowerCase().replace(/-/g,"_");m.id=`${b}_${Math.random().toString().slice(2,6)}`}return m}return{type:y}}function l(o,c={},y){const p=i[o];if(p){let m=r(p);const b=t[o];return m=b?b({getSchemaByType:l},m,c,y):m,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(m),m}return null}function a(o,c){const y=n(c);return Object.keys(y).reduce((p,m)=>(Object.prototype.hasOwnProperty.call(o,m)&&(p[m]&&z.isPlainObject(p[m])&&z.isPlainObject(o[m]||!o[m])?Object.assign(p[m],o[m]||{}):p[m]=o[m]),p),y),y}function g(o,c){return Object.keys(o).filter(p=>o[p]!=null).reduce((p,m)=>{if(c.has(m)){const b=c.get(m);if(typeof b=="string")p[b]=o[m];else{const v=b(m,o[m],o);Object.assign(p,v)}}else p[m]=o[m];return p},{})}function d(o,c,y=new Map){const p=a(o,c);return g(p,y)}function f(o){var y;const c=o.type;if(c){const p=i[c];if(!p)return o;const m=a(o,p),b=((y=o.editor)==null?void 0:y.type)||"";if(b){const v=i[b],C=a(o.editor,v);m.editor=C}return m}return o}function u(o){e=o}return{getSchemaByType:l,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:d,mappingSchemaToProps:g,setDesignerContext:u}}const ue={},fe={},{resolveSchemaWithDefaultValue:ze,resolveSchemaToProps:_e,mappingSchemaToProps:Qe}=ce(ue,fe);function He(i={}){function t(f,u,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],p=o[y];if(y==="not")return Number(c[f].length)!==Number(p);if(y==="moreThan")return Number(c[f].length)>=Number(p);if(y==="lessThan")return Number(c[f].length)<=Number(p)}return!1}function e(f,u,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((f,u)=>(f.set(u,i[u]),f),n);function r(f,u){const o=f;return typeof u=="number"?[{target:o,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!u}]:typeof u=="object"?Object.keys(u).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:u[c]};const y=c,p=u[c];return{target:o,operator:"getProperty",param:y,value:p}}):[]}function l(f){return Object.keys(f).reduce((o,c)=>{const y=r(c,f[c]);return o.push(...y),o},[])}function a(f,u){if(n.has(f.operator)){const o=n.get(f.operator);return o&&o(f.target,f.param,f.value,u)||!1}return!1}function g(f,u){return l(f).reduce((y,p)=>y&&a(p,u),!0)}function d(f,u){const o=Object.keys(f),c=o.includes("allOf"),y=o.includes("anyOf"),p=c||y,v=(p?f[p?c?"allOf":"anyOf":"allOf"]:[f]).map(k=>g(k,u));return c?!v.includes(!1):v.includes(!0)}return{parseValueSchema:d}}const Xe={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},Ze={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},Je={convertTo:(i,t,e,n)=>{i.editor&&(i.editor[t]=e)},convertFrom:(i,t,e)=>i.editor&&Object.prototype.hasOwnProperty.call(i.editor,t)?i.editor[t]:i[t]},Ye={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"}},Ke={convertFrom:(i,t,e)=>{var r;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((r=Ye[n])==null?void 0:r.name)||n}},et={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},tt={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i.formatter?i.formatter[t]=e:i.formatter={[t]:e})},convertFrom:(i,t,e)=>{if(i.formatter){if(t==="trueText")return i.formatter.trueText;if(t==="falseText")return i.formatter.falseText;if(t==="prefix")return i.formatter.prefix;if(t==="suffix")return i.formatter.suffix;if(t==="precision")return i.formatter.precision;if(t==="decimal")return i.formatter.decimal;if(t==="thousand")return i.formatter.thousand;if(t==="dateFormat")return i.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return i.formatter.customFormat;if(t==="type")return i.formatter.type||"none"}return"none"}},it={convertTo:(i,t,e,n)=>{i.command?i.command[t]=e:i.command={[t]:e},t==="enableType"&&e==="default"&&(i.command.enable=!0,i.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&e==="custom"&&(i.command.enable=!0,i.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"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1)},convertFrom:(i,t,e)=>{var n,r;if(i.command){if(t==="enableType"){const l=(r=(n=i.command)==null?void 0:n.commands)==null?void 0:r.find(a=>a.command==="edit"&&a.type==="primary");return i.command.enable?l?"default":"custom":"unable"}if(t==="commands")return i.command.enableType==="custom"?i.command.commands:[];if(t==="formatter")return i.command.formatter;if(t==="count")return i.command.count}return""}},nt={convertTo:(i,t,e,n)=>{i.column?i.column[t]=e:i.column={[t]:e},t==="fitColumns"&&e&&(i.column.fitMode||(i.column.fitMode="average"))},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitColumns")return i.column.fitColumns;if(t==="fitMode")return i.column.fitMode}return""}},rt={convertTo:(i,t,e,n)=>{i.summary?i.summary[t]=e:i.summary={[t]:e},t==="enable"&&e&&(i.summary?i.summary.groupFields||(i.summary.groupFields=[]):i.summary={enable:e,groupFields:[]})},convertFrom:(i,t,e)=>i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""},ot={convertTo:(i,t,e,n)=>{i.group?i.group[t]=e:i.group={[t]:e},t==="enable"&&e&&(i.group?i.group.groupFields||(i.group.groupFields=[]):i.group={enable:e,groupFields:[],showSummary:!1})},convertFrom:(i,t,e)=>{if(i.group){if(t==="enable")return i.group.enable;if(t==="showSummary")return i.group.showSummary}}},lt={convertFrom:(i,t)=>i.binding?i.binding.path:"",convertTo:(i,t,e)=>{if(e&&e.length>0){const n=e[0];i.binding||(i.binding={}),i.binding.type="Form",i.binding.path=n.bindingField,i.binding.field=n.id,i.binding.fullPath=n.path,i.path=n.bindingPath}}},st={convertTo:(i,t,e,n)=>{i.pagination||(i.pagination={}),i.pagination[t]=e},convertFrom:(i,t,e)=>i.pagination?i.pagination[t]:i[t]},at={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},dt={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{var n,r;return t==="showCheckbox"?(n=i.selection)!=null&&n.multiSelect?!0:(r=i.selection)==null?void 0:r.showCheckbox:i.selection?i.selection[t]:i[t]}},ct={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},ut={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},ft={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},pt={convertFrom:(i,t,e)=>{var n,r;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(r=i.formatter)==null?void 0:r.data:i.formatterEnumData}},mt={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,r;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((r=i.sort)!=null&&r.multiSort)}},gt={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e},convertFrom:(i,t,e)=>{var n;if(t==="mode")return((n=i.filter)==null?void 0:n.mode)||"client"}},ht={convertTo:(i,t,e,n)=>{i.rowOption?i.rowOption[t]=e:i.rowOption={[t]:e}},convertFrom:(i,t,e)=>{if(i.rowOption){if(t==="customRowStyle")return i.rowOption.customRowStyle;if(t==="customCellStyle")return i.rowOption.customCellStyle}return""}},yt={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i[t]=e,t==="columnTemplateType"&&e==="hyperlink"&&(i.onClickLinkCommand?i.columnTemplate=`
|
|
1
|
+
(function(P,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../condition/index.umd.js"),require("../query-solution/index.umd.js"),require("../notify/index.umd.js"),require("../locale/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js"),require("../radio-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../designer-canvas/index.umd.js/")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../condition/index.umd.js","../query-solution/index.umd.js","../notify/index.umd.js","../locale/index.umd.js","lodash-es","../dynamic-form/index.umd.js","../radio-group/index.umd.js","../combo-list/index.umd.js","../designer-canvas/index.umd.js/"],s):(P=typeof globalThis<"u"?globalThis:P||self,s(P["filter-bar"]={},P.Vue,P.dynamicResolver,P.designerCanvas,P.common,P.condition,P.querySolution,P.notify,P.locale,P.LodashES,P.dynamicForm,P.radioGroup,P.comboList,P._))})(this,function(P,s,$,h,W,Q,K,we,te,z,ee,Ie,ie,xe){"use strict";var Vt=Object.defineProperty;var Et=(P,s,$)=>s in P?Vt(P,s,{enumerable:!0,configurable:!0,writable:!0,value:$}):P[s]=$;var V=(P,s,$)=>Et(P,typeof s!="symbol"?s+"":s,$);const ne=new Map([["appearance",$.resolveAppearance]]);function Ve(i,t){const e=t==null?void 0:t.formSchemaUtils,n=i.parentComponentInstance,r="54bddc89-5f7e-4b91-9c45-80dd6606cfe9";function l(){const f=$.getSchemaByType(h.DgControl["content-container"].type),u=$.getSchemaByType(h.DgControl["filter-bar"].type);if(!f||!u)return;const o=Math.random().toString(36).substr(2,4);Object.assign(f,{id:"filter-container-"+o,appearance:{class:"f-filter-container"},contents:[u]}),Object.assign(u,{id:"filter-"+o,fields:[]});const c=n.belongedComponentId,y=e.getViewModelIdByComponentId(c),p=e.getViewModelById(y);return p!=null&&p.states&&(p.states.find(m=>m.code==="originalFilterConditionList")||p.states.push({id:W.useGuid().guid(),category:"locale",code:"originalFilterConditionList",name:"筛选条过滤条件",type:"String"})),{filterBar:u,filterBarContainer:f}}function a(){const f=e.getViewModelIdByComponentId(n.belongedComponentId),u=e.getViewModelById(f);let o;if(u&&u.commands){if(o=u.commands.find(c=>c.handlerName==="Filter"&&c.cmpId===r),!o)o={id:W.useGuid().guid(),code:`${u.id.replace(/-/g,"").replace("component","").replace("viewmodel","")}Filter1`,name:"过滤并加载数据1",params:[{name:"filter",shownName:"过滤条件",value:`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`,defaultValue:null},{name:"sort",shownName:"排序条件",value:"",defaultValue:null}],handlerName:"Filter",cmpId:r},u.commands.push(o);else if(o.params&&o.params.length){const c=o.params.find(y=>y.name==="filter");c&&(c.value=`{UISTATE~/#{${n.belongedComponentId}}/originalFilterConditionList}`)}}return{filterInGridViewModel:o}}function g(f){const u=e.getCommands();if(!u)return;let o=u.find(c=>c.id===r);o||(o={id:r,path:"igix/Web/WebCmp/bo-webcmp/metadata/webcmd/data-commands",name:"LoadCommands.webcmd",refedHandlers:[]},e.getCommands().push(o)),f&&!o.refedHandlers.find(c=>c.host===f.id)&&o.refedHandlers.push({host:f.id,handler:"Filter"})}function d(){const{filterBar:f,filterBarContainer:u}=l(),{filterInGridViewModel:o}=a();f&&o&&(f.onQuery=o.code),g(o);const c=t==null?void 0:t.useFormCommand;return c&&c.checkCommands(),u}return{createFilterBar:d}}function re(i,t,e,n){if(e.parentComponentInstance&&n){const a=Ve(e,n).createFilterBar();if(a)return a}return t}const oe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/filter-bar.schema.json",title:"filter-bar",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for filter-bar",type:"string"},type:{description:"The type string of filter-bar",type:"string",default:"filter-bar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},defaultValues:{description:"",type:"array"},disabled:{type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},fields:{description:"",type:"array"},resetText:{description:"",type:"string"}},required:["id","type"],events:{onQuery:"查询事件"}},H={defaultValues:{type:Array,default:[]},fields:{type:Array,default:[]},mode:{type:String,default:"editable"},visible:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},resetText:{type:String,default:"清空筛选"},customClass:{type:String,default:""},customStyle:{type:String,default:""}},le=$.createPropsResolver(H,oe,ne,re);function X(){const{getLocaleValue:i}=te.LocaleService;return{confirm:i("filterBar.confirm"),cancel:i("filterBar.cancel"),advancedFilter:i("filterBar.advancedFilter"),clearAll:i("filterBar.clearAll"),expand:i("filterBar.expand"),fold:i("filterBar.fold"),require:i("filterBar.require")}}function Ee(i){return te.LocaleService.getRealPropertyValue(i,"清空筛选","filterBar.reset")}function Se(i,t,e,n){const r=s.ref([]),l=s.ref([]),a=s.ref([]),g=s.ref("");s.ref(i.mode);const d=new Map,{createConditionValue:f}=Q.useConditionValue(),{convertToControls:u}=Q.useConditionUtils("filter-bar"),o=K.useCondition(i,t),{getFilterConditions:c}=o,{fieldToCondition:y,judgeLoadNewValue:p}=K.useSolutionUtils(),m=new we.FNotifyService,b=X();let v="[]";function C(w){return!i.disabled&&!w.value.isEmpty()}function k(w){l.value=u(w),l.value.reduce((T,L)=>(T.set(L.labelCode,L),T),d)}function N(w){const T=Array.isArray(w)?w:[];a.value=l.value.map(L=>{const x=T.find(I=>I.id===L.id);if(x){const I=y(L,x.value);return p(I,L)&&I.value.clear(),I}return y(L)})}function E(w){a.value=a.value.filter(T=>T.id!==w.id),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),l.value=l.value.filter(T=>T.id!==w.id),t.emit("remove",w.fieldCode)}function M(){var w;i.disabled?e.value=!1:e.value=((w=a.value)==null?void 0:w.findIndex(T=>{var L;return T.value&&!((L=T.value)!=null&&L.isEmpty())}))>-1}function j(w,T=[]){const L=JSON.stringify(w||[]);L!==v&&(t.emit("conditionChange",w),v=L,T.length===0&&t.emit("query",w))}function D(){var x;M();const w=[];(a.value||[]).map(I=>{I.required&&(!I.value||I.value.isEmpty())&&w.push(I.fieldName||"")});const T=(x=a.value)==null?void 0:x.filter(I=>{var U;return I.value&&!((U=I.value)!=null&&U.isEmpty())});if(w.length>0){m.warning({message:b.require.replace("[fields]",w.join(",")),position:"top-center"});return}const L=c(T,l.value);j(L,w)}function S(w,T,L=!0){k(w),N(T),L&&D()}function F(w){w.value.clear(),r.value=r.value.filter(T=>T.fieldCode!==w.fieldCode),t.emit("clear",w.fieldCode),D()}function A(){a.value.forEach(w=>w.value.clear())}function O(){a.value.forEach(w=>{w.value.clear()}),t.emit("reset"),D(),n.resizeFilerBar()}return{clearAll:A,clearFilterItem:F,currentFilterId:g,filterFields:l,filterItems:a,fieldMap:d,loadFilterItems:S,removeFilterItem:E,reset:O,shouldShowClearButtonInFilterItem:C,handleQuery:D}}function Te(i,t,e,n){const r=s.ref([]),l=X(),a=s.ref(l.advancedFilter),g=s.ref(Ee(i.resetText)),d=s.ref(!1),{clearAll:f,reset:u,filterItems:o}=e;function c(){r.value=o.value.filter(b=>b.isExtend)}c();const y=s.computed(()=>r.value&&r.value.length>0);function p(b){d.value=!0}function m(b){i.mode==="display-only"?f():u()}return()=>s.createVNode("div",{class:"f-filter-toolbars"},[y.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>p()},[a.value]),n.value&&s.createVNode("button",{class:"btn btn-link",onClick:b=>m()},[g.value])])}const Me={filterItem:{type:Object,default:null},position:{type:Object,default:null},reference:{type:Object}},Pe=Object.assign({},Ie.radioGroupProps),ke=s.defineComponent({name:"FFilterRadioGroup",props:Pe,emits:["update:modelValue","change"],setup(i,t){const e=s.ref(),{dataSource:n,displayText:r,modelValue:l}=ie.useDataSource(i,t);function a(g){r.value=g.map(f=>f[i.textField]).join(i.separator);let d="";g.length===1?d=g[0][i.valueField]:d=g.map(f=>f[i.valueField]).join(i.separator),l.value!==d&&(l.value=d,t.emit("update:modelValue",l.value),t.emit("change",l.value))}return()=>s.createVNode(ie.FComboListContainer,{style:"margin: -2px -15px;padding: 0;",ref:e,idField:i.valueField,valueField:i.valueField,textField:i.textField,titleField:i.titleField,dataSource:n.value,selectedValues:l.value,multiSelect:!1,enableSearch:!1,onSelectionChange:g=>{a(g)}},null)}}),Ne=s.defineComponent({name:"FFilterBarItemCondition",props:Me,emits:["cancel","confirm","clearFilter"],setup(i,t){const e=s.ref(z.cloneDeep(i.filterItem)),n=s.ref(),r=X(),l=s.ref("0px"),a=s.ref("0px"),g=s.ref("0px"),d=s.ref("auto"),f=s.computed(()=>({left:d.value==="auto"?"26px":"auto",right:d.value})),u=s.computed(()=>({left:l.value,top:a.value})),o=s.computed(()=>({width:g.value==="0px"?null:g.value,maxWidth:g.value==="0px"?null:g.value})),c=s.ref(),{useFilterItemsComposition:y,resolveEditorProps:p}=s.inject("useFilterItemsComposition"),{fieldMap:m}=y,{renderFieldConditionEditor:b,conditionChangeHandler:v}=Q.useConditionUtils("filter-bar"),C=s.ref("");let k=!1,N={};const E=s.ref(!0);function M(){var R,Y;if(!i.reference||!c.value)return;const x=(R=i.reference)==null?void 0:R.getBoundingClientRect();let I=(Y=c.value)==null?void 0:Y.getBoundingClientRect().width;const U=document.body.clientWidth-x.x-30,B=document.body.clientWidth-x.y-30;I>U&&I>B&&(I=Math.max(U,B)),x.left>document.body.clientWidth-I-20?(l.value=x.left+x.width-I+"px",a.value=x.top+x.height+"px",d.value="26px"):(l.value=x.left+"px",a.value=x.top+x.height+"px",d.value="auto"),g.value=I+"px"}function j(x,I,U,B){k=!0,N={value:I,editor:U,option:B}}function D(){if(!n.value)return!1;const x=n.value.parentElement,I=Array.from(x.children);return I?!!I.find(B=>!B||!B.classList?!1:B.classList.contains("popover")&&B.style.visibility==="visible"):!1}function S(x,I,U,B){v(x,I,U,B),t.emit("confirm",e.value)}function F(){const{id:x,editor:I,needEmitChange:U}=b(m,e.value,j);if(C.value="filter-panel--"+I.type,I.type==="radio-group"){const B=p(I.type,I);return E.value=!1,s.createVNode(ke,s.mergeProps(B,{modelValue:e.value.value.value,"onUpdate:modelValue":R=>e.value.value.value=R,onChange:R=>{S(e.value,R,I)}}),{default:()=>[s.createTextVNode(" ")]})}return s.createVNode(ee.FDynamicFormGroup,{showLabelType:"force-none",id:x,key:x,editor:I,modelValue:e.value.value.value,"onUpdate:modelValue":B=>e.value.value.value=B,onChange:(B,R)=>{U&&j(e.value,B,I,R)}},null)}s.onMounted(()=>{M()});function A(x){const I=C.value.replace("filter-panel--","");["input","radio-group","switch"].findIndex(U=>U===I)>-1?t.emit("cancel"):D()||t.emit("cancel")}function O(x){x.stopPropagation(),k&&v(e.value,N.value,N.editor,N.option),t.emit("confirm",e.value)}function w(x){e.value.value.clear(),x.stopPropagation(),t.emit("confirm",e.value)}function T(){const x=W.getMaxZIndex();return{zIndex:Math.max(x,1050)}}const L=T();return()=>s.createVNode("div",{class:"f-filter-panel-wrapper can-close",ref:n,onClick:A,style:{zIndex:L}},[s.createVNode("div",{class:"f-filter-panel "+C.value,ref:c,style:u.value},[s.createVNode("div",{class:"f-filter-panel-inner",style:o.value,onClick:x=>x.stopPropagation()},[s.createVNode("div",{class:"f-filter-panel-arrow",style:f.value},null),F(),E.value&&s.createVNode("div",{class:"f-filter-panel-footer"},[s.createVNode("div",{class:"filter-panel-clear"},[s.createVNode("button",{class:"btn btn-link",onClick:w,style:"padding-left:0;"},[r.clearAll])]),s.createVNode("div",{class:"filter-panel-btns"},[s.createVNode("button",{class:"btn btn-secondary can-close",onClick:A},[r.cancel]),s.createVNode("button",{class:"filter-panel-submit btn btn-primary",onClick:O},[r.confirm])])])])])])}}),se={filterItem:{type:Object,default:null},disabled:{type:Boolean,default:!1}},Be=s.defineComponent({name:"FFilterBarItem",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{clearFilterItem:r,currentFilterId:l,removeFilterItem:a,shouldShowClearButtonInFilterItem:g}=n,d=s.ref(!1),f=s.ref(!1),u=s.ref(),o=s.ref(""),c=s.ref(),y=function(){return{"f-filter-item":!0,"f-state-disabled":i.disabled,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===l.value||d.value}};s.computed(()=>!i.disabled&&i.mode==="editable");function p(E){i.disabled||(i.mode==="display-only"?a(e.value):r(e.value))}function m(E){i.disabled||(d.value=!0)}function b(){d.value=!1}function v(){c.value&&c.value.scrollWidth>c.value.clientWidth?o.value=c.value.innerHTML:o.value=""}function C(E){d.value=!1,e.value.value=E.value,t.emit("confirm",E),s.nextTick(()=>{v()})}function k(){f.value=i.disabled?!1:g(e.value)}function N(){f.value=!1}return s.onMounted(()=>{v()}),()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:y(),onMouseenter:()=>k(),onMouseleave:()=>N()},[s.createVNode("div",{class:"f-filter-item-inner",ref:u,onClick:E=>m()},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),!e.value.value.isEmpty()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content",ref:c,title:o.value},[e.value.value.getDisplayText()])]),!i.disabled&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),f.value&&s.createVNode("span",{class:"mr-3 f-filter-item-clear",onClick:E=>p()},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)]),d.value&&s.createVNode(s.Teleport,{to:"body"},{default:()=>[s.createVNode(Ne,{filterItem:e.value,reference:u.value,onConfirm:C,onCancel:b},null)]})])}});function ae(i,t){const e=s.ref(null),n=15;let r=0;function l(d=-1,f=-1){var p;if(!i.value)return;const u=(p=i.value)==null?void 0:p.querySelector(".f-filter-list");if(!u)return;const o=u.children;if(!o||o.length===0||(d<0&&(d=i.value.clientWidth),r=f<0?r:f,Math.abs(d-r)<n))return;Array.from(o).forEach(m=>{m.style.display="flex"}),t.value=u.clientWidth<u.scrollWidth;let c=!1,y=0;for(let m=0;m<o.length;m++){const b=o[m],v=Math.ceil(b.offsetWidth+(parseFloat(getComputedStyle(b).marginRight)||0)+parseFloat(getComputedStyle(b).marginLeft));!c&&y+v<=d?y+=v:(b.style.display="none",c=!0)}r=d}function a(){var f,u;if(!i.value)return;(f=e.value)==null||f.unobserve(i.value);const d=((u=i.value.querySelector(".f-filter-list"))==null?void 0:u.children)||[];Array.from(d).forEach(o=>{o.style.display="flex"}),r=0}function g(){if(!i.value)return;const d=new ResizeObserver(f=>{const u=f[0].contentRect.width;l(u)});return d.observe(i.value),e.value=d,d}return{setupWidthObserver:g,cancelWidthObserver:a,handleVisibleChildren:l}}const G=s.defineComponent({name:"FFilterBar",props:H,emits:["clear","remove","reset","conditionChange","change","query"],setup(i,t){const e=s.ref(!1),n=s.ref(!1),r=s.ref(null),l=s.ref(!1),a=s.ref(0),g=ae(r,n),{cancelWidthObserver:d,setupWidthObserver:f,handleVisibleChildren:u}=g,o={resizeFilerBar:()=>{e.value||s.nextTick(()=>{u(-1,0)})}},c=Se(i,t,l,o),{filterFields:y,filterItems:p,loadFilterItems:m,handleQuery:b}=c,{resolveEditorProps:v}=ee.useTypeResolver();s.provide("useFilterItemsComposition",{useFilterItemsComposition:c,resolveEditorProps:v});const C=X(),k=s.computed(()=>{const O={display:y.value&&y.value.length?"":"none"};return W.getCustomStyle(O,i==null?void 0:i.customStyle)});m(i.fields,i.defaultValues,!!(i.defaultValues&&i.defaultValues.length>0)),s.watch([()=>i.defaultValues,()=>i.fields],([O,w])=>{m(w,O),a.value++,o.resizeFilerBar()}),s.onMounted(()=>{f()}),s.onUnmounted(()=>{d()});const N=s.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":e.value})),E=s.computed(()=>({"extend-btn-arrow":!0,"f-icon":!0,"f-icon-arrow-chevron-up":e.value,"f-icon-arrow-chevron-down":!e.value})),M=s.computed(()=>!e.value&&n.value);function j(){e.value=!e.value,e.value?d():f()}const D=Te(i,t,c,l);function S(O){t.emit("change",O),b(),o.resizeFilerBar()}function F(){return s.createVNode("div",{class:N.value,key:i.id+"-main-"+a.value},[p.value.map((O,w)=>!O.isExtend&&s.createVNode(Be,{filterItem:O,onConfirm:S,disabled:i.disabled||O.disabled},null)),e.value&&D()])}function A(){return M.value&&s.createVNode("div",{class:"f-filter-list-ellipsis",onClick:O=>j()},[s.createTextVNode("...")])}return()=>s.createVNode("div",{class:"f-filter-wrapper "+i.customClass,style:k.value},[s.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[s.createVNode("div",{class:"f-filter-main f-utils-fill"},[s.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:r},[F()]),A(),!e.value&&D()]),n.value&&s.createVNode("div",{class:"f-filter-extend-btn"},[s.createVNode("button",{class:"btn btn-link",onClick:j},[s.createVNode("span",{class:"extend-btn-text"},[e.value?C.fold:C.expand]),s.createVNode("span",{class:E.value},null)])])])])}});function De(i,t){s.ref([]);const e=s.ref([]),n=s.ref([]),r=s.ref("");s.ref(!1),s.ref(i.mode);const l=new Map,{convertToControls:a}=Q.useConditionUtils("filter-bar"),{fieldToCondition:g}=K.useSolutionUtils();function d(c){return!c.value.isEmpty()}function f(c){e.value=z.cloneDeep(c),e.value.reduce((y,p)=>(y.set(p.labelCode,p),y),l)}function u(c){n.value=e.value.map(y=>g(y))}function o(c,y){f(c),u()}return o(i.fields),{currentFilterId:r,filterFields:e,filterItems:n,fieldMap:l,loadFilterItems:o,shouldShowClearButtonInFilterItem:d}}function Oe(i,t,e){const n=s.ref([]),r=s.ref("更多筛选"),{filterItems:l}=e;function a(){n.value=l.value.filter(d=>d.isExtend)}a();const g=s.computed(()=>n.value&&n.value.length>0);return()=>s.createVNode("div",{class:"f-filter-toolbars"},[g.value&&s.createVNode("button",{class:"btn btn-link"},[r.value])])}const Le=s.defineComponent({name:"FFilterBarItemDesign",props:se,emits:["confirm"],setup(i,t){const e=s.ref(i.filterItem),{useFilterItemsComposition:n}=s.inject("useFilterItemsComposition"),{currentFilterId:r,shouldShowClearButtonInFilterItem:l}=n,a=s.ref(i.disabled),g=function(){return{"f-filter-item":!0,"f-filter-item-actived":!e.value.value.isEmpty(),"f-filter-item-edit":e.value.id===r.value}};return()=>s.createVNode("div",{key:e.value.id,id:e.value.id,class:g()},[s.createVNode("div",{class:"f-filter-item-inner"},[e.value.required&&s.createVNode("span",{class:"f-filter-item-required text-danger"},[s.createTextVNode("*")]),s.createVNode("span",{class:"f-filter-item-text"},[e.value.fieldName]),e.value.value.getDisplayText()&&s.createVNode(s.Fragment,null,[s.createVNode("span",{class:"f-filter-item-tip"},[s.createTextVNode(":")]),s.createVNode("span",{class:"f-filter-item-content"},[e.value.value.getDisplayText()])]),!a.value&&s.createVNode("span",{class:"f-filter-item-arrow f-icon f-icon-arrow-chevron-down"},null)]),l(e.value)&&s.createVNode("span",{class:"mr-3 f-filter-item-clear"},[s.createVNode("span",{class:"f-icon f-icon-close-circle"},null)])])}});function je(i){const{formSchemaUtils:t,formStateMachineUtils:e}=i;function n(d,f=""){return{path:f+d.code,field:d.id,fullPath:d.code}}function r(d,f=""){const u=t.getViewModelById(d);return u?u.states.map(o=>n(o,f)):[]}function l(d){const f=t.getRootViewModelId(),u=r(d);if(d===f)return u;const o=r(f,"root-component.");return[...u,...o]}function a(d){return d.binding&&d.binding.path||d.id||""}function g(){return e&&e.getRenderStates()||[]}return{getVariables:l,getControlName:a,getStateMachines:g}}class de{constructor(t){V(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'"}]);V(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});V(this,"getExpressionConverter",(t,e)=>({convertFrom:(n,r,l,a)=>{const g=l.getExpressionRuleValue(t,e||r);return g&&g.value||""},convertTo:(n,r,l,a,g)=>{var d;if(r==="dataPicking"&&(l!=null&&l.target)){const f=`${l.target}_dataPicking`;((d=l.rules)==null?void 0:d.some(o=>o.id===f&&o.value))?n.dictPickingExpressionId=f:delete n.dictPickingExpressionId}a.updateExpression(l)}}));this.formSchemaService=t}getExpressionRule(t,e){const n=this.formSchemaService.getExpressions();if(!n)return"";const r=n.find(a=>a.target===t);if(!r)return"";const l=r.rules.find(a=>a.type===e);return l||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),n=this.formSchemaService.getViewModelById(e);if(!n||!n.states||n.states.length===0)return[];const r=[];return n.states.filter(l=>l.category==="remote").forEach(l=>{r.push({key:l.code,name:l.name,description:l.name,category:l.category})}),r}createTreeNode(t,e,n="label"){return{id:t.id,name:t.name,bindingPath:t[n],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var g;const l=this.createTreeNode(r,e);let a=[];(g=r.type)!=null&&g.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...e,r.label])),n.push({data:l,children:a,expanded:!0})}),n}buildChildEntityTreeData(t=null,e){const n=[];return t==null||t.forEach(r=>{var d,f;const l=this.createTreeNode(r,e);l.type="entity";const a=this.buildEntityFieldsTreeData((d=r.type)==null?void 0:d.fields,[...e,r.label]),g=this.buildChildEntityTreeData((f=r.type)==null?void 0:f.entities,[...e,r.label]);g!=null&&g.length&&(a==null||a.push(...g)),n.push({data:l,children:a||[],expanded:!0})}),n}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const n=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),r=this.buildChildEntityTreeData(e.type.entities,[e.code]);return r!=null&&r.length&&(n==null||n.push(...r)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:n||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,n){const r=n==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,e),a=this.getEntitiesAndVariables(),g={message:["validate","required","dataPicking"].includes(e)&&l?l.message:"",...a};return l.messageType!=null&&(g.messageType=l.messageType),g}buildRule(t,e,n,r){const{expression:l,message:a,messageType:g}=e,d={id:`${t}_${n}`,type:n,value:l};return(n==="validate"||n==="dataPicking"||n==="required")&&(d.message=a),n==="dataPicking"&&(d.messageType=g),n==="validate"&&r&&(d.elementId=r),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,n,r){const l=e==="Field"?t.binding.field:t.id,a=this.buildRule(l,n,r,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(u=>u.targetType===e&&u.target===l);const f=u=>u.value.trim()==="";if(d){const u=d.rules.find(o=>o.id===a.id);if(u)f(a)?d.rules=d.rules.filter(o=>o.id!==a.id):(Object.assign(u,a),r==="validate"&&t.type==="form-group"&&(u.elementId=t.id));else{if(f(a))return null;d.rules=d.rules||[],d.rules.push(a)}}else{if(f(a))return null;d={target:`${l}`,rules:[a],targetType:e}}return d}getExpressionEditorOptions(t,e,n,r){return n.reduce((l,a)=>{var d,f;const g=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return l[a]={hide:e==="Field"?!!((f=t==null?void 0:t.binding)!=null&&f.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(g),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(t,a,e),onSubmitModal:u=>{const o=this.updateExpression(t,e,u,a);if(r){const c=this.buildRule(g,u,a);r(c)}return o}}},l},{})}getExpressionInfo(t,e,n){const r=e==="Field"?t.binding.field:t.id,l=this.getExpressionRule(r,n),a={value:l&&l.value,targetId:r,targetType:e,expressionType:n};return l&&l.message&&(a.message=l.message),a}getExpressionConfig(t,e,n=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,n,r)}}}getExpressionOptions(t,e,n){const r=this.getExpressionInfo(t,e,n);return{dialogTitle:`${this.expressionNames[n]}编辑器`,singleExpand:!1,showMessage:n==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,n,e),expressionInfo:r}}}class Ue{constructor(t,e){V(this,"componentId");V(this,"viewModelId");V(this,"eventsEditorUtils");V(this,"formSchemaUtils");V(this,"formMetadataConverter");V(this,"designViewModelUtils");V(this,"designViewModelField");V(this,"controlCreatorUtils");V(this,"designerHostService");V(this,"designerContext");V(this,"schemaService",null);V(this,"metadataService",null);V(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var n;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(l=>l.id===e)}t.updateOn=(n=this.designViewModelField)==null?void 0:n.updateOn}}getBasicPropConfig(t){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:t.type,name:h.DgControl[t.type]&&h.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},n){const r={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 e)l[a]=Object.assign(l[a]||{},e[a]);return{...r,properties:{...l},setPropertyRelates(a,g){if(a){switch(a&&a.propertyID){case"class":case"style":{h.canvasChanged.value++;break}}n&&n(a,t,g)}}}}getPropertyEditorParams(t,e=[],n="visible",r={},l={},a=""){const{getVariables:g,getControlName:d,getStateMachines:f}=je(this.designerHostService),u=this.getRealTargetType(t),o=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],c={type:"property-editor",propertyTypes:o};return o.map(y=>{switch(y){case"Const":Object.assign(c,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":c.expressionConfig=this.getExpressionOptions(t,u,a||n);break;case"StateMachine":c.stateMachines=f();break;case"Variable":Object.assign(c,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:g(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:p=>{p.value=g(this.viewModelId)}},l),this.designerContext.designerMode==="PC_RTC"&&(c.newVariablePrefix="ext_"+c.newVariablePrefix);break}}),c}getVisibleProperty(t,e=""){var l;let n=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?n=["Const","Expression"]:e==="form-group"&&!((l=t.binding)!=null&&l.field)&&(n=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,n,"visible")}}}getBehaviorConfig(t,e="",n={},r){const l={title:"行为",description:""},a=this.getVisibleProperty(t,e);for(const d in n)a[d]=Object.assign(a[d]||{},n[d]);const g=this;return{...l,properties:{...a},setPropertyRelates(d,f){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":g.afterMutilEditorChanged(t,d);break}r&&r(d,f)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const r=n.contents.findIndex(a=>a.id===t),l=z.cloneDeep(n.contents[r]);n.contents.splice(r,1),n.contents.splice(r,0,l),h.refreshCanvas()}addNewVariableToViewModel(t,e){const n=t.propertyValue;if(!(n&&typeof n=="object")||!(n.type==="Variable"&&n.isNewVariable))return;const a={id:n.field,category:"locale",code:n.fullPath,name:n.fullPath,type:n.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete n.newVariableType,delete n.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(a)}updateExpressionValue(t){const e=t.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:l,expressionInfo:a}=e,{targetId:g,targetType:d,expressionType:f,value:u,message:o}=a,c=this.formSchemaUtils.getModule();c.expressions=c.expressions||[];const{expressions:y}=c;let p=y.find(b=>b.target===g);p||(p={target:g,rules:[],targetType:d},y.push(p));const m=p.rules.find(b=>b.type===f);if(m)m.value=u,m.message=o;else{const b={id:l,type:f,value:u,message:o};p.rules.push(b)}delete e.expressionInfo}clearExpression(t,e){const n=t.propertyValue;if(n&&n.type==="Expression")return;const l=t.propertyID,a=this.formSchemaUtils.getExpressions(),g=e.binding?e.binding.field:e.id,d=a.find(f=>f.target===g);!d||!d.rules||(d.rules=d.rules.filter(f=>f.type!==l))}getExpressionOptions(t,e,n){return new de(this.formSchemaUtils).getExpressionOptions(t,e,n)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:n=>{var r;((r=n.controller)==null?void 0:r.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(n)}}},e}}const _=class _{static getEditorTypesByMDataType(t,e=!1,n=""){if(e)return[{key:h.DgControl["language-textbox"].type,value:h.DgControl["language-textbox"].name}];let r=_.fieldControlTypeMapping[t];if(n==="data-grid-column"&&(r!=null&&r.length)){const l=[h.DgControl["check-group"].type,h.DgControl["radio-group"].type,h.DgControl.image.type,h.DgControl["rich-text-editor"].type];r=r.filter(a=>!l.includes(a.key))}return r}static getAllInputTypes(){const t=[];for(const e in _.fieldControlTypeMapping)_.fieldControlTypeMapping[e].forEach(n=>{t.find(r=>r.key===n.key&&r.value===n.value)||t.push({key:n.key,value:n.value})});return t}static mappingDomPropAndSchemaProp(t,e){var l;const n=(l=t.editor)==null?void 0:l.type,r=[];return(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&r.push({domField:"title",schemaField:"name"}),r.push({domField:"label",schemaField:"name"}),r.push({domField:"editor.required",schemaField:"require"}),r.push({domField:"editor.readonly",schemaField:"readonly"}),(n===h.DgControl["input-group"].type||n===h.DgControl.textarea.type||n===h.DgControl["number-spinner"].type)&&r.push({domField:"editor.maxLength",schemaField:"type.length"}),n===h.DgControl["number-spinner"].type&&r.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.precision",schemaField:"type.precision"}),(n===h.DgControl["combo-list"].type||n===h.DgControl["radio-group"].type)&&r.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"formatter.data",schemaField:"type.enumValues"}),n===h.DgControl["date-picker"].type&&(r.push({domField:"editor.displayFormat",schemaField:"editor.format"}),r.push({domField:"editor.fieldType",schemaField:"type.name"})),n===h.DgControl["number-spinner"].type&&(r.push({domField:"editor.max",schemaField:"editor.maxValue"}),r.push({domField:"editor.min",schemaField:"editor.minValue"})),n===h.DgControl.lookup.type&&(r.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),r.push({domField:"editor.valueField",schemaField:"editor.valueField"}),r.push({domField:"editor.textField",schemaField:"editor.textField"}),r.push({domField:"editor.displayType",schemaField:"editor.displayType"}),r.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),r.push({domField:"editor.helpId",schemaField:"editor.helpId"})),r.push({domField:"path",schemaField:"bindingPath"}),r.push({domField:"binding.path",schemaField:"bindingField"}),r.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===h.DgControl["data-grid-column"].type||t.type===h.DgControl["tree-grid-column"].type)&&r.push({domField:"field",schemaField:"bindingPath"}),r}};V(_,"fieldControlTypeMapping",{String:[{key:h.DgControl["input-group"].type,value:h.DgControl["input-group"].name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name},{key:h.DgControl["check-group"].type,value:h.DgControl["check-group"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl["time-picker"].type,value:h.DgControl["time-picker"].name}],Text:[{key:h.DgControl.textarea.type,value:h.DgControl.textarea.name},{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl.image.type,value:h.DgControl.image.name},{key:h.DgControl["rich-text-editor"].type,value:h.DgControl["rich-text-editor"].name}],Decimal:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Integer:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Number:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name},{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],BigNumber:[{key:h.DgControl["number-spinner"].type,value:h.DgControl["number-spinner"].name}],Date:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],DateTime:[{key:h.DgControl["date-picker"].type,value:h.DgControl["date-picker"].name}],Boolean:[{key:h.DgControl.switch.type,value:h.DgControl.switch.name},{key:h.DgControl["check-box"].type,value:h.DgControl["check-box"].name}],Enum:[{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}],Object:[{key:h.DgControl.lookup.type,value:h.DgControl.lookup.name},{key:h.DgControl["combo-list"].type,value:h.DgControl["combo-list"].name},{key:h.DgControl["radio-group"].type,value:h.DgControl["radio-group"].name}]});let Z=_;var J=(i=>(i.Form="Form",i.Variable="Variable",i))(J||{});class Ae{constructor(){V(this,"label","");V(this,"id","");V(this,"columnInSM",12);V(this,"columnInMD",6);V(this,"columnInLG",3);V(this,"columnInEL",2);V(this,"displayWidthInSM",1);V(this,"displayWidthInMD",1);V(this,"displayWidthInLG",1);V(this,"displayWidthInEL",1);V(this,"displayColumnCountAtBreakPoint","md");V(this,"tagRow",0);V(this,"showTopBorder",0);V(this,"group",1);V(this,"isSupportedClass",!0);V(this,"fieldSetId","")}}function Re(i){let t,e;const n=new Map;let r=[];function l(u,o){const y=u.split(" ").filter(C=>C.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let p=y.find(C=>/^col-([1-9]|10|11|12)$/.test(C)),m=y.find(C=>/^col-md-([1-9]|10|11|12)$/.test(C)),b=y.find(C=>/^col-xl-([1-9]|10|11|12)$/.test(C)),v=y.find(C=>/^col-el-([1-9]|10|11|12)$/.test(C));p=p||"col-12",o.columnInSM=parseInt(p.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),m=m||"col-md-"+o.columnInSM,o.columnInMD=parseInt(m.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),b=b||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(b.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function a(u,o,c,y=!1){let p=!1;u.contents.forEach(m=>{if(m.type==="fieldset"){c+=1,a(m,o,c,!0),p=!0;return}p&&(c+=1,p=!1);const b=m.appearance&&m.appearance.class,v=new Ae;b?l(b,v):v.isSupportedClass=!1,v.label=m.label||m.id,v.id=m.id,v.group=c,y&&(v.fieldSetId=u.id),e===m.id&&(t=c),n.set(m.id,m),o.push(v)})}function g(u){const o=i.getComponentById(u);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=i.selectNode(o,y=>y.type===h.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function d(u,o){o=o||u.id;const{result:c,message:y,formNode:p}=g(o);if(!c)return{result:c,message:y};e=u.id,r=[],n.clear();const m=p.contents[0].type===h.DgControl.fieldset.type?0:1;a(p,r,m);const b=r.find(C=>!C.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:b?"customize":"standard"},importData:r}}function f(u,o){o=o;const{result:c,formNode:y}=g(o);if(!c)return"";const p=[];return u.forEach(m=>{var C;const b=n.get(m.id),v=b.appearance&&b.appearance.class;if(v){const N=v.split(" ").filter(F=>!F.startsWith("col-")),E="col-"+m.columnInSM,M="col-md-"+m.columnInMD,j="col-xl-"+m.columnInLG,D="col-el-"+m.columnInEL,S=[E,M,j,D].concat(N);b.appearance.class=S.join(" ")}if(m.fieldSetId){const k=y.contents.find(E=>E.id===m.fieldSetId),N=p.find(E=>E.id===m.fieldSetId);N?(C=N.contents)==null||C.push(b):(p.push(k),k.contents=[b])}else p.push(b)}),y.contents=p,y.id}return{checkCanFindFormNode:g,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:f,getResonseFormLayoutConfig:a}}class $e extends Ue{constructor(e,n){super(e,n);V(this,"responseLayoutEditorFunction");V(this,"bindingVarible");V(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=Re(this.formSchemaUtils)}getCommonPropertyConfig(e,n,r="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,n,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,n){return this.getCommonPropertyConfig(e,n,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,n){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,n,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,n,r="Card"){var f;const l=this;this.setDesignViewModelField(e);const{canChangeControlType:a,editorTypeList:g}=this.getAvailableEditorType(e),d={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:g,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:((f=e.editor)==null?void 0:f.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,o,c){if(u)switch(u&&u.propertyID){case"type":{l.changeControlType(e,u,n);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{l.changeBindingField(e,u,c);break}}}};return r.toLocaleLowerCase()!=="card"&&delete d.properties.showLabelType,d}checkCanChangeControlType(e,n){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==W.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var l;const n=this.checkCanChangeControlType(e,this.viewModelId);if(!n)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((l=h.DgControl[e.editor.type])==null?void 0:l.name)||e.editor.type}]};let r=[];return this.designViewModelField&&this.designViewModelField.$type===W.FormSchemaEntityField$Type.SimpleField?r=Z.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(r=Z.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:n,editorTypeList:r}}changeBindingField(e,n,r){n.needRefreshEntityTree=!0}getAppearanceProperties(e,n){const r=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:()=>r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(l,a){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),h.canvasChanged.value++;break;case"style":{h.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,r){const l=n.propertyValue,a=r&&r.parent&&r.parent.schema;if(!a)return;const g=a.contents.findIndex(u=>u.id===e.id);if(g===-1)return;const d=a.contents[g];let f;if(this.designViewModelField){const c=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(p=>p.id===this.designViewModelField.id).fieldSchema||{};c.editor||(c.editor={}),c.editor.$type=l,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,c,!1),f=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)}f||(f=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(f,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(f,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(u=>{Object.prototype.hasOwnProperty.call(d.editor,u)&&(f.editor[u]=d.editor[u])}),r!=null&&r.updateContextSchema?r.updateContextSchema(f):(r.schema=Object.assign(d,f),Object.assign(e,f)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),h.canvasChanged.value++,s.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,n={},r={},l){var c,y;const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},n),g=(c=e.binding)!=null&&c.field?[]:["Const","Variable","StateMachine"],d=this.getPropertyEditorParams(e,g,"readonly"),f=this.getPropertyEditorParams(e,g,"required"),u={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:f,visible:!!((y=e.binding)!=null&&y.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const p in r)u[p]=Object.assign(u[p]||{},r[p]);const o=this;return{...a,properties:{...u},setPropertyRelates(p,m){if(p){switch(p.propertyID){case"readonly":case"required":o.afterMutilEditorChanged(e,p);break}l&&l.bind(o)(p,e,m)}}}}updateUnifiedLayoutAfterControlChanged(e,n,r){const l=e.split(" ");let a=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),g=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),d=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),f=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));a=a||"col-12",g=g||"col-md-"+a.replace("col-",""),d=d||"col-xl-"+g.replace("col-md-",""),f=f||"col-el-"+d.replace("col-xl-","");const u={id:n,columnInSM:parseInt(a.replace("col-",""),10),columnInMD:parseInt(g.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(f.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,u)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),n){const p=l.find(m=>m.id===n.id);Object.assign(p||{},n)}const a=l.map(p=>p.columnInSM),g=l.map(p=>p.columnInMD),d=l.map(p=>p.columnInLG),f=l.map(p=>p.columnInEL),u=this.checkIsUniqueColumn(a)?a[0]:null,o=this.checkIsUniqueColumn(g)?g[0]:null,c=this.checkIsUniqueColumn(d)?d[0]:null,y=this.checkIsUniqueColumn(f)?f[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:u,uniqueColClassInMD:o,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}getItemCollectionEditor(e,n,r){return n=n||"value",r=r||"name",{editor:{columns:[{field:n,title:"值",dataType:"string"},{field:r,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:n,nameField:r,requiredFields:[n,r],uniqueFields:[n,r],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===W.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,n){e.binding&&e.binding.type===J.Form&&e.binding.field?(n.find(r=>r.label==="fieldValueChanging"),n.find(r=>r.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):n=n.filter(r=>r.label!=="fieldValueChanging"&&r.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case J.Form:return e.binding.path||e.type;case J.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,n="card",r,l){const a=this;let g=[];if(r&&(g=g.concat(r)),g.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,g);const d=a.eventsEditorUtils.formProperties(e,a.viewModelId,g);return{title:"事件",hideTitle:!0,properties:a.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(o,c){const y=o.propertyValue;delete e[a.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,y.controlInfo={type:a.getControlMethodType(e),name:e.title},a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,y.events,y)),l&&l(o,c,y);const p=a.designViewModelUtils.getDgViewModel(a.viewModelId);p&&a.designViewModelField&&p.changeField(a.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,n,r=["compute","dependency","validate"],l){return new de(this.formSchemaUtils).getExpressionConfig(e,n,r,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(e,n,r){var l;e.editor[n]!==r?e.editor[n]=r:(l=this.getFormDesignerInstance())==null||l.reloadPropertyPanel()}setBooleanValue(e,n,r){let l=r;this.getBindingDataType()==="string"&&(l=(l||"").trim()||(n==="trueValue"?"true":"false"));const g=n==="trueValue"?"falseValue":"trueValue";e.editor[g]===l&&(l=l+1),this.updatePropertyValue(e,n,l)}getBooleanValueConverter(){return{convertFrom:(e,n)=>e.editor[n],convertTo:(e,n,r)=>{this.setBooleanValue(e,n,r)}}}}class qe extends $e{getPropertyConfig(t,e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceConfig(),this.getBehaviorConfig(t),this.getFilterBarConfig(t),this.getEventPropConfig(t),this.propertyConfig}getBehaviorConfig(t){this.propertyConfig.categories.apperance={description:"Basic Infomation",title:"行为",properties:{resetText:{description:"选择筛选条件后,按钮“清空筛选”的文本",type:"string",title:"按钮“清空筛选”的文本"}}}}getFilterBarConfig(t){const e=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),n=this;this.getPropertyEditorParams(t,[],"visible"),this.getPropertyEditorParams(t,[],"disable"),this.propertyConfig.categories.control={description:"Basic Infomation",title:"编辑器",properties:{fields:{description:"筛选条字段设置",title:"筛选条字段",type:"",editor:{type:"query-solution-config",source:"filter-bar",title:"筛选条字段",fieldsConfig:e,formSchemaUtils:this.formSchemaUtils,metadataService:this.metadataService,viewModelId:this.viewModelId,designViewModelUtils:this.designViewModelUtils,eventsEditorUtils:this.eventsEditorUtils,schemaService:this.schemaService}},defaultValues:{description:"默认值绑定字段",type:"object",title:"默认值绑定字段",editor:this.getPropertyEditorParams(t,["Variable"],"",{},{newVariableType:"Object"})}},setPropertyRelates(r,l){if(r)switch(r.propertyID){case"visible":case"disable":n.afterMutilEditorChanged(t,r);break;case"defaultValues":n.addNewVariableToViewModel(r,n.viewModelId);break}}}}getEventPropConfig(t){const e=[{label:"onQuery",name:"查询事件"}],n=this,r=n.eventsEditorUtils.formProperties(t,n.viewModelId,e),l=n.createBaseEventProperty(r);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const d=a.propertyValue;delete t[n.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,n.eventsEditorUtils.saveRelatedParameters(t,n.viewModelId,d.events,d)),t.remoteSort=!!t.columnSorted}}}}function We(i,t){function e(g,d){const f=i.schema;return new qe(g,t).getPropertyConfig(f,d)}function n(){return!1}function r(){return!1}function l(){return!1}function a(){var g;if(i&&t){const{formSchemaUtils:d}=t,f=d.getControlBasicInfoMap(),{schema:u}=i,o=xe.DgControl["filter-bar"].name;f.set(u.id,{componentTitle:o,parentPathName:o}),(g=u.fields)!=null&&g.length&&u.fields.map(c=>{f.set(c.id,{componentTitle:c.name,parentPathName:`${o} > ${c.name}`})})}}return{getPropsConfig:e,canAccepts:n,checkCanDeleteComponent:r,checkCanMoveComponent:l,setComponentBasicInfoMap:a}}function ce(i,t){let e;function n(o){const{properties:c,title:y,ignore:p}=o,m=p&&Array.isArray(p),b=Object.keys(c).reduce((v,C)=>((!m||!p.find(k=>k===C))&&(v[C]=c[C].type==="object"&&c[C].properties?n(c[C]):z.cloneDeep(c[C].default)),v),{});if(y&&(!m||!p.find(v=>v==="id"))){const v=y.toLowerCase().replace(/-/g,"_");b.id=`${v}_${Math.random().toString().slice(2,6)}`}return b}function r(o){const{properties:c,title:y,required:p}=o;if(p&&Array.isArray(p)){const m=p.reduce((b,v)=>(b[v]=c[v].type==="object"&&c[v].properties?n(c[v]):z.cloneDeep(c[v].default),b),{});if(y&&p.find(b=>b==="id")){const b=y.toLowerCase().replace(/-/g,"_");m.id=`${b}_${Math.random().toString().slice(2,6)}`}return m}return{type:y}}function l(o,c={},y){const p=i[o];if(p){let m=r(p);const b=t[o];return m=b?b({getSchemaByType:l},m,c,y):m,e!=null&&e.appendIdentifyForNewControl&&e.appendIdentifyForNewControl(m),m}return null}function a(o,c){const y=n(c);return Object.keys(y).reduce((p,m)=>(Object.prototype.hasOwnProperty.call(o,m)&&(p[m]&&z.isPlainObject(p[m])&&z.isPlainObject(o[m]||!o[m])?Object.assign(p[m],o[m]||{}):p[m]=o[m]),p),y),y}function g(o,c){return Object.keys(o).filter(p=>o[p]!=null).reduce((p,m)=>{if(c.has(m)){const b=c.get(m);if(typeof b=="string")p[b]=o[m];else{const v=b(m,o[m],o);Object.assign(p,v)}}else p[m]=o[m];return p},{})}function d(o,c,y=new Map){const p=a(o,c);return g(p,y)}function f(o){var y;const c=o.type;if(c){const p=i[c];if(!p)return o;const m=a(o,p),b=((y=o.editor)==null?void 0:y.type)||"";if(b){const v=i[b],C=a(o.editor,v);m.editor=C}return m}return o}function u(o){e=o}return{getSchemaByType:l,resolveSchemaWithDefaultValue:f,resolveSchemaToProps:d,mappingSchemaToProps:g,setDesignerContext:u}}const ue={},fe={},{resolveSchemaWithDefaultValue:Ge,resolveSchemaToProps:ze,mappingSchemaToProps:_e}=ce(ue,fe);function Qe(i={}){function t(f,u,o,c){if(typeof o=="number")return c[f].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],p=o[y];if(y==="not")return Number(c[f].length)!==Number(p);if(y==="moreThan")return Number(c[f].length)>=Number(p);if(y==="lessThan")return Number(c[f].length)<=Number(p)}return!1}function e(f,u,o,c){return c[f]&&c[f].propertyValue&&String(c[f].propertyValue.value)===String(o)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((f,u)=>(f.set(u,i[u]),f),n);function r(f,u){const o=f;return typeof u=="number"?[{target:o,operator:"length",param:null,value:Number(u)}]:typeof u=="boolean"?[{target:o,operator:"getProperty",param:f,value:!!u}]:typeof u=="object"?Object.keys(u).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:u[c]};const y=c,p=u[c];return{target:o,operator:"getProperty",param:y,value:p}}):[]}function l(f){return Object.keys(f).reduce((o,c)=>{const y=r(c,f[c]);return o.push(...y),o},[])}function a(f,u){if(n.has(f.operator)){const o=n.get(f.operator);return o&&o(f.target,f.param,f.value,u)||!1}return!1}function g(f,u){return l(f).reduce((y,p)=>y&&a(p,u),!0)}function d(f,u){const o=Object.keys(f),c=o.includes("allOf"),y=o.includes("anyOf"),p=c||y,v=(p?f[p?c?"allOf":"anyOf":"allOf"]:[f]).map(k=>g(k,u));return c?!v.includes(!1):v.includes(!0)}return{parseValueSchema:d}}const He={convertTo:(i,t,e,n)=>{i.appearance||(i.appearance={}),i.appearance[t]=e},convertFrom:(i,t,e)=>i.appearance?i.appearance[t]:i[t]},Xe={convertFrom:(i,t,e)=>i.buttons&&i.buttons.length?`共 ${i.buttons.length} 项`:"无"},Ze={convertTo:(i,t,e,n)=>{i.editor&&(i.editor[t]=e)},convertFrom:(i,t,e)=>i.editor&&Object.prototype.hasOwnProperty.call(i.editor,t)?i.editor[t]:i[t]},Je={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"}},Ye={convertFrom:(i,t,e)=>{var r;const n=i.editor&&i.editor[t]?i.editor[t]:i[t];return((r=Je[n])==null?void 0:r.name)||n}},Ke={convertTo:(i,t,e,n)=>{i[t]=i[t]},convertFrom:(i,t,e)=>i.editor?e.getRealEditorType(i.editor.type):""},et={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i.formatter?i.formatter[t]=e:i.formatter={[t]:e})},convertFrom:(i,t,e)=>{if(i.formatter){if(t==="trueText")return i.formatter.trueText;if(t==="falseText")return i.formatter.falseText;if(t==="prefix")return i.formatter.prefix;if(t==="suffix")return i.formatter.suffix;if(t==="precision")return i.formatter.precision;if(t==="decimal")return i.formatter.decimal;if(t==="thousand")return i.formatter.thousand;if(t==="dateFormat")return i.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return i.formatter.customFormat;if(t==="type")return i.formatter.type||"none"}return"none"}},tt={convertTo:(i,t,e,n)=>{i.command?i.command[t]=e:i.command={[t]:e},t==="enableType"&&e==="default"&&(i.command.enable=!0,i.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),t==="enableType"&&e==="custom"&&(i.command.enable=!0,i.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"}]),t==="enableType"&&e==="unable"&&(i.command.enable=!1)},convertFrom:(i,t,e)=>{var n,r;if(i.command){if(t==="enableType"){const l=(r=(n=i.command)==null?void 0:n.commands)==null?void 0:r.find(a=>a.command==="edit"&&a.type==="primary");return i.command.enable?l?"default":"custom":"unable"}if(t==="commands")return i.command.enableType==="custom"?i.command.commands:[];if(t==="formatter")return i.command.formatter;if(t==="count")return i.command.count}return""}},it={convertTo:(i,t,e,n)=>{i.column?i.column[t]=e:i.column={[t]:e},t==="fitColumns"&&e&&(i.column.fitMode||(i.column.fitMode="average"))},convertFrom:(i,t,e)=>{if(i.column){if(t==="fitColumns")return i.column.fitColumns;if(t==="fitMode")return i.column.fitMode}return""}},nt={convertTo:(i,t,e,n)=>{i.summary?i.summary[t]=e:i.summary={[t]:e},t==="enable"&&e&&(i.summary?i.summary.groupFields||(i.summary.groupFields=[]):i.summary={enable:e,groupFields:[]})},convertFrom:(i,t,e)=>i.summary&&t==="enable"?i.summary.enable:i.type==="data-grid-column"?i.enableSummary===void 0?!1:i.enableSummary:""},rt={convertTo:(i,t,e,n)=>{i.group?i.group[t]=e:i.group={[t]:e},t==="enable"&&e&&(i.group?i.group.groupFields||(i.group.groupFields=[]):i.group={enable:e,groupFields:[],showSummary:!1})},convertFrom:(i,t,e)=>{if(i.group){if(t==="enable")return i.group.enable;if(t==="showSummary")return i.group.showSummary}}},ot={convertFrom:(i,t)=>i.binding?i.binding.path:"",convertTo:(i,t,e)=>{if(e&&e.length>0){const n=e[0];i.binding||(i.binding={}),i.binding.type="Form",i.binding.path=n.bindingField,i.binding.field=n.id,i.binding.fullPath=n.path,i.path=n.bindingPath}}},lt={convertTo:(i,t,e,n)=>{i.pagination||(i.pagination={}),i.pagination[t]=e},convertFrom:(i,t,e)=>i.pagination?i.pagination[t]:i[t]},st={convertTo:(i,t,e,n)=>{i.rowNumber||(i.rowNumber={}),i.rowNumber[t]=e},convertFrom:(i,t,e)=>i.rowNumber?i.rowNumber[t]:i[t]},at={convertTo:(i,t,e,n)=>{i.selection||(i.selection={}),i.selection[t]=e},convertFrom:(i,t,e)=>{var n,r;return t==="showCheckbox"?(n=i.selection)!=null&&n.multiSelect?!0:(r=i.selection)==null?void 0:r.showCheckbox:i.selection?i.selection[t]:i[t]}},dt={convertFrom:(i,t,e)=>i[t]&&i[t].length?`共 ${i[t].length} 项`:""},ct={convertFrom:(i,t)=>i[t]||"",convertTo:(i,t,e)=>{i[t]=e}},ut={convertTo:(i,t,e,n)=>{i.size||(i.size={}),i.size[t]=e},convertFrom:(i,t,e)=>i.size?i.size[t]:i[t]},ft={convertFrom:(i,t,e)=>{var n,r;return(n=i.formatter)!=null&&n.data&&t==="formatterEnumData"&&!i.formatterEnumData?(r=i.formatter)==null?void 0:r.data:i.formatterEnumData}},pt={convertTo:(i,t,e,n)=>{i.sort||(i.sort={}),i.sort[t]=e},convertFrom:(i,t,e)=>{var n,r;if(t==="mode")return((n=i.sort)==null?void 0:n.mode)||"client";if(t==="multiSort")return!!((r=i.sort)!=null&&r.multiSort)}},mt={convertTo:(i,t,e,n)=>{i.filter||(i.filter={}),i.filter[t]=e},convertFrom:(i,t,e)=>{var n;if(t==="mode")return((n=i.filter)==null?void 0:n.mode)||"client"}},gt={convertTo:(i,t,e,n)=>{i.rowOption?i.rowOption[t]=e:i.rowOption={[t]:e}},convertFrom:(i,t,e)=>{if(i.rowOption){if(t==="customRowStyle")return i.rowOption.customRowStyle;if(t==="customCellStyle")return i.rowOption.customCellStyle}return""}},ht={convertTo:(i,t,e,n)=>{(i.type==="data-grid-column"||i.type==="tree-grid-column")&&(i[t]=e,t==="columnTemplateType"&&e==="hyperlink"&&(i.onClickLinkCommand?i.columnTemplate=`
|
|
2
2
|
<span class="f-pretend-link f-cursor-pointer"
|
|
3
3
|
@click="(ctx)=>viewModel.current.${i.onClickLinkCommand||""}({id: rowData.id,context: ctx})">
|
|
4
4
|
{{rowData.${i.field}}}
|
|
5
5
|
</span>`:i.columnTemplate=`
|
|
6
6
|
<span class="f-pretend-link f-cursor-pointer">
|
|
7
7
|
{{rowData.${i.field}}}
|
|
8
|
-
</span>`),t==="columnTemplateType"&&e==="default"&&(i.columnTemplate=""),t==="columnTemplateType"&&e==="custom"&&(i.columnTemplate=""))},convertFrom:(i,t,e)=>t==="columnTemplate"?i.columnTemplate:t==="columnTemplateType"?i.columnTemplateType?i.columnTemplateType||"default":i.columnTemplate&&!i.onClickLinkCommand?"custom":i.columnTemplate&&i.onClickLinkCommand?"hyperlink":"default":""};function pe(i,t,e){const n=new Map([["/converter/appearance.converter",
|
|
8
|
+
</span>`),t==="columnTemplateType"&&e==="default"&&(i.columnTemplate=""),t==="columnTemplateType"&&e==="custom"&&(i.columnTemplate=""))},convertFrom:(i,t,e)=>t==="columnTemplate"?i.columnTemplate:t==="columnTemplateType"?i.columnTemplateType?i.columnTemplateType||"default":i.columnTemplate&&!i.onClickLinkCommand?"custom":i.columnTemplate&&i.onClickLinkCommand?"hyperlink":"default":""};function pe(i,t,e){const n=new Map([["/converter/appearance.converter",He],["/converter/buttons.converter",Xe],["/converter/property-editor.converter",Ze],["/converter/items-count.converter",dt],["/converter/type.converter",Ye],["/converter/change-editor.converter",Ke],["/converter/change-formatter.converter",et],["/converter/column-command.converter",tt],["/converter/column-option.converter",it],["/converter/summary.converter",nt],["/converter/group.converter",rt],["/converter/form-group-label.converter",ct],["/converter/field-selector.converter",ot],["/converter/pagination.converter",lt],["/converter/row-number.converter",st],["/converter/grid-selection.converter",at],["/converter/size.converter",ut],["/converter/change-formatter-enum.converter",ft],["/converter/grid-sort.converter",pt],["/converter/grid-filter.converter",mt],["/converter/row-option.converter",gt],["/converter/change-formatter-type.converter",ht]]),r=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=Qe();function a(p,m){return()=>l.parseValueSchema(p,m)}function g(p,m,b){return p.includes("visible")&&m.visible!==void 0?typeof m.visible=="boolean"?()=>!!m.visible:m.visible===void 0?!0:a(m.visible,b):()=>!0}function d(p,m,b){return p.includes("readonly")&&m.readonly!==void 0?typeof m.readonly=="boolean"?()=>!!m.readonly:a(m.readonly,b):()=>!1}function f(p,m){const b=p.$converter||m;return typeof b=="string"&&b&&n.has(b)?n.get(b)||null:b||null}function u(p,m,b,v,C,k="",N=""){return Object.keys(p).map(M=>{const j=s.ref(1),D=M,S=p[M],F=Object.keys(S),A=S.title,O=S.type,w=r.get(O)||{type:"input-group",enableClear:!1},T=S.editor?Object.assign({},w,S.editor):Object.assign({},w),L=g(F,S,m),x=d(F,S,m);T.readonly=T.readonly===void 0?x():T.readonly;const I=S.type==="cascade"?u(S.properties,m,b,v,C,k,N):[],U=!0;let B=f(S,N);const R=s.computed({get(){if(j.value){if(["class","style"].find(xt=>xt===D)&&!B&&(B=n.get("/converter/appearance.converter")||null),B&&B.convertFrom)return B.convertFrom(b,M,C,k);const q=b[M];return Object.prototype.hasOwnProperty.call(S,"defaultValue")&&(q===void 0||typeof q=="string"&&q==="")?S.type==="boolean"?S.defaultValue:S.defaultValue||"":q}return null},set(q){j.value+=1,B&&B.convertTo?(B.convertTo(v,M,q,C,k),B.convertTo(b,M,q,C,k)):(v[M]=q,b[M]=q)}}),{refreshPanelAfterChanged:Y,description:Ft,isExpand:wt,parentPropertyID:It}=S,Fe={propertyID:D,propertyName:A,propertyType:O,propertyValue:R,editor:T,visible:L,readonly:x,cascadeConfig:I,hideCascadeTitle:U,refreshPanelAfterChanged:Y,description:Ft,isExpand:wt,parentPropertyID:It};return m[D]=Fe,Fe})}function o(p,m,b={}){const v={},C=i[p];return C&&C.categories?Object.keys(C.categories).map(N=>{const E=C.categories[N],M=E==null?void 0:E.title,j=u(E.properties||{},v,{},b,m);return{categoryId:N,categoryName:M,properties:j}}):[]}function c(p,m,b,v,C=""){const k=m.$ref.schema,N=m.$ref.converter,E=b[k],M=E.type,j=e(E),D={},S=i[M];if(S&&S.categories){const F=S.categories[p],A=F==null?void 0:F.title;N&&Object.keys(F.properties).forEach(T=>{F.properties[T].$converter=N});const O=(F==null?void 0:F.properties)||{},w=u(O,D,j,E,v,C);return{categoryId:p,categoryName:A,properties:w}}return{categoryId:p,categoryName:"",properties:[]}}function y(p,m,b,v,C){const k=p.type,N=e(p),E={};let M=C||i[k];if(!(M&&Object.keys(M).length>0)&&b&&b.getPropConfig&&(M=b.getPropConfig(v)),M&&M.categories){const D=[];return Object.keys(M.categories).map(S=>{const F=M.categories[S];if(F.$ref){D.push(c(S,F,p,m,v));return}const A=F==null?void 0:F.title,O=F==null?void 0:F.tabId,w=F==null?void 0:F.tabName,T=F==null?void 0:F.hide,L=F==null?void 0:F.hideTitle,x=u(F.properties||{},E,N,p,m,v,F.$converter),{setPropertyRelates:I}=F,U=F==null?void 0:F.parentPropertyID;D.push({categoryId:S,categoryName:A,tabId:O,tabName:w,hide:T,properties:x,hideTitle:L,setPropertyRelates:I,parentPropertyID:U})}),D}return[]}return{getPropertyConfigBySchema:y,getPropertyConfigByType:o,propertyConverterMap:n}}const me={},ge={};pe(me,ge,Ge);const he={},ye={},{resolveSchemaWithDefaultValue:yt}=ce(he,ye),be={},ve={};pe(be,ve,yt);function bt(i,t,e=new Map,n=(a,g,d,f)=>g,r={},l=a=>a){return ue[t.title]=t,fe[t.title]=n,me[t.title]=r,ge[t.title]=l,he[t.title]=t,ye[t.title]=n,be[t.title]=r,ve[t.title]=l,(a={},g=!0)=>{if(!g)return _e(a,e);const d=ze(a,t,e),f=Object.keys(i).reduce((u,o)=>(u[o]=i[o].default,u),{});return Object.assign(f,d)}}const Ce=Object.assign({},H,{componentId:{type:String,default:""}}),vt=bt(Ce,oe,ne,re),Ct=s.defineComponent({name:"FFilterBarDesign",props:Ce,emits:["Clear","Remove","Reset"],setup(i,t){const e=s.ref(!1),n=s.ref(!1),r=s.ref(!1),l=s.ref(null),a=De(i),{filterFields:g,filterItems:d,loadFilterItems:f}=a,u=s.ref(0),o=s.ref(),c=s.inject("design-item-context"),y=s.inject("designer-host-service"),p=We(c,y),m=h.useDesignerComponent(o,c,p),b=ae(l,r),{cancelWidthObserver:v,setupWidthObserver:C}=b,{resolveEditorProps:k}=ee.useTypeResolver();s.provide("useFilterItemsComposition",{useFilterItemsComposition:a,resolveEditorProps:k});const N=s.computed(()=>{const F={display:g.value&&g.value.length?"":"none"};return W.getCustomStyle(F,i==null?void 0:i.customStyle)});s.onMounted(()=>{o.value.componentInstance=m,C()}),s.onUnmounted(()=>{v()}),t.expose(m.value),s.watch(()=>i.fields,F=>{f(F,[]),u.value++},{immediate:!0});const E=s.computed(()=>n.value&&e.value),M=s.computed(()=>({"f-filter-list":!0,"f-filter-list-extend":E.value}));function j(){return s.createVNode("div",{class:M.value,key:i.id+"-main-"+u.value},[d.value.map((F,A)=>s.createVNode(Le,{filterItem:F},null))])}function D(){return r.value&&s.createVNode("div",{class:"f-filter-list-ellipsis"},[s.createTextVNode("...")])}const S=Oe(i,t,a);return()=>s.createVNode("div",{ref:o,class:"f-filter-wrapper "+i.customClass,style:N.value},[s.createVNode("div",{class:"f-filter-wrapper-inner f-utils-fill"},[s.createVNode("div",{class:"f-filter-main f-utils-fill"},[s.createVNode("div",{class:"f-filter-list-wrapper flex-fill",ref:l},[j()]),D(),S()]),r.value&&s.createVNode("div",{class:"f-filter-extend-btn"},[s.createVNode("button",{class:"btn btn-link"},[s.createVNode("span",{class:"extend-btn-text"},[s.createTextVNode("展开")]),s.createVNode("span",{class:"extend-btn-arrow f-icon f-icon-arrow-chevron-down"},null)])])])])}});G.install=i=>{i.component(G.name,G)},G.register=(i,t,e,n)=>{i["filter-bar"]=G,t["filter-bar"]=le},G.registerDesigner=(i,t,e)=>{i["filter-bar"]=Ct,t["filter-bar"]=vt},P.FFilterBar=G,P.default=G,P.filterBarProps=H,P.propsResolver=le,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.fv-filter-condition-grid td .form-group{margin-bottom:0}.fv-filter-condition-grid td{vertical-align:middle}
|
|
1
|
+
@charset "UTF-8";.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.fv-resizable-handle{position:absolute;font-size:.1px;display:block;touch-action:none}.fv-resizable-handle:hover{background:transparent}.fv-resizable-handle.fv-resizable-n{cursor:n-resize;height:.4375rem;width:100%;top:-.3125rem;left:0}.fv-resizable-handle.fv-resizable-e{cursor:e-resize;width:.4375rem;right:-.3125rem;height:100%;top:0}.fv-resizable-handle.fv-resizable-s{cursor:s-resize;height:.4375rem;width:100%;bottom:-.3125rem;left:0}.fv-resizable-handle.fv-resizable-w{cursor:w-resize;height:100%;width:.4375rem;left:-.3125rem;top:0}.fv-resizable-handle.fv-resizable-ne{cursor:ne-resize;width:.75rem;height:.75rem;right:1px;top:1px}.fv-resizable-handle.fv-resizable-se{cursor:se-resize;width:.75rem;height:.75rem;right:1px;bottom:1px}.fv-resizable-handle.fv-resizable-nw{cursor:nw-resize;width:.75rem;height:.75rem;left:1px;top:1px}.fv-resizable-handle.fv-resizable-sw{cursor:sw-resize;width:.75rem;height:.75rem;left:1px;bottom:1px}.f-button-edit .farris-tags{min-height:24px}.f-button-edit:hover .farris-tags{height:auto}.f-button-edit:hover .more-tags{visibility:hidden}.f-button-edit .more-tags{cursor:pointer;align-items:center;color:#2a87ff;font-weight:600;font-size:12px}.expression-editor{border:1px solid #cccccc}.expression-editor .layout-border{border:1px solid #cccccc;border-top:0;border-bottom:0;box-shadow:none!important}.expression-editor .expression-left .search-bar{justify-content:center}.expression-editor .expression-left .layout-border{border:0}.expression-editor .functions-list .empty-message{color:#ccc;text-align:center;margin-top:10px;-webkit-user-select:none;user-select:none}.expression-editor .functions-list .functions-type{overflow:hidden;transition:all .2s ease-in}.expression-editor .functions-list .functions-type.open{max-height:1300px}.expression-editor .functions-list .functions-type.closed{max-height:28px}.expression-editor .functions-list .functions-type .functions-type-name{cursor:pointer;height:28px;line-height:28px;font-weight:700}.expression-editor .functions-list .functions-type .functions-type-name:hover{background:#e7f1ff;border-radius:6px}.expression-editor .functions-list .functions-type li{height:28px;line-height:28px;list-style:none}.expression-editor .functions-list .functions-type .functions-item{cursor:pointer}.expression-editor .functions-list .functions-type .functions-item.selected{background:#dae9ff;border-radius:6px}.expression-editor .functions-list .functions-type .functions-item:hover:not(.selected){background:#e7f1ff;border-radius:6px}.expression-editor .function-remark{resize:none;outline:none;background:#f4f4f4;border:1px solid #cbcbcb;border-left:0;border-bottom:0;border-right:0;color:#4682b4}.expression-editor .entity-variable ul{list-style:none}.expression-editor .entity-variable ul li.list-group{overflow:hidden;transition:all .2s ease-in}.expression-editor .entity-variable ul li.list-group.expand{max-height:calc(100% - 32px)}.expression-editor .entity-variable ul li.list-group.collapse{max-height:32px}.expression-editor .entity-variable ul li.list-group .title{cursor:pointer;border-bottom:1px solid #d9d9d9;justify-content:space-between;background:#f7f8fb;height:32px;min-height:32px;font-weight:700;line-height:32px}.expression-editor .entity-variable ul li.list-group .data-area{background-color:#fff}.expression-editor .monaco-editor .suggest-widget{z-index:9999!important}.expression-editor .fv-grid-row-selected .entity-field .d-none,.expression-editor .entity-field:hover .d-none{display:block!important}.expression-editor .expression-code-editor{position:fixed;z-index:201}.expression-editor .f-layout-horizontal-resize-proxy,.expression-editor .f-layout-vertical-resize-proxy{z-index:300!important}.exception_wrap{max-width:750px;display:flex;overflow:hidden;position:relative}.exception_error_msg{line-height:1.5;overflow:hidden;min-height:66px}.exception_error_msg .exception_toggle_detail{position:absolute;right:0;color:var(--f-theme-03);cursor:pointer}.copy-exception-info{width:100%;color:var(--f-theme-03);padding-left:37px}.fv-filter-condition-grid td .form-group{margin-bottom:0}.fv-filter-condition-grid td{vertical-align:middle}
|