systelab-components
Version:
systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.
66 lines • 11.3 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "systelab-translate";
import * as i2 from "@angular/common";
import * as i3 from "./header/app-header.component";
import * as i4 from "./sidebar/app-sidebar-large.component";
import * as i5 from "./sidebar/app-sidebar-small.component";
export class ApplicationFrameComponent {
constructor(i18nService) {
this.i18nService = i18nService;
this.menuBars = false;
this.logoIcon = '';
this.menu = [];
this.actions = [];
this.tabs = [];
this.showSideBar = true;
this.largeSideBar = true;
this.selected = new EventEmitter();
}
doSelect(id) {
this.selected.emit(id);
}
continueSelect(id) {
if (this.sidebar) {
this.sidebar.selectTab(id);
}
else if (this.sidebarSmall) {
this.sidebarSmall.selectTab(id);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplicationFrameComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ApplicationFrameComponent, selector: "systelab-app-frame", inputs: { userName: "userName", userFullName: "userFullName", title: "title", menuBars: "menuBars", logoIcon: "logoIcon", menu: "menu", actions: "actions", tabs: "tabs", showSideBar: "showSideBar", largeSideBar: "largeSideBar" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebarLarge"], descendants: true }, { propertyName: "sidebarSmall", first: true, predicate: ["sidebarSmall"], descendants: true }], ngImport: i0, template: "<div class=\"h-100 d-flex flex-column\">\n <systelab-app-header [userName]=\"userName\" [userFullName]=\"userFullName\" [title]=\"title\" [menu]=\"menu\" [logoIcon]=\"logoIcon\"\n [menuBars]=\"menuBars\">\n <ng-content select=\"[header-content]\"></ng-content>\n </systelab-app-header>\n <div class=\"slab-main-container slab-overflow-container slab-flex-1 d-flex\">\n <div *ngIf=\"showSideBar\" [ngClass]=\"{'slab-side-bar-container-large': largeSideBar,'slab-side-bar-container-small': !largeSideBar }\">\n <systelab-app-sidebar-large *ngIf=\"largeSideBar\" #sidebarLarge [tabs]=\"tabs\" [actions]=\"actions\" (selected)=\"doSelect($event)\"></systelab-app-sidebar-large>\n <systelab-app-sidebar-small *ngIf=\"!largeSideBar\" #sidebarSmall [tabs]=\"tabs\" [actions]=\"actions\" (selected)=\"doSelect($event)\"></systelab-app-sidebar-small>\n </div>\n <div class=\"slab-flex-1 d-flex\">\n <ng-content select=\"[main-content]\"></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ApplicationHeaderComponent, selector: "systelab-app-header", inputs: ["userName", "userFullName", "title", "logoIcon", "menuBars", "menu"] }, { kind: "component", type: i4.ApplicationSidebarLargeComponent, selector: "systelab-app-sidebar-large", inputs: ["actions", "tabs"], outputs: ["selected"] }, { kind: "component", type: i5.ApplicationSidebarSmallComponent, selector: "systelab-app-sidebar-small", inputs: ["actions", "tabs"], outputs: ["selected"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplicationFrameComponent, decorators: [{
type: Component,
args: [{ selector: 'systelab-app-frame', template: "<div class=\"h-100 d-flex flex-column\">\n <systelab-app-header [userName]=\"userName\" [userFullName]=\"userFullName\" [title]=\"title\" [menu]=\"menu\" [logoIcon]=\"logoIcon\"\n [menuBars]=\"menuBars\">\n <ng-content select=\"[header-content]\"></ng-content>\n </systelab-app-header>\n <div class=\"slab-main-container slab-overflow-container slab-flex-1 d-flex\">\n <div *ngIf=\"showSideBar\" [ngClass]=\"{'slab-side-bar-container-large': largeSideBar,'slab-side-bar-container-small': !largeSideBar }\">\n <systelab-app-sidebar-large *ngIf=\"largeSideBar\" #sidebarLarge [tabs]=\"tabs\" [actions]=\"actions\" (selected)=\"doSelect($event)\"></systelab-app-sidebar-large>\n <systelab-app-sidebar-small *ngIf=\"!largeSideBar\" #sidebarSmall [tabs]=\"tabs\" [actions]=\"actions\" (selected)=\"doSelect($event)\"></systelab-app-sidebar-small>\n </div>\n <div class=\"slab-flex-1 d-flex\">\n <ng-content select=\"[main-content]\"></ng-content>\n </div>\n </div>\n</div>\n" }]
}], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { sidebar: [{
type: ViewChild,
args: ['sidebarLarge', { static: false }]
}], sidebarSmall: [{
type: ViewChild,
args: ['sidebarSmall', { static: false }]
}], userName: [{
type: Input
}], userFullName: [{
type: Input
}], title: [{
type: Input
}], menuBars: [{
type: Input
}], logoIcon: [{
type: Input
}], menu: [{
type: Input
}], actions: [{
type: Input
}], tabs: [{
type: Input
}], showSideBar: [{
type: Input
}], largeSideBar: [{
type: Input
}], selected: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2FwcGxpY2F0aW9uZnJhbWUvYXBwbGljYXRpb24tZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2FwcGxpY2F0aW9uZnJhbWUvYXBwbGljYXRpb24tZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFXbEYsTUFBTSxPQUFPLHlCQUF5QjtJQW1CckMsWUFBc0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFYOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsU0FBSSxHQUFpQyxFQUFFLENBQUM7UUFDeEMsWUFBTyxHQUErQixFQUFFLENBQUM7UUFDekMsU0FBSSxHQUE0QixFQUFFLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFbkIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFHL0MsQ0FBQztJQUVNLFFBQVEsQ0FBQyxFQUFVO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxjQUFjLENBQUMsRUFBVTtRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0I7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEM7SUFDRixDQUFDOzhHQWhDVyx5QkFBeUI7a0dBQXpCLHlCQUF5QiwyZ0JDWHRDLGcvQkFlQTs7MkZESmEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNJLG9CQUFvQjtnRkFLVyxPQUFPO3NCQUFsRCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ0UsWUFBWTtzQkFBdkQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUUxQixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVUsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUVXLFFBQVE7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJ3N5c3RlbGFiLXRyYW5zbGF0ZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkhlYWRlck1lbnVFbnRyeSB9IGZyb20gJy4vaGVhZGVyL2FwcC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uU2lkZWJhckFjdGlvbiwgQXBwbGljYXRpb25TaWRlYmFyVGFiIH0gZnJvbSAnLi9zaWRlYmFyL2FwcC1zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblNpZGViYXJMYXJnZUNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9hcHAtc2lkZWJhci1sYXJnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TaWRlYmFyU21hbGxDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXIvYXBwLXNpZGViYXItc21hbGwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAgICAnc3lzdGVsYWItYXBwLWZyYW1lJyxcblx0dGVtcGxhdGVVcmw6ICdhcHBsaWNhdGlvbi1mcmFtZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25GcmFtZUNvbXBvbmVudCB7XG5cblx0QFZpZXdDaGlsZCgnc2lkZWJhckxhcmdlJywge3N0YXRpYzogZmFsc2V9KSBzaWRlYmFyOiBBcHBsaWNhdGlvblNpZGViYXJMYXJnZUNvbXBvbmVudDtcblx0QFZpZXdDaGlsZCgnc2lkZWJhclNtYWxsJywge3N0YXRpYzogZmFsc2V9KSBzaWRlYmFyU21hbGw6IEFwcGxpY2F0aW9uU2lkZWJhclNtYWxsQ29tcG9uZW50O1xuXG5cdEBJbnB1dCgpIHB1YmxpYyB1c2VyTmFtZTogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgdXNlckZ1bGxOYW1lOiBzdHJpbmc7XG5cdEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXHRASW5wdXQoKSBwdWJsaWMgbWVudUJhcnMgPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGxvZ29JY29uID0gJyc7XG5cblx0QElucHV0KCkgcHVibGljIG1lbnU6IEFwcGxpY2F0aW9uSGVhZGVyTWVudUVudHJ5W10gPSBbXTtcblx0QElucHV0KCkgcHVibGljIGFjdGlvbnM6IEFwcGxpY2F0aW9uU2lkZWJhckFjdGlvbltdID0gW107XG5cdEBJbnB1dCgpIHB1YmxpYyB0YWJzOiBBcHBsaWNhdGlvblNpZGViYXJUYWJbXSA9IFtdO1xuXHRASW5wdXQoKSBwdWJsaWMgc2hvd1NpZGVCYXIgPSB0cnVlO1xuXHRASW5wdXQoKSBwdWJsaWMgbGFyZ2VTaWRlQmFyID0gdHJ1ZTtcblxuXHRAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHtcblx0fVxuXG5cdHB1YmxpYyBkb1NlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5zZWxlY3RlZC5lbWl0KGlkKTtcblx0fVxuXG5cdHB1YmxpYyBjb250aW51ZVNlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuc2lkZWJhcikge1xuXHRcdFx0dGhpcy5zaWRlYmFyLnNlbGVjdFRhYihpZCk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnNpZGViYXJTbWFsbCkge1xuXHRcdFx0dGhpcy5zaWRlYmFyU21hbGwuc2VsZWN0VGFiKGlkKTtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLTEwMCBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgPHN5c3RlbGFiLWFwcC1oZWFkZXIgW3VzZXJOYW1lXT1cInVzZXJOYW1lXCIgW3VzZXJGdWxsTmFtZV09XCJ1c2VyRnVsbE5hbWVcIiBbdGl0bGVdPVwidGl0bGVcIiBbbWVudV09XCJtZW51XCIgW2xvZ29JY29uXT1cImxvZ29JY29uXCJcbiAgICBbbWVudUJhcnNdPVwibWVudUJhcnNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L3N5c3RlbGFiLWFwcC1oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJzbGFiLW1haW4tY29udGFpbmVyIHNsYWItb3ZlcmZsb3ctY29udGFpbmVyIHNsYWItZmxleC0xIGQtZmxleFwiPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93U2lkZUJhclwiIFtuZ0NsYXNzXT1cInsnc2xhYi1zaWRlLWJhci1jb250YWluZXItbGFyZ2UnOiBsYXJnZVNpZGVCYXIsJ3NsYWItc2lkZS1iYXItY29udGFpbmVyLXNtYWxsJzogIWxhcmdlU2lkZUJhciB9XCI+XG4gICAgICA8c3lzdGVsYWItYXBwLXNpZGViYXItbGFyZ2UgKm5nSWY9XCJsYXJnZVNpZGVCYXJcIiAjc2lkZWJhckxhcmdlIFt0YWJzXT1cInRhYnNcIiBbYWN0aW9uc109XCJhY3Rpb25zXCIgKHNlbGVjdGVkKT1cImRvU2VsZWN0KCRldmVudClcIj48L3N5c3RlbGFiLWFwcC1zaWRlYmFyLWxhcmdlPlxuICAgICAgPHN5c3RlbGFiLWFwcC1zaWRlYmFyLXNtYWxsICpuZ0lmPVwiIWxhcmdlU2lkZUJhclwiICNzaWRlYmFyU21hbGwgW3RhYnNdPVwidGFic1wiIFthY3Rpb25zXT1cImFjdGlvbnNcIiAoc2VsZWN0ZWQpPVwiZG9TZWxlY3QoJGV2ZW50KVwiPjwvc3lzdGVsYWItYXBwLXNpZGViYXItc21hbGw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNsYWItZmxleC0xIGQtZmxleFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21haW4tY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=