UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

74 lines 9.44 kB
import { Component, Input, Optional } from '@angular/core'; import { HeaderColumnType } from '../../header/models/header-column'; import * as i0 from "@angular/core"; import * as i1 from "../../header/services/overflow.service"; export class AbstractPanelWithHeaderBindingComponent { _overflowService; selectedHeaders$; firstFeaturedValue; featuredFieldsValues = []; _lastSelectedHeaders; sub; constructor(_overflowService) { this._overflowService = _overflowService; } get overflowMode() { if (!!this._overflowService) { return this._overflowService.overflowMode; } else { return false; } } ngOnInit() { this.sub = this.selectedHeaders$.subscribe(newSelectedHeaders => { this._lastSelectedHeaders = newSelectedHeaders; this.resolveFeaturedFieldsValues(); }); } ngOnDestroy() { this.sub.unsubscribe(); } /** * If the event was cause by selecting some text, it will not propagate * @param event */ preventSelectionClick(event) { if (event.view.getSelection().type === 'Range') { event.stopPropagation(); } } resolveFeaturedFieldsValues() { if (!this._lastSelectedHeaders) { return; } this.featuredFieldsValues.splice(0, this.featuredFieldsValues.length); this.featuredFieldsValues.push(...this._lastSelectedHeaders.map(item => this.getFeaturedValue(item))); } getFeaturedValue(selectedHeader) { if (!selectedHeader) { return { value: '', icon: '', type: '' }; } if (selectedHeader.type === HeaderColumnType.META) { return this.getFeaturedMetaValue(selectedHeader); } if (selectedHeader.type === HeaderColumnType.IMMEDIATE) { return this.getFeaturedImmediateValue(selectedHeader); } return { value: '', icon: '', type: '' }; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractPanelWithHeaderBindingComponent, deps: [{ token: i1.OverflowService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractPanelWithHeaderBindingComponent, selector: "ncc-abstract-panel-with-header-binding", inputs: { selectedHeaders$: "selectedHeaders$" }, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractPanelWithHeaderBindingComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-panel-with-header-binding', template: '' }] }], ctorParameters: () => [{ type: i1.OverflowService, decorators: [{ type: Optional }] }], propDecorators: { selectedHeaders$: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd2l0aC1oZWFkZXItYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvcGFuZWwvYWJzdHJhY3QvcGFuZWwtd2l0aC1oZWFkZXItYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBZSxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRakYsTUFBTSxPQUFnQix1Q0FBdUM7SUFPYjtJQU41QixnQkFBZ0IsQ0FBa0M7SUFDM0Qsa0JBQWtCLENBQVM7SUFDM0Isb0JBQW9CLEdBQXlCLEVBQUUsQ0FBQztJQUM3QyxvQkFBb0IsQ0FBc0I7SUFDMUMsR0FBRyxDQUFlO0lBRTVCLFlBQTRDLGdCQUFpQztRQUFqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO0lBQzdFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1NBQzdDO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO1lBQy9DLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUMxQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUM1QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQzFCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkYsQ0FBQztJQUNOLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxjQUE0QjtRQUNuRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO1NBQzFDO1FBQ0QsSUFBSSxjQUFjLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMvQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNwRDtRQUNELElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUMzQyxDQUFDO3dHQTdEaUIsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMsZ0lBRi9DLEVBQUU7OzRGQUVNLHVDQUF1QztrQkFKNUQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBUTBCLFFBQVE7eUNBTmYsZ0JBQWdCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtIZWFkZXJDb2x1bW4sIEhlYWRlckNvbHVtblR5cGV9IGZyb20gJy4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLWNvbHVtbic7XG5pbXBvcnQge0ZlYXR1cmVkVmFsdWV9IGZyb20gJy4vZmVhdHVyZWQtdmFsdWUnO1xuaW1wb3J0IHtPdmVyZmxvd1NlcnZpY2V9IGZyb20gJy4uLy4uL2hlYWRlci9zZXJ2aWNlcy9vdmVyZmxvdy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtcGFuZWwtd2l0aC1oZWFkZXItYmluZGluZycsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGFuZWxXaXRoSGVhZGVyQmluZGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRIZWFkZXJzJDogT2JzZXJ2YWJsZTxBcnJheTxIZWFkZXJDb2x1bW4+PjtcbiAgICBwdWJsaWMgZmlyc3RGZWF0dXJlZFZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGZlYXR1cmVkRmllbGRzVmFsdWVzOiBBcnJheTxGZWF0dXJlZFZhbHVlPiA9IFtdO1xuICAgIHByb3RlY3RlZCBfbGFzdFNlbGVjdGVkSGVhZGVyczogQXJyYXk8SGVhZGVyQ29sdW1uPjtcbiAgICBwcm90ZWN0ZWQgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9vdmVyZmxvd1NlcnZpY2U6IE92ZXJmbG93U2VydmljZSkge1xuICAgIH1cblxuICAgIGdldCBvdmVyZmxvd01vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmKCEhdGhpcy5fb3ZlcmZsb3dTZXJ2aWNlKXtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9vdmVyZmxvd1NlcnZpY2Uub3ZlcmZsb3dNb2RlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5zZWxlY3RlZEhlYWRlcnMkLnN1YnNjcmliZShuZXdTZWxlY3RlZEhlYWRlcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVkSGVhZGVycyA9IG5ld1NlbGVjdGVkSGVhZGVycztcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZUZlYXR1cmVkRmllbGRzVmFsdWVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIHRoZSBldmVudCB3YXMgY2F1c2UgYnkgc2VsZWN0aW5nIHNvbWUgdGV4dCwgaXQgd2lsbCBub3QgcHJvcGFnYXRlXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIHByZXZlbnRTZWxlY3Rpb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudmlldy5nZXRTZWxlY3Rpb24oKS50eXBlID09PSAnUmFuZ2UnKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmVhdHVyZWRGaWVsZHNWYWx1ZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGFzdFNlbGVjdGVkSGVhZGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mZWF0dXJlZEZpZWxkc1ZhbHVlcy5zcGxpY2UoMCwgdGhpcy5mZWF0dXJlZEZpZWxkc1ZhbHVlcy5sZW5ndGgpO1xuICAgICAgICB0aGlzLmZlYXR1cmVkRmllbGRzVmFsdWVzLnB1c2goXG4gICAgICAgICAgICAuLi50aGlzLl9sYXN0U2VsZWN0ZWRIZWFkZXJzLm1hcDxGZWF0dXJlZFZhbHVlPihpdGVtID0+IHRoaXMuZ2V0RmVhdHVyZWRWYWx1ZShpdGVtKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmVhdHVyZWRWYWx1ZShzZWxlY3RlZEhlYWRlcjogSGVhZGVyQ29sdW1uKTogRmVhdHVyZWRWYWx1ZSB7XG4gICAgICAgIGlmICghc2VsZWN0ZWRIZWFkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6ICcnLCBpY29uOiAnJywgdHlwZTogJyd9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZEhlYWRlci50eXBlID09PSBIZWFkZXJDb2x1bW5UeXBlLk1FVEEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZlYXR1cmVkTWV0YVZhbHVlKHNlbGVjdGVkSGVhZGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRIZWFkZXIudHlwZSA9PT0gSGVhZGVyQ29sdW1uVHlwZS5JTU1FRElBVEUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZlYXR1cmVkSW1tZWRpYXRlVmFsdWUoc2VsZWN0ZWRIZWFkZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7dmFsdWU6ICcnLCBpY29uOiAnJywgdHlwZTogJyd9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGZWF0dXJlZE1ldGFWYWx1ZShzZWxlY3RlZEhlYWRlcjogSGVhZGVyQ29sdW1uKTogRmVhdHVyZWRWYWx1ZTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGZWF0dXJlZEltbWVkaWF0ZVZhbHVlKHNlbGVjdGVkSGVhZGVyOiBIZWFkZXJDb2x1bW4pOiBGZWF0dXJlZFZhbHVlO1xufVxuIl19