ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 7.85 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-core-outlet.mjs","sources":["../../components/core/outlet/string_template_outlet.directive.ts","../../components/core/outlet/outlet.module.ts","../../components/core/outlet/public-api.ts","../../components/core/outlet/ng-zorro-antd-core-outlet.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n Directive,\n EmbeddedViewRef,\n Input,\n OnChanges,\n SimpleChange,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { isTemplateRef } from 'ng-zorro-antd/core/util';\n\n@Directive({\n selector: '[nzStringTemplateOutlet]',\n exportAs: 'nzStringTemplateOutlet'\n})\nexport class NzStringTemplateOutletDirective<_T = unknown> implements OnChanges {\n private embeddedViewRef: EmbeddedViewRef<NzSafeAny> | null = null;\n private context = new NzStringTemplateOutletContext();\n @Input() nzStringTemplateOutletContext: NzSafeAny | null = null;\n @Input() nzStringTemplateOutlet: NzSafeAny | TemplateRef<NzSafeAny> = null;\n\n static ngTemplateContextGuard<T>(\n _dir: NzStringTemplateOutletDirective<T>,\n _ctx: NzSafeAny\n ): _ctx is NzStringTemplateOutletContext {\n return true;\n }\n\n private recreateView(): void {\n this.viewContainer.clear();\n if (isTemplateRef(this.nzStringTemplateOutlet)) {\n this.embeddedViewRef = this.viewContainer.createEmbeddedView(\n this.nzStringTemplateOutlet,\n this.nzStringTemplateOutletContext\n );\n } else {\n this.embeddedViewRef = this.viewContainer.createEmbeddedView(this.templateRef, this.context);\n }\n }\n\n private updateContext(): void {\n const newCtx = isTemplateRef(this.nzStringTemplateOutlet) ? this.nzStringTemplateOutletContext : this.context;\n const oldCtx = this.embeddedViewRef!.context as NzSafeAny;\n if (newCtx) {\n for (const propName of Object.keys(newCtx)) {\n oldCtx[propName] = newCtx[propName];\n }\n }\n }\n\n constructor(\n private viewContainer: ViewContainerRef,\n private templateRef: TemplateRef<NzSafeAny>\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzStringTemplateOutletContext, nzStringTemplateOutlet } = changes;\n const shouldRecreateView = (): boolean => {\n let shouldOutletRecreate = false;\n if (nzStringTemplateOutlet) {\n shouldOutletRecreate =\n nzStringTemplateOutlet.firstChange ||\n isTemplateRef(nzStringTemplateOutlet.previousValue) ||\n isTemplateRef(nzStringTemplateOutlet.currentValue);\n }\n const hasContextShapeChanged = (ctxChange: SimpleChange): boolean => {\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\n if (prevCtxKeys.length === currCtxKeys.length) {\n for (const propName of currCtxKeys) {\n if (prevCtxKeys.indexOf(propName) === -1) {\n return true;\n }\n }\n return false;\n } else {\n return true;\n }\n };\n const shouldContextRecreate =\n nzStringTemplateOutletContext && hasContextShapeChanged(nzStringTemplateOutletContext);\n return shouldContextRecreate || shouldOutletRecreate;\n };\n\n if (nzStringTemplateOutlet) {\n this.context.$implicit = nzStringTemplateOutlet.currentValue;\n }\n\n const recreateView = shouldRecreateView();\n if (recreateView) {\n /** recreate view when context shape or outlet change **/\n this.recreateView();\n } else {\n /** update context **/\n this.updateContext();\n }\n }\n}\n\nexport class NzStringTemplateOutletContext {\n public $implicit: NzSafeAny;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzStringTemplateOutletDirective } from './string_template_outlet.directive';\n\n@NgModule({\n imports: [NzStringTemplateOutletDirective],\n exports: [NzStringTemplateOutletDirective]\n})\nexport class NzOutletModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport { NzOutletModule } from './outlet.module';\nexport { NzStringTemplateOutletDirective } from './string_template_outlet.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}