@yelon/bis 17.3.2 → 18.0.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/LICENSE +21 -21
- package/README.md +1 -1
- package/config/bis.config.d.ts +3 -3
- package/config/index.d.ts +5 -5
- package/config/public_api.d.ts +1 -1
- package/esm2022/bis.mjs +4 -4
- package/esm2022/config/bis.config.mjs +14 -14
- package/esm2022/config/config.mjs +4 -4
- package/esm2022/config/public_api.mjs +1 -1
- package/esm2022/layout/layout-basic.component.mjs +518 -508
- package/esm2022/layout/layout-nav-application.component.mjs +372 -372
- package/esm2022/layout/layout-nav-group.component.mjs +166 -162
- package/esm2022/layout/layout-nav-tile.component.mjs +14 -14
- package/esm2022/layout/layout.mjs +4 -4
- package/esm2022/layout/layout.module.mjs +53 -53
- package/esm2022/layout/public_api.mjs +5 -5
- package/esm2022/public_api.mjs +8 -8
- package/esm2022/src/bis.module.mjs +16 -16
- package/esm2022/src/helper.mjs +44 -44
- package/esm2022/src/provide.mjs +7 -7
- package/esm2022/src/refresh-token.mjs +78 -78
- package/esm2022/src/startup.service.mjs +183 -183
- package/esm2022/src/yunzai-act.guard.mjs +87 -87
- package/esm2022/src/yunzai-analysis-addon.guard.mjs +98 -98
- package/esm2022/src/yunzai-default.interceptor.mjs +62 -62
- package/esm2022/yunzai-widgets/public_api.mjs +6 -6
- package/esm2022/yunzai-widgets/yunzai-clear-storage.component.mjs +46 -46
- package/esm2022/yunzai-widgets/yunzai-fullscreen.component.mjs +46 -46
- package/esm2022/yunzai-widgets/yunzai-i18n.component.mjs +138 -138
- package/esm2022/yunzai-widgets/yunzai-notify.component.mjs +179 -179
- package/esm2022/yunzai-widgets/yunzai-user.component.mjs +119 -119
- package/esm2022/yunzai-widgets/yunzai-widget.module.mjs +61 -61
- package/esm2022/yunzai-widgets/yunzai-widgets.mjs +4 -4
- package/fesm2022/bis.mjs +559 -559
- package/fesm2022/config.mjs +21 -21
- package/fesm2022/layout.mjs +1097 -1083
- package/fesm2022/layout.mjs.map +1 -1
- package/fesm2022/yunzai-widgets.mjs +563 -563
- package/index.d.ts +5 -5
- package/index.less +1 -1
- package/layout/index.d.ts +5 -5
- package/layout/layout-basic.component.d.ts +54 -54
- package/layout/layout-nav-application.component.d.ts +26 -26
- package/layout/layout-nav-group.component.d.ts +14 -14
- package/layout/layout-nav-tile.component.d.ts +5 -5
- package/layout/layout.module.d.ts +18 -18
- package/layout/public_api.d.ts +5 -5
- package/layout/style/index.less +181 -182
- package/package.json +68 -68
- package/public_api.d.ts +8 -8
- package/src/bis.module.d.ts +8 -8
- package/src/helper.d.ts +16 -16
- package/src/provide.d.ts +2 -2
- package/src/refresh-token.d.ts +6 -6
- package/src/startup.service.d.ts +24 -24
- package/src/yunzai-act.guard.d.ts +20 -20
- package/src/yunzai-analysis-addon.guard.d.ts +26 -26
- package/src/yunzai-default.interceptor.d.ts +2 -2
- package/theme-compact.less +3 -3
- package/theme-dark.less +46 -46
- package/theme-default.less +48 -48
- package/theme-variable.less +1 -0
- package/yunzai-widgets/index.d.ts +5 -5
- package/yunzai-widgets/public_api.d.ts +6 -6
- package/yunzai-widgets/yunzai-clear-storage.component.d.ts +8 -8
- package/yunzai-widgets/yunzai-fullscreen.component.d.ts +8 -8
- package/yunzai-widgets/yunzai-i18n.component.d.ts +19 -19
- package/yunzai-widgets/yunzai-notify.component.d.ts +25 -25
- package/yunzai-widgets/yunzai-user.component.d.ts +22 -22
- package/yunzai-widgets/yunzai-widget.module.d.ts +18 -18
package/fesm2022/layout.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.mjs","sources":["../../../../packages/bis/layout/layout-nav-application.component.ts","../../../../packages/bis/layout/layout-nav-group.component.ts","../../../../packages/bis/layout/layout-nav-tile.component.ts","../../../../packages/bis/layout/layout-basic.component.ts","../../../../packages/bis/layout/layout.module.ts","../../../../packages/bis/layout/layout.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { mergeBisConfig } from '@yelon/bis/config';\nimport { _HttpClient, I18nPipe, YunzaiHttpI18NService } from '@yelon/theme';\nimport {\n LayoutNavApplicationState,\n useLocalStorageHeader,\n WINDOW,\n YunzaiConfigService,\n YunzaiNavTopic\n} from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\n@Component({\n selector: `yunzai-layout-nav-application`,\n template: `\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n data-event-id=\"_nav_search\"\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"state.search\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n @for (topic of state.list; track topic) {\n <li>\n <h5>{{ topic.name | i18n }}</h5>\n @for (nav of topic.children; track nav) {\n <a\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n href=\"javascript:;\"\n (click)=\"open(nav)\"\n >{{ nav.name | i18n }}</a\n >\n }\n </li>\n }\n </ul>\n </div>\n </ng-template>\n\n <div data-event-id=\"_nav_app\" id=\"navBtn\" class=\"yunzai-default__nav-item\" (click)=\"diffChange()\"\n >{{ 'mode.nav' | i18n }}\n </div>\n\n <div class=\"yz-application\" id=\"navDropdown\" nz-row *ngIf=\"state.active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div class=\"yz-application-topic-list\">\n @if (showAllMenu) {\n <div data-event-id=\"_nav_topic\" data-name=\"全部应用\" class=\"yz-application-text\" (click)=\"attachNav('all')\"\n >{{ 'mode.nav.all' | i18n }}\n </div>\n }\n @if (showMineMenu) {\n <div data-event-id=\"_nav_topic\" data-name=\"我的应用\" class=\"yz-application-text\" (click)=\"attachNav('mine')\"\n >{{ 'mode.nav.mine' | i18n }}\n </div>\n }\n @for (nav of state.topics; track nav) {\n <div\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"nav.name | i18n\"\n class=\"yz-application-text\"\n (click)=\"attachNav('other', nav)\"\n >{{ nav.name | i18n }}\n </div>\n }\n </div>\n </div>\n <div nz-col [nzSpan]=\"21\" class=\"yz-application-container\">\n @switch (state.type) {\n @case ('all') {\n <div>\n <ng-template [ngTemplateOutlet]=\"search\" />\n <ng-template [ngTemplateOutlet]=\"ld\" />\n </div>\n }\n @case ('mine') {\n <div>\n <ng-template [ngTemplateOutlet]=\"search\" />\n <ng-template [ngTemplateOutlet]=\"ld\" />\n </div>\n }\n @case ('other') {\n <div class=\"yz-application-list yz-application-list-other\">\n <div class=\"yz-application-list-item\">\n <ul>\n @for (nav of state.list; track nav) {\n <li data-event-id=\"_nav_item\" [attr.data-name]=\"nav.name | i18n\" (click)=\"open(nav)\">\n <a href=\"javascript:;\">\n <h4>{{ nav.name | i18n }}</h4>\n <p>{{ nav.intro | i18n }}</p>\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n }\n }\n </div>\n </div>\n `,\n standalone: true,\n imports: [I18nPipe, FormsModule, NzFormModule, NzInputModule, CommonModule, NzGridModule]\n})\nexport class YunzaiNavApplicationComponent implements OnInit, OnDestroy {\n private readonly config = mergeBisConfig(inject(YunzaiConfigService));\n private readonly http = inject(_HttpClient);\n private readonly win = inject(WINDOW);\n private readonly i18n = inject(YunzaiHttpI18NService);\n private readonly destroy$ = new Subject();\n\n state: LayoutNavApplicationState = {\n active: false,\n type: 'all',\n topic: undefined,\n topics: [],\n list: [],\n search: null\n };\n\n get showAllMenu(): boolean {\n if (this.config.nav) return this.config.nav!.all!;\n return true;\n }\n\n get showMineMenu(): boolean {\n if (this.config.nav) return this.config.nav!.mine!;\n return true;\n }\n\n ngOnInit(): void {\n this.fetchAllTopic();\n this.attachNav('all');\n this.win.addEventListener('click', (event: NzSafeAny) => {\n const { target } = event;\n const btn = this.win.document.getElementById('navBtn');\n const dropdown = this.win.document.getElementById('navDropdown');\n if (btn && dropdown && !dropdown.contains(target) && !btn.contains(target)) {\n this.state.active = false;\n }\n });\n }\n\n fetchAllTopic(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics()!;\n }\n\n attachNav(type: 'all' | 'mine' | 'other', topic?: YunzaiNavTopic): void {\n this.state.type = type;\n this.clearSearch();\n if (type === 'all') {\n this.displayAllNav();\n }\n if (type === 'mine') {\n this.displayMineNav();\n }\n if (type === 'other' && topic) {\n this.displayOtherNav(topic);\n }\n }\n\n clearSearch(): void {\n this.state.search = null;\n }\n\n displayAllNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n\n displayMineNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!\n .filter((topic: YunzaiNavTopic) => {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return child.auth;\n });\n return topic;\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n }\n\n displayOtherNav(topic: YunzaiNavTopic): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topic = topic;\n const temp: YunzaiNavTopic[] = getTopics()!;\n this.state.list = temp.filter(t => t.key === topic.key)[0].children;\n }\n\n diffChange(flag?: boolean): void {\n if (flag) {\n this.state.active = flag;\n } else {\n this.state.active = !this.state.active;\n }\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.win.location.href = topic.url;\n break;\n case 'blank':\n this.win.location.href = topic.url;\n break;\n case 'target':\n this.win.location.href = topic.url;\n break;\n default:\n this.win.location.href = topic.url;\n break;\n }\n }\n\n onSearch(): void {\n const [, getTopics] = useLocalStorageHeader();\n const temp: YunzaiNavTopic[] = getTopics()!;\n if (this.state.search) {\n this.state.list = temp\n .filter((topic: YunzaiNavTopic) => {\n if (this.i18n.fanyi(topic.name).includes(this.state.search!)) {\n return topic;\n } else {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return this.i18n.fanyi(child.name).includes(this.state.search!);\n });\n return topic;\n }\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n } else {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n }\n}\n","import { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { _HttpClient, I18nPipe } from '@yelon/theme';\nimport { LayoutNavGroupState, useLocalStorageHeader, WINDOW, YunzaiNavTopic } from '@yelon/util';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\n@Component({\n selector: `yunzai-layout-nav-group`,\n template: `\n <div class=\"yz-application-group\">\n <nz-tabset>\n @for (menu of state.topics; track menu) {\n <nz-tab [nzTitle]=\"groupTitleTpl\">\n <ng-template #groupTitleTpl>\n <a\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"menu.name | i18n\"\n nz-dropdown\n [nzDropdownMenu]=\"menuTpl\"\n [nzTrigger]=\"'click'\"\n [nzOverlayClassName]=\"'yz-application-dropdown'\"\n >\n @if (menu.icon) {\n <i nz-icon [nzType]=\"menu.icon\" nzTheme=\"outline\"></i>\n }\n {{ menu.name | i18n }}\n @if (menu.children && menu.children.length > 0) {\n <i nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\n }\n </a>\n <nz-dropdown-menu #menuTpl=\"nzDropdownMenu\">\n @if (menu.children && menu.children.length > 0) {\n <ul nz-menu nzSelectable>\n @for (item of menu.children; track item) {\n <ng-container>\n <li\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"item.name | i18n\"\n nz-menu-item\n (click)=\"open(item)\"\n >\n @if (item.icon) {\n <i nz-icon [nzType]=\"item.icon\" nzTheme=\"outline\"></i>\n }\n {{ item.name | i18n }}\n </li>\n </ng-container>\n }\n </ul>\n }\n </nz-dropdown-menu>\n </ng-template>\n </nz-tab>\n }\n </nz-tabset>\n </div>\n `,\n standalone: true,\n imports: [NzIconModule, NzDropDownModule, I18nPipe, NzTabsModule]\n})\nexport class YunzaiLayoutNavGroupComponent implements OnInit, OnDestroy {\n private readonly http = inject(_HttpClient);\n private destroy$ = new Subject();\n private readonly win = inject(WINDOW);\n state: LayoutNavGroupState = {\n topics: []\n };\n\n ngOnInit(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics() || [];\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.win.location.href = topic.url;\n break;\n case 'blank':\n this.win.location.href = topic.url;\n break;\n case 'target':\n this.win.location.href = topic.url;\n break;\n default:\n this.win.location.href = topic.url;\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: `yunzai-layout-nav-tile`,\n template: `<ng-template />`,\n standalone: true\n})\nexport class YunzaiLayoutNavTileComponent {}\n","import { CommonModule } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, inject, OnInit } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ReuseTabModule } from '@yelon/abc/reuse-tab';\nimport { YunzaiWidgetsModule } from '@yelon/bis/yunzai-widgets';\nimport { StompService } from '@yelon/socket';\nimport { I18nPipe } from '@yelon/theme';\nimport { LayoutDefaultModule, LayoutDefaultOptions, LayoutDisplayService } from '@yelon/theme/layout-default';\nimport { ThemeBtnModule } from '@yelon/theme/theme-btn';\nimport {\n hasFavicon,\n LayoutBasicAside,\n LayoutBasicDisplay,\n log,\n NavType,\n setFavicon,\n useLocalStorageCurrent,\n useLocalStorageDefaultRoute,\n useLocalStorageHeaderType,\n useLocalStorageProjectInfo,\n WINDOW,\n YUNZAI_CONFIG,\n YunzaiBusinessConfig,\n YunzaiConfig,\n YunzaiHeaderStyle,\n YunzaiProjectInfo\n} from '@yelon/util';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { YunzaiNavApplicationComponent } from './layout-nav-application.component';\nimport { YunzaiLayoutNavGroupComponent } from './layout-nav-group.component';\nimport { YunzaiLayoutNavTileComponent } from './layout-nav-tile.component';\n\nexport interface LayoutBasicState {\n options: LayoutDefaultOptions;\n aside: LayoutBasicAside;\n display: LayoutBasicDisplay;\n navType: NavType;\n}\n\nexport interface ApplicationInfoInterface {\n id?: string;\n name?: string;\n showName?: string;\n lastVersion?: string;\n versionNum?: string;\n currentVersion?: string;\n firstDeploymentDate?: string;\n currentDeploymentDate?: string;\n lastPushDate?: string;\n}\n\n@Component({\n selector: `yunzai-layout-basic`,\n template: `\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"displayReusetab ? contentTpl : noneTpl\">\n <layout-default-header-item direction=\"left\">\n <ng-container [ngSwitch]=\"navType\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <yunzai-layout-nav-application />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <yunzai-layout-nav-group />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <yunzai-layout-nav-tile />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.BLANK\" />\n <ng-container *ngSwitchCase=\"NavType.TABS\" />\n <ng-container *ngSwitchDefault>\n <yunzai-layout-nav-application />\n </ng-container>\n </ng-container>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-header-notify />\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <theme-btn />\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n data-event-id=\"_nav_settings\"\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div data-event-id=\"_nav_mode\" nz-menu-item>\n {{ 'mode.nav' | i18n }}\n </div>\n\n @if (headerStyleList.length > 1) {\n @for (i of headerStyleList; track $index) {\n <div\n data-event-id=\"_nav_mode\"\n nz-menu-item\n [attr.data-type]=\"i.value\"\n (click)=\"onNavTypeChange(i.value)\"\n >\n <ng-container [ngSwitch]=\"i.value\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <i nz-icon nzType=\"group\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <i nz-icon nzType=\"dash\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.BLANK\">\n <i nz-icon nzType=\"border\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TABS\">\n <i nz-icon nzType=\"insert-row-above\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n </ng-container>\n {{ 'mode.nav.' + i.value | i18n }}\n </ng-container>\n </div>\n }\n }\n\n <div data-event-id=\"_nav_fullscreen\" nz-menu-item>\n <yunzai-header-fullscreen />\n </div>\n <div data-event-id=\"_nav_clearstorage\" nz-menu-item>\n <yunzai-header-clear-storage />\n </div>\n <div data-event-id=\"_nav_i18n\" nz-menu-item>\n <yunzai-header-i18n />\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yunzai-header-user />\n </layout-default-header-item>\n </layout-default>\n <ng-template #asideUserTpl>\n <div data-event-id=\"_route_user\" class=\"yunzai-default__aside-user\">\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"aside.icon\" (click)=\"aboutApplication()\" />\n <div class=\"yunzai-default__aside-user-info\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"userMenu\">\n <strong>{{ aside.name | i18n }}</strong>\n <p class=\"mb0\">{{ aside.intro | i18n }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li data-event-id=\"_route_backhome\" nz-menu-item routerLink=\"/\">{{ 'back.home' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab [ngStyle]=\"reusetabCSS\" />\n <router-outlet (activate)=\"reuseTab.activate($event)\" (attach)=\"reuseTab.activate($event)\" />\n </ng-template>\n <ng-template #noneTpl>\n <router-outlet />\n </ng-template>\n\n <nz-modal\n nzTitle=\"关于本应用\"\n [(nzVisible)]=\"applicationModal.isVisible\"\n [nzOkText]=\"null\"\n [nzCancelText]=\"'关闭'\"\n [nzWidth]=\"700\"\n (nzOnCancel)=\"applicationModal.isVisible = false\"\n >\n <ng-container *nzModalContent>\n <nz-skeleton [nzLoading]=\"applicationModal.loading\" [nzActive]=\"true\">\n <nz-descriptions nzBordered [nzSize]=\"'middle'\" [nzColumn]=\"{ xxl: 2, xl: 2, lg: 2, md: 2, sm: 2, xs: 1 }\">\n <nz-descriptions-item nzTitle=\"应用名称\">{{ applicationInfo?.showName }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"应用标识\">{{ applicationInfo?.name }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"版本总数\">{{ applicationInfo?.versionNum }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"应用首次部署时间\">{{\n applicationInfo?.firstDeploymentDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"当前版本\">{{ applicationInfo?.currentVersion }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"当前版本部署时间\">{{\n applicationInfo?.currentDeploymentDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"最新版本\">{{ applicationInfo?.lastVersion }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"最新版本发布时间\">{{\n applicationInfo?.lastPushDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n </nz-descriptions>\n </nz-skeleton>\n </ng-container>\n </nz-modal>\n `,\n standalone: true,\n imports: [\n LayoutDefaultModule,\n RouterModule,\n ReuseTabModule,\n CommonModule,\n I18nPipe,\n NzDropDownModule,\n NzAvatarModule,\n NzIconModule,\n NzModalModule,\n NzSkeletonModule,\n NzDescriptionsModule,\n ThemeBtnModule,\n YunzaiWidgetsModule,\n YunzaiNavApplicationComponent,\n YunzaiLayoutNavGroupComponent,\n YunzaiLayoutNavTileComponent\n ]\n})\nexport class YunzaiLayoutBasicComponent implements OnInit {\n private readonly stomp = inject(StompService);\n private readonly win = inject(WINDOW);\n private readonly layoutDisplayService = inject(LayoutDisplayService);\n private readonly conf: YunzaiConfig = inject(YUNZAI_CONFIG);\n\n public NavType = NavType;\n private state: LayoutBasicState = {\n options: {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`\n },\n aside: {\n name: '',\n intro: '',\n icon: ''\n },\n display: {\n nav: true,\n aside: true,\n reusetab: true\n },\n navType: NavType.APPLICATION\n };\n\n headerStyleList: YunzaiHeaderStyle[] = [];\n\n applicationInfo!: ApplicationInfoInterface;\n\n applicationModal = {\n isVisible: false,\n loading: false\n };\n\n private readonly httpClient = inject(HttpClient);\n private config!: YunzaiBusinessConfig;\n\n get options(): LayoutDefaultOptions {\n return this.state.options;\n }\n\n get navType(): NavType {\n return this.state.navType;\n }\n\n get aside(): LayoutBasicAside {\n return this.state.aside;\n }\n\n get displayReusetab(): boolean {\n return this.state.display.reusetab;\n }\n\n get reusetabCSS(): NzSafeAny {\n let cascadingStyleSheet = {};\n if (!this.state.display.nav) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n top: '0px'\n };\n }\n if (!this.state.display.aside) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n left: '0px'\n };\n }\n return cascadingStyleSheet;\n }\n\n ngOnInit(): void {\n this.config = this.conf.bis!;\n this.initLogo();\n this.initFavicon();\n this.initNavType();\n this.initAside();\n this.addLayoutDisplayListener();\n this.stomp.listen();\n this.toIndex();\n }\n\n initFavicon(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (projectInfo.faviconUrl) {\n hasFavicon(projectInfo.faviconUrl).then((has: boolean) => {\n if (has) {\n setFavicon(projectInfo.faviconUrl);\n } else {\n setFavicon('./assets/favicon.ico');\n }\n });\n }\n }\n\n initAside(): void {\n const [, getCurrent] = useLocalStorageCurrent();\n const aside: LayoutBasicAside = getCurrent()!;\n this.state.aside = { ...aside };\n }\n\n initLogo(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n this.state.options.logoExpanded = projectInfo.maxLogoUrl ? projectInfo.maxLogoUrl : `./assets/logo-full.svg`;\n this.state.options.logoCollapsed = projectInfo.miniLogoUrl ? projectInfo.miniLogoUrl : `./assets/logo.svg`;\n }\n\n initNavType(): void {\n const [, getHeaderType] = useLocalStorageHeaderType();\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const navType: NavType | null = getHeaderType();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (navType !== null) {\n this.state.navType = navType;\n } else {\n this.state.navType = NavType.APPLICATION;\n }\n if (projectInfo.headerStyle && projectInfo.headerStyle.length > 0) {\n this.headerStyleList = projectInfo.headerStyle;\n const hasThis = this.headerStyleList.some(item => item.value === this.state.navType);\n if (!hasThis) {\n this.state.navType = <NavType>projectInfo.headerStyle[0].value;\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(this.state.navType);\n }\n }\n }\n\n toIndex(): void {\n const [, getDefaultRoute] = useLocalStorageDefaultRoute();\n const defaultRoute = getDefaultRoute()!;\n log('YunzaiLayoutBasicComponent: ', `todo: the default route was ${defaultRoute}, 但是还没想好如何实现.`);\n }\n\n onNavTypeChange(type: NavType | string): void {\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(<NavType>type);\n this.win.location.reload();\n }\n\n addLayoutDisplayListener(): void {\n this.layoutDisplayService.listen('reuseTab', (display: boolean) => {\n this.state.display.reusetab = display;\n });\n this.layoutDisplayService.listen('nav', (display: boolean) => {\n this.state.display.nav = display;\n });\n\n this.layoutDisplayService.listen('aside', (display: boolean) => {\n this.state.display.aside = display;\n });\n }\n\n // 关于本应用\n aboutApplication(): void {\n const urlArr = window.location.pathname.split(`${this.config.baseUrl}/`);\n if (urlArr.length > 1) {\n // 应用标识,截取路径中 /backstage/后第一个字符串\n // 例: http://222.30.194.61/backstage/auth/page/oafportal/#/base/menu 中 auth\n const name = urlArr[1].split('/')[0];\n this.applicationModal.isVisible = true;\n this.applicationModal.loading = true;\n // eslint-disable-next-line deprecation/deprecation\n this.httpClient.get(`/basic/api/app/aboutApp?name=${name}`).subscribe(\n // @ts-ignore\n (response: NzSafeAny) => {\n this.applicationModal.loading = false;\n if (response.data) {\n this.applicationInfo = response.data;\n }\n },\n () => {\n this.applicationModal.loading = false;\n }\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { I18nPipe } from '@yelon/theme';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\nimport { YunzaiLayoutBasicComponent } from './layout-basic.component';\nimport { YunzaiLayoutNavGroupComponent } from './layout-nav-group.component';\nimport { YunzaiLayoutNavTileComponent } from './layout-nav-tile.component';\n\nconst COMPONENTS = [YunzaiLayoutNavTileComponent, YunzaiLayoutNavGroupComponent, YunzaiLayoutBasicComponent];\n\n@NgModule({\n imports: [\n I18nPipe,\n FormsModule,\n NzFormModule,\n NzInputModule,\n CommonModule,\n NzGridModule,\n NzIconModule,\n NzDropDownModule,\n NzTabsModule,\n ...COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class YunzaiLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3","i4","i5","i6","i8"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8Ha,6BAA6B,CAAA;AA3G1C,IAAA,WAAA,GAAA;QA4GmB,IAAM,CAAA,MAAA,GAAG,cAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;AAE1C,QAAA,IAAA,CAAA,KAAK,GAA8B;AACjC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,MAAM,EAAE,IAAI;SACb,CAAC;AAuIH,KAAA;AArIC,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,GAAI,CAAC;AAClD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAK,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC;KACb;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAgB,KAAI;AACtD,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACvD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACjE,IAAI,GAAG,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1E,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;aAC3B;AACH,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;AACX,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAG,CAAC;KAClC;IAED,SAAS,CAAC,IAA8B,EAAE,KAAsB,EAAA;AAC9D,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;AACD,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;AACD,QAAA,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,EAAE;AAC7B,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC7B;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;KAC1B;IAED,aAAa,GAAA;AACX,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,EAAG,CAAC;KAChC;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,EAAG;AAC3B,aAAA,MAAM,CAAC,CAAC,KAAqB,KAAI;AAChC,YAAA,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAqB,KAAI;gBAC/D,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC;AACD,aAAA,MAAM,CAAC,CAAC,KAAqB,KAAI;AAChC,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,eAAe,CAAC,KAAqB,EAAA;AACnC,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AACzB,QAAA,MAAM,IAAI,GAAqB,SAAS,EAAG,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KACrE;AAED,IAAA,UAAU,CAAC,IAAc,EAAA;QACvB,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SACxC;KACF;AAED,IAAA,IAAI,CAAC,KAAqB,EAAA;AACxB,QAAA,IAAI,KAAK,CAAC,GAAG,EAAE;AACb,YAAA,IAAI,CAAC,IAAI;iBACN,IAAI,CAAC,4BAA4B,EAAE;gBAClC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;AACD,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,iBAAA,SAAS,EAAE,CAAC;SAChB;AACD,QAAA,QAAQ,KAAK,CAAC,MAAM;AAClB,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA;gBACE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;SACT;KACF;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,QAAA,MAAM,IAAI,GAAqB,SAAS,EAAG,CAAC;AAC5C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACrB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI;AACnB,iBAAA,MAAM,CAAC,CAAC,KAAqB,KAAI;gBAChC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,EAAE;AAC5D,oBAAA,OAAO,KAAK,CAAC;iBACd;qBAAM;AACL,oBAAA,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAqB,KAAI;AAC/D,wBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;AAClE,qBAAC,CAAC,CAAC;AACH,oBAAA,OAAO,KAAK,CAAC;iBACd;AACH,aAAC,CAAC;AACD,iBAAA,MAAM,CAAC,CAAC,KAAqB,KAAI;AAChC,gBAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACnC,aAAC,CAAC,CAAC;SACN;aAAM;AACL,YAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;AAC9C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,EAAG,CAAC;SAChC;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;8GApJU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAzG9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGT,EAES,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,QAAQ,EAAE,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,qbAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uCAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7E,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBA3GzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAA+B,6BAAA,CAAA;AACzC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqGT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;AAC1F,iBAAA,CAAA;;;MC9DY,6BAA6B,CAAA;AAtD1C,IAAA,WAAA,GAAA;AAuDmB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;AAChB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,KAAK,GAAwB;AAC3B,YAAA,MAAM,EAAE,EAAE;SACX,CAAC;AAoCH,KAAA;IAlCC,QAAQ,GAAA;AACN,QAAA,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;KACvC;AAED,IAAA,IAAI,CAAC,KAAqB,EAAA;AACxB,QAAA,IAAI,KAAK,CAAC,GAAG,EAAE;AACb,YAAA,IAAI,CAAC,IAAI;iBACN,IAAI,CAAC,4BAA4B,EAAE;gBAClC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;AACD,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,iBAAA,SAAS,EAAE,CAAC;SAChB;AACD,QAAA,QAAQ,KAAK,CAAC,MAAM;AAClB,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA,KAAK,OAAO;gBACV,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;AACR,YAAA;gBACE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;gBACnC,MAAM;SACT;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;8GAzCU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EApD9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAES,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,QAAQ,4CAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAErD,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAtDzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAyB,uBAAA,CAAA;AACnC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC;AAClE,iBAAA,CAAA;;;MCvDY,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,kFAH7B,CAAiB,eAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGhB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAwB,sBAAA,CAAA;AAClC,oBAAA,QAAQ,EAAE,CAAiB,eAAA,CAAA;AAC3B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MC4NY,0BAA0B,CAAA;AAtKvC,IAAA,WAAA,GAAA;AAuKmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACrB,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACpD,QAAA,IAAA,CAAA,IAAI,GAAiB,MAAM,CAAC,aAAa,CAAC,CAAC;QAErD,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;AACjB,QAAA,IAAA,CAAA,KAAK,GAAqB;AAChC,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,CAAwB,sBAAA,CAAA;AACtC,gBAAA,aAAa,EAAE,CAAmB,iBAAA,CAAA;AACnC,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,IAAI,EAAE,EAAE;AACT,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,GAAG,EAAE,IAAI;AACT,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;YACD,OAAO,EAAE,OAAO,CAAC,WAAW;SAC7B,CAAC;QAEF,IAAe,CAAA,eAAA,GAAwB,EAAE,CAAC;AAI1C,QAAA,IAAA,CAAA,gBAAgB,GAAG;AACjB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,OAAO,EAAE,KAAK;SACf,CAAC;AAEe,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAgJlD,KAAA;AA7IC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC3B;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;KAC3B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;KACzB;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpC;AAED,IAAA,IAAI,WAAW,GAAA;QACb,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,YAAA,mBAAmB,GAAG;AACpB,gBAAA,GAAG,mBAAmB;AACtB,gBAAA,GAAG,EAAE,KAAK;aACX,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;AAC7B,YAAA,mBAAmB,GAAG;AACpB,gBAAA,GAAG,mBAAmB;AACtB,gBAAA,IAAI,EAAE,KAAK;aACZ,CAAC;SACH;AACD,QAAA,OAAO,mBAAmB,CAAC;KAC5B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,WAAW,GAAA;AACT,QAAA,MAAM,GAAG,cAAc,CAAC,GAAG,0BAA0B,EAAE,CAAC;AACxD,QAAA,MAAM,WAAW,GAAsB,cAAc,EAAG,CAAC;AACzD,QAAA,IAAI,WAAW,CAAC,UAAU,EAAE;YAC1B,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAY,KAAI;gBACvD,IAAI,GAAG,EAAE;AACP,oBAAA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;iBACpC;qBAAM;oBACL,UAAU,CAAC,sBAAsB,CAAC,CAAC;iBACpC;AACH,aAAC,CAAC,CAAC;SACJ;KACF;IAED,SAAS,GAAA;AACP,QAAA,MAAM,GAAG,UAAU,CAAC,GAAG,sBAAsB,EAAE,CAAC;AAChD,QAAA,MAAM,KAAK,GAAqB,UAAU,EAAG,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;KACjC;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,GAAG,cAAc,CAAC,GAAG,0BAA0B,EAAE,CAAC;AACxD,QAAA,MAAM,WAAW,GAAsB,cAAc,EAAG,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,GAAG,wBAAwB,CAAC;QAC7G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,GAAG,mBAAmB,CAAC;KAC5G;IAED,WAAW,GAAA;AACT,QAAA,MAAM,GAAG,aAAa,CAAC,GAAG,yBAAyB,EAAE,CAAC;AACtD,QAAA,MAAM,GAAG,cAAc,CAAC,GAAG,0BAA0B,EAAE,CAAC;AACxD,QAAA,MAAM,OAAO,GAAmB,aAAa,EAAE,CAAC;AAChD,QAAA,MAAM,WAAW,GAAsB,cAAc,EAAG,CAAC;AACzD,QAAA,IAAI,OAAO,KAAK,IAAI,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;SAC1C;AACD,QAAA,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,YAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrF,IAAI,CAAC,OAAO,EAAE;AACZ,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAY,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/D,gBAAA,MAAM,CAAC,aAAa,CAAC,GAAG,yBAAyB,EAAE,CAAC;AACpD,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACnC;SACF;KACF;IAED,OAAO,GAAA;AACL,QAAA,MAAM,GAAG,eAAe,CAAC,GAAG,2BAA2B,EAAE,CAAC;AAC1D,QAAA,MAAM,YAAY,GAAG,eAAe,EAAG,CAAC;AACxC,QAAA,GAAG,CAAC,8BAA8B,EAAE,+BAA+B,YAAY,CAAA,aAAA,CAAe,CAAC,CAAC;KACjG;AAED,IAAA,eAAe,CAAC,IAAsB,EAAA;AACpC,QAAA,MAAM,CAAC,aAAa,CAAC,GAAG,yBAAyB,EAAE,CAAC;QACpD,aAAa,CAAU,IAAI,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC5B;IAED,wBAAwB,GAAA;QACtB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,OAAgB,KAAI;YAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxC,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAgB,KAAI;YAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;AACnC,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAgB,KAAI;YAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;AACrC,SAAC,CAAC,CAAC;KACJ;;IAGD,gBAAgB,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA,CAAA,CAAG,CAAC,CAAC;AACzE,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;;;AAGrB,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC;AACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;;YAErC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC,CAAC,SAAS;;YAEnE,CAAC,QAAmB,KAAI;AACtB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACtC,gBAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;AACjB,oBAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;iBACtC;aACF,EACD,MAAK;AACH,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;AACxC,aAAC,CACF,CAAC;SACH;KACF;8GAjLU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EApK3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGC,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,SAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uCAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,KAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACZ,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACR,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,6BAA6B,oEAC7B,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAtKtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAqB,mBAAA,CAAA;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+IT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,QAAQ;wBACR,gBAAgB;wBAChB,cAAc;wBACd,YAAY;wBACZ,aAAa;wBACb,gBAAgB;wBAChB,oBAAoB;wBACpB,cAAc;wBACd,mBAAmB;wBACnB,6BAA6B;wBAC7B,6BAA6B;wBAC7B,4BAA4B;AAC7B,qBAAA;AACF,iBAAA,CAAA;;;ACjND,MAAM,UAAU,GAAG,CAAC,4BAA4B,EAAE,6BAA6B,EAAE,0BAA0B,CAAC,CAAC;MAiBhG,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAb3B,QAAQ;YACR,WAAW;YACX,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,YAAY,EAZI,4BAA4B,EAAE,6BAA6B,EAAE,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAAvF,4BAA4B,EAAE,6BAA6B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;AAiB9F,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAZ3B,WAAW;YACX,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,YAAY,EAZkC,6BAA6B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAiB9F,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAf9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,QAAQ;wBACR,WAAW;wBACX,YAAY;wBACZ,aAAa;wBACb,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;wBAChB,YAAY;AACZ,wBAAA,GAAG,UAAU;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA,CAAA;;;AChCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"layout.mjs","sources":["../../../../packages/bis/layout/layout-nav-application.component.ts","../../../../packages/bis/layout/layout-nav-group.component.ts","../../../../packages/bis/layout/layout-nav-tile.component.ts","../../../../packages/bis/layout/layout-basic.component.ts","../../../../packages/bis/layout/layout.module.ts","../../../../packages/bis/layout/layout.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { mergeBisConfig } from '@yelon/bis/config';\nimport { _HttpClient, I18nPipe, YunzaiHttpI18NService } from '@yelon/theme';\nimport {\n LayoutNavApplicationState,\n useLocalStorageHeader,\n WINDOW,\n YunzaiConfigService,\n YunzaiNavTopic\n} from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\n@Component({\n selector: `yunzai-layout-nav-application`,\n template: `\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n data-event-id=\"_nav_search\"\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"state.search\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n @for (topic of state.list; track topic) {\n <li>\n <h5>{{ topic.name | i18n }}</h5>\n @for (nav of topic.children; track nav) {\n <a\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"nav.name | i18n\"\n href=\"javascript:;\"\n (click)=\"open(nav)\"\n >{{ nav.name | i18n }}</a\n >\n }\n </li>\n }\n </ul>\n </div>\n </ng-template>\n\n <div data-event-id=\"_nav_app\" id=\"navBtn\" class=\"yunzai-default__nav-item\" (click)=\"diffChange()\"\n >{{ 'mode.nav' | i18n }}\n </div>\n\n <div class=\"yz-application\" id=\"navDropdown\" nz-row *ngIf=\"state.active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div class=\"yz-application-topic-list\">\n @if (showAllMenu) {\n <div data-event-id=\"_nav_topic\" data-name=\"全部应用\" class=\"yz-application-text\" (click)=\"attachNav('all')\"\n >{{ 'mode.nav.all' | i18n }}\n </div>\n }\n @if (showMineMenu) {\n <div data-event-id=\"_nav_topic\" data-name=\"我的应用\" class=\"yz-application-text\" (click)=\"attachNav('mine')\"\n >{{ 'mode.nav.mine' | i18n }}\n </div>\n }\n @for (nav of state.topics; track nav) {\n <div\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"nav.name | i18n\"\n class=\"yz-application-text\"\n (click)=\"attachNav('other', nav)\"\n >{{ nav.name | i18n }}\n </div>\n }\n </div>\n </div>\n <div nz-col [nzSpan]=\"21\" class=\"yz-application-container\">\n @switch (state.type) {\n @case ('all') {\n <div>\n <ng-template [ngTemplateOutlet]=\"search\" />\n <ng-template [ngTemplateOutlet]=\"ld\" />\n </div>\n }\n @case ('mine') {\n <div>\n <ng-template [ngTemplateOutlet]=\"search\" />\n <ng-template [ngTemplateOutlet]=\"ld\" />\n </div>\n }\n @case ('other') {\n <div class=\"yz-application-list yz-application-list-other\">\n <div class=\"yz-application-list-item\">\n <ul>\n @for (nav of state.list; track nav) {\n <li data-event-id=\"_nav_item\" [attr.data-name]=\"nav.name | i18n\" (click)=\"open(nav)\">\n <a href=\"javascript:;\">\n <h4>{{ nav.name | i18n }}</h4>\n <p>{{ nav.intro | i18n }}</p>\n </a>\n </li>\n }\n </ul>\n </div>\n </div>\n }\n }\n </div>\n </div>\n `,\n standalone: true,\n imports: [I18nPipe, FormsModule, NzFormModule, NzInputModule, CommonModule, NzGridModule]\n})\nexport class YunzaiNavApplicationComponent implements OnInit, OnDestroy {\n private readonly config = mergeBisConfig(inject(YunzaiConfigService));\n private readonly http = inject(_HttpClient);\n private readonly win = inject(WINDOW);\n private readonly i18n = inject(YunzaiHttpI18NService);\n private readonly destroy$ = new Subject();\n\n state: LayoutNavApplicationState = {\n active: false,\n type: 'all',\n topic: undefined,\n topics: [],\n list: [],\n search: null\n };\n\n get showAllMenu(): boolean {\n if (this.config.nav) return this.config.nav!.all!;\n return true;\n }\n\n get showMineMenu(): boolean {\n if (this.config.nav) return this.config.nav!.mine!;\n return true;\n }\n\n ngOnInit(): void {\n this.fetchAllTopic();\n this.attachNav('all');\n this.win.addEventListener('click', (event: NzSafeAny) => {\n const { target } = event;\n const btn = this.win.document.getElementById('navBtn');\n const dropdown = this.win.document.getElementById('navDropdown');\n if (btn && dropdown && !dropdown.contains(target) && !btn.contains(target)) {\n this.state.active = false;\n }\n });\n }\n\n fetchAllTopic(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics()!;\n }\n\n attachNav(type: 'all' | 'mine' | 'other', topic?: YunzaiNavTopic): void {\n this.state.type = type;\n this.clearSearch();\n if (type === 'all') {\n this.displayAllNav();\n }\n if (type === 'mine') {\n this.displayMineNav();\n }\n if (type === 'other' && topic) {\n this.displayOtherNav(topic);\n }\n }\n\n clearSearch(): void {\n this.state.search = null;\n }\n\n displayAllNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n\n displayMineNav(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!\n .filter((topic: YunzaiNavTopic) => {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return child.auth;\n });\n return topic;\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n }\n\n displayOtherNav(topic: YunzaiNavTopic): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topic = topic;\n const temp: YunzaiNavTopic[] = getTopics()!;\n this.state.list = temp.filter(t => t.key === topic.key)[0].children;\n }\n\n diffChange(flag?: boolean): void {\n if (flag) {\n this.state.active = flag;\n } else {\n this.state.active = !this.state.active;\n }\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.win.location.href = topic.url;\n break;\n case 'blank':\n this.win.open(topic.url);\n break;\n case 'target':\n this.win.open(topic.url);\n break;\n default:\n this.win.location.href = topic.url;\n break;\n }\n }\n\n onSearch(): void {\n const [, getTopics] = useLocalStorageHeader();\n const temp: YunzaiNavTopic[] = getTopics()!;\n if (this.state.search) {\n this.state.list = temp\n .filter((topic: YunzaiNavTopic) => {\n if (this.i18n.fanyi(topic.name).includes(this.state.search!)) {\n return topic;\n } else {\n topic.children = topic.children.filter((child: YunzaiNavTopic) => {\n return this.i18n.fanyi(child.name).includes(this.state.search!);\n });\n return topic;\n }\n })\n .filter((topic: YunzaiNavTopic) => {\n return topic.children.length > 0;\n });\n } else {\n const [, getTopics] = useLocalStorageHeader();\n this.state.list = getTopics()!;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n }\n}\n","import { Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { _HttpClient, I18nPipe } from '@yelon/theme';\nimport { LayoutNavGroupState, useLocalStorageHeader, WINDOW, YunzaiNavTopic } from '@yelon/util';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\n@Component({\n selector: `yunzai-layout-nav-group`,\n template: `\n <div class=\"yz-application-group\">\n <nz-tabset>\n @for (menu of state.topics; track menu) {\n <nz-tab [nzTitle]=\"groupTitleTpl\">\n <ng-template #groupTitleTpl>\n <a\n data-event-id=\"_nav_topic\"\n [attr.data-name]=\"menu.name | i18n\"\n nz-dropdown\n [nzDropdownMenu]=\"menuTpl\"\n [nzTrigger]=\"'click'\"\n [nzOverlayClassName]=\"'yz-application-dropdown'\"\n >\n @if (menu.icon) {\n <i nz-icon [nzType]=\"menu.icon\" nzTheme=\"outline\"></i>\n }\n {{ menu.name | i18n }}\n @if (menu.children && menu.children.length > 0) {\n <i nz-icon nzType=\"down\" nzTheme=\"outline\"></i>\n }\n </a>\n <nz-dropdown-menu #menuTpl=\"nzDropdownMenu\">\n @if (menu.children && menu.children.length > 0) {\n <ul nz-menu nzSelectable>\n @for (item of menu.children; track item) {\n <ng-container>\n @if (item.auth) {\n <li\n data-event-id=\"_nav_item\"\n [attr.data-name]=\"item.name | i18n\"\n nz-menu-item\n (click)=\"open(item)\"\n >\n @if (item.icon) {\n <i nz-icon [nzType]=\"item.icon\" nzTheme=\"outline\"></i>\n }\n {{ item.name | i18n }}\n </li>\n }\n </ng-container>\n }\n </ul>\n }\n </nz-dropdown-menu>\n </ng-template>\n </nz-tab>\n }\n </nz-tabset>\n </div>\n `,\n standalone: true,\n imports: [NzIconModule, NzDropDownModule, I18nPipe, NzTabsModule]\n})\nexport class YunzaiLayoutNavGroupComponent implements OnInit, OnDestroy {\n private readonly http = inject(_HttpClient);\n private destroy$ = new Subject();\n private readonly win = inject(WINDOW);\n state: LayoutNavGroupState = {\n topics: []\n };\n\n ngOnInit(): void {\n const [, getTopics] = useLocalStorageHeader();\n this.state.topics = getTopics() || [];\n }\n\n open(topic: YunzaiNavTopic): void {\n if (topic.key) {\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .pipe(takeUntil(this.destroy$))\n .subscribe();\n }\n switch (topic.target) {\n case 'href':\n this.win.location.href = topic.url;\n break;\n case 'blank':\n this.win.open(topic.url);\n break;\n case 'target':\n this.win.open(topic.url);\n break;\n default:\n this.win.location.href = topic.url;\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: `yunzai-layout-nav-tile`,\n template: `<ng-template />`,\n standalone: true\n})\nexport class YunzaiLayoutNavTileComponent {}\n","import { CommonModule } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, inject, OnInit } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ReuseTabModule } from '@yelon/abc/reuse-tab';\nimport { YunzaiWidgetsModule } from '@yelon/bis/yunzai-widgets';\nimport { StompService } from '@yelon/socket';\nimport { I18nPipe } from '@yelon/theme';\nimport { LayoutDefaultModule, LayoutDefaultOptions, LayoutDisplayService } from '@yelon/theme/layout-default';\nimport { ThemeBtnModule } from '@yelon/theme/theme-btn';\nimport {\n hasFavicon,\n LayoutBasicAside,\n LayoutBasicDisplay,\n log,\n NavType,\n setFavicon,\n useLocalStorageCurrent,\n useLocalStorageDefaultRoute,\n useLocalStorageHeaderType,\n useLocalStorageProjectInfo,\n WINDOW,\n YUNZAI_CONFIG,\n YunzaiBusinessConfig,\n YunzaiConfig,\n YunzaiHeaderStyle,\n YunzaiProjectInfo\n} from '@yelon/util';\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { YunzaiNavApplicationComponent } from './layout-nav-application.component';\nimport { YunzaiLayoutNavGroupComponent } from './layout-nav-group.component';\nimport { YunzaiLayoutNavTileComponent } from './layout-nav-tile.component';\n\nexport interface LayoutBasicState {\n options: LayoutDefaultOptions;\n aside: LayoutBasicAside;\n display: LayoutBasicDisplay;\n navType: NavType;\n}\n\nexport interface ApplicationInfoInterface {\n id?: string;\n name?: string;\n showName?: string;\n lastVersion?: string;\n versionNum?: string;\n currentVersion?: string;\n firstDeploymentDate?: string;\n currentDeploymentDate?: string;\n lastPushDate?: string;\n}\n\n@Component({\n selector: `yunzai-layout-basic`,\n template: `\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"displayReusetab ? contentTpl : noneTpl\">\n <layout-default-header-item direction=\"left\">\n <ng-container [ngSwitch]=\"navType\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <yunzai-layout-nav-application />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <yunzai-layout-nav-group />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <yunzai-layout-nav-tile />\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.BLANK\" />\n <ng-container *ngSwitchCase=\"NavType.TABS\" />\n <ng-container *ngSwitchDefault>\n <yunzai-layout-nav-application />\n </ng-container>\n </ng-container>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yunzai-header-notify />\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <theme-btn />\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n data-event-id=\"_nav_settings\"\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div data-event-id=\"_nav_mode\" nz-menu-item>\n {{ 'mode.nav' | i18n }}\n </div>\n\n @if (headerStyleList.length > 1) {\n @for (i of headerStyleList; track $index) {\n <div\n data-event-id=\"_nav_mode\"\n nz-menu-item\n [attr.data-type]=\"i.value\"\n (click)=\"onNavTypeChange(i.value)\"\n >\n <ng-container [ngSwitch]=\"i.value\">\n <ng-container *ngSwitchCase=\"NavType.APPLICATION\">\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.GROUP\">\n <i nz-icon nzType=\"group\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TILE\">\n <i nz-icon nzType=\"dash\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.BLANK\">\n <i nz-icon nzType=\"border\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"NavType.TABS\">\n <i nz-icon nzType=\"insert-row-above\" class=\"mr-sm\"></i>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <i nz-icon nzType=\"appstore\" class=\"mr-sm\"></i>\n </ng-container>\n {{ 'mode.nav.' + i.value | i18n }}\n </ng-container>\n </div>\n }\n }\n\n <div data-event-id=\"_nav_fullscreen\" nz-menu-item>\n <yunzai-header-fullscreen />\n </div>\n <div data-event-id=\"_nav_clearstorage\" nz-menu-item>\n <yunzai-header-clear-storage />\n </div>\n <div data-event-id=\"_nav_i18n\" nz-menu-item>\n <yunzai-header-i18n />\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yunzai-header-user />\n </layout-default-header-item>\n </layout-default>\n <ng-template #asideUserTpl>\n <div data-event-id=\"_route_user\" class=\"yunzai-default__aside-user\">\n <nz-avatar\n class=\"yunzai-default__aside-user-avatar\"\n [nzSize]=\"40\"\n [nzSrc]=\"aside.icon\"\n (click)=\"aboutApplication()\"\n />\n <div class=\"yunzai-default__aside-user-info\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"userMenu\">\n <strong>{{ aside.name | i18n }}</strong>\n <p>{{ aside.intro | i18n }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li data-event-id=\"_route_backhome\" nz-menu-item routerLink=\"/\">{{ 'back.home' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab [ngStyle]=\"reusetabCSS\" />\n <router-outlet (activate)=\"reuseTab.activate($event)\" (attach)=\"reuseTab.activate($event)\" />\n </ng-template>\n <ng-template #noneTpl>\n <router-outlet />\n </ng-template>\n\n <nz-modal\n nzTitle=\"关于本应用\"\n [(nzVisible)]=\"applicationModal.isVisible\"\n [nzOkText]=\"null\"\n [nzCancelText]=\"'关闭'\"\n [nzWidth]=\"700\"\n (nzOnCancel)=\"applicationModal.isVisible = false\"\n >\n <ng-container *nzModalContent>\n <nz-skeleton [nzLoading]=\"applicationModal.loading\" [nzActive]=\"true\">\n <nz-descriptions nzBordered [nzSize]=\"'middle'\" [nzColumn]=\"{ xxl: 2, xl: 2, lg: 2, md: 2, sm: 2, xs: 1 }\">\n <nz-descriptions-item nzTitle=\"应用名称\">{{ applicationInfo?.showName }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"应用标识\">{{ applicationInfo?.name }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"版本总数\">{{ applicationInfo?.versionNum }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"应用首次部署时间\">{{\n applicationInfo?.firstDeploymentDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"当前版本\">{{ applicationInfo?.currentVersion }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"当前版本部署时间\">{{\n applicationInfo?.currentDeploymentDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"最新版本\">{{ applicationInfo?.lastVersion }}</nz-descriptions-item>\n <nz-descriptions-item nzTitle=\"最新版本发布时间\">{{\n applicationInfo?.lastPushDate | date: 'yyyy-MM-dd HH:mm:ss'\n }}</nz-descriptions-item>\n </nz-descriptions>\n </nz-skeleton>\n </ng-container>\n </nz-modal>\n `,\n standalone: true,\n imports: [\n LayoutDefaultModule,\n RouterModule,\n ReuseTabModule,\n CommonModule,\n I18nPipe,\n NzDropDownModule,\n NzAvatarModule,\n NzIconModule,\n NzModalModule,\n NzSkeletonModule,\n NzDescriptionsModule,\n ThemeBtnModule,\n YunzaiWidgetsModule,\n YunzaiNavApplicationComponent,\n YunzaiLayoutNavGroupComponent,\n YunzaiLayoutNavTileComponent\n ]\n})\nexport class YunzaiLayoutBasicComponent implements OnInit {\n private readonly stomp = inject(StompService);\n private readonly win = inject(WINDOW);\n private readonly layoutDisplayService = inject(LayoutDisplayService);\n private readonly conf: YunzaiConfig = inject(YUNZAI_CONFIG);\n\n public NavType = NavType;\n private state: LayoutBasicState = {\n options: {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`\n },\n aside: {\n name: '',\n intro: '',\n icon: ''\n },\n display: {\n nav: true,\n aside: true,\n reusetab: true\n },\n navType: NavType.APPLICATION\n };\n\n headerStyleList: YunzaiHeaderStyle[] = [];\n\n applicationInfo!: ApplicationInfoInterface;\n\n applicationModal = {\n isVisible: false,\n loading: false\n };\n\n private readonly httpClient = inject(HttpClient);\n private config!: YunzaiBusinessConfig;\n\n get options(): LayoutDefaultOptions {\n return this.state.options;\n }\n\n get navType(): NavType {\n return this.state.navType;\n }\n\n get aside(): LayoutBasicAside {\n return this.state.aside;\n }\n\n get displayReusetab(): boolean {\n return this.state.display.reusetab;\n }\n\n get reusetabCSS(): NzSafeAny {\n let cascadingStyleSheet = {};\n if (!this.state.display.nav) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n top: '0px'\n };\n }\n if (!this.state.display.aside) {\n cascadingStyleSheet = {\n ...cascadingStyleSheet,\n left: '0px'\n };\n }\n return cascadingStyleSheet;\n }\n\n ngOnInit(): void {\n this.config = this.conf.bis!;\n this.initLogo();\n this.initFavicon();\n this.initNavType();\n this.initAside();\n this.addLayoutDisplayListener();\n this.stomp.listen();\n this.toIndex();\n }\n\n initFavicon(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (projectInfo.faviconUrl) {\n hasFavicon(projectInfo.faviconUrl).then((has: boolean) => {\n if (has) {\n setFavicon(projectInfo.faviconUrl);\n } else {\n setFavicon('./assets/favicon.ico');\n }\n });\n }\n }\n\n initAside(): void {\n const [, getCurrent] = useLocalStorageCurrent();\n const aside: LayoutBasicAside = getCurrent()!;\n this.state.aside = { ...aside };\n }\n\n initLogo(): void {\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n this.state.options.logoExpanded = projectInfo.maxLogoUrl ? projectInfo.maxLogoUrl : `./assets/logo-full.svg`;\n this.state.options.logoCollapsed = projectInfo.miniLogoUrl ? projectInfo.miniLogoUrl : `./assets/logo.svg`;\n }\n\n initNavType(): void {\n const [, getHeaderType] = useLocalStorageHeaderType();\n const [, getProjectInfo] = useLocalStorageProjectInfo();\n const navType: NavType | null = getHeaderType();\n const projectInfo: YunzaiProjectInfo = getProjectInfo()!;\n if (navType !== null) {\n this.state.navType = navType;\n } else {\n this.state.navType = NavType.APPLICATION;\n }\n if (projectInfo.headerStyle && projectInfo.headerStyle.length > 0) {\n this.headerStyleList = projectInfo.headerStyle;\n const hasThis = this.headerStyleList.some(item => item.value === this.state.navType);\n if (!hasThis) {\n this.state.navType = <NavType>projectInfo.headerStyle[0].value;\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(this.state.navType);\n }\n }\n }\n\n toIndex(): void {\n const [, getDefaultRoute] = useLocalStorageDefaultRoute();\n const defaultRoute = getDefaultRoute()!;\n log('YunzaiLayoutBasicComponent: ', `todo: the default route was ${defaultRoute}, 但是还没想好如何实现.`);\n }\n\n onNavTypeChange(type: NavType | string): void {\n const [setHeaderType] = useLocalStorageHeaderType();\n setHeaderType(<NavType>type);\n this.win.location.reload();\n }\n\n addLayoutDisplayListener(): void {\n this.layoutDisplayService.listen('reuseTab', (display: boolean) => {\n this.state.display.reusetab = display;\n });\n this.layoutDisplayService.listen('nav', (display: boolean) => {\n this.state.display.nav = display;\n });\n\n this.layoutDisplayService.listen('aside', (display: boolean) => {\n this.state.display.aside = display;\n });\n }\n\n // 关于本应用\n aboutApplication(): void {\n const urlArr = window.location.pathname.split(`${this.config.baseUrl}/`);\n if (urlArr.length > 1) {\n // 应用标识,截取路径中 /backstage/后第一个字符串\n // 例: http://222.30.194.61/backstage/auth/page/oafportal/#/base/menu 中 auth\n const name = urlArr[1].split('/')[0];\n this.applicationModal.isVisible = true;\n this.applicationModal.loading = true;\n // eslint-disable-next-line deprecation/deprecation\n this.httpClient.get(`/basic/api/app/aboutApp?name=${name}`).subscribe(\n // @ts-ignore\n (response: NzSafeAny) => {\n this.applicationModal.loading = false;\n if (response.data) {\n this.applicationInfo = response.data;\n }\n },\n () => {\n this.applicationModal.loading = false;\n }\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { I18nPipe } from '@yelon/theme';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\n\nimport { YunzaiLayoutBasicComponent } from './layout-basic.component';\nimport { YunzaiLayoutNavGroupComponent } from './layout-nav-group.component';\nimport { YunzaiLayoutNavTileComponent } from './layout-nav-tile.component';\n\nconst COMPONENTS = [YunzaiLayoutNavTileComponent, YunzaiLayoutNavGroupComponent, YunzaiLayoutBasicComponent];\n\n@NgModule({\n imports: [\n I18nPipe,\n FormsModule,\n NzFormModule,\n NzInputModule,\n CommonModule,\n NzGridModule,\n NzIconModule,\n NzDropDownModule,\n NzTabsModule,\n ...COMPONENTS\n ],\n exports: COMPONENTS\n})\nexport class YunzaiLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3","i4","i5","i6","i8"],"mappings":"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"}
|