@narik/ui-ng-bootstrap
Version:
Framework to create angular application
59 lines • 12 kB
JavaScript
import { UUID } from 'angular2-uuid';
import { NarikToolBar } from '@narik/ui-core';
import { Component, Injector, ViewContainerRef } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../narik-ngb-button/narik-ngb-button.component";
import * as i2 from "@angular/common";
import * as i3 from "@ng-bootstrap/ng-bootstrap";
import * as i4 from "@ngx-translate/core";
import * as i5 from "@narik/common";
export class NarikNgbToolBar extends NarikToolBar {
constructor(injector, viewContainerRef) {
super(injector, viewContainerRef);
this.uniqueId = '';
this.toolbarItems = [];
this.uniqueId = 'toolbar' + UUID.UUID();
}
ngOnInit() {
super.ngOnInit();
let isnewGroup = false;
let toolBarGroup = [];
for (const item of this.items) {
if (item.itemType === 'divider') {
isnewGroup = true;
}
if (item.itemType !== 'divider') {
toolBarGroup.push(item);
}
if (isnewGroup) {
this.toolbarItems.push([...toolBarGroup]);
toolBarGroup = [];
}
isnewGroup = false;
}
if (toolBarGroup.length !== 0) {
this.toolbarItems.push(toolBarGroup);
}
for (const group of this.toolbarItems) {
let index = 0;
for (const item of group) {
let cssClass = '';
if (index !== 0) {
cssClass += ' btn-not-first-child';
}
if (index !== group.length - 1) {
cssClass += ' btn-not-last-child';
}
item.cssClass = (item.cssClass || '') + cssClass;
index++;
}
}
}
}
/** @nocollapse */ /** @nocollapse */ NarikNgbToolBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NarikNgbToolBar, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ /** @nocollapse */ NarikNgbToolBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: NarikNgbToolBar, selector: "narik-toolbar , narik-ngb-toolbar", usesInheritance: true, ngImport: i0, template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar with button groups\">\n <div class=\"btn-group mr-1\" *ngFor=\"let group of toolbarItems\">\n <ng-container *ngFor=\"let item of group; let i = index\">\n <ng-container *ngIf=\"item.itemType === 'button'\">\n <narik-button\n class=\"toolbar-btn\"\n *ngIf=\"!item.hideExpr || !invisibleItems[item.key]\"\n [disable]=\"item.disableExpr && disableItems[item.key]\"\n [isBusy]=\"item.busyExpr && busyItems[item.key]\"\n [cssClass]=\"item.cssClass\"\n (nClick)=\"itemCommand(item)\"\n [buttonStyle]=\"'secondary'\"\n [icon]=\"item.icon\"\n ngbTooltip=\"{{\n (item.tooltip ? (item.tooltip | translate) : '') +\n (options.appendShortcutToTooltip && item.shortcut\n ? '(' + (item.shortcut | shortcut) + ')'\n : '')\n }}\"\n container=\"body\"\n [label]=\"showLabel ? item.label : ''\"\n ></narik-button>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", components: [{ type: i1.NarikNgbButtonComponent, selector: "narik-ngb-button , narik-button " }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], pipes: { "translate": i4.TranslatePipe, "shortcut": i5.ShortcutPipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NarikNgbToolBar, decorators: [{
type: Component,
args: [{ selector: 'narik-toolbar , narik-ngb-toolbar', template: "<div class=\"btn-toolbar\" role=\"toolbar\" aria-label=\"Toolbar with button groups\">\n <div class=\"btn-group mr-1\" *ngFor=\"let group of toolbarItems\">\n <ng-container *ngFor=\"let item of group; let i = index\">\n <ng-container *ngIf=\"item.itemType === 'button'\">\n <narik-button\n class=\"toolbar-btn\"\n *ngIf=\"!item.hideExpr || !invisibleItems[item.key]\"\n [disable]=\"item.disableExpr && disableItems[item.key]\"\n [isBusy]=\"item.busyExpr && busyItems[item.key]\"\n [cssClass]=\"item.cssClass\"\n (nClick)=\"itemCommand(item)\"\n [buttonStyle]=\"'secondary'\"\n [icon]=\"item.icon\"\n ngbTooltip=\"{{\n (item.tooltip ? (item.tooltip | translate) : '') +\n (options.appendShortcutToTooltip && item.shortcut\n ? '(' + (item.shortcut | shortcut) + ')'\n : '')\n }}\"\n container=\"body\"\n [label]=\"showLabel ? item.label : ''\"\n ></narik-button>\n </ng-container>\n </ng-container>\n </div>\n</div>\n" }]
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ViewContainerRef }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFyaWstbmdiLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmFyaWstdWktbmctYm9vdHN0cmFwL3NyYy9saWIvbmFyaWstbmdiLXRvb2xiYXIvbmFyaWstbmdiLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmFyaWstdWktbmctYm9vdHN0cmFwL3NyYy9saWIvbmFyaWstbmdiLXRvb2xiYXIvbmFyaWstbmdiLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFNOUUsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQUk3QyxZQUFZLFFBQWtCLEVBQUUsZ0JBQWtDO1FBQzlELEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUp0QyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFJckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQzdCLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDckI7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzFDLFlBQVksR0FBRyxFQUFFLENBQUM7YUFDckI7WUFDRCxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN4QztRQUVELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDdEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7b0JBQ2IsUUFBUSxJQUFJLHNCQUFzQixDQUFDO2lCQUN0QztnQkFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsUUFBUSxJQUFJLHFCQUFxQixDQUFDO2lCQUNyQztnQkFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxDQUFDO2FBQ1g7U0FDSjtJQUNMLENBQUM7O2tKQTVDUSxlQUFlO3NJQUFmLGVBQWUsZ0dDUjVCLHVsQ0EwQkE7MkZEbEJhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVVVJRCB9IGZyb20gJ2FuZ3VsYXIyLXV1aWQnO1xyXG5pbXBvcnQgeyBOYXJpa1Rvb2xCYXIgfSBmcm9tICdAbmFyaWsvdWktY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25hcmlrLXRvb2xiYXIgLCBuYXJpay1uZ2ItdG9vbGJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ25hcmlrLW5nYi10b29sYmFyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hcmlrTmdiVG9vbEJhciBleHRlbmRzIE5hcmlrVG9vbEJhciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICB1bmlxdWVJZCA9ICcnO1xyXG4gICAgdG9vbGJhckl0ZW1zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvciwgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yLCB2aWV3Q29udGFpbmVyUmVmKTtcclxuICAgICAgICB0aGlzLnVuaXF1ZUlkID0gJ3Rvb2xiYXInICsgVVVJRC5VVUlEKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBsZXQgaXNuZXdHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0b29sQmFyR3JvdXAgPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtVHlwZSA9PT0gJ2RpdmlkZXInKSB7XHJcbiAgICAgICAgICAgICAgICBpc25ld0dyb3VwID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXRlbS5pdGVtVHlwZSAhPT0gJ2RpdmlkZXInKSB7XHJcbiAgICAgICAgICAgICAgICB0b29sQmFyR3JvdXAucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaXNuZXdHcm91cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFySXRlbXMucHVzaChbLi4udG9vbEJhckdyb3VwXSk7XHJcbiAgICAgICAgICAgICAgICB0b29sQmFyR3JvdXAgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpc25ld0dyb3VwID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0b29sQmFyR3JvdXAubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbGJhckl0ZW1zLnB1c2godG9vbEJhckdyb3VwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy50b29sYmFySXRlbXMpIHtcclxuICAgICAgICAgICAgbGV0IGluZGV4ID0gMDtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3NzQ2xhc3MgPSAnJztcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzICs9ICcgYnRuLW5vdC1maXJzdC1jaGlsZCc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IGdyb3VwLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcyArPSAnIGJ0bi1ub3QtbGFzdC1jaGlsZCc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpdGVtLmNzc0NsYXNzID0gKGl0ZW0uY3NzQ2xhc3MgfHwgJycpICsgY3NzQ2xhc3M7XHJcbiAgICAgICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiIHJvbGU9XCJ0b29sYmFyXCIgYXJpYS1sYWJlbD1cIlRvb2xiYXIgd2l0aCBidXR0b24gZ3JvdXBzXCI+XG4gIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgbXItMVwiICpuZ0Zvcj1cImxldCBncm91cCBvZiB0b29sYmFySXRlbXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pdGVtVHlwZSA9PT0gJ2J1dHRvbidcIj5cbiAgICAgICAgPG5hcmlrLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1idG5cIlxuICAgICAgICAgICpuZ0lmPVwiIWl0ZW0uaGlkZUV4cHIgfHwgIWludmlzaWJsZUl0ZW1zW2l0ZW0ua2V5XVwiXG4gICAgICAgICAgW2Rpc2FibGVdPVwiaXRlbS5kaXNhYmxlRXhwciAmJiBkaXNhYmxlSXRlbXNbaXRlbS5rZXldXCJcbiAgICAgICAgICBbaXNCdXN5XT1cIml0ZW0uYnVzeUV4cHIgJiYgYnVzeUl0ZW1zW2l0ZW0ua2V5XVwiXG4gICAgICAgICAgW2Nzc0NsYXNzXT1cIml0ZW0uY3NzQ2xhc3NcIlxuICAgICAgICAgIChuQ2xpY2spPVwiaXRlbUNvbW1hbmQoaXRlbSlcIlxuICAgICAgICAgIFtidXR0b25TdHlsZV09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgW2ljb25dPVwiaXRlbS5pY29uXCJcbiAgICAgICAgICBuZ2JUb29sdGlwPVwie3tcbiAgICAgICAgICAgIChpdGVtLnRvb2x0aXAgPyAoaXRlbS50b29sdGlwIHwgdHJhbnNsYXRlKSA6ICcnKSArXG4gICAgICAgICAgICAgIChvcHRpb25zLmFwcGVuZFNob3J0Y3V0VG9Ub29sdGlwICYmIGl0ZW0uc2hvcnRjdXRcbiAgICAgICAgICAgICAgICA/ICcoJyArIChpdGVtLnNob3J0Y3V0IHwgc2hvcnRjdXQpICsgJyknXG4gICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgICB9fVwiXG4gICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgW2xhYmVsXT1cInNob3dMYWJlbCA/IGl0ZW0ubGFiZWwgOiAnJ1wiXG4gICAgICAgID48L25hcmlrLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19