UNPKG

@volo/abp.ng.lepton-x.core

Version:

This library was generated with [Nx](https://nx.dev).

1 lines 18.6 kB
{"version":3,"file":"volo-abp.ng.lepton-x.core.mjs","sources":["../../../../libs/lepton-x-abp-core/src/lib/tokens/mobile-navbar-items-filter.token.ts","../../../../libs/lepton-x-abp-core/src/lib/providers/mobile-navbar-items-filter.provider.ts","../../../../libs/lepton-x-abp-core/src/lib/services/document-dir.service.ts","../../../../libs/lepton-x-abp-core/src/lib/providers/document-dir.provider.ts","../../../../libs/lepton-x-abp-core/src/lib/directives/if-replaceable-template-exists.directive.ts","../../../../libs/lepton-x-abp-core/src/lib/components/page-alert-container/page-alert-container.component.ts","../../../../libs/lepton-x-abp-core/src/lib/components/page-alert-container/page-alert-container.component.html","../../../../libs/lepton-x-abp-core/src/lib/components/page-alert-container/page-alert-container.module.ts","../../../../libs/lepton-x-abp-core/src/lib/services/page-render-strategy.service.ts","../../../../libs/lepton-x-abp-core/src/lib/providers/page-render.provider.ts","../../../../libs/lepton-x-abp-core/src/lib/lepton-x-abp-core.module.ts","../../../../libs/lepton-x-abp-core/src/lib/services/abp-navbar.service.ts","../../../../libs/lepton-x-abp-core/src/lib/services/abp-toolbar.service.ts","../../../../libs/lepton-x-abp-core/src/volo-abp.ng.lepton-x.core.ts"],"sourcesContent":["import { ABP, TreeNode } from '@abp/ng.core';\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport type MobileMenuItemFilterFn = (\r\n route: TreeNode<ABP.Route>,\r\n index: number\r\n) => boolean;\r\nexport const MOBILE_NAVBAR_ITEMS_FILTER_TOKEN =\r\n new InjectionToken<MobileMenuItemFilterFn>(\r\n 'MOBILE_NAVBAR_ITEMS_FILTER_TOKEN'\r\n );\r\n","import { MOBILE_NAVBAR_ITEMS_FILTER_TOKEN } from './../tokens/mobile-navbar-items-filter.token';\r\nimport { ABP, TreeNode } from '@abp/ng.core';\r\nimport { MobileMenuItemFilterFn } from '../tokens/mobile-navbar-items-filter.token';\r\n\r\nexport const MOBILE_NAVBAR_ITEMS_FILTER_PROVIDER = {\r\n provide: MOBILE_NAVBAR_ITEMS_FILTER_TOKEN,\r\n deps: [],\r\n useFactory: mobileMenuItemFilterFnFactory\r\n}\r\n\r\nexport function mobileMenuItemFilterFnFactory() :MobileMenuItemFilterFn {\r\n return (route: TreeNode<ABP.Route>,\r\n index: number) => {\r\n return index === 0 || index === 1\r\n }\r\n}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { DocumentDirHandlerService } from '@abp/ng.theme.shared';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DocumentDirService {\r\n protected readonly documentDirHandler = inject(DocumentDirHandlerService);\r\n protected readonly document = inject(DOCUMENT);\r\n\r\n listenDir() {\r\n this.documentDirHandler.dir$.subscribe((dir) => {\r\n this.document.documentElement.dir = dir;\r\n });\r\n }\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { DocumentDirService } from '../services/document-dir.service';\r\n\r\nexport const DOCUMENT_DIR_PROVIDER = provideAppInitializer(() => {\r\n listenDirectionChangeFromAbp();\r\n});\r\n\r\nexport function listenDirectionChangeFromAbp() {\r\n const documentDirService = inject(DocumentDirService);\r\n documentDirService.listenDir();\r\n}\r\n","import {\r\n AfterViewInit,\r\n Directive,\r\n Input,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ReplaceableComponentsService } from '@abp/ng.core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[abpIfReplaceableTemplateExists]',\r\n})\r\nexport class IfReplaceableTemplateExistsDirective implements AfterViewInit {\r\n @Input()\r\n abpIfReplaceableTemplateExists: string;\r\n\r\n constructor(\r\n private view: ViewContainerRef,\r\n private template: TemplateRef<any>,\r\n private replaceableComponentsService: ReplaceableComponentsService,\r\n ) {}\r\n\r\n ngAfterViewInit(): void {\r\n const replaceableComponentInstance = this.replaceableComponentsService.get(\r\n this.abpIfReplaceableTemplateExists,\r\n );\r\n const isReplaceableComponentInstanceNotExits =\r\n !replaceableComponentInstance;\r\n if (isReplaceableComponentInstanceNotExits) {\r\n return;\r\n }\r\n this.view.createEmbeddedView(this.template);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { PageAlertService } from '@abp/ng.theme.shared';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-page-alert-container',\r\n templateUrl: './page-alert-container.component.html',\r\n})\r\nexport class PageAlertContainerComponent {\r\n replaceableTemplateKey = {\r\n componentKey: 'Theme.PageAlertContainerComponent',\r\n };\r\n\r\n constructor(public service: PageAlertService) {}\r\n}\r\n","<ng-container *abpReplaceableTemplate=\"replaceableTemplateKey\">\r\n @for (alert of service.alerts$ | async; track $index; let i = $index) {\r\n <div\r\n class=\"alert alert-{{ alert.type }} fade show\"\r\n [ngClass]=\"{ 'alert-dismissible fade show': alert.dismissible }\"\r\n role=\"alert\"\r\n >\r\n @if (alert.title) {\r\n <h4\r\n class=\"alert-heading\"\r\n [innerHTML]=\"\r\n alert.title\r\n | lpxSafeHtml\r\n | abpLocalization: alert.titleLocalizationParams\r\n \"\r\n ></h4>\r\n }\r\n <span\r\n [innerHTML]=\"\r\n alert.message\r\n | lpxSafeHtml\r\n | abpLocalization: alert.messageLocalizationParams\r\n \"\r\n ></span>\r\n @if (alert.dismissible) {\r\n <button\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"alert\"\r\n aria-label=\"Close\"\r\n (click)=\"service.remove(i)\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n</ng-container>\r\n","import { NgModule } from '@angular/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { SafeHtmlPipe } from '@volo/ngx-lepton-x.core';\r\nimport { PageAlertContainerComponent } from './page-alert-container.component';\r\n\r\n@NgModule({\r\n declarations: [PageAlertContainerComponent],\r\n imports: [CoreModule, ThemeSharedModule, SafeHtmlPipe],\r\n exports: [PageAlertContainerComponent],\r\n})\r\nexport class PageAlertContainerModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { PageParts, PageRenderStrategy } from '@abp/ng.components/page';\r\n\r\n@Injectable()\r\nexport class LeptonXPageRenderService implements PageRenderStrategy {\r\n shouldRender(type: string) {\r\n return type !== PageParts.breadcrumb;\r\n }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { PAGE_RENDER_STRATEGY } from '@abp/ng.components/page';\r\nimport { LeptonXPageRenderService } from '../services/page-render-strategy.service';\r\n\r\nexport const PAGE_RENDER_PROVIDER: Provider = {\r\n provide: PAGE_RENDER_STRATEGY,\r\n useClass: LeptonXPageRenderService,\r\n};\r\n","import { MOBILE_NAVBAR_ITEMS_FILTER_PROVIDER } from './providers/mobile-navbar-items-filter.provider';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DOCUMENT_DIR_PROVIDER } from './providers/document-dir.provider';\r\nimport { IfReplaceableTemplateExistsDirective } from './directives/if-replaceable-template-exists.directive';\r\nimport { PageAlertContainerModule } from './components/page-alert-container/page-alert-container.module';\r\nimport { PAGE_RENDER_PROVIDER } from './providers/page-render.provider';\r\n\r\n@NgModule({\r\n imports: [CommonModule, PageAlertContainerModule],\r\n declarations: [IfReplaceableTemplateExistsDirective],\r\n exports: [IfReplaceableTemplateExistsDirective, PageAlertContainerModule],\r\n})\r\nexport class LeptonXAbpCoreModule {\r\n static forRoot(): ModuleWithProviders<LeptonXAbpCoreModule> {\r\n return {\r\n ngModule: LeptonXAbpCoreModule,\r\n providers: [DOCUMENT_DIR_PROVIDER, MOBILE_NAVBAR_ITEMS_FILTER_PROVIDER,PAGE_RENDER_PROVIDER],\r\n };\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport {\r\n ABP,\r\n LocalizationService,\r\n RoutesService,\r\n TreeNode,\r\n} from '@abp/ng.core';\r\nimport { LpxNavbarItem, NavbarService } from '@volo/ngx-lepton-x.core';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n MobileMenuItemFilterFn,\r\n MOBILE_NAVBAR_ITEMS_FILTER_TOKEN,\r\n} from '../tokens/mobile-navbar-items-filter.token';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpNavbarService {\r\n constructor(\r\n private routes: RoutesService,\r\n private navbarService: NavbarService,\r\n private localizationService: LocalizationService,\r\n @Inject(MOBILE_NAVBAR_ITEMS_FILTER_TOKEN)\r\n private mobileMenuItemFilterFn: MobileMenuItemFilterFn,\r\n ) {}\r\n\r\n private mapRouteToNavItem = (\r\n route: TreeNode<ABP.Route>,\r\n index: number,\r\n ): LpxNavbarItem => {\r\n const navbarItem: LpxNavbarItem = {\r\n text: this.localizationService.instant(route.name),\r\n link: route.children && route.children.length ? undefined : route.path,\r\n icon: route.iconClass,\r\n children: this.getRouteChildrenAsNavItems(route.children || []),\r\n showOnMobileNavbar: this.mobileMenuItemFilterFn(route, index),\r\n group: route.group,\r\n };\r\n\r\n if (route.breadcrumbText) {\r\n navbarItem.breadcrumbText = this.localizationService.instant(\r\n route.breadcrumbText,\r\n );\r\n }\r\n\r\n return navbarItem;\r\n };\r\n\r\n initRoutes() {\r\n this.routes.visible$\r\n .pipe(\r\n map((routes) =>\r\n routes.filter((route) => route.path || route.children.length),\r\n ),\r\n )\r\n .subscribe((routes) => {\r\n this.navbarService.setNavbarItems(\r\n ...routes.map(this.mapRouteToNavItem),\r\n );\r\n });\r\n }\r\n\r\n private getRouteChildrenAsNavItems(\r\n children: TreeNode<ABP.Route>[],\r\n ): LpxNavbarItem[] {\r\n return children.map(this.mapRouteToNavItem);\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NavItem, NavItemsService } from '@abp/ng.theme.shared';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { PermissionService } from '@abp/ng.core';\r\nimport { ToolbarService, ToolbarItem } from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpToolbarService {\r\n protected readonly toolbar = inject(ToolbarService);\r\n protected readonly navItems = inject(NavItemsService);\r\n protected readonly permissionService = inject(PermissionService);\r\n\r\n listenNavItems() {\r\n this.navItems.items$\r\n .pipe(\r\n switchMap((items: NavItem[]) =>\r\n this.permissionService.filterItemsByPolicy$(items),\r\n ),\r\n )\r\n .subscribe((items) => this.toolbar.setItems(items as ToolbarItem[]));\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i3","i4"],"mappings":"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"}