gentics-ui-core
Version:
This is the common core framework for the Gentics CMS and Mesh UI, and other Angular applications.
94 lines • 10.1 kB
JavaScript
import { Component, Input, ContentChild, TemplateRef, ViewChild, Output, EventEmitter } from '@angular/core';
import { GtxTabContent } from './tab-content';
import { GtxTabLabel } from './tab-label';
import { coerceToBoolean } from '../../common/coerce-to-boolean';
import * as i0 from "@angular/core";
/**
* Tab Pane IDs need to be unique across components, so this counter exists outside of
* the component definition.
*/
let uniqueTabPaneId = 0;
/**
* For documentation, see the GroupedTabs
*/
export class TabPane {
constructor() {
this.uniqueId = `gtx-tab-pane-${uniqueTabPaneId++}`;
/** Plain text label for the tab, used when there is no template label. */
this.textLabel = '';
/**
* When the tab is clicked, this event is fired with the tab id.
*/
this.select = new EventEmitter();
this.active = false;
this.stateDisabled = false;
this.stateReadOnly = false;
this.stateInactive = false;
this.displayStatusIcon = true;
}
/** The unique ID of the tab pane. */
get id() { return this.uniqueId; }
get content() { return this._explicitContent || this._implicitContent; }
set id(val) {
this.uniqueId = val;
}
/**
* Hide status icon for this tab
*/
set hideStatusIcon(val) {
this.displayStatusIcon = !coerceToBoolean(val);
}
/**
* Sets disabled state
*/
set disabled(val) {
this.stateDisabled = coerceToBoolean(val);
}
/**
* Sets read-only state
*/
set readonly(val) {
this.stateReadOnly = coerceToBoolean(val);
}
/**
* Sets inactive state
*/
set inactive(val) {
this.stateInactive = coerceToBoolean(val);
}
}
/** @nocollapse */ TabPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabPane, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ TabPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TabPane, selector: "gtx-tab-pane", inputs: { textLabel: ["label", "textLabel"], id: "id", hideStatusIcon: "hideStatusIcon", disabled: "disabled", readonly: "readonly", inactive: "inactive" }, outputs: { select: "select" }, queries: [{ propertyName: "templateLabel", first: true, predicate: GtxTabLabel, descendants: true, read: TemplateRef, static: true }, { propertyName: "_explicitContent", first: true, predicate: GtxTabContent, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["gtxTabPane"], ngImport: i0, template: `<ng-template><ng-content></ng-content></ng-template>`, isInline: true });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TabPane, decorators: [{
type: Component,
args: [{
selector: 'gtx-tab-pane',
exportAs: 'gtxTabPane',
template: `<ng-template><ng-content></ng-content></ng-template>`
}]
}], propDecorators: { templateLabel: [{
type: ContentChild,
args: [GtxTabLabel, { read: TemplateRef, static: true }]
}], textLabel: [{
type: Input,
args: ['label']
}], id: [{
type: Input
}], hideStatusIcon: [{
type: Input
}], disabled: [{
type: Input
}], readonly: [{
type: Input
}], inactive: [{
type: Input
}], _explicitContent: [{
type: ContentChild,
args: [GtxTabContent, { read: TemplateRef, static: true }]
}], _implicitContent: [{
type: ViewChild,
args: [TemplateRef, { static: true }]
}], select: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZ3JvdXBlZC10YWJzL3RhYi1wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRWpFOzs7R0FHRztBQUNILElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQztBQUV4Qjs7R0FFRztBQU1ILE1BQU0sT0FBTyxPQUFPO0lBTHBCO1FBTVUsYUFBUSxHQUFHLGdCQUFnQixlQUFlLEVBQUUsRUFBRSxDQUFDO1FBU3ZELDBFQUEwRTtRQUMxRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBMEN2Qzs7V0FFRztRQUNPLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO0tBQ25DO0lBM0RDLHFDQUFxQztJQUNyQyxJQUFJLEVBQUUsS0FBYSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFDLElBQUksT0FBTyxLQUF1QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFDO0lBUXpHLElBQWEsRUFBRSxDQUFDLEdBQVc7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYSxjQUFjLENBQUMsR0FBUTtRQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYSxRQUFRLENBQUMsR0FBUTtRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxHQUFRO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWEsUUFBUSxDQUFDLEdBQVE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7dUhBM0NVLE9BQU87MkdBQVAsT0FBTywyUkFRSixXQUFXLDJCQUFVLFdBQVcsOEVBd0NoQyxhQUFhLDJCQUFVLFdBQVcsNkZBR3JDLFdBQVcsd0ZBckRWLHNEQUFzRDsyRkFFdkQsT0FBTztrQkFMbkIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxzREFBc0Q7aUJBQ25FOzhCQVNpRSxhQUFhO3NCQUE1RSxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHOUMsU0FBUztzQkFBeEIsS0FBSzt1QkFBQyxPQUFPO2dCQUVELEVBQUU7c0JBQWQsS0FBSztnQkFPTyxjQUFjO3NCQUExQixLQUFLO2dCQU9PLFFBQVE7c0JBQXBCLEtBQUs7Z0JBT08sUUFBUTtzQkFBcEIsS0FBSztnQkFPTyxRQUFRO3NCQUFwQixLQUFLO2dCQU80RCxnQkFBZ0I7c0JBQWpGLFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd0QixnQkFBZ0I7c0JBQXpELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLOUIsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3R4VGFiQ29udGVudCB9IGZyb20gJy4vdGFiLWNvbnRlbnQnO1xuaW1wb3J0IHsgR3R4VGFiTGFiZWwgfSBmcm9tICcuL3RhYi1sYWJlbCc7XG5pbXBvcnQgeyBjb2VyY2VUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLXRvLWJvb2xlYW4nO1xuXG4vKipcbiAqIFRhYiBQYW5lIElEcyBuZWVkIHRvIGJlIHVuaXF1ZSBhY3Jvc3MgY29tcG9uZW50cywgc28gdGhpcyBjb3VudGVyIGV4aXN0cyBvdXRzaWRlIG9mXG4gKiB0aGUgY29tcG9uZW50IGRlZmluaXRpb24uXG4gKi9cbmxldCB1bmlxdWVUYWJQYW5lSWQgPSAwO1xuXG4vKipcbiAqIEZvciBkb2N1bWVudGF0aW9uLCBzZWUgdGhlIEdyb3VwZWRUYWJzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZ3R4LXRhYi1wYW5lJyxcbiAgICBleHBvcnRBczogJ2d0eFRhYlBhbmUnLFxuICAgIHRlbXBsYXRlOiBgPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPmBcbn0pXG5leHBvcnQgY2xhc3MgVGFiUGFuZSAge1xuICBwcml2YXRlIHVuaXF1ZUlkID0gYGd0eC10YWItcGFuZS0ke3VuaXF1ZVRhYlBhbmVJZCsrfWA7XG5cbiAgLyoqIFRoZSB1bmlxdWUgSUQgb2YgdGhlIHRhYiBwYW5lLiAqL1xuICBnZXQgaWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMudW5pcXVlSWQ7IH1cbiAgZ2V0IGNvbnRlbnQoKTogR3R4VGFiQ29udGVudCB8IFRlbXBsYXRlUmVmPGFueT4geyByZXR1cm4gdGhpcy5fZXhwbGljaXRDb250ZW50IHx8IHRoaXMuX2ltcGxpY2l0Q29udGVudCB9XG5cbiAgLyoqIENvbnRlbnQgZm9yIHRoZSB0YWIgbGFiZWwgZ2l2ZW4gYnkgYDxuZy10ZW1wbGF0ZSBndHgtdGFiLWxhYmVsPmAuICovXG4gIEBDb250ZW50Q2hpbGQoR3R4VGFiTGFiZWwsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZUxhYmVsOiBHdHhUYWJMYWJlbDtcblxuICAvKiogUGxhaW4gdGV4dCBsYWJlbCBmb3IgdGhlIHRhYiwgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIHRlbXBsYXRlIGxhYmVsLiAqL1xuICBASW5wdXQoJ2xhYmVsJykgdGV4dExhYmVsOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBzZXQgaWQodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVuaXF1ZUlkID0gdmFsO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGUgc3RhdHVzIGljb24gZm9yIHRoaXMgdGFiXG4gICAqL1xuICBASW5wdXQoKSBzZXQgaGlkZVN0YXR1c0ljb24odmFsOiBhbnkpIHtcbiAgICB0aGlzLmRpc3BsYXlTdGF0dXNJY29uID0gIWNvZXJjZVRvQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgZGlzYWJsZWQgc3RhdGVcbiAgICovXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGFueSkge1xuICAgIHRoaXMuc3RhdGVEaXNhYmxlZCA9IGNvZXJjZVRvQm9vbGVhbih2YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgcmVhZC1vbmx5IHN0YXRlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgcmVhZG9ubHkodmFsOiBhbnkpIHtcbiAgICB0aGlzLnN0YXRlUmVhZE9ubHkgPSBjb2VyY2VUb0Jvb2xlYW4odmFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGluYWN0aXZlIHN0YXRlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgaW5hY3RpdmUodmFsOiBhbnkpIHtcbiAgICB0aGlzLnN0YXRlSW5hY3RpdmUgPSBjb2VyY2VUb0Jvb2xlYW4odmFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBwcm92aWRlZCBpbiB0aGUgdGFiIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHVzZWQgaWYgcHJlc2VudCwgdXNlZCB0byBlbmFibGUgbGF6eS1sb2FkaW5nXG4gICAqL1xuICBAQ29udGVudENoaWxkKEd0eFRhYkNvbnRlbnQsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KSBfZXhwbGljaXRDb250ZW50OiBHdHhUYWJDb250ZW50O1xuXG4gIC8qKiBUZW1wbGF0ZSBpbnNpZGUgdGhlIFRhYlBhbmUgdmlldyB0aGF0IGNvbnRhaW5zIGFuIGA8bmctY29udGVudD5gLiAqL1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KSBfaW1wbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSB0YWIgaXMgY2xpY2tlZCwgdGhpcyBldmVudCBpcyBmaXJlZCB3aXRoIHRoZSB0YWIgaWQuXG4gICAqL1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBzdGF0ZURpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHN0YXRlUmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3RhdGVJbmFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBkaXNwbGF5U3RhdHVzSWNvbjogYm9vbGVhbiA9IHRydWU7XG59XG4iXX0=