@ibiz-template/vue3-util 0.7.41-alpha.13 → 0.7.41-alpha.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/es/common/badge/badge.css +1 -1
- package/es/common/badge/badge.d.ts +6 -8
- package/es/common/badge/badge.d.ts.map +1 -1
- package/es/common/badge/badge.mjs +13 -7
- package/es/common/code-list/code-list.d.ts +10 -10
- package/es/common/code-list/code-list.d.ts.map +1 -1
- package/es/common/code-list/code-list.mjs +1 -1
- package/es/common/control-base/control-base.d.ts.map +1 -1
- package/es/common/control-base/control-base.mjs +9 -15
- package/es/common/control-loading-placeholder/control-loading-placeholder.d.ts +4 -4
- package/es/common/control-loading-placeholder/control-loading-placeholder.d.ts.map +1 -1
- package/es/common/control-shell/control-shell.d.ts +7 -7
- package/es/common/control-shell/control-shell.d.ts.map +1 -1
- package/es/common/control-shell/control-shell.mjs +1 -1
- package/es/common/custom-render/custom-render.d.ts +4 -4
- package/es/common/custom-render/custom-render.d.ts.map +1 -1
- package/es/common/icon/icon.d.ts +4 -4
- package/es/common/icon/icon.d.ts.map +1 -1
- package/es/common/icon/icon.mjs +12 -0
- package/es/common/index.d.ts +1 -0
- package/es/common/index.d.ts.map +1 -1
- package/es/common/index.mjs +1 -0
- package/es/common/router-view/router-view.d.ts +7 -8
- package/es/common/router-view/router-view.d.ts.map +1 -1
- package/es/common/router-view/router-view.mjs +1 -1
- package/es/common/signature-pad/signature-pad.css +1 -0
- package/es/common/signature-pad/signature-pad.d.ts +19 -0
- package/es/common/signature-pad/signature-pad.d.ts.map +1 -0
- package/es/common/signature-pad/signature-pad.mjs +165 -0
- package/es/common/signature-pad/util/bezier.d.ts +58 -0
- package/es/common/signature-pad/util/bezier.d.ts.map +1 -0
- package/es/common/signature-pad/util/bezier.mjs +109 -0
- package/es/common/signature-pad/util/point.d.ts +55 -0
- package/es/common/signature-pad/util/point.d.ts.map +1 -0
- package/es/common/signature-pad/util/point.mjs +51 -0
- package/es/common/signature-pad/util/signature_pad.d.ts +593 -0
- package/es/common/signature-pad/util/signature_pad.d.ts.map +1 -0
- package/es/common/signature-pad/util/signature_pad.mjs +1018 -0
- package/es/common/view-shell/view-shell.d.ts +19 -12
- package/es/common/view-shell/view-shell.d.ts.map +1 -1
- package/es/common/view-shell/view-shell.mjs +42 -23
- package/es/control/panel/panel/index.d.ts +5 -5
- package/es/control/panel/panel/index.d.ts.map +1 -1
- package/es/control/panel/panel/panel.d.ts +6 -6
- package/es/control/panel/panel/panel.d.ts.map +1 -1
- package/es/control/panel/panel/panel.mjs +13 -5
- package/es/control/panel/view-layout-panel/index.d.ts +5 -5
- package/es/control/panel/view-layout-panel/index.d.ts.map +1 -1
- package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +7 -7
- package/es/control/panel/view-layout-panel/view-layout-panel.d.ts.map +1 -1
- package/es/control/panel/view-layout-panel/view-layout-panel.mjs +6 -6
- package/es/index.mjs +9 -11
- package/es/locale/en/index.d.ts +1 -0
- package/es/locale/en/index.d.ts.map +1 -1
- package/es/locale/en/index.mjs +2 -1
- package/es/locale/zh-CN/index.d.ts +1 -0
- package/es/locale/zh-CN/index.d.ts.map +1 -1
- package/es/locale/zh-CN/index.mjs +2 -1
- package/es/node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.mjs +2 -2
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts.map +1 -1
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.mjs +3 -1
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -1
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts +6 -4
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts.map +1 -1
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.mjs +17 -6
- package/es/panel-component/auth-wxmp-qrcode/index.d.ts +6 -4
- package/es/panel-component/auth-wxmp-qrcode/index.d.ts.map +1 -1
- package/es/panel-component/grid-container/grid-container.controller.d.ts +3 -3
- package/es/panel-component/grid-container/grid-container.controller.d.ts.map +1 -1
- package/es/panel-component/grid-container/grid-container.controller.mjs +2 -2
- package/es/panel-component/grid-container/grid-container.d.ts +8 -6
- package/es/panel-component/grid-container/grid-container.d.ts.map +1 -1
- package/es/panel-component/grid-container/grid-container.mjs +17 -6
- package/es/panel-component/grid-container/grid-container.state.d.ts +3 -3
- package/es/panel-component/grid-container/grid-container.state.d.ts.map +1 -1
- package/es/panel-component/grid-container/grid-container.state.mjs +2 -2
- package/es/panel-component/grid-container/index.d.ts +8 -6
- package/es/panel-component/grid-container/index.d.ts.map +1 -1
- package/es/panel-component/index.d.ts +0 -1
- package/es/panel-component/index.d.ts.map +1 -1
- package/es/panel-component/index.mjs +1 -5
- package/es/panel-component/multi-data-container/index.d.ts +6 -4
- package/es/panel-component/multi-data-container/index.d.ts.map +1 -1
- package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts +4 -4
- package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts.map +1 -1
- package/es/panel-component/multi-data-container/multi-data-container.controller.mjs +88 -69
- package/es/panel-component/multi-data-container/multi-data-container.d.ts +7 -5
- package/es/panel-component/multi-data-container/multi-data-container.d.ts.map +1 -1
- package/es/panel-component/multi-data-container/multi-data-container.mjs +20 -6
- package/es/panel-component/multi-data-container/multi-data-container.state.d.ts +3 -3
- package/es/panel-component/multi-data-container/multi-data-container.state.d.ts.map +1 -1
- package/es/panel-component/multi-data-container/multi-data-container.state.mjs +2 -2
- package/es/panel-component/multi-data-container-raw/index.d.ts +6 -4
- package/es/panel-component/multi-data-container-raw/index.d.ts.map +1 -1
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts +4 -4
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts.map +1 -1
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.mjs +88 -69
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.d.ts +7 -5
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.d.ts.map +1 -1
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.mjs +23 -7
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.state.d.ts +3 -3
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.state.d.ts.map +1 -1
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.state.mjs +2 -2
- package/es/panel-component/nav-pos/index.d.ts +7 -5
- package/es/panel-component/nav-pos/index.d.ts.map +1 -1
- package/es/panel-component/nav-pos/nav-pos.controller.d.ts +1 -1
- package/es/panel-component/nav-pos/nav-pos.d.ts +8 -6
- package/es/panel-component/nav-pos/nav-pos.d.ts.map +1 -1
- package/es/panel-component/nav-pos/nav-pos.mjs +20 -5
- package/es/panel-component/panel-container/index.d.ts +7 -6
- package/es/panel-component/panel-container/index.d.ts.map +1 -1
- package/es/panel-component/panel-container/index.mjs +1 -2
- package/es/panel-component/panel-container/panel-container.d.ts +7 -5
- package/es/panel-component/panel-container/panel-container.d.ts.map +1 -1
- package/es/panel-component/panel-container/panel-container.mjs +36 -15
- package/es/panel-component/panel-container/panel-container.provider.d.ts +2 -2
- package/es/panel-component/panel-container/panel-container.provider.d.ts.map +1 -1
- package/es/panel-component/panel-container/panel-container.provider.mjs +1 -1
- package/es/panel-component/panel-container-image/index.d.ts +6 -4
- package/es/panel-component/panel-container-image/index.d.ts.map +1 -1
- package/es/panel-component/panel-container-image/panel-container-image.controller.d.ts +3 -3
- package/es/panel-component/panel-container-image/panel-container-image.controller.d.ts.map +1 -1
- package/es/panel-component/panel-container-image/panel-container-image.controller.mjs +2 -2
- package/es/panel-component/panel-container-image/panel-container-image.css +1 -1
- package/es/panel-component/panel-container-image/panel-container-image.d.ts +6 -4
- package/es/panel-component/panel-container-image/panel-container-image.d.ts.map +1 -1
- package/es/panel-component/panel-container-image/panel-container-image.mjs +24 -10
- package/es/panel-component/panel-container-image/panel-container-image.state.d.ts +3 -3
- package/es/panel-component/panel-container-image/panel-container-image.state.d.ts.map +1 -1
- package/es/panel-component/panel-container-image/panel-container-image.state.mjs +2 -2
- package/es/panel-component/panel-container-tabs/index.d.ts +6 -6
- package/es/panel-component/panel-container-tabs/index.d.ts.map +1 -1
- package/es/panel-component/panel-container-tabs/panel-container-tabs.d.ts +5 -5
- package/es/panel-component/panel-container-tabs/panel-container-tabs.d.ts.map +1 -1
- package/es/panel-component/panel-container-tabs/panel-container-tabs.mjs +1 -1
- package/es/panel-component/panel-container-tabs/panel-container-tabs.provider.d.ts +2 -2
- package/es/panel-component/panel-container-tabs/panel-container-tabs.provider.d.ts.map +1 -1
- package/es/panel-component/panel-container-tabs/panel-container-tabs.provider.mjs +1 -1
- package/es/panel-component/panel-ctrl-pos/index.d.ts +6 -4
- package/es/panel-component/panel-ctrl-pos/index.d.ts.map +1 -1
- package/es/panel-component/panel-ctrl-pos/panel-ctrl-pos.d.ts +6 -4
- package/es/panel-component/panel-ctrl-pos/panel-ctrl-pos.d.ts.map +1 -1
- package/es/panel-component/panel-ctrl-pos/panel-ctrl-pos.mjs +12 -4
- package/es/panel-component/panel-ctrl-view-page-caption/index.d.ts +6 -4
- package/es/panel-component/panel-ctrl-view-page-caption/index.d.ts.map +1 -1
- package/es/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.css +1 -0
- package/es/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.d.ts +7 -4
- package/es/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.d.ts.map +1 -1
- package/es/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.mjs +16 -8
- package/es/panel-component/panel-field/index.d.ts +7 -4
- package/es/panel-component/panel-field/index.d.ts.map +1 -1
- package/es/panel-component/panel-field/panel-field.controller.d.ts +12 -0
- package/es/panel-component/panel-field/panel-field.controller.d.ts.map +1 -1
- package/es/panel-component/panel-field/panel-field.controller.mjs +37 -3
- package/es/panel-component/panel-field/panel-field.css +1 -1
- package/es/panel-component/panel-field/panel-field.d.ts +7 -4
- package/es/panel-component/panel-field/panel-field.d.ts.map +1 -1
- package/es/panel-component/panel-field/panel-field.mjs +29 -12
- package/es/panel-component/panel-item-render/index.d.ts +6 -4
- package/es/panel-component/panel-item-render/index.d.ts.map +1 -1
- package/es/panel-component/panel-item-render/panel-item-render.controller.d.ts.map +1 -1
- package/es/panel-component/panel-item-render/panel-item-render.controller.mjs +7 -5
- package/es/panel-component/panel-item-render/panel-item-render.d.ts +6 -4
- package/es/panel-component/panel-item-render/panel-item-render.d.ts.map +1 -1
- package/es/panel-component/panel-item-render/panel-item-render.mjs +13 -4
- package/es/panel-component/panel-rawitem/index.d.ts +8 -6
- package/es/panel-component/panel-rawitem/index.d.ts.map +1 -1
- package/es/panel-component/panel-rawitem/panel-rawitem.d.ts +8 -6
- package/es/panel-component/panel-rawitem/panel-rawitem.d.ts.map +1 -1
- package/es/panel-component/panel-rawitem/panel-rawitem.mjs +15 -10
- package/es/panel-component/panel-tab-page/index.d.ts +8 -6
- package/es/panel-component/panel-tab-page/index.d.ts.map +1 -1
- package/es/panel-component/panel-tab-page/panel-tab-page.d.ts +10 -8
- package/es/panel-component/panel-tab-page/panel-tab-page.d.ts.map +1 -1
- package/es/panel-component/panel-tab-page/panel-tab-page.mjs +23 -8
- package/es/panel-component/panel-tab-page/panel-tab-page.provider.d.ts +2 -2
- package/es/panel-component/panel-tab-page/panel-tab-page.provider.d.ts.map +1 -1
- package/es/panel-component/panel-tab-page/panel-tab-page.provider.mjs +2 -2
- package/es/panel-component/scroll-container/index.d.ts +6 -4
- package/es/panel-component/scroll-container/index.d.ts.map +1 -1
- package/es/panel-component/scroll-container/scroll-container/scroll-container.controller.d.ts +3 -3
- package/es/panel-component/scroll-container/scroll-container/scroll-container.controller.d.ts.map +1 -1
- package/es/panel-component/scroll-container/scroll-container/scroll-container.controller.mjs +2 -2
- package/es/panel-component/scroll-container/scroll-container/scroll-container.d.ts +6 -4
- package/es/panel-component/scroll-container/scroll-container/scroll-container.d.ts.map +1 -1
- package/es/panel-component/scroll-container/scroll-container/scroll-container.mjs +26 -15
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.controller.d.ts +3 -3
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.controller.d.ts.map +1 -1
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.controller.mjs +2 -2
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.d.ts +6 -4
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.d.ts.map +1 -1
- package/es/panel-component/scroll-container/scroll-container-item/scroll-container-item.mjs +21 -6
- package/es/panel-component/single-data-container/index.d.ts +6 -4
- package/es/panel-component/single-data-container/index.d.ts.map +1 -1
- package/es/panel-component/single-data-container/single-data-container.controller.d.ts +4 -4
- package/es/panel-component/single-data-container/single-data-container.controller.d.ts.map +1 -1
- package/es/panel-component/single-data-container/single-data-container.controller.mjs +98 -73
- package/es/panel-component/single-data-container/single-data-container.d.ts +7 -5
- package/es/panel-component/single-data-container/single-data-container.d.ts.map +1 -1
- package/es/panel-component/single-data-container/single-data-container.mjs +22 -6
- package/es/panel-component/single-data-container/single-data-container.state.d.ts +3 -3
- package/es/panel-component/single-data-container/single-data-container.state.d.ts.map +1 -1
- package/es/panel-component/single-data-container/single-data-container.state.mjs +2 -2
- package/es/panel-component/teleport-placeholder/index.d.ts +7 -5
- package/es/panel-component/teleport-placeholder/index.d.ts.map +1 -1
- package/es/panel-component/teleport-placeholder/teleport-placeholder.d.ts +7 -5
- package/es/panel-component/teleport-placeholder/teleport-placeholder.d.ts.map +1 -1
- package/es/panel-component/teleport-placeholder/teleport-placeholder.mjs +11 -4
- package/es/plugin/plugin-factory/plugin-factory.d.ts +15 -0
- package/es/plugin/plugin-factory/plugin-factory.d.ts.map +1 -1
- package/es/plugin/plugin-factory/plugin-factory.mjs +34 -6
- package/es/props/editor/autocomplete.d.ts +2 -2
- package/es/props/editor/check-box-list.d.ts +2 -2
- package/es/props/editor/check-box.d.ts +2 -2
- package/es/props/editor/code.d.ts +17 -0
- package/es/props/editor/code.d.ts.map +1 -1
- package/es/props/editor/code.mjs +7 -2
- package/es/props/editor/common.d.ts +7 -0
- package/es/props/editor/common.d.ts.map +1 -1
- package/es/props/editor/common.mjs +5 -1
- package/es/props/editor/data-picker.d.ts +2 -2
- package/es/props/editor/date-picker.d.ts +2 -2
- package/es/props/editor/date-range-select.d.ts +4 -0
- package/es/props/editor/date-range-select.d.ts.map +1 -1
- package/es/props/editor/date-range.d.ts +2 -2
- package/es/props/editor/dropdown-list.d.ts +2 -2
- package/es/props/editor/html.d.ts +17 -0
- package/es/props/editor/html.d.ts.map +1 -1
- package/es/props/editor/html.mjs +7 -2
- package/es/props/editor/index.mjs +3 -3
- package/es/props/editor/list-box.d.ts +2 -2
- package/es/props/editor/markdown.d.ts +89 -0
- package/es/props/editor/markdown.d.ts.map +1 -1
- package/es/props/editor/markdown.mjs +28 -3
- package/es/props/editor/number-range.d.ts +2 -2
- package/es/props/editor/radio-button-list.d.ts +2 -2
- package/es/props/editor/rate.d.ts +2 -2
- package/es/props/editor/raw.d.ts +2 -2
- package/es/props/editor/slider.d.ts +2 -2
- package/es/props/editor/span.d.ts +18 -2
- package/es/props/editor/span.d.ts.map +1 -1
- package/es/props/editor/span.mjs +6 -1
- package/es/props/editor/stepper.d.ts +2 -2
- package/es/props/editor/switch.d.ts +2 -2
- package/es/props/editor/text-box.d.ts +2 -2
- package/es/props/index.mjs +3 -3
- package/es/use/index.d.ts +2 -0
- package/es/use/index.d.ts.map +1 -1
- package/es/use/index.mjs +4 -2
- package/es/use/popover/popover.d.ts +7 -0
- package/es/use/popover/popover.d.ts.map +1 -1
- package/es/use/popover/popover.mjs +9 -2
- package/es/use/storage/index.d.ts +4 -6
- package/es/use/storage/index.d.ts.map +1 -1
- package/es/use/storage/index.mjs +16 -11
- package/es/use/tooltip/tooltip.d.ts +103 -0
- package/es/use/tooltip/tooltip.d.ts.map +1 -0
- package/es/use/tooltip/tooltip.mjs +68 -0
- package/es/use/use-semantic-node/use-semantic-node.d.ts +15 -0
- package/es/use/use-semantic-node/use-semantic-node.d.ts.map +1 -0
- package/es/use/use-semantic-node/use-semantic-node.mjs +100 -0
- package/es/use/vue/vue.d.ts +9 -0
- package/es/use/vue/vue.d.ts.map +1 -1
- package/es/use/vue/vue.mjs +15 -2
- package/es/util/index.d.ts +0 -1
- package/es/util/index.d.ts.map +1 -1
- package/es/util/index.mjs +0 -1
- package/es/util/install.d.ts.map +1 -1
- package/es/util/overlay-container/overlay-container.d.ts +1 -1
- package/es/util/overlay-container/overlay-container.d.ts.map +1 -1
- package/es/util/overlay-container/overlay-container.mjs +7 -2
- package/es/util/overlay-view-util/overlay-view-util.d.ts +2 -2
- package/es/util/overlay-view-util/overlay-view-util.d.ts.map +1 -1
- package/es/util/overlay-view-util/overlay-view-util.mjs +2 -1
- package/es/util/route/route.d.ts.map +1 -1
- package/es/util/route/route.mjs +13 -3
- package/es/util/store/app-store/app-store.d.ts +2 -2
- package/es/util/store/ui-store/ui-store.d.ts +2 -2
- package/es/view/app-redirect-view/app-redirect-view.d.ts +1 -1
- package/es/view/app-redirect-view/app-redirect-view.d.ts.map +1 -1
- package/es/view/app-redirect-view/app-redirect-view.mjs +1 -1
- package/es/view/common/index.d.ts +5 -5
- package/es/view/common/index.d.ts.map +1 -1
- package/es/view/common/view.d.ts +5 -5
- package/es/view/common/view.d.ts.map +1 -1
- package/es/view/common/view.mjs +17 -3
- package/es/view/de-redirect-view/de-redirect-view.d.ts +8 -8
- package/es/view/de-redirect-view/de-redirect-view.d.ts.map +1 -1
- package/es/view/de-redirect-view/de-redirect-view.mjs +1 -1
- package/es/view/de-redirect-view/index.d.ts +8 -8
- package/es/view/de-redirect-view/index.d.ts.map +1 -1
- package/es/view/html-view/html-view.d.ts +8 -9
- package/es/view/html-view/html-view.d.ts.map +1 -1
- package/es/view/html-view/html-view.mjs +10 -17
- package/es/view/html-view/index.d.ts +7 -8
- package/es/view/html-view/index.d.ts.map +1 -1
- package/es/view/portal-view/index.d.ts +5 -5
- package/es/view/portal-view/index.d.ts.map +1 -1
- package/es/view/portal-view/portal-view.d.ts +5 -5
- package/es/view/portal-view/portal-view.d.ts.map +1 -1
- package/es/view/todo-redirect/todo-redirect.d.ts +1 -1
- package/es/view/todo-redirect/todo-redirect.d.ts.map +1 -1
- package/lib/common/badge/badge.cjs +12 -6
- package/lib/common/badge/badge.css +1 -1
- package/lib/common/control-base/control-base.cjs +8 -14
- package/lib/common/icon/icon.cjs +12 -0
- package/lib/common/index.cjs +2 -0
- package/lib/common/signature-pad/signature-pad.cjs +167 -0
- package/lib/common/signature-pad/signature-pad.css +1 -0
- package/lib/common/signature-pad/util/bezier.cjs +111 -0
- package/lib/common/signature-pad/util/point.cjs +53 -0
- package/lib/common/signature-pad/util/signature_pad.cjs +1022 -0
- package/lib/common/view-shell/view-shell.cjs +40 -21
- package/lib/control/panel/panel/panel.cjs +11 -3
- package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +4 -4
- package/lib/index.cjs +57 -47
- package/lib/locale/en/index.cjs +2 -1
- package/lib/locale/zh-CN/index.cjs +2 -1
- package/lib/node_modules/.pnpm/path-browserify@1.0.1/node_modules/path-browserify/index.cjs +2 -2
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.cjs +16 -5
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.cjs +3 -1
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -1
- package/lib/panel-component/grid-container/grid-container.cjs +16 -5
- package/lib/panel-component/grid-container/grid-container.controller.cjs +1 -1
- package/lib/panel-component/grid-container/grid-container.state.cjs +1 -1
- package/lib/panel-component/index.cjs +21 -22
- package/lib/panel-component/multi-data-container/multi-data-container.cjs +19 -5
- package/lib/panel-component/multi-data-container/multi-data-container.controller.cjs +87 -68
- package/lib/panel-component/multi-data-container/multi-data-container.state.cjs +1 -1
- package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.cjs +22 -6
- package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.controller.cjs +87 -68
- package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.state.cjs +1 -1
- package/lib/panel-component/nav-pos/nav-pos.cjs +18 -3
- package/lib/panel-component/panel-container/index.cjs +8 -4
- package/lib/panel-component/panel-container/panel-container.cjs +36 -15
- package/lib/panel-component/panel-container/panel-container.provider.cjs +2 -2
- package/lib/panel-component/panel-container-image/panel-container-image.cjs +23 -9
- package/lib/panel-component/panel-container-image/panel-container-image.controller.cjs +1 -1
- package/lib/panel-component/panel-container-image/panel-container-image.css +1 -1
- package/lib/panel-component/panel-container-image/panel-container-image.state.cjs +1 -1
- package/lib/panel-component/panel-container-tabs/panel-container-tabs.cjs +2 -2
- package/lib/panel-component/panel-container-tabs/panel-container-tabs.provider.cjs +2 -2
- package/lib/panel-component/panel-ctrl-pos/panel-ctrl-pos.cjs +11 -3
- package/lib/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.cjs +15 -7
- package/lib/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.css +1 -0
- package/lib/panel-component/panel-field/panel-field.cjs +28 -11
- package/lib/panel-component/panel-field/panel-field.controller.cjs +37 -3
- package/lib/panel-component/panel-field/panel-field.css +1 -1
- package/lib/panel-component/panel-item-render/panel-item-render.cjs +12 -3
- package/lib/panel-component/panel-item-render/panel-item-render.controller.cjs +7 -5
- package/lib/panel-component/panel-rawitem/panel-rawitem.cjs +14 -9
- package/lib/panel-component/panel-tab-page/panel-tab-page.cjs +21 -6
- package/lib/panel-component/panel-tab-page/panel-tab-page.provider.cjs +1 -1
- package/lib/panel-component/scroll-container/scroll-container/scroll-container.cjs +25 -14
- package/lib/panel-component/scroll-container/scroll-container/scroll-container.controller.cjs +1 -1
- package/lib/panel-component/scroll-container/scroll-container-item/scroll-container-item.cjs +20 -5
- package/lib/panel-component/scroll-container/scroll-container-item/scroll-container-item.controller.cjs +1 -1
- package/lib/panel-component/single-data-container/single-data-container.cjs +21 -5
- package/lib/panel-component/single-data-container/single-data-container.controller.cjs +97 -72
- package/lib/panel-component/single-data-container/single-data-container.state.cjs +1 -1
- package/lib/panel-component/teleport-placeholder/teleport-placeholder.cjs +10 -3
- package/lib/plugin/plugin-factory/plugin-factory.cjs +33 -5
- package/lib/props/editor/code.cjs +6 -0
- package/lib/props/editor/common.cjs +5 -1
- package/lib/props/editor/html.cjs +6 -0
- package/lib/props/editor/index.cjs +3 -0
- package/lib/props/editor/markdown.cjs +27 -1
- package/lib/props/editor/span.cjs +6 -1
- package/lib/props/index.cjs +3 -0
- package/lib/use/index.cjs +8 -0
- package/lib/use/popover/popover.cjs +8 -0
- package/lib/use/storage/index.cjs +16 -11
- package/lib/use/tooltip/tooltip.cjs +72 -0
- package/lib/use/use-semantic-node/use-semantic-node.cjs +102 -0
- package/lib/use/vue/vue.cjs +14 -0
- package/lib/util/index.cjs +0 -2
- package/lib/util/overlay-container/overlay-container.cjs +7 -2
- package/lib/util/overlay-view-util/overlay-view-util.cjs +2 -1
- package/lib/util/route/route.cjs +13 -3
- package/lib/view/common/view.cjs +15 -1
- package/lib/view/html-view/html-view.cjs +8 -15
- package/package.json +8 -7
- package/src/common/badge/badge.scss +49 -0
- package/src/common/badge/badge.tsx +55 -0
- package/src/common/code-list/code-list.scss +15 -0
- package/src/common/code-list/code-list.tsx +184 -0
- package/src/common/control-base/control-base.scss +42 -0
- package/src/common/control-base/control-base.tsx +308 -0
- package/src/common/control-loading-placeholder/control-loading-placeholder.tsx +22 -0
- package/src/common/control-shell/control-shell.scss +5 -0
- package/src/common/control-shell/control-shell.tsx +90 -0
- package/src/common/custom-render/custom-render.scss +4 -0
- package/src/common/custom-render/custom-render.tsx +111 -0
- package/src/common/icon/icon.scss +13 -0
- package/src/common/icon/icon.tsx +105 -0
- package/src/common/index.ts +10 -0
- package/src/common/router-view/router-view.tsx +74 -0
- package/src/common/signature-pad/signature-pad.scss +10 -0
- package/src/common/signature-pad/signature-pad.tsx +174 -0
- package/src/common/signature-pad/util/bezier.ts +164 -0
- package/src/common/signature-pad/util/point.ts +96 -0
- package/src/common/signature-pad/util/signature_pad.ts +1543 -0
- package/src/common/view-shell/view-shell.scss +5 -0
- package/src/common/view-shell/view-shell.tsx +337 -0
- package/src/control/index.ts +1 -0
- package/src/control/panel/index.ts +2 -0
- package/src/control/panel/panel/index.ts +12 -0
- package/src/control/panel/panel/panel.provider.ts +14 -0
- package/src/control/panel/panel/panel.scss +9 -0
- package/src/control/panel/panel/panel.tsx +273 -0
- package/src/control/panel/view-layout-panel/index.ts +18 -0
- package/src/control/panel/view-layout-panel/view-layout-panel.provider.ts +14 -0
- package/src/control/panel/view-layout-panel/view-layout-panel.scss +9 -0
- package/src/control/panel/view-layout-panel/view-layout-panel.tsx +266 -0
- package/src/hooks/app/app.hooks.ts +63 -0
- package/src/hooks/index.ts +1 -0
- package/src/index.ts +19 -0
- package/src/interface/index.ts +1 -0
- package/src/interface/util/index.ts +1 -0
- package/src/interface/util/route/route.ts +116 -0
- package/src/locale/en/index.ts +74 -0
- package/src/locale/index.ts +2 -0
- package/src/locale/zh-CN/index.ts +66 -0
- package/src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.ts +248 -0
- package/src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.ts +28 -0
- package/src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.scss +51 -0
- package/src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.ts +58 -0
- package/src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.tsx +109 -0
- package/src/panel-component/auth-wxmp-qrcode/index.ts +18 -0
- package/src/panel-component/grid-container/grid-container.controller.ts +24 -0
- package/src/panel-component/grid-container/grid-container.provider.ts +30 -0
- package/src/panel-component/grid-container/grid-container.scss +17 -0
- package/src/panel-component/grid-container/grid-container.state.ts +12 -0
- package/src/panel-component/grid-container/grid-container.tsx +141 -0
- package/src/panel-component/grid-container/index.ts +19 -0
- package/src/panel-component/index.ts +17 -0
- package/src/panel-component/multi-data-container/index.ts +22 -0
- package/src/panel-component/multi-data-container/multi-data-container-item.controller.ts +179 -0
- package/src/panel-component/multi-data-container/multi-data-container-itm.state.ts +20 -0
- package/src/panel-component/multi-data-container/multi-data-container.controller.ts +456 -0
- package/src/panel-component/multi-data-container/multi-data-container.provider.ts +30 -0
- package/src/panel-component/multi-data-container/multi-data-container.scss +10 -0
- package/src/panel-component/multi-data-container/multi-data-container.state.ts +19 -0
- package/src/panel-component/multi-data-container/multi-data-container.tsx +137 -0
- package/src/panel-component/multi-data-container-raw/index.ts +22 -0
- package/src/panel-component/multi-data-container-raw/multi-data-container-raw.controller.ts +448 -0
- package/src/panel-component/multi-data-container-raw/multi-data-container-raw.provider.ts +30 -0
- package/src/panel-component/multi-data-container-raw/multi-data-container-raw.scss +12 -0
- package/src/panel-component/multi-data-container-raw/multi-data-container-raw.state.ts +19 -0
- package/src/panel-component/multi-data-container-raw/multi-data-container-raw.tsx +129 -0
- package/src/panel-component/nav-pos/index.ts +16 -0
- package/src/panel-component/nav-pos/nav-pos.controller.ts +438 -0
- package/src/panel-component/nav-pos/nav-pos.provider.ts +38 -0
- package/src/panel-component/nav-pos/nav-pos.scss +4 -0
- package/src/panel-component/nav-pos/nav-pos.state.ts +55 -0
- package/src/panel-component/nav-pos/nav-pos.tsx +166 -0
- package/src/panel-component/panel-container/index.ts +30 -0
- package/src/panel-component/panel-container/panel-container.provider.ts +30 -0
- package/src/panel-component/panel-container/panel-container.scss +21 -0
- package/src/panel-component/panel-container/panel-container.tsx +138 -0
- package/src/panel-component/panel-container-image/index.ts +22 -0
- package/src/panel-component/panel-container-image/panel-container-image.controller.ts +24 -0
- package/src/panel-component/panel-container-image/panel-container-image.provider.ts +30 -0
- package/src/panel-component/panel-container-image/panel-container-image.scss +17 -0
- package/src/panel-component/panel-container-image/panel-container-image.state.ts +12 -0
- package/src/panel-component/panel-container-image/panel-container-image.tsx +116 -0
- package/src/panel-component/panel-container-tabs/index.ts +18 -0
- package/src/panel-component/panel-container-tabs/panel-container-tabs.provider.ts +30 -0
- package/src/panel-component/panel-container-tabs/panel-container-tabs.scss +25 -0
- package/src/panel-component/panel-container-tabs/panel-container-tabs.tsx +47 -0
- package/src/panel-component/panel-ctrl-pos/index.ts +14 -0
- package/src/panel-component/panel-ctrl-pos/panel-ctrl-pos.controller.ts +50 -0
- package/src/panel-component/panel-ctrl-pos/panel-ctrl-pos.provider.ts +30 -0
- package/src/panel-component/panel-ctrl-pos/panel-ctrl-pos.scss +8 -0
- package/src/panel-component/panel-ctrl-pos/panel-ctrl-pos.tsx +72 -0
- package/src/panel-component/panel-ctrl-view-page-caption/index.ts +18 -0
- package/src/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.controller.ts +32 -0
- package/src/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.provider.ts +30 -0
- package/src/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.scss +13 -0
- package/src/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.state.ts +17 -0
- package/src/panel-component/panel-ctrl-view-page-caption/panel-ctrl-view-page-caption.tsx +77 -0
- package/src/panel-component/panel-field/index.ts +14 -0
- package/src/panel-component/panel-field/panel-field.controller.ts +272 -0
- package/src/panel-component/panel-field/panel-field.provider.ts +28 -0
- package/src/panel-component/panel-field/panel-field.scss +79 -0
- package/src/panel-component/panel-field/panel-field.state.ts +17 -0
- package/src/panel-component/panel-field/panel-field.tsx +138 -0
- package/src/panel-component/panel-item-render/index.ts +18 -0
- package/src/panel-component/panel-item-render/panel-item-render.controller.ts +53 -0
- package/src/panel-component/panel-item-render/panel-item-render.provider.ts +30 -0
- package/src/panel-component/panel-item-render/panel-item-render.tsx +69 -0
- package/src/panel-component/panel-rawitem/index.ts +26 -0
- package/src/panel-component/panel-rawitem/panel-rawitem.controller.ts +54 -0
- package/src/panel-component/panel-rawitem/panel-rawitem.provider.ts +28 -0
- package/src/panel-component/panel-rawitem/panel-rawitem.scss +8 -0
- package/src/panel-component/panel-rawitem/panel-rawitem.tsx +126 -0
- package/src/panel-component/panel-tab-page/index.ts +12 -0
- package/src/panel-component/panel-tab-page/panel-tab-page.provider.ts +28 -0
- package/src/panel-component/panel-tab-page/panel-tab-page.tsx +83 -0
- package/src/panel-component/scroll-container/index.ts +44 -0
- package/src/panel-component/scroll-container/scroll-container/index.ts +2 -0
- package/src/panel-component/scroll-container/scroll-container/scroll-container.controller.ts +29 -0
- package/src/panel-component/scroll-container/scroll-container/scroll-container.provider.ts +30 -0
- package/src/panel-component/scroll-container/scroll-container/scroll-container.scss +40 -0
- package/src/panel-component/scroll-container/scroll-container/scroll-container.tsx +155 -0
- package/src/panel-component/scroll-container/scroll-container-item/index.ts +2 -0
- package/src/panel-component/scroll-container/scroll-container-item/scroll-container-item.controller.ts +21 -0
- package/src/panel-component/scroll-container/scroll-container-item/scroll-container-item.provider.ts +30 -0
- package/src/panel-component/scroll-container/scroll-container-item/scroll-container-item.scss +9 -0
- package/src/panel-component/scroll-container/scroll-container-item/scroll-container-item.tsx +80 -0
- package/src/panel-component/single-data-container/index.ts +22 -0
- package/src/panel-component/single-data-container/single-data-container.controller.ts +507 -0
- package/src/panel-component/single-data-container/single-data-container.provider.ts +30 -0
- package/src/panel-component/single-data-container/single-data-container.scss +10 -0
- package/src/panel-component/single-data-container/single-data-container.state.ts +17 -0
- package/src/panel-component/single-data-container/single-data-container.tsx +124 -0
- package/src/panel-component/teleport-placeholder/index.ts +20 -0
- package/src/panel-component/teleport-placeholder/teleport-placeholder.controller.ts +54 -0
- package/src/panel-component/teleport-placeholder/teleport-placeholder.provider.ts +30 -0
- package/src/panel-component/teleport-placeholder/teleport-placeholder.scss +8 -0
- package/src/panel-component/teleport-placeholder/teleport-placeholder.state.ts +17 -0
- package/src/panel-component/teleport-placeholder/teleport-placeholder.tsx +65 -0
- package/src/plugin/index.ts +1 -0
- package/src/plugin/plugin-factory/plugin-factory.ts +519 -0
- package/src/props/common.ts +30 -0
- package/src/props/editor/array.ts +28 -0
- package/src/props/editor/autocomplete.ts +28 -0
- package/src/props/editor/cascader.ts +28 -0
- package/src/props/editor/check-box-list.ts +28 -0
- package/src/props/editor/check-box.ts +28 -0
- package/src/props/editor/code.ts +56 -0
- package/src/props/editor/color-picker.ts +28 -0
- package/src/props/editor/common.ts +120 -0
- package/src/props/editor/data-picker.ts +28 -0
- package/src/props/editor/date-picker.ts +29 -0
- package/src/props/editor/date-range-select.ts +52 -0
- package/src/props/editor/date-range.ts +29 -0
- package/src/props/editor/dropdown-list.ts +28 -0
- package/src/props/editor/html.ts +44 -0
- package/src/props/editor/index.ts +29 -0
- package/src/props/editor/input-ip.ts +28 -0
- package/src/props/editor/input-number.ts +28 -0
- package/src/props/editor/list-box.ts +28 -0
- package/src/props/editor/map-picker.ts +28 -0
- package/src/props/editor/markdown.ts +74 -0
- package/src/props/editor/number-range.ts +28 -0
- package/src/props/editor/radio-button-list.ts +28 -0
- package/src/props/editor/rate.ts +28 -0
- package/src/props/editor/raw.ts +28 -0
- package/src/props/editor/slider.ts +28 -0
- package/src/props/editor/span.ts +33 -0
- package/src/props/editor/stepper.ts +28 -0
- package/src/props/editor/switch.ts +28 -0
- package/src/props/editor/text-box.ts +28 -0
- package/src/props/editor/upload.ts +28 -0
- package/src/props/index.ts +2 -0
- package/src/types/index.d.ts +8 -0
- package/src/use/autofocus-blur/autofocus-blur.ts +31 -0
- package/src/use/click-outside/click-outside.ts +72 -0
- package/src/use/codeList-listen/codelist-listen.ts +28 -0
- package/src/use/control/index.ts +1 -0
- package/src/use/control/use-control-controller/use-control-controller.ts +186 -0
- package/src/use/event/event.ts +57 -0
- package/src/use/focus-blur/focus-blur.ts +83 -0
- package/src/use/index.ts +16 -0
- package/src/use/namespace/namespace.ts +14 -0
- package/src/use/popover/popover.ts +157 -0
- package/src/use/route/route.ts +47 -0
- package/src/use/storage/index.ts +46 -0
- package/src/use/tooltip/tooltip.ts +153 -0
- package/src/use/use-semantic-node/use-semantic-node.ts +154 -0
- package/src/use/util/index.ts +26 -0
- package/src/use/view/index.ts +2 -0
- package/src/use/view/use-view-controller/use-view-controller.ts +163 -0
- package/src/use/view/use-view-operation/use-view-operation.ts +44 -0
- package/src/use/vue/vue.ts +168 -0
- package/src/use/vue-use/computed-async.ts +151 -0
- package/src/use/vue-use/index.ts +1 -0
- package/src/util/index.ts +9 -0
- package/src/util/install.ts +14 -0
- package/src/util/overlay-container/overlay-container.ts +162 -0
- package/src/util/overlay-popover-container/overlay-popover-container.ts +30 -0
- package/src/util/overlay-view-util/overlay-view-util.ts +93 -0
- package/src/util/render/render.ts +54 -0
- package/src/util/route/route-listener.ts +91 -0
- package/src/util/route/route.ts +606 -0
- package/src/util/router-callback/router-callback-item.ts +98 -0
- package/src/util/router-callback/router-callback.ts +110 -0
- package/src/util/store/app-store/app-store.ts +10 -0
- package/src/util/store/index.ts +6 -0
- package/src/util/store/ui-store/ui-store.ts +37 -0
- package/src/util/store/ui-store/z-index.ts +53 -0
- package/src/view/app-data-upload-view/app-data-upload-view.provider.ts +31 -0
- package/src/view/app-redirect-view/app-redirect-view.tsx +26 -0
- package/src/view/common/index.ts +19 -0
- package/src/view/common/view.provider.ts +14 -0
- package/src/view/common/view.scss +39 -0
- package/src/view/common/view.tsx +285 -0
- package/src/view/de-redirect-view/de-redirect-view.provider.ts +14 -0
- package/src/view/de-redirect-view/de-redirect-view.tsx +86 -0
- package/src/view/de-redirect-view/index.ts +17 -0
- package/src/view/html-view/html-view.provider.ts +14 -0
- package/src/view/html-view/html-view.scss +7 -0
- package/src/view/html-view/html-view.tsx +86 -0
- package/src/view/html-view/index.ts +10 -0
- package/src/view/index.ts +6 -0
- package/src/view/md-custom-view/md-custom-view.provider.ts +30 -0
- package/src/view/portal-view/index.ts +18 -0
- package/src/view/portal-view/portal-view.provider.ts +14 -0
- package/src/view/portal-view/portal-view.tsx +83 -0
- package/src/view/todo-redirect/todo-redirect.tsx +51 -0
- package/es/panel-component/panel-container/panel-container.controller.d.ts +0 -21
- package/es/panel-component/panel-container/panel-container.controller.d.ts.map +0 -1
- package/es/panel-component/panel-container/panel-container.controller.mjs +0 -12
- package/es/panel-component/panel-container/panel-container.state.d.ts +0 -10
- package/es/panel-component/panel-container/panel-container.state.d.ts.map +0 -1
- package/es/panel-component/panel-container/panel-container.state.mjs +0 -7
- package/es/panel-component/panel-container-group/index.d.ts +0 -29
- package/es/panel-component/panel-container-group/index.d.ts.map +0 -1
- package/es/panel-component/panel-container-group/index.mjs +0 -21
- package/es/panel-component/panel-container-group/panel-container-group.controller.d.ts +0 -34
- package/es/panel-component/panel-container-group/panel-container-group.controller.d.ts.map +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.controller.mjs +0 -31
- package/es/panel-component/panel-container-group/panel-container-group.css +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.d.ts +0 -46
- package/es/panel-component/panel-container-group/panel-container-group.d.ts.map +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.mjs +0 -119
- package/es/panel-component/panel-container-group/panel-container-group.provider.d.ts +0 -16
- package/es/panel-component/panel-container-group/panel-container-group.provider.d.ts.map +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.provider.mjs +0 -15
- package/es/panel-component/panel-container-group/panel-container-group.state.d.ts +0 -13
- package/es/panel-component/panel-container-group/panel-container-group.state.d.ts.map +0 -1
- package/es/panel-component/panel-container-group/panel-container-group.state.mjs +0 -7
- package/es/util/control/prepare-control.d.ts +0 -15
- package/es/util/control/prepare-control.d.ts.map +0 -1
- package/es/util/control/prepare-control.mjs +0 -22
- package/lib/panel-component/panel-container/panel-container.controller.cjs +0 -14
- package/lib/panel-component/panel-container/panel-container.state.cjs +0 -9
- package/lib/panel-component/panel-container-group/index.cjs +0 -28
- package/lib/panel-component/panel-container-group/panel-container-group.cjs +0 -121
- package/lib/panel-component/panel-container-group/panel-container-group.controller.cjs +0 -33
- package/lib/panel-component/panel-container-group/panel-container-group.css +0 -1
- package/lib/panel-component/panel-container-group/panel-container-group.provider.cjs +0 -17
- package/lib/panel-component/panel-container-group/panel-container-group.state.cjs +0 -9
- package/lib/util/control/prepare-control.cjs +0 -24
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import {
|
|
3
|
+
ControlController,
|
|
4
|
+
IControlController,
|
|
5
|
+
IControlProvider,
|
|
6
|
+
IMDControlController,
|
|
7
|
+
MDControlTypes,
|
|
8
|
+
} from '@ibiz-template/runtime';
|
|
9
|
+
import {
|
|
10
|
+
getCurrentInstance,
|
|
11
|
+
onActivated,
|
|
12
|
+
onBeforeUnmount,
|
|
13
|
+
onDeactivated,
|
|
14
|
+
reactive,
|
|
15
|
+
watch,
|
|
16
|
+
} from 'vue';
|
|
17
|
+
import { useForce, useProps } from '../../vue/vue';
|
|
18
|
+
import { useCtx } from '../../util';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 监听并更新上下文和视图参数(引用不变)
|
|
22
|
+
* @author lxm
|
|
23
|
+
* @date 2023-05-25 01:48:14
|
|
24
|
+
* @param {IData} props
|
|
25
|
+
* @param {IViewController} view
|
|
26
|
+
*/
|
|
27
|
+
function watchAndUpdateContextParams(
|
|
28
|
+
props: IData,
|
|
29
|
+
control: IControlController,
|
|
30
|
+
): void {
|
|
31
|
+
watch(
|
|
32
|
+
() => ({ context: props.context, params: props.params }),
|
|
33
|
+
(newVal, oldVal) => {
|
|
34
|
+
if (newVal === oldVal) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const changedParams = { ...newVal };
|
|
38
|
+
if (newVal.context === oldVal.context) {
|
|
39
|
+
delete changedParams.context;
|
|
40
|
+
}
|
|
41
|
+
if (newVal.params === oldVal.params) {
|
|
42
|
+
delete changedParams.params;
|
|
43
|
+
}
|
|
44
|
+
// 不改变引用的情况下,重置控制器里的上下文和视图参数。
|
|
45
|
+
// 重新计算上下文和视图参数
|
|
46
|
+
control.updateContextParams(changedParams);
|
|
47
|
+
ibiz.log.debug(
|
|
48
|
+
ibiz.i18n.t('vue3Util.use.control.parameterChanges', {
|
|
49
|
+
id: control.model.id,
|
|
50
|
+
}),
|
|
51
|
+
newVal,
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* 监听部件的props并更新部件state状态
|
|
59
|
+
* 排除部分keys,如context,params
|
|
60
|
+
* @author lxm
|
|
61
|
+
* @date 2023-10-27 01:46:23
|
|
62
|
+
* @param {IData} props
|
|
63
|
+
* @param {IControlController} control
|
|
64
|
+
*/
|
|
65
|
+
function watchAndUpdateState(
|
|
66
|
+
props: IData,
|
|
67
|
+
control: IControlController,
|
|
68
|
+
excludeFields: string[] = [],
|
|
69
|
+
): void {
|
|
70
|
+
const excludeKeys = ['context', 'params', 'modelData', ...excludeFields];
|
|
71
|
+
watch(
|
|
72
|
+
() => {
|
|
73
|
+
const watchProps: IData = {};
|
|
74
|
+
Object.keys(props).forEach(key => {
|
|
75
|
+
if (!excludeKeys.includes(key)) {
|
|
76
|
+
watchProps[key] = props[key];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return watchProps;
|
|
80
|
+
},
|
|
81
|
+
(newVal, oldVal) => {
|
|
82
|
+
const changeProps: IData = {};
|
|
83
|
+
Object.keys(newVal).forEach(key => {
|
|
84
|
+
if (newVal[key] !== (oldVal || {})[key]) {
|
|
85
|
+
changeProps[key] = newVal[key];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
ibiz.log.debug(
|
|
89
|
+
ibiz.i18n.t('vue3Util.use.control.stateChange', {
|
|
90
|
+
name: control.model.name,
|
|
91
|
+
}),
|
|
92
|
+
changeProps,
|
|
93
|
+
);
|
|
94
|
+
Object.keys(changeProps).forEach(key => {
|
|
95
|
+
if (changeProps[key] !== undefined) {
|
|
96
|
+
(control.state as any)[key] = changeProps[key];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
{ immediate: true },
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface extraOptions {
|
|
105
|
+
/**
|
|
106
|
+
* 排除监听的props里的key
|
|
107
|
+
* @author lxm
|
|
108
|
+
* @date 2023-11-22 06:11:45
|
|
109
|
+
* @type {string[]}
|
|
110
|
+
*/
|
|
111
|
+
excludePropsKeys: string[];
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* 初始化部件控制器
|
|
116
|
+
*
|
|
117
|
+
* @author chitanda
|
|
118
|
+
* @date 2022-08-15 17:08:47
|
|
119
|
+
* @export
|
|
120
|
+
* @template T
|
|
121
|
+
* @param {() => T} fn
|
|
122
|
+
* @return {*} {T}
|
|
123
|
+
*/
|
|
124
|
+
export function useControlController<T extends IControlController>(
|
|
125
|
+
fn: (...args: ConstructorParameters<typeof ControlController>) => T,
|
|
126
|
+
opts?: Partial<extraOptions>,
|
|
127
|
+
): T {
|
|
128
|
+
// 获取上层组件的ctx
|
|
129
|
+
const ctx = useCtx();
|
|
130
|
+
// 获取 props
|
|
131
|
+
const props = useProps();
|
|
132
|
+
// 上下文里提前预告部件
|
|
133
|
+
ctx.evt.emit('onForecast', props.modelData.name!);
|
|
134
|
+
|
|
135
|
+
// 实例化部件控制器
|
|
136
|
+
const provider = props.provider as IControlProvider | undefined;
|
|
137
|
+
let c: T;
|
|
138
|
+
if (provider?.createController) {
|
|
139
|
+
// 如果适配器给了创建方法使用适配器的方法
|
|
140
|
+
c = provider.createController(
|
|
141
|
+
props.modelData,
|
|
142
|
+
props.context,
|
|
143
|
+
props.params,
|
|
144
|
+
ctx,
|
|
145
|
+
) as T;
|
|
146
|
+
} else {
|
|
147
|
+
c = fn(props.modelData, props.context, props.params, ctx);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// 多数据部件类型往记录导航工具添加当前部件
|
|
151
|
+
if (MDControlTypes.indexOf(c.model.controlType!) !== -1) {
|
|
152
|
+
ibiz.util.record.add(c.ctrlId, c as unknown as IMDControlController);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
watchAndUpdateContextParams(props, c);
|
|
156
|
+
watchAndUpdateState(props, c, opts?.excludePropsKeys);
|
|
157
|
+
|
|
158
|
+
c.state = reactive(c.state);
|
|
159
|
+
|
|
160
|
+
onActivated(() => c.onActivated());
|
|
161
|
+
|
|
162
|
+
onDeactivated(() => c.onDeactivated());
|
|
163
|
+
|
|
164
|
+
// 挂载强制更新方法
|
|
165
|
+
c.force = useForce();
|
|
166
|
+
|
|
167
|
+
const vue = getCurrentInstance()!.proxy!;
|
|
168
|
+
c.evt.onAll((eventName: string, event: unknown) => {
|
|
169
|
+
vue.$emit(eventName.slice(2), event);
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
// vue组件级事件最早的抛出controller
|
|
173
|
+
vue.$emit('controllerAppear', c);
|
|
174
|
+
|
|
175
|
+
c.created();
|
|
176
|
+
|
|
177
|
+
// 卸载时销毁
|
|
178
|
+
onBeforeUnmount(() => {
|
|
179
|
+
c.destroyed();
|
|
180
|
+
// 多数据部件类型从记录导航工具删除当前部件
|
|
181
|
+
if (MDControlTypes.indexOf(c.model.controlType!) !== -1) {
|
|
182
|
+
ibiz.util.record.remove(c.ctrlId);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
return c;
|
|
186
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
|
|
3
|
+
import { listenJSEvent, NOOP } from '@ibiz-template/core';
|
|
4
|
+
import { isNil } from 'ramda';
|
|
5
|
+
import { onBeforeUnmount, Ref, watch } from 'vue';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 监听JS原生事件,返回cleanup回调,调用后删除该监听
|
|
9
|
+
*
|
|
10
|
+
* @author lxm
|
|
11
|
+
* @date 2022-10-28 18:10:36
|
|
12
|
+
* @export
|
|
13
|
+
* @param {Ref} elRef 监听组件的ref
|
|
14
|
+
* @param {string} eventName 监听事件名称
|
|
15
|
+
* @param {(..._args: any[]) => any} listener 监听回调
|
|
16
|
+
* @param {AddEventListenerOptions} options 额外参数
|
|
17
|
+
* @returns {*} {() => void}
|
|
18
|
+
*/
|
|
19
|
+
export function useEventListener(
|
|
20
|
+
elRef: Ref,
|
|
21
|
+
eventName: string,
|
|
22
|
+
listener: (..._args: any[]) => any,
|
|
23
|
+
options: AddEventListenerOptions = {},
|
|
24
|
+
): () => void {
|
|
25
|
+
let cleanup = NOOP;
|
|
26
|
+
|
|
27
|
+
watch(
|
|
28
|
+
elRef,
|
|
29
|
+
(newVal: IData, oldVal) => {
|
|
30
|
+
if (newVal !== oldVal) {
|
|
31
|
+
if (isNil(newVal)) {
|
|
32
|
+
cleanup();
|
|
33
|
+
cleanup = NOOP;
|
|
34
|
+
} else {
|
|
35
|
+
cleanup = listenJSEvent(
|
|
36
|
+
newVal?.$el || newVal,
|
|
37
|
+
eventName,
|
|
38
|
+
listener,
|
|
39
|
+
options,
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{ immediate: true },
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
// 组件销毁前销毁监听
|
|
48
|
+
onBeforeUnmount(() => {
|
|
49
|
+
if (cleanup !== NOOP) {
|
|
50
|
+
cleanup();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
return () => {
|
|
55
|
+
cleanup();
|
|
56
|
+
};
|
|
57
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { OnClickOutsideResult } from '@ibiz-template/core';
|
|
2
|
+
import { Ref, ref } from 'vue';
|
|
3
|
+
import { useClickOutside } from '../click-outside/click-outside';
|
|
4
|
+
import { useEventListener } from '../event/event';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 给指定元素添加聚焦和失焦事件
|
|
8
|
+
* 点击指定元素时会触发聚焦事件
|
|
9
|
+
* 已经聚焦之后,点击指定元素外部会触发失焦事件。
|
|
10
|
+
* @author lxm
|
|
11
|
+
* @date 2023-05-31 08:36:04
|
|
12
|
+
* @export
|
|
13
|
+
* @return {*}
|
|
14
|
+
*/
|
|
15
|
+
export function useFocusAndBlur(
|
|
16
|
+
focus: () => void,
|
|
17
|
+
blur: () => void,
|
|
18
|
+
): {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
|
+
componentRef: Ref<any>;
|
|
21
|
+
isFocus: Ref<boolean>;
|
|
22
|
+
doBlur: () => void;
|
|
23
|
+
pause: () => void;
|
|
24
|
+
stop: () => void;
|
|
25
|
+
} {
|
|
26
|
+
/** 添加事件的元素ref */
|
|
27
|
+
const componentRef = ref();
|
|
28
|
+
const isFocus = ref(false);
|
|
29
|
+
let outsideFuns: OnClickOutsideResult;
|
|
30
|
+
/**
|
|
31
|
+
* 手动触发失焦事件
|
|
32
|
+
* @author lxm
|
|
33
|
+
* @date 2023-05-31 08:43:54
|
|
34
|
+
*/
|
|
35
|
+
const doBlur = (): void => {
|
|
36
|
+
if (!isFocus.value) {
|
|
37
|
+
ibiz.log.debug(ibiz.i18n.t('vue3Util.use.focusBlur.noFocus'));
|
|
38
|
+
}
|
|
39
|
+
blur();
|
|
40
|
+
outsideFuns.stop();
|
|
41
|
+
isFocus.value = false;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 暂停外部点击的监听
|
|
46
|
+
* 用于某些组件操作过程中会触发外部点击的场景
|
|
47
|
+
* @author lxm
|
|
48
|
+
* @date 2023-05-31 08:47:53
|
|
49
|
+
*/
|
|
50
|
+
const pause = (): void => {
|
|
51
|
+
if (outsideFuns) {
|
|
52
|
+
outsideFuns.pause();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 暂停外部点击的监听
|
|
58
|
+
* 用于某些组件操作过程中会触发外部点击的场景
|
|
59
|
+
* @author lxm
|
|
60
|
+
* @date 2023-05-31 08:47:53
|
|
61
|
+
*/
|
|
62
|
+
const stop = (): void => {
|
|
63
|
+
if (outsideFuns) {
|
|
64
|
+
outsideFuns.stop();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
useEventListener(
|
|
69
|
+
componentRef,
|
|
70
|
+
'click',
|
|
71
|
+
_evt => {
|
|
72
|
+
if (!isFocus.value) {
|
|
73
|
+
outsideFuns = useClickOutside(componentRef, () => {
|
|
74
|
+
doBlur();
|
|
75
|
+
});
|
|
76
|
+
isFocus.value = true;
|
|
77
|
+
focus();
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{ capture: true }, // 捕获防止内部ui拦截点击事件
|
|
81
|
+
);
|
|
82
|
+
return { componentRef, isFocus, doBlur, pause, stop };
|
|
83
|
+
}
|
package/src/use/index.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './click-outside/click-outside';
|
|
2
|
+
export * from './control';
|
|
3
|
+
export * from './event/event';
|
|
4
|
+
export * from './focus-blur/focus-blur';
|
|
5
|
+
export * from './namespace/namespace';
|
|
6
|
+
export * from './route/route';
|
|
7
|
+
export * from './util';
|
|
8
|
+
export * from './view';
|
|
9
|
+
export * from './vue/vue';
|
|
10
|
+
export * from './codeList-listen/codelist-listen';
|
|
11
|
+
export * from './storage';
|
|
12
|
+
export * from './autofocus-blur/autofocus-blur';
|
|
13
|
+
export * from './popover/popover';
|
|
14
|
+
export * from './vue-use';
|
|
15
|
+
export * from './tooltip/tooltip';
|
|
16
|
+
export * from './use-semantic-node/use-semantic-node';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Namespace } from '@ibiz-template/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* css 命名空间
|
|
5
|
+
*
|
|
6
|
+
* @author chitanda
|
|
7
|
+
* @date 2022-09-06 15:09:04
|
|
8
|
+
* @export
|
|
9
|
+
* @param {string} block
|
|
10
|
+
* @return {*} {Namespace}
|
|
11
|
+
*/
|
|
12
|
+
export function useNamespace(block: string): Namespace {
|
|
13
|
+
return new Namespace(block, ibiz.env.namespace);
|
|
14
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { createUUID } from 'qx-util';
|
|
2
|
+
import { onUnmounted, Ref, ref, watch } from 'vue';
|
|
3
|
+
import { listenJSEvent } from '@ibiz-template/core';
|
|
4
|
+
import { ControlController } from '@ibiz-template/runtime';
|
|
5
|
+
import { useUIStore } from '../../util';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @description 管理部件popover层级
|
|
9
|
+
* @export
|
|
10
|
+
* @param {ControlController} controller
|
|
11
|
+
*/
|
|
12
|
+
export function useControlPopoverzIndex(controller: ControlController): void {
|
|
13
|
+
const { zIndex } = useUIStore();
|
|
14
|
+
controller.state.zIndex = zIndex.increment();
|
|
15
|
+
|
|
16
|
+
onUnmounted(() => {
|
|
17
|
+
zIndex.decrement();
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 手动管理popover层级
|
|
23
|
+
*
|
|
24
|
+
* @export
|
|
25
|
+
* @param {string} uuid
|
|
26
|
+
* @param {string} zIndexClass
|
|
27
|
+
*/
|
|
28
|
+
export function usePopoverzIndex(): {
|
|
29
|
+
popoverid: string;
|
|
30
|
+
setPopoverZIndex: (zIndexClass: string) => void;
|
|
31
|
+
} {
|
|
32
|
+
const popoverid = `popover_${createUUID()}`;
|
|
33
|
+
|
|
34
|
+
const setPopoverZIndex = (zIndexClass: string) => {
|
|
35
|
+
const { zIndex } = useUIStore();
|
|
36
|
+
const transfer = document.getElementsByClassName(popoverid);
|
|
37
|
+
const modalZIndex = zIndex.increment();
|
|
38
|
+
if (transfer && transfer.length > 0 && zIndexClass) {
|
|
39
|
+
for (let i = 0; i < transfer.length; i++) {
|
|
40
|
+
(transfer[i] as HTMLElement).style.setProperty(
|
|
41
|
+
zIndexClass,
|
|
42
|
+
`${modalZIndex}`,
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return {
|
|
48
|
+
popoverid,
|
|
49
|
+
setPopoverZIndex,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 判断两个元素是否存在任意层级的共同祖先
|
|
55
|
+
*
|
|
56
|
+
* @param element1 第一个元素(允许为 null,表示未挂载的虚拟节点)
|
|
57
|
+
* @param element2 第二个元素(允许为 null,表示未挂载的虚拟节点)
|
|
58
|
+
* @returns 是否共享至少一个共同祖先(包括自身或父子关系)
|
|
59
|
+
*/
|
|
60
|
+
export function shareCommonAncestor(
|
|
61
|
+
element1: Node | null,
|
|
62
|
+
element2: Node | null,
|
|
63
|
+
): boolean {
|
|
64
|
+
// 边界条件处理
|
|
65
|
+
if (!element1 || !element2) return false;
|
|
66
|
+
if (element1 === element2) return true; // 两个元素是同一个节点
|
|
67
|
+
|
|
68
|
+
// 收集 element1 的所有祖先节点(包含自身)
|
|
69
|
+
const ancestorsOfElement1 = new Set<Node>();
|
|
70
|
+
let current: Node | null = element1;
|
|
71
|
+
while (current) {
|
|
72
|
+
ancestorsOfElement1.add(current);
|
|
73
|
+
const parentNode: Node | null = current.parentNode;
|
|
74
|
+
// 排除 body 和 html 节点
|
|
75
|
+
if (
|
|
76
|
+
parentNode &&
|
|
77
|
+
(parentNode.nodeName === 'BODY' || parentNode.nodeName === 'HTML')
|
|
78
|
+
) {
|
|
79
|
+
current = null;
|
|
80
|
+
} else {
|
|
81
|
+
current = parentNode;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// 遍历 element2 的祖先链,检查是否存在交集
|
|
85
|
+
current = element2;
|
|
86
|
+
while (current) {
|
|
87
|
+
if (ancestorsOfElement1.has(current)) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
current = current.parentNode;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* 手动管理popover打开关闭状态
|
|
98
|
+
*
|
|
99
|
+
* @author tony001
|
|
100
|
+
* @date 2025-02-27 16:02:17
|
|
101
|
+
* @export
|
|
102
|
+
* @param {Ref<unknown>} triggerRef
|
|
103
|
+
* @param {(ele: IData) => Node} getElement
|
|
104
|
+
* @return {*} {{
|
|
105
|
+
* popoverVisible: Ref<boolean>;
|
|
106
|
+
* setPopoverVisible: (visible: boolean) => void;
|
|
107
|
+
* }}
|
|
108
|
+
*/
|
|
109
|
+
export function usePopoverVisible(
|
|
110
|
+
triggerRef: Ref<unknown>,
|
|
111
|
+
getElement: (ele: IData) => Node,
|
|
112
|
+
): {
|
|
113
|
+
popoverVisible: Ref<boolean>;
|
|
114
|
+
setPopoverVisible: (visible: boolean) => void;
|
|
115
|
+
} {
|
|
116
|
+
let cleanup: () => void | undefined;
|
|
117
|
+
|
|
118
|
+
const popoverVisible = ref(false);
|
|
119
|
+
|
|
120
|
+
const setPopoverVisible = (visible: boolean) => {
|
|
121
|
+
popoverVisible.value = visible;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
watch(
|
|
125
|
+
() => triggerRef.value,
|
|
126
|
+
newValue => {
|
|
127
|
+
if (newValue && !cleanup) {
|
|
128
|
+
cleanup = listenJSEvent(
|
|
129
|
+
window,
|
|
130
|
+
'click',
|
|
131
|
+
(evt: MouseEvent) => {
|
|
132
|
+
if (popoverVisible.value && triggerRef.value) {
|
|
133
|
+
const result = shareCommonAncestor(
|
|
134
|
+
getElement(triggerRef.value),
|
|
135
|
+
evt.target as unknown as Node,
|
|
136
|
+
);
|
|
137
|
+
if (result) {
|
|
138
|
+
popoverVisible.value = false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{ capture: true },
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{ immediate: true },
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
onUnmounted(() => {
|
|
150
|
+
cleanup?.();
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
return {
|
|
154
|
+
popoverVisible,
|
|
155
|
+
setPopoverVisible,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { RouteLocationNormalizedLoaded, useRoute } from 'vue-router';
|
|
2
|
+
import { ref, Ref, watch } from 'vue';
|
|
3
|
+
import { RouteListener } from '../../util';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 获取路由查询参数
|
|
7
|
+
*
|
|
8
|
+
* @author chitanda
|
|
9
|
+
* @date 2022-08-15 15:08:28
|
|
10
|
+
* @export
|
|
11
|
+
* @return {*} {IParams}
|
|
12
|
+
*/
|
|
13
|
+
export function useRouterQuery(): IParams {
|
|
14
|
+
const route = useRoute();
|
|
15
|
+
const { query } = route;
|
|
16
|
+
return query;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 监听普通的key变更,在路由下次更新后再改变赋给新的RouteKey
|
|
21
|
+
* 第一次默认值会直接赋给routeKey
|
|
22
|
+
*
|
|
23
|
+
* @export
|
|
24
|
+
* @param {Ref<string>} originKey 监听的原始Ref
|
|
25
|
+
* @param {RouteLocationNormalizedLoaded} route 路由
|
|
26
|
+
* @param {Ref<string>} [routeKey] 预先提供的转换后的Ref
|
|
27
|
+
* @returns {*} {Ref<string>}
|
|
28
|
+
*/
|
|
29
|
+
export function useRouteKey(
|
|
30
|
+
originKey: Ref<string>,
|
|
31
|
+
route: RouteLocationNormalizedLoaded,
|
|
32
|
+
routeKey?: Ref<string>,
|
|
33
|
+
): Ref<string> {
|
|
34
|
+
if (!routeKey) {
|
|
35
|
+
routeKey = ref('');
|
|
36
|
+
}
|
|
37
|
+
routeKey.value = originKey.value;
|
|
38
|
+
const routeListener = new RouteListener(route);
|
|
39
|
+
watch(originKey, (newVal, oldVal) => {
|
|
40
|
+
if (newVal !== oldVal) {
|
|
41
|
+
routeListener.nextChange(() => {
|
|
42
|
+
routeKey!.value = newVal;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return routeKey;
|
|
47
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useRouter } from 'vue-router';
|
|
2
|
+
import { route2routePath, routePath2string } from '../../util';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @description 获取本地缓存key函数
|
|
6
|
+
* @export
|
|
7
|
+
* @param {IContext} context
|
|
8
|
+
* @param {string} type
|
|
9
|
+
* @param {number} [routeDepth]
|
|
10
|
+
* @param {string} [splitter='@']
|
|
11
|
+
* @param {string} [noRouteTag='']
|
|
12
|
+
* @returns {*} {(() => string | undefined)}
|
|
13
|
+
*/
|
|
14
|
+
export function useLocalCacheKey(
|
|
15
|
+
context: IContext,
|
|
16
|
+
type: string,
|
|
17
|
+
routeDepth?: number,
|
|
18
|
+
splitter: string = '@',
|
|
19
|
+
noRouteTag: string = '',
|
|
20
|
+
): () => string | undefined {
|
|
21
|
+
const router = useRouter();
|
|
22
|
+
return () => {
|
|
23
|
+
if (!router) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const userId = context.srfuserid;
|
|
27
|
+
routeDepth = context.srfdefaulttoroutedepth || routeDepth;
|
|
28
|
+
if (routeDepth) {
|
|
29
|
+
const routePath = route2routePath(router.currentRoute.value);
|
|
30
|
+
if (userId && routePath.pathNodes[routeDepth - 2]) {
|
|
31
|
+
routePath.pathNodes = routePath.pathNodes.slice(0, routeDepth - 1);
|
|
32
|
+
routePath.pathNodes.forEach(pathNode => {
|
|
33
|
+
if (pathNode.context) {
|
|
34
|
+
delete pathNode.context.srfnavctrlid;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const url = routePath2string(routePath);
|
|
38
|
+
return `${type}${splitter}${userId}${splitter}${url}`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// 修复非路由情况搜索栏部件启用缓存时构建缓存key异常
|
|
42
|
+
if (noRouteTag) {
|
|
43
|
+
return `${type}${splitter}${userId}${splitter}${noRouteTag}`;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|