UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

73 lines 8.22 kB
import { Component, EnvironmentInjector, Input, ViewChild, Injector } from '@angular/core'; import { ActionBarService } from './action-bar.service'; import * as i0 from "@angular/core"; import * as i1 from "./action-bar.service"; /** * A <c8y-action-bar-item> can be added with content projection. * It allows to show items in three positions (left, right * or more). * * ```html * <c8y-action-bar-item [placement]="'right'"> * <button class="btn btn-link" (click)="addRandom()"><i c8yIcon="plus-circle"></i> Add random</button> * </c8y-action-bar-item> * ``` */ export class ActionBarItemComponent { /** * @ignore */ constructor(actionBarService, _injector) { this.actionBarService = actionBarService; /** * Where the item should be shown. Use "more" to place * it in a dropdown on the right. */ this.placement = 'left'; /** * Priority for sorting the list. Higher priority means * an earlier position in the list. */ this.priority = 0; /** * Adds additional classes to the item. */ this.itemClass = ''; this.injector = _injector; } /** * @ignore */ ngAfterViewInit() { this.viewInitTimeout = setTimeout(() => this.actionBarService.add(this)); } /** * @ignore */ ngOnDestroy() { clearTimeout(this.viewInitTimeout); this.actionBarService.remove(this); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBarItemComponent, deps: [{ token: i1.ActionBarService }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBarItemComponent, isStandalone: true, selector: "c8y-action-bar-item", inputs: { placement: "placement", priority: "priority", itemClass: "itemClass", injector: "injector", groupId: "groupId", inGroupPriority: "inGroupPriority" }, viewQueries: [{ propertyName: "component", first: true, predicate: ["template"], descendants: true }], ngImport: i0, template: "<ng-template #template>\n <li class=\"{{ itemClass }}\">\n <ng-content></ng-content>\n </li>\n</ng-template>\n" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBarItemComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-action-bar-item', standalone: true, imports: [], template: "<ng-template #template>\n <li class=\"{{ itemClass }}\">\n <ng-content></ng-content>\n </li>\n</ng-template>\n" }] }], ctorParameters: () => [{ type: i1.ActionBarService }, { type: i0.EnvironmentInjector }], propDecorators: { placement: [{ type: Input }], priority: [{ type: Input }], itemClass: [{ type: Input }], injector: [{ type: Input }], groupId: [{ type: Input }], inGroupPriority: [{ type: Input }], component: [{ type: ViewChild, args: ['template', { static: false }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYWN0aW9uLWJhci9hY3Rpb24tYmFyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29yZS9hY3Rpb24tYmFyL2FjdGlvbi1iYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULG1CQUFtQixFQUNuQixLQUFLLEVBR0wsU0FBUyxFQUNULFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRXhEOzs7Ozs7Ozs7O0dBVUc7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBd0NqQzs7T0FFRztJQUNILFlBQ1UsZ0JBQWtDLEVBQzFDLFNBQThCO1FBRHRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUEzQzVDOzs7V0FHRztRQUNNLGNBQVMsR0FBOEIsTUFBTSxDQUFDO1FBRXZEOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFdEI7O1dBRUc7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBK0J0QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFxQixDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQXFCLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQS9EVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzVkM3Qm5DLHFIQUtBOzs0RkR3QmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsRUFBRTt1SEFPRixTQUFTO3NCQUFqQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVudmlyb25tZW50SW5qZWN0b3IsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBJbmplY3RvclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkJhckl0ZW0sIEFjdGlvbkJhckl0ZW1XaXRoQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24tYmFyLm1vZGVsJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1iYXIuc2VydmljZSc7XG5cbi8qKlxuICogQSA8Yzh5LWFjdGlvbi1iYXItaXRlbT4gY2FuIGJlIGFkZGVkIHdpdGggY29udGVudCBwcm9qZWN0aW9uLlxuICogSXQgYWxsb3dzIHRvIHNob3cgaXRlbXMgaW4gdGhyZWUgcG9zaXRpb25zIChsZWZ0LCByaWdodFxuICogb3IgbW9yZSkuXG4gKlxuICogYGBgaHRtbFxuICogPGM4eS1hY3Rpb24tYmFyLWl0ZW0gW3BsYWNlbWVudF09XCIncmlnaHQnXCI+XG4gKiAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWxpbmtcIiAoY2xpY2spPVwiYWRkUmFuZG9tKClcIj48aSBjOHlJY29uPVwicGx1cy1jaXJjbGVcIj48L2k+IEFkZCByYW5kb208L2J1dHRvbj5cbiAqIDwvYzh5LWFjdGlvbi1iYXItaXRlbT5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWN0aW9uLWJhci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1iYXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJhckl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBY3Rpb25CYXJJdGVtV2l0aENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGVyZSB0aGUgaXRlbSBzaG91bGQgYmUgc2hvd24uIFVzZSBcIm1vcmVcIiB0byBwbGFjZVxuICAgKiBpdCBpbiBhIGRyb3Bkb3duIG9uIHRoZSByaWdodC5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlbWVudDogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdtb3JlJyA9ICdsZWZ0JztcblxuICAvKipcbiAgICogUHJpb3JpdHkgZm9yIHNvcnRpbmcgdGhlIGxpc3QuIEhpZ2hlciBwcmlvcml0eSBtZWFuc1xuICAgKiBhbiBlYXJsaWVyIHBvc2l0aW9uIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KCkgcHJpb3JpdHkgPSAwO1xuXG4gIC8qKlxuICAgKiBBZGRzIGFkZGl0aW9uYWwgY2xhc3NlcyB0byB0aGUgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1DbGFzcyA9ICcnO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZGVmaW5lIGEgZGlmZmVyZW50IGluamVjdG9yLlxuICAgKi9cbiAgQElucHV0KCkgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIC8qKlxuICAgKiBJZiBhIGdyb3VwIGlkIGlzIHNldCwgdGhlIGFjdGlvbiBiYXIgd2l0aCB0aGUgc2FtZSBncm91cCBpZCBpcyBvbmx5IHJlbmRlcmVkIG9uY2UuXG4gICAqL1xuICBASW5wdXQoKSBncm91cElkO1xuICAvKipcbiAgICogSWYgYWN0aW9uIGJhciBpdGVtcyBoYXMgdGhlIHNhbWUgZ3JvdXBJZCwgb25seSBvbmUgaXMgZGlzcGxheWVkLlxuICAgKiBBY3Rpb24gYmFyIGl0ZW0gd2l0aCB0aGUgc2FtZSBncm91cElkIHRoYXQgaGFzIGhpZ2hlc3QgaW5Hcm91cFByaW9yaXR5IGlzIGRpc3BsYXllZC5cbiAgICovXG4gIEBJbnB1dCgpIGluR3JvdXBQcmlvcml0eTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgndGVtcGxhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgY29tcG9uZW50OiBUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgdmlld0luaXRUaW1lb3V0O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbkJhclNlcnZpY2U6IEFjdGlvbkJhclNlcnZpY2UsXG4gICAgX2luamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yXG4gICkge1xuICAgIHRoaXMuaW5qZWN0b3IgPSBfaW5qZWN0b3I7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld0luaXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmFjdGlvbkJhclNlcnZpY2UuYWRkKHRoaXMgYXMgQWN0aW9uQmFySXRlbSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnZpZXdJbml0VGltZW91dCk7XG4gICAgdGhpcy5hY3Rpb25CYXJTZXJ2aWNlLnJlbW92ZSh0aGlzIGFzIEFjdGlvbkJhckl0ZW0pO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bGkgY2xhc3M9XCJ7eyBpdGVtQ2xhc3MgfX1cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuIl19