@ng-flexy/form-bootstrap
Version:
Flexy components and tools to build Angular 8+ applications
101 lines • 8.74 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "ngx-bootstrap/tabs";
import * as i3 from "@ng-flexy/layout";
function FlexyFormTabsComponent_ng_container_0_tab_2_Template(rf, ctx) { if (rf & 1) {
const _r5 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "tab", 2);
i0.ɵɵlistener("selectTab", function FlexyFormTabsComponent_ng_container_0_tab_2_Template_tab_selectTab_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(2); return ctx_r4.setActiveTab($event); });
i0.ɵɵelementEnd();
} if (rf & 2) {
const schema_r3 = ctx.$implicit;
const ctx_r1 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("heading", schema_r3.componentInputs == null ? null : schema_r3.componentInputs.legend)("id", schema_r3.componentId)("active", ctx_r1.activeTab === schema_r3.componentId);
} }
function FlexyFormTabsComponent_ng_container_0_ng_container_3_ng_container_1_flexy_layout_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "flexy-layout", 5);
} if (rf & 2) {
const schema_r7 = i0.ɵɵnextContext().$implicit;
i0.ɵɵproperty("schema", schema_r7.children);
} }
function FlexyFormTabsComponent_ng_container_0_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, FlexyFormTabsComponent_ng_container_0_ng_container_3_ng_container_1_flexy_layout_1_Template, 1, 1, "flexy-layout", 4);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const schema_r7 = ctx.$implicit;
const ctx_r6 = i0.ɵɵnextContext(3);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r6.activeTab === schema_r7.componentId);
} }
function FlexyFormTabsComponent_ng_container_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, FlexyFormTabsComponent_ng_container_0_ng_container_3_ng_container_1_Template, 2, 1, "ng-container", 3);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r2 = i0.ɵɵnextContext(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngForOf", ctx_r2.layoutSchema.children);
} }
function FlexyFormTabsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵelementStart(1, "tabset");
i0.ɵɵtemplate(2, FlexyFormTabsComponent_ng_container_0_tab_2_Template, 1, 3, "tab", 1);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(3, FlexyFormTabsComponent_ng_container_0_ng_container_3_Template, 2, 1, "ng-container", 0);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngForOf", ctx_r0.layoutSchema.children);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r0.activeTab);
} }
const SCHEMA_COMPONENT_ID_KEY = 'componentId';
export class FlexyFormTabsComponent {
constructor() { }
ngOnInit() {
this.activeTab =
this.layoutSchema.children && this.layoutSchema.children[0] ? this.layoutSchema.children[0][SCHEMA_COMPONENT_ID_KEY] : null;
}
setActiveTab(tab) {
this.activeTab = null;
setTimeout(() => {
this.activeTab = tab.id;
});
}
}
FlexyFormTabsComponent.ɵfac = function FlexyFormTabsComponent_Factory(t) { return new (t || FlexyFormTabsComponent)(); };
FlexyFormTabsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: FlexyFormTabsComponent, selectors: [["flexy-form-tabs"]], inputs: { layoutSchema: "layoutSchema" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [3, "heading", "id", "active", "selectTab", 4, "ngFor", "ngForOf"], [3, "heading", "id", "active", "selectTab"], [4, "ngFor", "ngForOf"], [3, "schema", 4, "ngIf"], [3, "schema"]], template: function FlexyFormTabsComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, FlexyFormTabsComponent_ng_container_0_Template, 4, 2, "ng-container", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", ctx.layoutSchema && ctx.layoutSchema.children && ctx.layoutSchema.children.length);
} }, directives: [i1.NgIf, i2.TabsetComponent, i1.NgForOf, i2.TabDirective, i3.FlexyLayoutComponent], encapsulation: 2 });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(FlexyFormTabsComponent, [{
type: Component,
args: [{
selector: 'flexy-form-tabs',
template: `
<ng-container *ngIf="layoutSchema && layoutSchema.children && layoutSchema.children.length">
<tabset>
<tab
*ngFor="let schema of layoutSchema.children"
[heading]="schema.componentInputs?.legend"
[id]="schema.componentId"
[active]="activeTab === schema.componentId"
(selectTab)="setActiveTab($event)"
></tab>
</tabset>
<ng-container *ngIf="activeTab">
<ng-container *ngFor="let schema of layoutSchema.children">
<flexy-layout *ngIf="activeTab === schema.componentId" [schema]="schema.children"></flexy-layout>
</ng-container>
</ng-container>
</ng-container>
`
}]
}], function () { return []; }, { layoutSchema: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7SUFVakQsOEJBTU87SUFETCw2TkFBa0M7SUFDbkMsaUJBQU07Ozs7SUFKTCxxR0FBMEMsNkJBQUEsc0RBQUE7OztJQVExQyxrQ0FBaUc7OztJQUExQywyQ0FBMEI7OztJQURuRiw2QkFDRTtJQUFBLHNJQUFrRjtJQUNwRiwwQkFBZTs7OztJQURDLGVBQXdDO0lBQXhDLGlFQUF3Qzs7O0lBRjFELDZCQUNFO0lBQUEsdUhBQ0U7SUFFSiwwQkFBZTs7O0lBSEMsZUFBNEM7SUFBNUMsc0RBQTRDOzs7SUFYOUQsNkJBQ0U7SUFBQSw4QkFDRTtJQUFBLHNGQU1DO0lBQ0gsaUJBQVM7SUFDVCx3R0FDRTtJQUlKLDBCQUFlOzs7SUFaVCxlQUE0QztJQUE1QyxzREFBNEM7SUFPbEMsZUFBaUI7SUFBakIsdUNBQWlCOztBQWZyQyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQztBQXVCOUMsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxnQkFBZSxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUztZQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRGQWpCVSxzQkFBc0I7MkRBQXRCLHNCQUFzQjtRQWxCL0IseUZBQ0U7O1FBRFksd0dBQTZFOztrREFrQmxGLHNCQUFzQjtjQXJCbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7YUFDRjtzQ0FFVSxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4eUZvcm1GaWVsZExheW91dFNjaGVtYSB9IGZyb20gJ0BuZy1mbGV4eS9mb3JtJztcblxuY29uc3QgU0NIRU1BX0NPTVBPTkVOVF9JRF9LRVkgPSAnY29tcG9uZW50SWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbGV4eS1mb3JtLXRhYnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRTY2hlbWEgJiYgbGF5b3V0U2NoZW1hLmNoaWxkcmVuICYmIGxheW91dFNjaGVtYS5jaGlsZHJlbi5sZW5ndGhcIj5cbiAgICAgIDx0YWJzZXQ+XG4gICAgICAgIDx0YWJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgc2NoZW1hIG9mIGxheW91dFNjaGVtYS5jaGlsZHJlblwiXG4gICAgICAgICAgW2hlYWRpbmddPVwic2NoZW1hLmNvbXBvbmVudElucHV0cz8ubGVnZW5kXCJcbiAgICAgICAgICBbaWRdPVwic2NoZW1hLmNvbXBvbmVudElkXCJcbiAgICAgICAgICBbYWN0aXZlXT1cImFjdGl2ZVRhYiA9PT0gc2NoZW1hLmNvbXBvbmVudElkXCJcbiAgICAgICAgICAoc2VsZWN0VGFiKT1cInNldEFjdGl2ZVRhYigkZXZlbnQpXCJcbiAgICAgICAgPjwvdGFiPlxuICAgICAgPC90YWJzZXQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlVGFiXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNjaGVtYSBvZiBsYXlvdXRTY2hlbWEuY2hpbGRyZW5cIj5cbiAgICAgICAgICA8ZmxleHktbGF5b3V0ICpuZ0lmPVwiYWN0aXZlVGFiID09PSBzY2hlbWEuY29tcG9uZW50SWRcIiBbc2NoZW1hXT1cInNjaGVtYS5jaGlsZHJlblwiPjwvZmxleHktbGF5b3V0PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEZsZXh5Rm9ybVRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYXlvdXRTY2hlbWE6IEZsZXh5Rm9ybUZpZWxkTGF5b3V0U2NoZW1hO1xuXG4gIGFjdGl2ZVRhYjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFjdGl2ZVRhYiA9XG4gICAgICB0aGlzLmxheW91dFNjaGVtYS5jaGlsZHJlbiAmJiB0aGlzLmxheW91dFNjaGVtYS5jaGlsZHJlblswXSA/IHRoaXMubGF5b3V0U2NoZW1hLmNoaWxkcmVuWzBdW1NDSEVNQV9DT01QT05FTlRfSURfS0VZXSA6IG51bGw7XG4gIH1cblxuICBzZXRBY3RpdmVUYWIodGFiKSB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSBudWxsO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0YWIuaWQ7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==