@oinone/kunlun-vue-admin-layout 6.2.0
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/README.md +1 -0
- package/dist/oinone-kunlun-vue-admin-layout.css +1 -0
- package/dist/oinone-kunlun-vue-admin-layout.esm.js +12049 -0
- package/dist/oinone-kunlun-vue-admin-layout.scss +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/src/basic/MaskWidget.d.ts +17 -0
- package/dist/types/src/basic/index.d.ts +2 -0
- package/dist/types/src/basic/register/index.d.ts +1 -0
- package/dist/types/src/basic/register/manager.d.ts +7 -0
- package/dist/types/src/basic/token/BaseMaskWidget.d.ts +55 -0
- package/dist/types/src/basic/token/index.d.ts +1 -0
- package/dist/types/src/component/app-switcher/AppSwitcher.vue.d.ts +84 -0
- package/dist/types/src/component/app-switcher/AppSwitcherMask.vue.d.ts +61 -0
- package/dist/types/src/component/app-switcher/AppSwitcherWidget.d.ts +33 -0
- package/dist/types/src/component/app-switcher/index.d.ts +3 -0
- package/dist/types/src/component/breadcrumb/BreadcrumbWidget.d.ts +33 -0
- package/dist/types/src/component/breadcrumb/DefaultBreadcrumb.vue.d.ts +58 -0
- package/dist/types/src/component/breadcrumb/index.d.ts +2 -0
- package/dist/types/src/component/debug/Debug.vue.d.ts +11 -0
- package/dist/types/src/component/debug/DebugWidget.d.ts +8 -0
- package/dist/types/src/component/debug/constants.d.ts +2 -0
- package/dist/types/src/component/debug/index.d.ts +6 -0
- package/dist/types/src/component/debug/spi/DebugMaskEditor.d.ts +6 -0
- package/dist/types/src/component/debug/spi/DebugRouterInitializeService.d.ts +4 -0
- package/dist/types/src/component/debug/spi/index.d.ts +1 -0
- package/dist/types/src/component/debug/typing.d.ts +159 -0
- package/dist/types/src/component/debug/view/DebugMainView.vue.d.ts +28 -0
- package/dist/types/src/component/debug/view/DebugMainViewWidget.d.ts +9 -0
- package/dist/types/src/component/debug/view/components/DebugDefaultInfo.vue.d.ts +22 -0
- package/dist/types/src/component/debug/view/components/DebugJsonView.vue.d.ts +26 -0
- package/dist/types/src/component/debug/view/components/DebugRequestInfoPanel.vue.d.ts +22 -0
- package/dist/types/src/component/debug/view/components/DebugResponsePanel.vue.d.ts +12 -0
- package/dist/types/src/component/debug/view/debug-api/DebugApi.vue.d.ts +52 -0
- package/dist/types/src/component/debug/view/debug-api/DebugApiWidget.d.ts +32 -0
- package/dist/types/src/component/debug/view/debug-utils.d.ts +44 -0
- package/dist/types/src/component/debug/view/debug-view/DebugView.vue.d.ts +78 -0
- package/dist/types/src/component/debug/view/debug-view/DebugViewWidget.d.ts +26 -0
- package/dist/types/src/component/debug/view/index.d.ts +5 -0
- package/dist/types/src/component/debug/view/service/DebugRuntimeContextService.d.ts +18 -0
- package/dist/types/src/component/debug/view/service/DebugStackInfoService.d.ts +27 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugDefaultRuntimeContextService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeActionService.d.ts +7 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeDslService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeFieldService.d.ts +7 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeLayoutService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeMaskService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeTemplateService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeViewService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugBizStackService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugConfigureService.d.ts +4 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugDefaultStackInfoService.d.ts +8 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugExceptionStackService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugFunctionService.d.ts +4 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugHalfBizStackService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugModelService.d.ts +4 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugPureBizStackService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceGqlRequestContextService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceSceneAnalysisService.d.ts +7 -0
- package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceSessionService.d.ts +6 -0
- package/dist/types/src/component/debug/view/service/index.d.ts +20 -0
- package/dist/types/src/component/debug/view/storage.d.ts +19 -0
- package/dist/types/src/component/debug/view/useDebugRequestInfo.d.ts +7 -0
- package/dist/types/src/component/divider/Divider.vue.d.ts +2 -0
- package/dist/types/src/component/divider/DividerWidget.d.ts +4 -0
- package/dist/types/src/component/divider/index.d.ts +1 -0
- package/dist/types/src/component/index.d.ts +14 -0
- package/dist/types/src/component/language/DefaultLanguage.vue.d.ts +34 -0
- package/dist/types/src/component/language/LanguageWidget.d.ts +16 -0
- package/dist/types/src/component/language/index.d.ts +1 -0
- package/dist/types/src/component/layout/BaseMaskLayoutWidget.d.ts +4 -0
- package/dist/types/src/component/layout/MaskBlock.vue.d.ts +24 -0
- package/dist/types/src/component/layout/block/MaskBlockWidget.d.ts +4 -0
- package/dist/types/src/component/layout/block/index.d.ts +1 -0
- package/dist/types/src/component/layout/container/MaskContainerWidget.d.ts +4 -0
- package/dist/types/src/component/layout/container/index.d.ts +1 -0
- package/dist/types/src/component/layout/content/MaskContentWidget.d.ts +7 -0
- package/dist/types/src/component/layout/content/index.d.ts +1 -0
- package/dist/types/src/component/layout/grid/Grid.vue.d.ts +2 -0
- package/dist/types/src/component/layout/grid/GridWidget.d.ts +9 -0
- package/dist/types/src/component/layout/grid/index.d.ts +1 -0
- package/dist/types/src/component/layout/header/MaskHeaderWidget.d.ts +4 -0
- package/dist/types/src/component/layout/header/index.d.ts +1 -0
- package/dist/types/src/component/layout/index.d.ts +9 -0
- package/dist/types/src/component/layout/mask/MaskRootWidget.d.ts +4 -0
- package/dist/types/src/component/layout/mask/index.d.ts +1 -0
- package/dist/types/src/component/layout/sidebar/MaskSidebarWidget.d.ts +10 -0
- package/dist/types/src/component/layout/sidebar/index.d.ts +1 -0
- package/dist/types/src/component/layout/widget/MaskCommonWidget.d.ts +14 -0
- package/dist/types/src/component/layout/widget/index.d.ts +1 -0
- package/dist/types/src/component/menu/DefaultMenu.vue.d.ts +115 -0
- package/dist/types/src/component/menu/DefaultSubMenu.vue.d.ts +17 -0
- package/dist/types/src/component/menu/MenuWidget.d.ts +71 -0
- package/dist/types/src/component/menu/index.d.ts +3 -0
- package/dist/types/src/component/multi-tabs/MultiTabs.vue.d.ts +151 -0
- package/dist/types/src/component/multi-tabs/MultiTabsWidget.d.ts +60 -0
- package/dist/types/src/component/multi-tabs/index.d.ts +2 -0
- package/dist/types/src/component/multi-tabs/typing.d.ts +6 -0
- package/dist/types/src/component/notification/DefaultNotification.vue.d.ts +61 -0
- package/dist/types/src/component/notification/NotificationWidget.d.ts +139 -0
- package/dist/types/src/component/notification/index.d.ts +2 -0
- package/dist/types/src/component/order-statistic/OrderStatistic.vue.d.ts +8 -0
- package/dist/types/src/component/order-statistic/index.d.ts +14 -0
- package/dist/types/src/component/partner-switcher/PartnerSwitcher.vue.d.ts +28 -0
- package/dist/types/src/component/partner-switcher/PartnerSwitcherWidget.d.ts +15 -0
- package/dist/types/src/component/partner-switcher/index.d.ts +6 -0
- package/dist/types/src/component/partner-switcher/service/PartnerSwitcherService.d.ts +17 -0
- package/dist/types/src/component/partner-switcher/service/impl/PartnerSwitcherServiceImpl.d.ts +17 -0
- package/dist/types/src/component/partner-switcher/service/index.d.ts +2 -0
- package/dist/types/src/component/partner-switcher/session/PartnerInfoSession.d.ts +26 -0
- package/dist/types/src/component/partner-switcher/session/impl/DefaultPartnerInfoSession.d.ts +15 -0
- package/dist/types/src/component/partner-switcher/session/index.d.ts +2 -0
- package/dist/types/src/component/partner-switcher/spi/PartnerSwitcherMaskEditor.d.ts +6 -0
- package/dist/types/src/component/partner-switcher/spi/index.d.ts +1 -0
- package/dist/types/src/component/partner-switcher/typing/index.d.ts +1 -0
- package/dist/types/src/component/partner-switcher/typing/partner.d.ts +20 -0
- package/dist/types/src/component/quick-search/QuickSearch.vue.d.ts +29 -0
- package/dist/types/src/component/quick-search/index.d.ts +24 -0
- package/dist/types/src/component/user/DefaultUser.vue.d.ts +39 -0
- package/dist/types/src/component/user/UserWidget.d.ts +16 -0
- package/dist/types/src/component/user/index.d.ts +1 -0
- package/dist/types/src/config/DebugConfig.d.ts +16 -0
- package/dist/types/src/config/PartnerSwitcherConfig.d.ts +16 -0
- package/dist/types/src/config/index.d.ts +2 -0
- package/dist/types/src/index.d.ts +10 -0
- package/dist/types/src/service/index.d.ts +5 -0
- package/dist/types/src/service/menu-service.d.ts +12 -0
- package/dist/types/src/service/message-service.d.ts +16 -0
- package/dist/types/src/service/module-service.d.ts +7 -0
- package/dist/types/src/service/top-bar-service.d.ts +10 -0
- package/dist/types/src/service/user-service.d.ts +4 -0
- package/dist/types/src/spi/index.d.ts +1 -0
- package/dist/types/src/spi/mask-editor.d.ts +54 -0
- package/dist/types/src/tags/Block.vue.d.ts +5 -0
- package/dist/types/src/tags/Breadcrumb.vue.d.ts +5 -0
- package/dist/types/src/tags/Container.vue.d.ts +5 -0
- package/dist/types/src/tags/Content.vue.d.ts +5 -0
- package/dist/types/src/tags/Header.vue.d.ts +5 -0
- package/dist/types/src/tags/Mask.vue.d.ts +5 -0
- package/dist/types/src/tags/MultiTabs.vue.d.ts +5 -0
- package/dist/types/src/tags/Sidebar.vue.d.ts +5 -0
- package/dist/types/src/tags/Widget.vue.d.ts +5 -0
- package/dist/types/src/tags/context/context.d.ts +8 -0
- package/dist/types/src/tags/context/index.d.ts +1 -0
- package/dist/types/src/tags/index.d.ts +6 -0
- package/dist/types/src/tags/mixin/MaskWidgetTagMixin.d.ts +2 -0
- package/dist/types/src/tags/mixin/index.d.ts +3 -0
- package/dist/types/src/tags/mixin/typing.d.ts +6 -0
- package/dist/types/src/tags/mixin/use-mask-widget-tag.d.ts +38 -0
- package/dist/types/src/tags/register/index.d.ts +1 -0
- package/dist/types/src/tags/register/manager.d.ts +9 -0
- package/dist/types/src/tags/resolve/index.d.ts +2 -0
- package/dist/types/src/tags/resolve/internal/index.d.ts +2 -0
- package/dist/types/src/tags/resolve/internal/typing.d.ts +5 -0
- package/dist/types/src/tags/resolve/internal/widget-resolve.d.ts +3 -0
- package/dist/types/src/tags/resolve/typing.d.ts +26 -0
- package/dist/types/src/tags/resolve/widget-resolve.d.ts +5 -0
- package/dist/types/src/template/default-mask.d.ts +2 -0
- package/dist/types/src/template/index.d.ts +6 -0
- package/dist/types/src/theme/index.d.ts +1 -0
- package/dist/types/src/typing/constant.d.ts +1 -0
- package/dist/types/src/typing/index.d.ts +3 -0
- package/dist/types/src/typing/menu.d.ts +12 -0
- package/dist/types/src/typing/stream-symble.d.ts +12 -0
- package/dist/types/src/util/HomepageUtils.d.ts +3 -0
- package/dist/types/src/util/MenuUtil.d.ts +5 -0
- package/dist/types/src/util/index.d.ts +3 -0
- package/dist/types/src/util/unauthorized-action.d.ts +14 -0
- package/dist/types/src/utils.d.ts +86 -0
- package/index.ts +1 -0
- package/package.json +47 -0
- package/rollup.config.js +33 -0
- package/src/basic/MaskWidget.ts +74 -0
- package/src/basic/index.ts +2 -0
- package/src/basic/register/index.ts +1 -0
- package/src/basic/register/manager.ts +17 -0
- package/src/basic/token/BaseMaskWidget.ts +187 -0
- package/src/basic/token/index.ts +1 -0
- package/src/component/app-switcher/AppSwitcher.vue +133 -0
- package/src/component/app-switcher/AppSwitcherMask.vue +237 -0
- package/src/component/app-switcher/AppSwitcherWidget.ts +152 -0
- package/src/component/app-switcher/index.ts +3 -0
- package/src/component/breadcrumb/BreadcrumbWidget.ts +167 -0
- package/src/component/breadcrumb/DefaultBreadcrumb.vue +95 -0
- package/src/component/breadcrumb/index.ts +2 -0
- package/src/component/debug/Debug.vue +28 -0
- package/src/component/debug/DebugWidget.ts +38 -0
- package/src/component/debug/constants.ts +3 -0
- package/src/component/debug/index.ts +6 -0
- package/src/component/debug/spi/DebugMaskEditor.ts +19 -0
- package/src/component/debug/spi/DebugRouterInitializeService.ts +21 -0
- package/src/component/debug/spi/index.ts +1 -0
- package/src/component/debug/typing.ts +191 -0
- package/src/component/debug/view/DebugMainView.vue +206 -0
- package/src/component/debug/view/DebugMainViewWidget.ts +42 -0
- package/src/component/debug/view/components/DebugDefaultInfo.vue +31 -0
- package/src/component/debug/view/components/DebugJsonView.vue +107 -0
- package/src/component/debug/view/components/DebugRequestInfoPanel.vue +129 -0
- package/src/component/debug/view/components/DebugResponsePanel.vue +66 -0
- package/src/component/debug/view/components/runtime-context/DebugRuntimeFieldComponent.vue +29 -0
- package/src/component/debug/view/debug-api/DebugApi.vue +225 -0
- package/src/component/debug/view/debug-api/DebugApiWidget.ts +400 -0
- package/src/component/debug/view/debug-utils.ts +114 -0
- package/src/component/debug/view/debug-view/DebugView.vue +331 -0
- package/src/component/debug/view/debug-view/DebugViewWidget.ts +181 -0
- package/src/component/debug/view/index.ts +6 -0
- package/src/component/debug/view/service/DebugRuntimeContextService.ts +21 -0
- package/src/component/debug/view/service/DebugStackInfoService.ts +33 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugDefaultRuntimeContextService.ts +16 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeActionService.ts +28 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeDslService.ts +16 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeFieldService.ts +33 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeLayoutService.ts +16 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeMaskService.ts +30 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeTemplateService.ts +16 -0
- package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeViewService.ts +16 -0
- package/src/component/debug/view/service/impl/stack-info/DebugBizStackService.ts +19 -0
- package/src/component/debug/view/service/impl/stack-info/DebugConfigureService.ts +6 -0
- package/src/component/debug/view/service/impl/stack-info/DebugDefaultStackInfoService.ts +62 -0
- package/src/component/debug/view/service/impl/stack-info/DebugExceptionStackService.ts +19 -0
- package/src/component/debug/view/service/impl/stack-info/DebugFunctionService.ts +6 -0
- package/src/component/debug/view/service/impl/stack-info/DebugHalfBizStackService.ts +19 -0
- package/src/component/debug/view/service/impl/stack-info/DebugModelService.ts +6 -0
- package/src/component/debug/view/service/impl/stack-info/DebugPureBizStackService.ts +19 -0
- package/src/component/debug/view/service/impl/stack-info/DebugStacktraceGqlRequestContextService.ts +22 -0
- package/src/component/debug/view/service/impl/stack-info/DebugStacktraceSceneAnalysisService.ts +35 -0
- package/src/component/debug/view/service/impl/stack-info/DebugStacktraceSessionService.ts +19 -0
- package/src/component/debug/view/service/index.ts +22 -0
- package/src/component/debug/view/storage.ts +35 -0
- package/src/component/debug/view/useDebugRequestInfo.ts +17 -0
- package/src/component/divider/Divider.vue +15 -0
- package/src/component/divider/DividerWidget.ts +12 -0
- package/src/component/divider/index.ts +1 -0
- package/src/component/index.ts +15 -0
- package/src/component/language/DefaultLanguage.vue +111 -0
- package/src/component/language/LanguageWidget.ts +72 -0
- package/src/component/language/index.ts +1 -0
- package/src/component/layout/BaseMaskLayoutWidget.ts +12 -0
- package/src/component/layout/MaskBlock.vue +31 -0
- package/src/component/layout/block/MaskBlockWidget.ts +17 -0
- package/src/component/layout/block/index.ts +1 -0
- package/src/component/layout/container/MaskContainerWidget.ts +13 -0
- package/src/component/layout/container/index.ts +1 -0
- package/src/component/layout/content/MaskContentWidget.ts +41 -0
- package/src/component/layout/content/index.ts +1 -0
- package/src/component/layout/grid/Grid.vue +10 -0
- package/src/component/layout/grid/GridWidget.ts +62 -0
- package/src/component/layout/grid/index.ts +1 -0
- package/src/component/layout/header/MaskHeaderWidget.ts +13 -0
- package/src/component/layout/header/index.ts +1 -0
- package/src/component/layout/index.ts +9 -0
- package/src/component/layout/mask/MaskRootWidget.ts +13 -0
- package/src/component/layout/mask/index.ts +1 -0
- package/src/component/layout/sidebar/MaskSidebarWidget.ts +31 -0
- package/src/component/layout/sidebar/index.ts +1 -0
- package/src/component/layout/widget/MaskCommonWidget.ts +95 -0
- package/src/component/layout/widget/index.ts +1 -0
- package/src/component/menu/DefaultMenu.vue +252 -0
- package/src/component/menu/DefaultSubMenu.vue +68 -0
- package/src/component/menu/MenuWidget.ts +349 -0
- package/src/component/menu/index.ts +3 -0
- package/src/component/menu/style/common.scss +411 -0
- package/src/component/menu/style/index.scss +2 -0
- package/src/component/menu/style/menu-theme/index.scss +5 -0
- package/src/component/menu/style/menu-theme/theme2.scss +37 -0
- package/src/component/menu/style/menu-theme/theme3.scss +59 -0
- package/src/component/menu/style/menu-theme/theme4.scss +56 -0
- package/src/component/menu/style/menu-theme/theme5.scss +45 -0
- package/src/component/menu/style/menu-theme/theme6.scss +45 -0
- package/src/component/menu/style/mixin.scss +23 -0
- package/src/component/multi-tabs/MultiTabs.vue +475 -0
- package/src/component/multi-tabs/MultiTabsWidget.ts +450 -0
- package/src/component/multi-tabs/index.ts +2 -0
- package/src/component/multi-tabs/style/index.scss +217 -0
- package/src/component/multi-tabs/style/mixin.scss +13 -0
- package/src/component/multi-tabs/style/parameters.scss +2 -0
- package/src/component/multi-tabs/style/theme1.scss +92 -0
- package/src/component/multi-tabs/style/theme2.scss +89 -0
- package/src/component/multi-tabs/style/theme3.scss +60 -0
- package/src/component/multi-tabs/style/theme4.scss +85 -0
- package/src/component/multi-tabs/typing.ts +7 -0
- package/src/component/notification/DefaultNotification.vue +455 -0
- package/src/component/notification/NotificationWidget.ts +332 -0
- package/src/component/notification/index.ts +2 -0
- package/src/component/order-statistic/OrderStatistic.vue +12 -0
- package/src/component/order-statistic/index.ts +146 -0
- package/src/component/partner-switcher/PartnerSwitcher.vue +75 -0
- package/src/component/partner-switcher/PartnerSwitcherWidget.ts +70 -0
- package/src/component/partner-switcher/index.ts +6 -0
- package/src/component/partner-switcher/service/PartnerSwitcherService.ts +20 -0
- package/src/component/partner-switcher/service/impl/PartnerSwitcherServiceImpl.ts +48 -0
- package/src/component/partner-switcher/service/index.ts +2 -0
- package/src/component/partner-switcher/session/PartnerInfoSession.ts +32 -0
- package/src/component/partner-switcher/session/impl/DefaultPartnerInfoSession.ts +46 -0
- package/src/component/partner-switcher/session/index.ts +2 -0
- package/src/component/partner-switcher/spi/PartnerSwitcherMaskEditor.ts +24 -0
- package/src/component/partner-switcher/spi/index.ts +1 -0
- package/src/component/partner-switcher/typing/index.ts +1 -0
- package/src/component/partner-switcher/typing/partner.ts +22 -0
- package/src/component/quick-search/QuickSearch.vue +34 -0
- package/src/component/quick-search/index.ts +237 -0
- package/src/component/style/index.scss +4 -0
- package/src/component/style/layout.scss +229 -0
- package/src/component/user/DefaultUser.vue +92 -0
- package/src/component/user/UserWidget.ts +129 -0
- package/src/component/user/index.ts +1 -0
- package/src/config/DebugConfig.ts +30 -0
- package/src/config/PartnerSwitcherConfig.ts +30 -0
- package/src/config/index.ts +2 -0
- package/src/index.ts +11 -0
- package/src/service/index.ts +5 -0
- package/src/service/menu-service.ts +105 -0
- package/src/service/message-service.ts +65 -0
- package/src/service/module-service.ts +69 -0
- package/src/service/top-bar-service.ts +144 -0
- package/src/service/user-service.ts +10 -0
- package/src/shim-translate.d.ts +7 -0
- package/src/shim-vue.d.ts +6 -0
- package/src/spi/index.ts +1 -0
- package/src/spi/mask-editor.ts +102 -0
- package/src/tags/Block.vue +16 -0
- package/src/tags/Breadcrumb.vue +16 -0
- package/src/tags/Container.vue +16 -0
- package/src/tags/Content.vue +16 -0
- package/src/tags/Header.vue +16 -0
- package/src/tags/Mask.vue +16 -0
- package/src/tags/MultiTabs.vue +16 -0
- package/src/tags/Sidebar.vue +16 -0
- package/src/tags/Widget.vue +16 -0
- package/src/tags/context/context.ts +24 -0
- package/src/tags/context/index.ts +1 -0
- package/src/tags/index.ts +48 -0
- package/src/tags/mixin/MaskWidgetTagMixin.ts +79 -0
- package/src/tags/mixin/index.ts +3 -0
- package/src/tags/mixin/typing.ts +8 -0
- package/src/tags/mixin/use-mask-widget-tag.ts +172 -0
- package/src/tags/register/index.ts +1 -0
- package/src/tags/register/manager.ts +43 -0
- package/src/tags/resolve/index.ts +2 -0
- package/src/tags/resolve/internal/index.ts +2 -0
- package/src/tags/resolve/internal/typing.ts +6 -0
- package/src/tags/resolve/internal/widget-resolve.ts +57 -0
- package/src/tags/resolve/typing.ts +39 -0
- package/src/tags/resolve/widget-resolve.ts +64 -0
- package/src/template/default-mask.ts +51 -0
- package/src/template/index.ts +26 -0
- package/src/theme/index.ts +1 -0
- package/src/typing/constant.ts +3 -0
- package/src/typing/index.ts +3 -0
- package/src/typing/menu.ts +15 -0
- package/src/typing/stream-symble.ts +14 -0
- package/src/util/HomepageUtils.ts +41 -0
- package/src/util/MenuUtil.ts +18 -0
- package/src/util/index.ts +3 -0
- package/src/util/unauthorized-action.ts +98 -0
- package/src/utils.ts +716 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SYSTEM_MODULE_NAME } from '@oinone/kunlun-meta';
|
|
2
|
+
import { GQL } from '@oinone/kunlun-request';
|
|
3
|
+
import { SPI } from '@oinone/kunlun-spi';
|
|
4
|
+
import { PartnerInfo, PartnerItem } from '../../typing';
|
|
5
|
+
import { PartnerSwitcherService, PartnerSwitcherServiceToken } from '../PartnerSwitcherService';
|
|
6
|
+
|
|
7
|
+
const SHOW_PARTNERS_MODEL_NAME = 'showPartners';
|
|
8
|
+
|
|
9
|
+
export type QueryShowPartnersResult = {
|
|
10
|
+
partner: { code: string; name: string };
|
|
11
|
+
partnerList: { code: string; name: string }[];
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
@SPI.Service(PartnerSwitcherServiceToken)
|
|
15
|
+
export class PartnerSwitcherServiceImpl implements PartnerSwitcherService {
|
|
16
|
+
public async queryPartnerInfo(): Promise<PartnerInfo | undefined> {
|
|
17
|
+
return GQL.query(SHOW_PARTNERS_MODEL_NAME, 'queryAllPartners')
|
|
18
|
+
.buildResponse((builder) => builder.parameter(['partner', ['code', 'name']], ['partnerList', ['code', 'name']]))
|
|
19
|
+
.request<QueryShowPartnersResult>(SYSTEM_MODULE_NAME.COMMON)
|
|
20
|
+
.then((data) => this.convert(data));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public async changePartner(target: PartnerItem): Promise<PartnerInfo | undefined> {
|
|
24
|
+
return GQL.mutation(SHOW_PARTNERS_MODEL_NAME, 'changePartner')
|
|
25
|
+
.buildRequest((builder) => {
|
|
26
|
+
builder.buildObjectParameter('currentPartner', (builder) => {
|
|
27
|
+
builder.stringParameter('code', target.id);
|
|
28
|
+
builder.stringParameter('name', target.name);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.buildResponse((builder) => builder.parameter(['partner', ['code', 'name']], ['partnerList', ['code', 'name']]))
|
|
32
|
+
.request<QueryShowPartnersResult>(SYSTEM_MODULE_NAME.COMMON)
|
|
33
|
+
.then((data) => this.convert(data));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
protected convert(data: QueryShowPartnersResult): PartnerInfo | undefined {
|
|
37
|
+
const { partner, partnerList } = data;
|
|
38
|
+
if (partner && partner.code) {
|
|
39
|
+
return {
|
|
40
|
+
currentPartner: {
|
|
41
|
+
id: partner.code,
|
|
42
|
+
name: partner.name
|
|
43
|
+
},
|
|
44
|
+
partnerList: partnerList?.map((v) => ({ id: v.code, name: v.name })) || []
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ServiceIdentifier } from '@oinone/kunlun-spi';
|
|
2
|
+
import { PartnerInfo, PartnerItem } from '../typing';
|
|
3
|
+
|
|
4
|
+
export interface PartnerInfoSession<T = unknown> {
|
|
5
|
+
/**
|
|
6
|
+
* 获取当前合作伙伴
|
|
7
|
+
*/
|
|
8
|
+
getCurrentPartner(): PartnerItem | undefined;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 获取合作伙伴信息
|
|
12
|
+
*/
|
|
13
|
+
getPartnerInfo(): PartnerInfo | undefined;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 设置当前合作伙伴信息
|
|
17
|
+
* @param target 合作伙伴信息
|
|
18
|
+
*/
|
|
19
|
+
setPartnerInfo(target: PartnerInfo | undefined): void;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 获取当前合作伙伴存储信息
|
|
23
|
+
*/
|
|
24
|
+
getCurrentPartnerStore(): T | undefined;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 清空当前合作伙伴存储信息
|
|
28
|
+
*/
|
|
29
|
+
clear(): void;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const PartnerInfoSessionToken = ServiceIdentifier<PartnerInfoSession>('PartnerInfoSession');
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SPI } from '@oinone/kunlun-spi';
|
|
2
|
+
import { PartnerInfo, PartnerItem } from '../../typing';
|
|
3
|
+
import { PartnerInfoSession, PartnerInfoSessionToken } from '../PartnerInfoSession';
|
|
4
|
+
|
|
5
|
+
export interface PartnerSessionStore {
|
|
6
|
+
sid: string | null | undefined;
|
|
7
|
+
lid: string | null | undefined;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@SPI.Service(PartnerInfoSessionToken)
|
|
11
|
+
export class DefaultPartnerInfoSession implements PartnerInfoSession<PartnerSessionStore> {
|
|
12
|
+
private static readonly CACHE_KEY = 'pamirs_partner_id';
|
|
13
|
+
|
|
14
|
+
private partnerInfo: PartnerInfo | undefined;
|
|
15
|
+
|
|
16
|
+
public getCurrentPartner(): PartnerItem | undefined {
|
|
17
|
+
return this.getPartnerInfo()?.currentPartner;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public getPartnerInfo(): PartnerInfo | undefined {
|
|
21
|
+
return this.partnerInfo;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public setPartnerInfo(target: PartnerInfo | undefined): void {
|
|
25
|
+
if (target) {
|
|
26
|
+
sessionStorage.setItem(DefaultPartnerInfoSession.CACHE_KEY, target.currentPartner.id);
|
|
27
|
+
localStorage.setItem(DefaultPartnerInfoSession.CACHE_KEY, target.currentPartner.id);
|
|
28
|
+
} else {
|
|
29
|
+
this.clear();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public getCurrentPartnerStore(): PartnerSessionStore | undefined {
|
|
34
|
+
const sid = sessionStorage.getItem(DefaultPartnerInfoSession.CACHE_KEY);
|
|
35
|
+
const lid = localStorage.getItem(DefaultPartnerInfoSession.CACHE_KEY);
|
|
36
|
+
if (sid || lid) {
|
|
37
|
+
return { sid, lid };
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public clear(): void {
|
|
43
|
+
sessionStorage.removeItem(DefaultPartnerInfoSession.CACHE_KEY);
|
|
44
|
+
localStorage.removeItem(DefaultPartnerInfoSession.CACHE_KEY);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DslDefinition } from '@oinone/kunlun-dsl';
|
|
2
|
+
import { SPI } from '@oinone/kunlun-spi';
|
|
3
|
+
import { PartnerSwitcherConfigManager } from '../../../config';
|
|
4
|
+
import { MaskEditor, MaskEditorContext, MaskEditorToken, MaskEditService, MaskEditServiceToken } from '../../../spi';
|
|
5
|
+
|
|
6
|
+
@SPI.Service(MaskEditorToken, { priority: 10 })
|
|
7
|
+
export class PartnerSwitcherMaskEditor implements MaskEditor {
|
|
8
|
+
@SPI.Autowired(MaskEditServiceToken)
|
|
9
|
+
private maskEditService!: MaskEditService;
|
|
10
|
+
|
|
11
|
+
public edit(context: Readonly<MaskEditorContext>, dsl: DslDefinition): DslDefinition {
|
|
12
|
+
if (PartnerSwitcherConfigManager.isEnabled()) {
|
|
13
|
+
this.maskEditService
|
|
14
|
+
.findTopBarWidgets(dsl)
|
|
15
|
+
?.splice(
|
|
16
|
+
0,
|
|
17
|
+
0,
|
|
18
|
+
this.maskEditService.generatorWidget('partner-switcher'),
|
|
19
|
+
this.maskEditService.generatorDivider()
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
return dsl;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PartnerSwitcherMaskEditor';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './partner';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 合作伙伴项
|
|
3
|
+
*/
|
|
4
|
+
export interface PartnerItem {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 合作伙伴信息
|
|
11
|
+
*/
|
|
12
|
+
export interface PartnerInfo {
|
|
13
|
+
/**
|
|
14
|
+
* 当前合作伙伴
|
|
15
|
+
*/
|
|
16
|
+
currentPartner: PartnerItem;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 可选合作伙伴列表
|
|
20
|
+
*/
|
|
21
|
+
partnerList: PartnerItem[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="search-content">
|
|
3
|
+
<a-spin :spinning="loading">
|
|
4
|
+
<a-input-search
|
|
5
|
+
class="oio-input"
|
|
6
|
+
:placeholder="dslNode.children[0] ? dslNode.children[0].placeHolderText : ''"
|
|
7
|
+
:value="searchText"
|
|
8
|
+
@change="onChange"
|
|
9
|
+
cleanable
|
|
10
|
+
/>
|
|
11
|
+
<a-tree :tree-data="proxyTreeData" show-icon @select="onSelect" :loadData="loadData">
|
|
12
|
+
<template #icon="{ url }" v-if="showLogo">
|
|
13
|
+
<span class="custom-tree-node-logo" v-if="showLogo">
|
|
14
|
+
<!-- <div v-if="!url" class="logo-placeholder"></div> -->
|
|
15
|
+
<img v-if="url" :src="url" alt />
|
|
16
|
+
</span>
|
|
17
|
+
</template>
|
|
18
|
+
</a-tree>
|
|
19
|
+
</a-spin>
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
<script lang="ts">
|
|
23
|
+
import { defineComponent } from 'vue';
|
|
24
|
+
import { Spin, Input, Tree } from 'ant-design-vue';
|
|
25
|
+
|
|
26
|
+
export default defineComponent({
|
|
27
|
+
props: ['loading', 'dslNode', 'searchText', 'onChange', 'proxyTreeData', 'onSelect', 'showLogo', 'loadData'],
|
|
28
|
+
components: {
|
|
29
|
+
ASpin: Spin,
|
|
30
|
+
AInputSearch: Input,
|
|
31
|
+
ATree: Tree
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
</script>
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { IModel } from '@oinone/kunlun-meta';
|
|
2
|
+
import { queryPage } from '@oinone/kunlun-service';
|
|
3
|
+
import { SPI } from '@oinone/kunlun-spi';
|
|
4
|
+
import { Widget } from '@oinone/kunlun-vue-widget';
|
|
5
|
+
import { MaskWidget } from '../../basic';
|
|
6
|
+
import QuickSearchComponent from './QuickSearch.vue';
|
|
7
|
+
|
|
8
|
+
interface ITreeNode {
|
|
9
|
+
title: string;
|
|
10
|
+
key: string;
|
|
11
|
+
children: ITreeNode[];
|
|
12
|
+
isLeaf: boolean;
|
|
13
|
+
url?: string;
|
|
14
|
+
slots?: {
|
|
15
|
+
icon: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@SPI.ClassFactory(MaskWidget.Token({ widget: 'quick-search' }))
|
|
20
|
+
export class QuickSearch extends MaskWidget {
|
|
21
|
+
@Widget.Reactive()
|
|
22
|
+
private rawData: Record<string, unknown>[] = [];
|
|
23
|
+
|
|
24
|
+
@Widget.Reactive()
|
|
25
|
+
private showLogo = false;
|
|
26
|
+
|
|
27
|
+
@Widget.Reactive()
|
|
28
|
+
private searchCondition = '';
|
|
29
|
+
|
|
30
|
+
@Widget.Reactive()
|
|
31
|
+
private model!: IModel;
|
|
32
|
+
|
|
33
|
+
@Widget.Reactive()
|
|
34
|
+
private isLazyLoad: boolean = false;
|
|
35
|
+
|
|
36
|
+
public initialize(props) {
|
|
37
|
+
super.initialize(props);
|
|
38
|
+
const { showLogo = false, isLazyLoad = true } = props.dslNode || {};
|
|
39
|
+
this.showLogo = showLogo as boolean;
|
|
40
|
+
this.isLazyLoad = isLazyLoad;
|
|
41
|
+
|
|
42
|
+
this.setComponent(QuickSearchComponent);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
private async loadTreeData(parentCode: string = '') {
|
|
47
|
+
const field = this.model.modelFields.find((mf) => mf.name === this.getDsl().name)!;
|
|
48
|
+
let condition = 'parentCode=isnull=true';
|
|
49
|
+
if (parentCode) {
|
|
50
|
+
condition = `parentCode==${parentCode}`;
|
|
51
|
+
}
|
|
52
|
+
const data = (
|
|
53
|
+
await queryPage(field.references!, { pageSize: 100, condition }, undefined, undefined, {
|
|
54
|
+
maxDepth: 0
|
|
55
|
+
})
|
|
56
|
+
).content;
|
|
57
|
+
const { labelKey, valueKey } = this.getDsl().children[0];
|
|
58
|
+
return data.map((d) => {
|
|
59
|
+
return {
|
|
60
|
+
...d,
|
|
61
|
+
title: d[labelKey] as string,
|
|
62
|
+
key: d[valueKey] as string,
|
|
63
|
+
children: [],
|
|
64
|
+
isLeaf: d.hasChild === undefined ? false : !d.hasChild
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private mergeTreeNode(node, data) {
|
|
70
|
+
if (node.id === data.id) {
|
|
71
|
+
return {
|
|
72
|
+
...data,
|
|
73
|
+
...node
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (data.children && data.children.length) {
|
|
77
|
+
data.children = data.children.map((d) => {
|
|
78
|
+
return this.mergeTreeNode(node, d);
|
|
79
|
+
});
|
|
80
|
+
return data;
|
|
81
|
+
}
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@Widget.Method()
|
|
86
|
+
private async loadData(node) {
|
|
87
|
+
const code = node.dataRef.code;
|
|
88
|
+
const children = await this.loadTreeData(code);
|
|
89
|
+
this.rawData = this.rawData.concat(children);
|
|
90
|
+
if (children.length) {
|
|
91
|
+
node.dataRef.children = [...children];
|
|
92
|
+
this.treeData = this.treeData.map((data) => {
|
|
93
|
+
return this.mergeTreeNode(node.dataRef, data);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public async loadMetadata(model: IModel) {
|
|
99
|
+
this.model = model;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
public async mounted() {
|
|
103
|
+
super.mounted();
|
|
104
|
+
if (this.isLazyLoad) {
|
|
105
|
+
this.rawData = await this.loadTreeData();
|
|
106
|
+
this.treeData = this.rawData as any;
|
|
107
|
+
} else {
|
|
108
|
+
const field = this.model.modelFields.find((mf) => mf.name === this.getDsl().name)!;
|
|
109
|
+
this.rawData = (
|
|
110
|
+
await queryPage(
|
|
111
|
+
field.references!,
|
|
112
|
+
{ pageSize: 100, condition: 'parentCode=isnull=true' },
|
|
113
|
+
undefined,
|
|
114
|
+
undefined,
|
|
115
|
+
{
|
|
116
|
+
maxDepth: 0
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
).content;
|
|
120
|
+
this.treeData = this.buildTree(null);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@Widget.Reactive()
|
|
125
|
+
private treeData: ITreeNode[] = [];
|
|
126
|
+
|
|
127
|
+
private isLeaf(key) {
|
|
128
|
+
return !this.rawData.find((d) => {
|
|
129
|
+
const parent = d[this.getDsl().children[0].parentKey as string] as Record<string, unknown>;
|
|
130
|
+
return parent && parent[this.getDsl().children[0].valueKey as string] === key;
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private resolveRsql(data: Record<string, unknown>) {
|
|
135
|
+
return this.getDsl().children[0].rsql;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@Widget.Method()
|
|
139
|
+
private onSelect(selectKeys: string[]) {
|
|
140
|
+
const data = this.rawData.find((d) => d[this.getDsl().children[0].valueKey as string] === selectKeys[0]);
|
|
141
|
+
|
|
142
|
+
if (data) {
|
|
143
|
+
const keys: string[] = [];
|
|
144
|
+
const values: any[] = [];
|
|
145
|
+
|
|
146
|
+
for (const key in data) {
|
|
147
|
+
if (data.hasOwnProperty(key)) {
|
|
148
|
+
keys.push(key);
|
|
149
|
+
values.push(data[key]);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
154
|
+
const fun = new Function(...keys, `return \`${this.getDsl().children[0].rsql}\``);
|
|
155
|
+
this.searchCondition = fun.call(null, ...values);
|
|
156
|
+
// fixme @zbh 20230417 改版
|
|
157
|
+
// this.reload$.subject.next(this.searchCondition);
|
|
158
|
+
} else {
|
|
159
|
+
this.searchCondition = '';
|
|
160
|
+
// this.reload$.subject.next(this.searchCondition);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
public getSearchCondition(): string {
|
|
165
|
+
return this.searchCondition;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@Widget.Reactive()
|
|
169
|
+
private get proxyTreeData() {
|
|
170
|
+
const isShowNode = (node: ITreeNode) => {
|
|
171
|
+
if (node.title.indexOf(this.searchText) !== -1) {
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
if (!node.children.length) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
return node.children.map((c) => isShowNode(c)).includes(true);
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const filterNode = (node: ITreeNode, arr: ITreeNode[]) => {
|
|
181
|
+
if (isShowNode(node)) {
|
|
182
|
+
const rnode: ITreeNode = { ...node, children: [], slots: { icon: 'icon' } };
|
|
183
|
+
arr.push(rnode);
|
|
184
|
+
node.children.forEach((c) => filterNode(c, rnode.children));
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
const res: ITreeNode[] = [];
|
|
189
|
+
this.treeData.forEach((td) => filterNode(td, res));
|
|
190
|
+
return res;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@Widget.Reactive()
|
|
194
|
+
private searchText = '';
|
|
195
|
+
|
|
196
|
+
@Widget.Method()
|
|
197
|
+
private onChange(e) {
|
|
198
|
+
this.searchText = e.target.value;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
private buildTree(node: ITreeNode | null) {
|
|
202
|
+
const result: ITreeNode[] = [];
|
|
203
|
+
if (!node) {
|
|
204
|
+
this.rawData
|
|
205
|
+
.filter((d) => d[this.getDsl().children[0].parentKey as string] === undefined)
|
|
206
|
+
.forEach((d) =>
|
|
207
|
+
result.push({
|
|
208
|
+
title: d[this.getDsl().children[0].labelKey as string] as string,
|
|
209
|
+
key: d[this.getDsl().children[0].valueKey as string] as string,
|
|
210
|
+
children: [],
|
|
211
|
+
isLeaf: false,
|
|
212
|
+
url: (d.logo as any) ? (d.logo as any).url : ''
|
|
213
|
+
})
|
|
214
|
+
);
|
|
215
|
+
} else {
|
|
216
|
+
this.rawData
|
|
217
|
+
.filter((d) => {
|
|
218
|
+
const parent = d[this.getDsl().children[0].parentKey as string] as Record<string, unknown>;
|
|
219
|
+
return parent && parent[this.getDsl().children[0].valueKey as string] === node.key;
|
|
220
|
+
})
|
|
221
|
+
.forEach((d) =>
|
|
222
|
+
result.push({
|
|
223
|
+
title: d[this.getDsl().children[0].labelKey as string] as string,
|
|
224
|
+
key: d[this.getDsl().children[0].valueKey as string] as string,
|
|
225
|
+
children: [],
|
|
226
|
+
isLeaf: false,
|
|
227
|
+
url: (d.logo as any) ? (d.logo as any).url : ''
|
|
228
|
+
})
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
result.forEach((r) => (r.children = this.buildTree(r)));
|
|
232
|
+
if (result.length === 0) {
|
|
233
|
+
node && (node.isLeaf = true);
|
|
234
|
+
}
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
.k-container {
|
|
2
|
+
height: 100vh;
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.k-layout * {
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.k-layout-sidebar-horizontal {
|
|
11
|
+
flex: 1;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
width: 100%;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.k-layout {
|
|
17
|
+
height: 100%;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
flex: auto;
|
|
21
|
+
overflow: auto;
|
|
22
|
+
|
|
23
|
+
&.k-layout-row {
|
|
24
|
+
flex-direction: row;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-mask {
|
|
28
|
+
height: 100vh;
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
|
|
32
|
+
&.collapsed {
|
|
33
|
+
.k-oinone-application {
|
|
34
|
+
width: 80px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.logo-background {
|
|
38
|
+
margin-left: 0px !important;
|
|
39
|
+
background-position: center !important;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.k-oinone-menu-wrapper {
|
|
43
|
+
width: 80px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.app-name {
|
|
47
|
+
font-size: 16px !important;
|
|
48
|
+
color: var(--oio-text-color) !important;
|
|
49
|
+
letter-spacing: 0.57px !important;
|
|
50
|
+
text-align: right !important;
|
|
51
|
+
font-weight: 500;
|
|
52
|
+
overflow: initial;
|
|
53
|
+
|
|
54
|
+
svg {
|
|
55
|
+
font-size: 12px;
|
|
56
|
+
color: var(--oio-icon-color);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.designer-app-switcher {
|
|
61
|
+
width: 100px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.logo-area {
|
|
65
|
+
margin-left: 0px !important;
|
|
66
|
+
background-position: center !important;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.designer-app-switcher-label {
|
|
70
|
+
svg {
|
|
71
|
+
font-size: 12px !important;
|
|
72
|
+
color: rgba(0, 0, 0, 0.25) !important;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.app-name {
|
|
76
|
+
font-size: 16px;
|
|
77
|
+
color: rgba(0, 0, 0, 0.85);
|
|
78
|
+
letter-spacing: 0.57px;
|
|
79
|
+
text-align: right;
|
|
80
|
+
font-weight: 500;
|
|
81
|
+
|
|
82
|
+
svg {
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
color: rgba(0, 0, 0, 0.25);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&-header,
|
|
92
|
+
&-sider {
|
|
93
|
+
flex: none;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&-header {
|
|
97
|
+
height: 48px;
|
|
98
|
+
display: flex;
|
|
99
|
+
justify-content: space-between;
|
|
100
|
+
background: var(--oio-background);
|
|
101
|
+
align-items: center;
|
|
102
|
+
font-size: 14px;
|
|
103
|
+
user-select: none;
|
|
104
|
+
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.06);
|
|
105
|
+
position: relative;
|
|
106
|
+
|
|
107
|
+
.k-layout-widget,
|
|
108
|
+
.k-layout-block {
|
|
109
|
+
height: 100%;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.k-layout-block {
|
|
113
|
+
align-items: center;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&-container {
|
|
118
|
+
flex: 1;
|
|
119
|
+
display: flex;
|
|
120
|
+
overflow: auto;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
&-widget {
|
|
124
|
+
& > div {
|
|
125
|
+
height: 100%;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
&:has(.view-height-loading-wrapper) {
|
|
129
|
+
position: relative;
|
|
130
|
+
|
|
131
|
+
.view-height-loading-wrapper {
|
|
132
|
+
position: absolute;
|
|
133
|
+
width: 100%;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&-lang {
|
|
139
|
+
display: flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
line-height: 48px;
|
|
142
|
+
cursor: pointer;
|
|
143
|
+
|
|
144
|
+
span {
|
|
145
|
+
height: 100%;
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
color: var(--oio-header-color);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.oio-icon {
|
|
152
|
+
display: flex;
|
|
153
|
+
align-items: center;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.anticon-caret-down {
|
|
157
|
+
margin-left: 10px;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
&-extra-btn {
|
|
162
|
+
position: relative;
|
|
163
|
+
display: flex;
|
|
164
|
+
|
|
165
|
+
.btn {
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
padding: 0 10px;
|
|
169
|
+
margin: 0 5px;
|
|
170
|
+
cursor: pointer;
|
|
171
|
+
|
|
172
|
+
.oio-icon {
|
|
173
|
+
// color: var(--oio-default-icon-color);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.msg-text {
|
|
178
|
+
margin-left: 10px;
|
|
179
|
+
color: var(--oio-header-color);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
&-block {
|
|
184
|
+
display: flex;
|
|
185
|
+
flex-wrap: wrap;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
&-sider {
|
|
189
|
+
overflow-y: auto;
|
|
190
|
+
border-right: solid 1px #eee;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
&-sider::-webkit-scrollbar {
|
|
194
|
+
display: none;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
&-content {
|
|
198
|
+
flex: auto;
|
|
199
|
+
overflow: auto;
|
|
200
|
+
background: var(--oio-body-background);
|
|
201
|
+
display: flex;
|
|
202
|
+
flex-direction: column;
|
|
203
|
+
row-gap: var(--oio-padding-sm);
|
|
204
|
+
padding: var(--oio-padding-lg);
|
|
205
|
+
|
|
206
|
+
& > * {
|
|
207
|
+
flex-grow: 0;
|
|
208
|
+
flex-shrink: 0;
|
|
209
|
+
|
|
210
|
+
&:last-child {
|
|
211
|
+
flex-grow: 1;
|
|
212
|
+
flex-shrink: 1;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.k-language-dropdown {
|
|
219
|
+
background-color: var(--oio-background);
|
|
220
|
+
|
|
221
|
+
.ant-dropdown-menu-item,
|
|
222
|
+
.ant-dropdown-menu-submenu-title {
|
|
223
|
+
color: var(--oio-text-color);
|
|
224
|
+
|
|
225
|
+
&:hover {
|
|
226
|
+
color: var(--oio-hover-text-color);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|