UNPKG

@delon/abc

Version:

Common business components of ng-alain.

1 lines 10 kB
{"version":3,"file":"exception.mjs","sources":["../../../../packages/abc/exception/exception.component.ts","../../../../packages/abc/exception/exception.component.html","../../../../packages/abc/exception/exception.module.ts","../../../../packages/abc/exception/exception.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkObserveContent } from '@angular/cdk/observers';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n Input,\n OnInit,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml, SafeUrl } from '@angular/platform-browser';\nimport { RouterLink } from '@angular/router';\n\nimport { DelonLocaleService, LocaleData } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type ExceptionType = 403 | 404 | 500;\n\n@Component({\n selector: 'exception',\n exportAs: 'exception',\n templateUrl: './exception.component.html',\n host: {\n '[class.exception]': 'true',\n '[class.exception-rtl]': `dir === 'rtl'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [CdkObserveContent, NzButtonComponent, RouterLink]\n})\nexport class ExceptionComponent implements OnInit {\n static ngAcceptInputType_type: ExceptionType | string;\n\n private readonly i18n = inject(DelonLocaleService);\n private readonly dom = inject(DomSanitizer);\n private readonly directionality = inject(Directionality);\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly destroy$ = inject(DestroyRef);\n\n @ViewChild('conTpl', { static: true }) private conTpl!: ElementRef;\n\n _type!: ExceptionType;\n locale: LocaleData = {};\n hasCon = false;\n dir?: Direction = 'ltr';\n\n _img: SafeUrl = '';\n _title: SafeHtml = '';\n _desc: SafeHtml = '';\n private typeDict!: { [key: number | string]: { img: string; title: string; desc?: string } };\n\n @Input()\n set type(value: ExceptionType) {\n const item = this.typeDict[value];\n if (!item) return;\n\n this.fixImg(item.img);\n this._type = value;\n this._title = item.title;\n this._desc = '';\n }\n\n private fixImg(src: string): void {\n this._img = this.dom.bypassSecurityTrustStyle(`url('${src}')`);\n }\n\n @Input()\n set img(value: string) {\n this.fixImg(value);\n }\n\n @Input()\n set title(value: string) {\n this._title = this.dom.bypassSecurityTrustHtml(value);\n }\n\n @Input()\n set desc(value: string) {\n this._desc = this.dom.bypassSecurityTrustHtml(value);\n }\n\n @Input() backRouterLink: string | NzSafeAny[] = '/';\n\n checkContent(): void {\n this.hasCon = !isEmpty(this.conTpl.nativeElement);\n this.cdr.detectChanges();\n }\n\n constructor(configSrv: AlainConfigService) {\n configSrv.attach(this, 'exception', {\n typeDict: {\n 403: {\n img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg',\n title: '403'\n },\n 404: {\n img: 'https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg',\n title: '404'\n },\n 500: {\n img: 'https://gw.alipayobjects.com/zos/rmsportal/RVRUAYdCGeYNBWoKiIwB.svg',\n title: '500'\n }\n }\n });\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.i18n.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getData('exception');\n this.cdr.detectChanges();\n });\n this.checkContent();\n }\n}\n","<div class=\"exception__img-block\">\n <div class=\"exception__img\" [style.backgroundImage]=\"_img\"></div>\n</div>\n<div class=\"exception__cont\">\n <h1 class=\"exception__cont-title\" [innerHTML]=\"_title\"></h1>\n <div class=\"exception__cont-desc\" [innerHTML]=\"_desc || locale[_type]\"></div>\n <div class=\"exception__cont-actions\">\n <div (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content />\n </div>\n @if (!hasCon) {\n <button nz-button [routerLink]=\"backRouterLink\" [nzType]=\"'primary'\">\n {{ locale.backToHome }}\n </button>\n }\n </div>\n</div>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\n\nimport { ExceptionComponent } from './exception.component';\n\nconst COMPONENTS = [ExceptionComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class ExceptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}