You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
5.0 KiB
152 lines
5.0 KiB
import {
|
|
Directive,
|
|
Input,
|
|
NgModule,
|
|
TemplateRef,
|
|
ViewContainerRef,
|
|
setClassMetadata,
|
|
ɵɵNgOnChangesFeature,
|
|
ɵɵdefineDirective,
|
|
ɵɵdefineInjector,
|
|
ɵɵdefineNgModule,
|
|
ɵɵdirectiveInject
|
|
} from "./chunk-FGESKT7O.js";
|
|
|
|
// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-outlet.mjs
|
|
var _NzStringTemplateOutletDirective = class _NzStringTemplateOutletDirective {
|
|
static ngTemplateContextGuard(_dir, _ctx) {
|
|
return true;
|
|
}
|
|
recreateView() {
|
|
this.viewContainer.clear();
|
|
const isTemplateRef = this.nzStringTemplateOutlet instanceof TemplateRef;
|
|
const templateRef = isTemplateRef ? this.nzStringTemplateOutlet : this.templateRef;
|
|
this.embeddedViewRef = this.viewContainer.createEmbeddedView(templateRef, isTemplateRef ? this.nzStringTemplateOutletContext : this.context);
|
|
}
|
|
updateContext() {
|
|
const isTemplateRef = this.nzStringTemplateOutlet instanceof TemplateRef;
|
|
const newCtx = isTemplateRef ? this.nzStringTemplateOutletContext : this.context;
|
|
const oldCtx = this.embeddedViewRef.context;
|
|
if (newCtx) {
|
|
for (const propName of Object.keys(newCtx)) {
|
|
oldCtx[propName] = newCtx[propName];
|
|
}
|
|
}
|
|
}
|
|
constructor(viewContainer, templateRef) {
|
|
this.viewContainer = viewContainer;
|
|
this.templateRef = templateRef;
|
|
this.embeddedViewRef = null;
|
|
this.context = new NzStringTemplateOutletContext();
|
|
this.nzStringTemplateOutletContext = null;
|
|
this.nzStringTemplateOutlet = null;
|
|
}
|
|
ngOnChanges(changes) {
|
|
const {
|
|
nzStringTemplateOutletContext,
|
|
nzStringTemplateOutlet
|
|
} = changes;
|
|
const shouldRecreateView = () => {
|
|
let shouldOutletRecreate = false;
|
|
if (nzStringTemplateOutlet) {
|
|
if (nzStringTemplateOutlet.firstChange) {
|
|
shouldOutletRecreate = true;
|
|
} else {
|
|
const isPreviousOutletTemplate = nzStringTemplateOutlet.previousValue instanceof TemplateRef;
|
|
const isCurrentOutletTemplate = nzStringTemplateOutlet.currentValue instanceof TemplateRef;
|
|
shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;
|
|
}
|
|
}
|
|
const hasContextShapeChanged = (ctxChange) => {
|
|
const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
|
|
const currCtxKeys = Object.keys(ctxChange.currentValue || {});
|
|
if (prevCtxKeys.length === currCtxKeys.length) {
|
|
for (const propName of currCtxKeys) {
|
|
if (prevCtxKeys.indexOf(propName) === -1) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
const shouldContextRecreate = nzStringTemplateOutletContext && hasContextShapeChanged(nzStringTemplateOutletContext);
|
|
return shouldContextRecreate || shouldOutletRecreate;
|
|
};
|
|
if (nzStringTemplateOutlet) {
|
|
this.context.$implicit = nzStringTemplateOutlet.currentValue;
|
|
}
|
|
const recreateView = shouldRecreateView();
|
|
if (recreateView) {
|
|
this.recreateView();
|
|
} else {
|
|
this.updateContext();
|
|
}
|
|
}
|
|
};
|
|
_NzStringTemplateOutletDirective.ɵfac = function NzStringTemplateOutletDirective_Factory(t) {
|
|
return new (t || _NzStringTemplateOutletDirective)(ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(TemplateRef));
|
|
};
|
|
_NzStringTemplateOutletDirective.ɵdir = ɵɵdefineDirective({
|
|
type: _NzStringTemplateOutletDirective,
|
|
selectors: [["", "nzStringTemplateOutlet", ""]],
|
|
inputs: {
|
|
nzStringTemplateOutletContext: "nzStringTemplateOutletContext",
|
|
nzStringTemplateOutlet: "nzStringTemplateOutlet"
|
|
},
|
|
exportAs: ["nzStringTemplateOutlet"],
|
|
standalone: true,
|
|
features: [ɵɵNgOnChangesFeature]
|
|
});
|
|
var NzStringTemplateOutletDirective = _NzStringTemplateOutletDirective;
|
|
(() => {
|
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzStringTemplateOutletDirective, [{
|
|
type: Directive,
|
|
args: [{
|
|
selector: "[nzStringTemplateOutlet]",
|
|
exportAs: "nzStringTemplateOutlet",
|
|
standalone: true
|
|
}]
|
|
}], () => [{
|
|
type: ViewContainerRef
|
|
}, {
|
|
type: TemplateRef
|
|
}], {
|
|
nzStringTemplateOutletContext: [{
|
|
type: Input
|
|
}],
|
|
nzStringTemplateOutlet: [{
|
|
type: Input
|
|
}]
|
|
});
|
|
})();
|
|
var NzStringTemplateOutletContext = class {
|
|
};
|
|
var _NzOutletModule = class _NzOutletModule {
|
|
};
|
|
_NzOutletModule.ɵfac = function NzOutletModule_Factory(t) {
|
|
return new (t || _NzOutletModule)();
|
|
};
|
|
_NzOutletModule.ɵmod = ɵɵdefineNgModule({
|
|
type: _NzOutletModule,
|
|
imports: [NzStringTemplateOutletDirective],
|
|
exports: [NzStringTemplateOutletDirective]
|
|
});
|
|
_NzOutletModule.ɵinj = ɵɵdefineInjector({});
|
|
var NzOutletModule = _NzOutletModule;
|
|
(() => {
|
|
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzOutletModule, [{
|
|
type: NgModule,
|
|
args: [{
|
|
imports: [NzStringTemplateOutletDirective],
|
|
exports: [NzStringTemplateOutletDirective]
|
|
}]
|
|
}], null, null);
|
|
})();
|
|
|
|
export {
|
|
NzStringTemplateOutletDirective,
|
|
NzOutletModule
|
|
};
|
|
//# sourceMappingURL=chunk-VOD2PKZN.js.map
|
|
|