@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
35 lines • 3.82 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
/**
* @ignore
* Class that detects tab content creation and then initializes then calls the provided `initializeTab` function.
* It is necessary if the tab content is lazy loaded, because the
* ComponentPortal's outlet must be initialized before the Portal itself is created.
*/
export class AbstractTabCreationDetectorComponent {
/**
* function that should be called when the tab content is created
*/
initializeTabFunction;
/**
* index of the tab that the `initializeTabFunction` should be called for
*/
tabIndex;
ngOnInit() {
this.initializeTabFunction(this.tabIndex);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTabCreationDetectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractTabCreationDetectorComponent, selector: "ncc-abstract-tab-creation-detector", inputs: { initializeTabFunction: "initializeTabFunction", tabIndex: "tabIndex" }, ngImport: i0, template: '', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTabCreationDetectorComponent, decorators: [{
type: Component,
args: [{
selector: 'ncc-abstract-tab-creation-detector',
template: ''
}]
}], propDecorators: { initializeTabFunction: [{
type: Input
}], tabIndex: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFiLWNyZWF0aW9uLWRldGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvdGFicy90YWItY3JlYXRpb24tZGV0ZWN0b3IvYWJzdHJhY3QtdGFiLWNyZWF0aW9uLWRldGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUFFdkQ7Ozs7O0dBS0c7QUFLSCxNQUFNLE9BQWdCLG9DQUFvQztJQUV0RDs7T0FFRztJQUNNLHFCQUFxQixDQUEwQjtJQUN4RDs7T0FFRztJQUNNLFFBQVEsQ0FBUztJQUUxQixRQUFRO1FBQ0osSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO3dHQWJpQixvQ0FBb0M7NEZBQXBDLG9DQUFvQyw0SkFGNUMsRUFBRTs7NEZBRU0sb0NBQW9DO2tCQUp6RCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzhCQU1ZLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqIENsYXNzIHRoYXQgZGV0ZWN0cyB0YWIgY29udGVudCBjcmVhdGlvbiBhbmQgdGhlbiBpbml0aWFsaXplcyB0aGVuIGNhbGxzIHRoZSBwcm92aWRlZCBgaW5pdGlhbGl6ZVRhYmAgZnVuY3Rpb24uXG4gKiBJdCBpcyBuZWNlc3NhcnkgaWYgdGhlIHRhYiBjb250ZW50IGlzIGxhenkgbG9hZGVkLCBiZWNhdXNlIHRoZVxuICogQ29tcG9uZW50UG9ydGFsJ3Mgb3V0bGV0IG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIHRoZSBQb3J0YWwgaXRzZWxmIGlzIGNyZWF0ZWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXRhYi1jcmVhdGlvbi1kZXRlY3RvcicsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VGFiQ3JlYXRpb25EZXRlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvKipcbiAgICAgKiBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgdGFiIGNvbnRlbnQgaXMgY3JlYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGluaXRpYWxpemVUYWJGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogaW5kZXggb2YgdGhlIHRhYiB0aGF0IHRoZSBgaW5pdGlhbGl6ZVRhYkZ1bmN0aW9uYCBzaG91bGQgYmUgY2FsbGVkIGZvclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRhYkluZGV4OiBudW1iZXI7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGFiRnVuY3Rpb24odGhpcy50YWJJbmRleCk7XG4gICAgfVxuXG59XG4iXX0=