UNPKG

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.

38 lines 8.85 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../../tooltip/tooltip.directive"; export class ApplicationSidebarSmallComponent { constructor() { this.actions = []; this.tabs = []; this.selected = new EventEmitter(); } selectTab(id) { this.tabs.forEach((tab) => { tab.isSelected = (tab.id === id); }); this.selected.emit(id); } executeTabAction(tab) { if (!tab.subMenu && tab.action) { tab.action(tab.id); } else if (!tab.subMenu && !tab.action) { this.selectTab(tab.id); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplicationSidebarSmallComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.9", type: ApplicationSidebarSmallComponent, selector: "systelab-app-sidebar-small", inputs: { actions: "actions", tabs: "tabs" }, outputs: { selected: "selected" }, ngImport: i0, template: "<div class=\"slab-app-sidebar-small-menu-container d-flex flex-column overflow-hidden\">\n <ul class=\"slab-app-sidebar-button-container slab-flex-1\">\n\n @for(tab of tabs; track tab.id) {\n <li class=\"slab-app-sidebar-button\"\n (click)=\"executeTabAction(tab)\"\n [class.selected]=\"tab.isSelected\" systelabTooltip=\"{{tab.name}}\" systelabTooltipPlacement=\"right\"\n systelabTooltipDelay=\"0\" systelabTooltipHideDelay=\"0\">\n <i [ngClass]=\"tab.icon\"></i>\n <div *ngIf=\"tab.isSelected\" class=\"arrow-left w-100\"></div>\n </li>\n }\n </ul>\n <ul class=\"slab-app-sidebar-button-container slab-bottom\">\n\n @for (action of actions; track action.name) {\n <li class=\"slab-app-sidebar-button w-100\" (click)=\"action.action()\"\n systelabTooltip=\"{{action.name}}\" systelabTooltipPlacement=\"right\" systelabTooltipDelay=\"0\"\n systelabTooltipHideDelay=\"0\">\n <i class=\"{{action.icon}}\"></i>\n </li>\n }\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TooltipDirective, selector: "[systelabTooltip],[systelabTooltipHtml]", inputs: ["systelabTooltip", "systelabTooltipHtml", "systelabTooltipPlacement", "systelabTooltipDelay", "systelabTooltipHideDelay", "systelabTooltipOnFocus"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ApplicationSidebarSmallComponent, decorators: [{ type: Component, args: [{ selector: 'systelab-app-sidebar-small', template: "<div class=\"slab-app-sidebar-small-menu-container d-flex flex-column overflow-hidden\">\n <ul class=\"slab-app-sidebar-button-container slab-flex-1\">\n\n @for(tab of tabs; track tab.id) {\n <li class=\"slab-app-sidebar-button\"\n (click)=\"executeTabAction(tab)\"\n [class.selected]=\"tab.isSelected\" systelabTooltip=\"{{tab.name}}\" systelabTooltipPlacement=\"right\"\n systelabTooltipDelay=\"0\" systelabTooltipHideDelay=\"0\">\n <i [ngClass]=\"tab.icon\"></i>\n <div *ngIf=\"tab.isSelected\" class=\"arrow-left w-100\"></div>\n </li>\n }\n </ul>\n <ul class=\"slab-app-sidebar-button-container slab-bottom\">\n\n @for (action of actions; track action.name) {\n <li class=\"slab-app-sidebar-button w-100\" (click)=\"action.action()\"\n systelabTooltip=\"{{action.name}}\" systelabTooltipPlacement=\"right\" systelabTooltipDelay=\"0\"\n systelabTooltipHideDelay=\"0\">\n <i class=\"{{action.icon}}\"></i>\n </li>\n }\n </ul>\n</div>\n" }] }], ctorParameters: () => [], propDecorators: { actions: [{ type: Input }], tabs: [{ type: Input }], selected: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNpZGViYXItc21hbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2FwcGxpY2F0aW9uZnJhbWUvc2lkZWJhci9hcHAtc2lkZWJhci1zbWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvYXBwbGljYXRpb25mcmFtZS9zaWRlYmFyL2FwcC1zaWRlYmFyLXNtYWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRdkUsTUFBTSxPQUFPLGdDQUFnQztJQU01QztRQUpnQixZQUFPLEdBQStCLEVBQUUsQ0FBQztRQUN6QyxTQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUcvQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN6QixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUEwQjtRQUNqRCxJQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0YsQ0FBQzs4R0F0QlcsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsbUpDUjdDLHduQ0F3QkE7OzJGRGhCYSxnQ0FBZ0M7a0JBSjVDLFNBQVM7K0JBQ0ksNEJBQTRCO3dEQUt6QixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1csUUFBUTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblNpZGViYXJBY3Rpb24sIEFwcGxpY2F0aW9uU2lkZWJhclRhYiB9IGZyb20gJy4vYXBwLXNpZGViYXIuY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICAgICdzeXN0ZWxhYi1hcHAtc2lkZWJhci1zbWFsbCcsXG5cdHRlbXBsYXRlVXJsOiAnYXBwLXNpZGViYXItc21hbGwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uU2lkZWJhclNtYWxsQ29tcG9uZW50IHtcblxuXHRASW5wdXQoKSBwdWJsaWMgYWN0aW9uczogQXBwbGljYXRpb25TaWRlYmFyQWN0aW9uW10gPSBbXTtcblx0QElucHV0KCkgcHVibGljIHRhYnM6IEFwcGxpY2F0aW9uU2lkZWJhclRhYltdID0gW107XG5cdEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdH1cblxuXHRwdWJsaWMgc2VsZWN0VGFiKGlkOiBzdHJpbmcpIHtcblx0XHR0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG5cdFx0XHR0YWIuaXNTZWxlY3RlZCA9ICh0YWIuaWQgPT09IGlkKTtcblx0XHR9KTtcblx0XHR0aGlzLnNlbGVjdGVkLmVtaXQoaWQpO1xuXHR9XG5cblx0cHVibGljIGV4ZWN1dGVUYWJBY3Rpb24odGFiOiBBcHBsaWNhdGlvblNpZGViYXJUYWIpOiB2b2lkIHtcblx0XHRpZiAoICF0YWIuc3ViTWVudSAmJiB0YWIuYWN0aW9uKSB7XG5cdFx0XHR0YWIuYWN0aW9uKHRhYi5pZCk7XG5cdFx0fSBlbHNlIGlmICggIXRhYi5zdWJNZW51ICYmICF0YWIuYWN0aW9uKSB7XG5cdFx0XHR0aGlzLnNlbGVjdFRhYih0YWIuaWQpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cInNsYWItYXBwLXNpZGViYXItc21hbGwtbWVudS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDx1bCBjbGFzcz1cInNsYWItYXBwLXNpZGViYXItYnV0dG9uLWNvbnRhaW5lciBzbGFiLWZsZXgtMVwiPlxuXG4gICAgICAgIEBmb3IodGFiIG9mIHRhYnM7IHRyYWNrIHRhYi5pZCkge1xuICAgICAgICAgICAgPGxpIGNsYXNzPVwic2xhYi1hcHAtc2lkZWJhci1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJleGVjdXRlVGFiQWN0aW9uKHRhYilcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ0YWIuaXNTZWxlY3RlZFwiIHN5c3RlbGFiVG9vbHRpcD1cInt7dGFiLm5hbWV9fVwiIHN5c3RlbGFiVG9vbHRpcFBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICBzeXN0ZWxhYlRvb2x0aXBEZWxheT1cIjBcIiBzeXN0ZWxhYlRvb2x0aXBIaWRlRGVsYXk9XCIwXCI+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwidGFiLmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRhYi5pc1NlbGVjdGVkXCIgY2xhc3M9XCJhcnJvdy1sZWZ0IHctMTAwXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgPC91bD5cbiAgICA8dWwgY2xhc3M9XCJzbGFiLWFwcC1zaWRlYmFyLWJ1dHRvbi1jb250YWluZXIgc2xhYi1ib3R0b21cIj5cblxuICAgICAgICBAZm9yIChhY3Rpb24gb2YgYWN0aW9uczsgdHJhY2sgYWN0aW9uLm5hbWUpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInNsYWItYXBwLXNpZGViYXItYnV0dG9uIHctMTAwXCIgKGNsaWNrKT1cImFjdGlvbi5hY3Rpb24oKVwiXG4gICAgICAgICAgICAgICAgc3lzdGVsYWJUb29sdGlwPVwie3thY3Rpb24ubmFtZX19XCIgc3lzdGVsYWJUb29sdGlwUGxhY2VtZW50PVwicmlnaHRcIiBzeXN0ZWxhYlRvb2x0aXBEZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIHN5c3RlbGFiVG9vbHRpcEhpZGVEZWxheT1cIjBcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7YWN0aW9uLmljb259fVwiPjwvaT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=