ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
186 lines • 14.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: string_template_outlet.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { __values } from "tslib";
/**
* @license
* Copyright Alibaba.com All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
var NzStringTemplateOutletDirective = /** @class */ (function () {
function NzStringTemplateOutletDirective(viewContainer, templateRef) {
this.viewContainer = viewContainer;
this.templateRef = templateRef;
this.embeddedViewRef = null;
this.nzStringTemplateOutletContext = null;
this.nzStringTemplateOutlet = null;
}
/**
* @private
* @return {?}
*/
NzStringTemplateOutletDirective.prototype.recreateView = /**
* @private
* @return {?}
*/
function () {
this.viewContainer.clear();
/** @type {?} */
var isTemplateRef = this.nzStringTemplateOutlet instanceof TemplateRef;
/** @type {?} */
var templateRef = (/** @type {?} */ ((isTemplateRef ? this.nzStringTemplateOutlet : this.templateRef)));
this.embeddedViewRef = this.viewContainer.createEmbeddedView(templateRef, this.nzStringTemplateOutletContext);
};
/**
* @private
* @return {?}
*/
NzStringTemplateOutletDirective.prototype.updateContext = /**
* @private
* @return {?}
*/
function () {
var e_1, _a;
/** @type {?} */
var newCtx = this.nzStringTemplateOutletContext;
/** @type {?} */
var oldCtx = (/** @type {?} */ ((/** @type {?} */ (this.embeddedViewRef)).context));
if (newCtx) {
try {
for (var _b = __values(Object.keys(newCtx)), _c = _b.next(); !_c.done; _c = _b.next()) {
var propName = _c.value;
oldCtx[propName] = newCtx[propName];
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_1) throw e_1.error; }
}
}
};
/**
* @param {?} changes
* @return {?}
*/
NzStringTemplateOutletDirective.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
/** @type {?} */
var shouldRecreateView = (/**
* @param {?} ctxChanges
* @return {?}
*/
function (ctxChanges) {
var nzStringTemplateOutletContext = ctxChanges.nzStringTemplateOutletContext, nzStringTemplateOutlet = ctxChanges.nzStringTemplateOutlet;
/** @type {?} */
var shouldOutletRecreate = false;
if (nzStringTemplateOutlet) {
if (nzStringTemplateOutlet.firstChange) {
shouldOutletRecreate = true;
}
else {
/** @type {?} */
var isPreviousOutletTemplate = nzStringTemplateOutlet.previousValue instanceof TemplateRef;
/** @type {?} */
var isCurrentOutletTemplate = nzStringTemplateOutlet.currentValue instanceof TemplateRef;
shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;
}
}
/** @type {?} */
var hasContextShapeChanged = (/**
* @param {?} ctxChange
* @return {?}
*/
function (ctxChange) {
var e_2, _a;
/** @type {?} */
var prevCtxKeys = Object.keys(ctxChange.previousValue || {});
/** @type {?} */
var currCtxKeys = Object.keys(ctxChange.currentValue || {});
if (prevCtxKeys.length === currCtxKeys.length) {
try {
for (var currCtxKeys_1 = __values(currCtxKeys), currCtxKeys_1_1 = currCtxKeys_1.next(); !currCtxKeys_1_1.done; currCtxKeys_1_1 = currCtxKeys_1.next()) {
var propName = currCtxKeys_1_1.value;
if (prevCtxKeys.indexOf(propName) === -1) {
return true;
}
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (currCtxKeys_1_1 && !currCtxKeys_1_1.done && (_a = currCtxKeys_1.return)) _a.call(currCtxKeys_1);
}
finally { if (e_2) throw e_2.error; }
}
return false;
}
else {
return true;
}
});
/** @type {?} */
var shouldContextRecreate = nzStringTemplateOutletContext && hasContextShapeChanged(nzStringTemplateOutletContext);
return shouldContextRecreate || shouldOutletRecreate;
});
/** @type {?} */
var recreateView = shouldRecreateView(changes);
if (recreateView) {
/** recreate view when context shape or outlet change **/
this.recreateView();
}
else {
/** update context **/
this.updateContext();
}
};
NzStringTemplateOutletDirective.decorators = [
{ type: Directive, args: [{
selector: '[nzStringTemplateOutlet]',
exportAs: 'nzStringTemplateOutlet'
},] }
];
/** @nocollapse */
NzStringTemplateOutletDirective.ctorParameters = function () { return [
{ type: ViewContainerRef },
{ type: TemplateRef }
]; };
NzStringTemplateOutletDirective.propDecorators = {
nzStringTemplateOutletContext: [{ type: Input }],
nzStringTemplateOutlet: [{ type: Input }]
};
return NzStringTemplateOutletDirective;
}());
export { NzStringTemplateOutletDirective };
if (false) {
/**
* @type {?}
* @private
*/
NzStringTemplateOutletDirective.prototype.embeddedViewRef;
/** @type {?} */
NzStringTemplateOutletDirective.prototype.nzStringTemplateOutletContext;
/** @type {?} */
NzStringTemplateOutletDirective.prototype.nzStringTemplateOutlet;
/**
* @type {?}
* @private
*/
NzStringTemplateOutletDirective.prototype.viewContainer;
/**
* @type {?}
* @private
*/
NzStringTemplateOutletDirective.prototype.templateRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nX3RlbXBsYXRlX291dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkL2NvcmUvb3V0bGV0LyIsInNvdXJjZXMiOlsic3RyaW5nX3RlbXBsYXRlX291dGxldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFBRSxTQUFTLEVBQW1CLEtBQUssRUFBMEMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pJO0lBMEJFLHlDQUFvQixhQUErQixFQUFVLFdBQW1DO1FBQTVFLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQXJCeEYsb0JBQWUsR0FBc0MsSUFBSSxDQUFDO1FBQ3pELGtDQUE2QixHQUFxQixJQUFJLENBQUM7UUFDdkQsMkJBQXNCLEdBQTJDLElBQUksQ0FBQztJQW1Cb0IsQ0FBQzs7Ozs7SUFqQjVGLHNEQUFZOzs7O0lBQXBCO1FBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7WUFDckIsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsWUFBWSxXQUFXOztZQUNsRSxXQUFXLEdBQUcsbUJBQUEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFhO1FBQ2pHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEgsQ0FBQzs7Ozs7SUFFTyx1REFBYTs7OztJQUFyQjs7O1lBQ1EsTUFBTSxHQUFHLElBQUksQ0FBQyw2QkFBNkI7O1lBQzNDLE1BQU0sR0FBRyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsT0FBTyxFQUFhO1FBQ3pELElBQUksTUFBTSxFQUFFOztnQkFDVixLQUF1QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO29CQUF2QyxJQUFNLFFBQVEsV0FBQTtvQkFDakIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDckM7Ozs7Ozs7OztTQUNGO0lBQ0gsQ0FBQzs7Ozs7SUFJRCxxREFBVzs7OztJQUFYLFVBQVksT0FBc0I7O1lBQzFCLGtCQUFrQjs7OztRQUFHLFVBQUMsVUFBeUI7WUFDM0MsSUFBQSx3RUFBNkIsRUFBRSwwREFBc0I7O2dCQUN6RCxvQkFBb0IsR0FBRyxLQUFLO1lBQ2hDLElBQUksc0JBQXNCLEVBQUU7Z0JBQzFCLElBQUksc0JBQXNCLENBQUMsV0FBVyxFQUFFO29CQUN0QyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7aUJBQzdCO3FCQUFNOzt3QkFDQyx3QkFBd0IsR0FBRyxzQkFBc0IsQ0FBQyxhQUFhLFlBQVksV0FBVzs7d0JBQ3RGLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDLFlBQVksWUFBWSxXQUFXO29CQUMxRixvQkFBb0IsR0FBRyx3QkFBd0IsSUFBSSx1QkFBdUIsQ0FBQztpQkFDNUU7YUFDRjs7Z0JBQ0ssc0JBQXNCOzs7O1lBQUcsVUFBQyxTQUF1Qjs7O29CQUMvQyxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQzs7b0JBQ3hELFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUM3RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTs7d0JBQzdDLEtBQXVCLElBQUEsZ0JBQUEsU0FBQSxXQUFXLENBQUEsd0NBQUEsaUVBQUU7NEJBQS9CLElBQU0sUUFBUSx3QkFBQTs0QkFDakIsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dDQUN4QyxPQUFPLElBQUksQ0FBQzs2QkFDYjt5QkFDRjs7Ozs7Ozs7O29CQUNELE9BQU8sS0FBSyxDQUFDO2lCQUNkO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxDQUFDO2lCQUNiO1lBQ0gsQ0FBQyxDQUFBOztnQkFDSyxxQkFBcUIsR0FBRyw2QkFBNkIsSUFBSSxzQkFBc0IsQ0FBQyw2QkFBNkIsQ0FBQztZQUNwSCxPQUFPLHFCQUFxQixJQUFJLG9CQUFvQixDQUFDO1FBQ3ZELENBQUMsQ0FBQTs7WUFDSyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBQ2hELElBQUksWUFBWSxFQUFFO1lBQ2hCLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7YUFBTTtZQUNMLHNCQUFzQjtZQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOztnQkFsRUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzs7O2dCQU5nRyxnQkFBZ0I7Z0JBQTdCLFdBQVc7OztnREFTNUYsS0FBSzt5Q0FDTCxLQUFLOztJQTREUixzQ0FBQztDQUFBLEFBbkVELElBbUVDO1NBL0RZLCtCQUErQjs7Ozs7O0lBQzFDLDBEQUFrRTs7SUFDbEUsd0VBQWdFOztJQUNoRSxpRUFBK0U7Ozs7O0lBbUJuRSx3REFBdUM7Ozs7O0lBQUUsc0RBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFsaWJhYmEuY29tIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbnpTdHJpbmdUZW1wbGF0ZU91dGxldF0nLFxuICBleHBvcnRBczogJ256U3RyaW5nVGVtcGxhdGVPdXRsZXQnXG59KVxuZXhwb3J0IGNsYXNzIE56U3RyaW5nVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPE56U2FmZUFueT4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbnpTdHJpbmdUZW1wbGF0ZU91dGxldENvbnRleHQ6IE56U2FmZUFueSB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBuelN0cmluZ1RlbXBsYXRlT3V0bGV0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxOelNhZmVBbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWNyZWF0ZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XG4gICAgY29uc3QgaXNUZW1wbGF0ZVJlZiA9IHRoaXMubnpTdHJpbmdUZW1wbGF0ZU91dGxldCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgIGNvbnN0IHRlbXBsYXRlUmVmID0gKGlzVGVtcGxhdGVSZWYgPyB0aGlzLm56U3RyaW5nVGVtcGxhdGVPdXRsZXQgOiB0aGlzLnRlbXBsYXRlUmVmKSBhcyBOelNhZmVBbnk7XG4gICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCB0aGlzLm56U3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdDdHggPSB0aGlzLm56U3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0O1xuICAgIGNvbnN0IG9sZEN0eCA9IHRoaXMuZW1iZWRkZWRWaWV3UmVmIS5jb250ZXh0IGFzIE56U2FmZUFueTtcbiAgICBpZiAobmV3Q3R4KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIE9iamVjdC5rZXlzKG5ld0N0eCkpIHtcbiAgICAgICAgb2xkQ3R4W3Byb3BOYW1lXSA9IG5ld0N0eFtwcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxOelNhZmVBbnk+KSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBzaG91bGRSZWNyZWF0ZVZpZXcgPSAoY3R4Q2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IGJvb2xlYW4gPT4ge1xuICAgICAgY29uc3QgeyBuelN0cmluZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCwgbnpTdHJpbmdUZW1wbGF0ZU91dGxldCB9ID0gY3R4Q2hhbmdlcztcbiAgICAgIGxldCBzaG91bGRPdXRsZXRSZWNyZWF0ZSA9IGZhbHNlO1xuICAgICAgaWYgKG56U3RyaW5nVGVtcGxhdGVPdXRsZXQpIHtcbiAgICAgICAgaWYgKG56U3RyaW5nVGVtcGxhdGVPdXRsZXQuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICBzaG91bGRPdXRsZXRSZWNyZWF0ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaXNQcmV2aW91c091dGxldFRlbXBsYXRlID0gbnpTdHJpbmdUZW1wbGF0ZU91dGxldC5wcmV2aW91c1ZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gICAgICAgICAgY29uc3QgaXNDdXJyZW50T3V0bGV0VGVtcGxhdGUgPSBuelN0cmluZ1RlbXBsYXRlT3V0bGV0LmN1cnJlbnRWYWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgICAgICAgIHNob3VsZE91dGxldFJlY3JlYXRlID0gaXNQcmV2aW91c091dGxldFRlbXBsYXRlIHx8IGlzQ3VycmVudE91dGxldFRlbXBsYXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBoYXNDb250ZXh0U2hhcGVDaGFuZ2VkID0gKGN0eENoYW5nZTogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIGNvbnN0IHByZXZDdHhLZXlzID0gT2JqZWN0LmtleXMoY3R4Q2hhbmdlLnByZXZpb3VzVmFsdWUgfHwge30pO1xuICAgICAgICBjb25zdCBjdXJyQ3R4S2V5cyA9IE9iamVjdC5rZXlzKGN0eENoYW5nZS5jdXJyZW50VmFsdWUgfHwge30pO1xuICAgICAgICBpZiAocHJldkN0eEtleXMubGVuZ3RoID09PSBjdXJyQ3R4S2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIGN1cnJDdHhLZXlzKSB7XG4gICAgICAgICAgICBpZiAocHJldkN0eEtleXMuaW5kZXhPZihwcm9wTmFtZSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBzaG91bGRDb250ZXh0UmVjcmVhdGUgPSBuelN0cmluZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCAmJiBoYXNDb250ZXh0U2hhcGVDaGFuZ2VkKG56U3RyaW5nVGVtcGxhdGVPdXRsZXRDb250ZXh0KTtcbiAgICAgIHJldHVybiBzaG91bGRDb250ZXh0UmVjcmVhdGUgfHwgc2hvdWxkT3V0bGV0UmVjcmVhdGU7XG4gICAgfTtcbiAgICBjb25zdCByZWNyZWF0ZVZpZXcgPSBzaG91bGRSZWNyZWF0ZVZpZXcoY2hhbmdlcyk7XG4gICAgaWYgKHJlY3JlYXRlVmlldykge1xuICAgICAgLyoqIHJlY3JlYXRlIHZpZXcgd2hlbiBjb250ZXh0IHNoYXBlIG9yIG91dGxldCBjaGFuZ2UgKiovXG4gICAgICB0aGlzLnJlY3JlYXRlVmlldygpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvKiogdXBkYXRlIGNvbnRleHQgKiovXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRleHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==