@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
34 lines • 4.14 kB
JavaScript
import { Directive, inject, Input, ViewContainerRef, } from '@angular/core';
import * as i0 from "@angular/core";
class TuiFor {
constructor() {
this.vcr = inject(ViewContainerRef);
this.ngForOf = [];
}
ngOnChanges() {
this.ref?.destroy();
if (this.ngForOf?.length === 0 && this.ngForEmpty) {
this.ref = this.vcr.createEmbeddedView(this.ngForEmpty);
}
else if (!this.ngForOf && this.ngForElse) {
this.ref = this.vcr.createEmbeddedView(this.ngForElse);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiFor, isStandalone: true, selector: "[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]", inputs: { ngForOf: "ngForOf", ngForElse: "ngForElse", ngForEmpty: "ngForEmpty" }, usesOnChanges: true, ngImport: i0 }); }
}
export { TuiFor };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFor, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[ngFor][ngForOf][ngForElse],[ngFor][ngForOf][ngForEmpty]',
}]
}], propDecorators: { ngForOf: [{
type: Input
}], ngForElse: [{
type: Input
}], ngForEmpty: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL2Zvci9mb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BSWEsTUFBTTtJQUpuQjtRQUtxQixRQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFLekMsWUFBTyxHQUE4QixFQUFFLENBQUM7S0FpQmxEO0lBVFUsV0FBVztRQUNkLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzsrR0F0QlEsTUFBTTttR0FBTixNQUFNOztTQUFOLE1BQU07NEZBQU4sTUFBTTtrQkFKbEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDBEQUEwRDtpQkFDdkU7OEJBT1UsT0FBTztzQkFEYixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgdHlwZSBFbWJlZGRlZFZpZXdSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgT25DaGFuZ2VzLFxuICAgIHR5cGUgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbbmdGb3JdW25nRm9yT2ZdW25nRm9yRWxzZV0sW25nRm9yXVtuZ0Zvck9mXVtuZ0ZvckVtcHR5XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZvcjxULCBLID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgcHJpdmF0ZSByZWY/OiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuZ0Zvck9mOiBUW10gfCByZWFkb25seSBUW10gfCBudWxsID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuZ0ZvckVsc2U/OiBUZW1wbGF0ZVJlZjxLPjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5nRm9yRW1wdHk/OiBUZW1wbGF0ZVJlZjxLPjtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWY/LmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0Zvck9mPy5sZW5ndGggPT09IDAgJiYgdGhpcy5uZ0ZvckVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRW1wdHkpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLm5nRm9yT2YgJiYgdGhpcy5uZ0ZvckVsc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMubmdGb3JFbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==