@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
74 lines • 9.44 kB
JavaScript
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