UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

89 lines 12.9 kB
import { Inject, Injectable, Optional } from '@angular/core'; import { AbstractHeaderService } from '../abstract-header-service'; import { HeaderType } from '../models/header-type'; import { HeaderColumn, HeaderColumnType } from '../models/header-column'; import { CaseMetaField } from './case-menta-enum'; import { NAE_DEFAULT_HEADERS } from '../models/default-headers-token'; import { HeaderSortingMode } from '../models/header-sorting-mode'; import { NAE_HEADER_SORTING_MODE } from '../models/header-sorting-mode-injection-token'; import * as i0 from "@angular/core"; import * as i1 from "../../allowed-nets/services/allowed-nets.service"; import * as i2 from "../../user/services/user-preference.service"; import * as i3 from "../../logger/services/logger.service"; import * as i4 from "../../user/services/view-id.service"; import * as i5 from "../services/overflow.service"; import * as i6 from "../models/header-sorting-mode"; export class CaseHeaderService extends AbstractHeaderService { _allowedNetsService; overflowService; subAllowedNets; constructor(_allowedNetsService, preferences, logger, viewIdService, overflowService, naeDefaultHeaders, sortingMode = HeaderSortingMode.SINGLE) { super(HeaderType.CASE, preferences, logger, viewIdService, overflowService, sortingMode); this._allowedNetsService = _allowedNetsService; this.overflowService = overflowService; this.subAllowedNets = _allowedNetsService.allowedNets$.subscribe(allowedNets => { this.setAllowedNets(allowedNets); if (naeDefaultHeaders && Array.isArray(naeDefaultHeaders) && naeDefaultHeaders.length > 0) { this.initDefaultHeaders = naeDefaultHeaders; this.initializeDefaultHeaderState(); } else { this.loadHeadersFromPreferences(); this.loadSortsFromPreferences(); } this.loading.off(); }); } createMetaHeaders() { return [ new HeaderColumn(HeaderColumnType.META, CaseMetaField.VISUAL_ID, 'headers.caseMeta.visualID', 'text'), new HeaderColumn(HeaderColumnType.META, CaseMetaField.MONGO_ID, 'headers.caseMeta.mongoID', 'text', false), new HeaderColumn(HeaderColumnType.META, CaseMetaField.TITLE, 'headers.caseMeta.title', 'text'), new HeaderColumn(HeaderColumnType.META, CaseMetaField.AUTHOR, 'headers.caseMeta.author', 'user'), new HeaderColumn(HeaderColumnType.META, CaseMetaField.CREATION_DATE, 'headers.caseMeta.creationDate', 'date'), ]; } ngOnDestroy() { super.ngOnDestroy(); this.subAllowedNets.unsubscribe(); } updateColumnCount() { this.updateHeaderColumnCount(); } saveState() { if (this.overflowService) { this.overflowService.saveState(); } } saveNewState() { if (this.overflowService) { this.overflowService.saveNewState(); } this.updateHeaderColumnCount(); } restoreLastState() { if (this.overflowService) { this.overflowService.restoreLastState(); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseHeaderService, deps: [{ token: i1.AllowedNetsService }, { token: i2.UserPreferenceService }, { token: i3.LoggerService }, { token: i4.ViewIdService, optional: true }, { token: i5.OverflowService, optional: true }, { token: NAE_DEFAULT_HEADERS, optional: true }, { token: NAE_HEADER_SORTING_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseHeaderService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CaseHeaderService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.AllowedNetsService }, { type: i2.UserPreferenceService }, { type: i3.LoggerService }, { type: i4.ViewIdService, decorators: [{ type: Optional }] }, { type: i5.OverflowService, decorators: [{ type: Optional }] }, { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NAE_DEFAULT_HEADERS] }] }, { type: i6.HeaderSortingMode, decorators: [{ type: Optional }, { type: Inject, args: [NAE_HEADER_SORTING_MODE] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1oZWFkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvaGVhZGVyL2Nhc2UtaGVhZGVyL2Nhc2UtaGVhZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBS3BFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7OztBQUl0RixNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBR2xDO0lBSVk7SUFOeEIsY0FBYyxDQUFlO0lBRXZDLFlBQXNCLG1CQUF1QyxFQUNqRCxXQUFrQyxFQUNsQyxNQUFxQixFQUNULGFBQTRCLEVBQ2xCLGVBQWdDLEVBQ2IsaUJBQWdDLEVBQzVCLGNBQWlDLGlCQUFpQixDQUFDLE1BQU07UUFDOUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBUHZFLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFJM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBSTlELElBQUksQ0FBQyxjQUFjLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzRSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksaUJBQWlCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3ZGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxpQkFBaUI7UUFDdkIsT0FBTztZQUNILElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztZQUNyRyxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO1lBQzFHLElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztZQUM5RixJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLENBQUM7WUFDaEcsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxhQUFhLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxDQUFDO1NBQ2hILENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVTLFNBQVM7UUFDZixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFUyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVTLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQzNDO0lBQ0wsQ0FBQzt3R0E1RFEsaUJBQWlCLGtOQVFNLG1CQUFtQiw2QkFDbkIsdUJBQXVCOzRHQVQ5QyxpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQU9NLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0SGVhZGVyU2VydmljZX0gZnJvbSAnLi4vYWJzdHJhY3QtaGVhZGVyLXNlcnZpY2UnO1xuaW1wb3J0IHtIZWFkZXJUeXBlfSBmcm9tICcuLi9tb2RlbHMvaGVhZGVyLXR5cGUnO1xuaW1wb3J0IHtIZWFkZXJDb2x1bW4sIEhlYWRlckNvbHVtblR5cGV9IGZyb20gJy4uL21vZGVscy9oZWFkZXItY29sdW1uJztcbmltcG9ydCB7Q2FzZU1ldGFGaWVsZH0gZnJvbSAnLi9jYXNlLW1lbnRhLWVudW0nO1xuaW1wb3J0IHtVc2VyUHJlZmVyZW5jZVNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci1wcmVmZXJlbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfREVGQVVMVF9IRUFERVJTfSBmcm9tICcuLi9tb2RlbHMvZGVmYXVsdC1oZWFkZXJzLXRva2VuJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7T3ZlcmZsb3dTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9vdmVyZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7Vmlld0lkU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlci9zZXJ2aWNlcy92aWV3LWlkLnNlcnZpY2UnO1xuaW1wb3J0IHtBbGxvd2VkTmV0c1NlcnZpY2V9IGZyb20gJy4uLy4uL2FsbG93ZWQtbmV0cy9zZXJ2aWNlcy9hbGxvd2VkLW5ldHMuc2VydmljZSc7XG5pbXBvcnQge0hlYWRlclNvcnRpbmdNb2RlfSBmcm9tICcuLi9tb2RlbHMvaGVhZGVyLXNvcnRpbmctbW9kZSc7XG5pbXBvcnQge05BRV9IRUFERVJfU09SVElOR19NT0RFfSBmcm9tICcuLi9tb2RlbHMvaGVhZGVyLXNvcnRpbmctbW9kZS1pbmplY3Rpb24tdG9rZW4nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXNlSGVhZGVyU2VydmljZSBleHRlbmRzIEFic3RyYWN0SGVhZGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJvdGVjdGVkIHN1YkFsbG93ZWROZXRzOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2FsbG93ZWROZXRzU2VydmljZTogQWxsb3dlZE5ldHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHZpZXdJZFNlcnZpY2U6IFZpZXdJZFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIG92ZXJmbG93U2VydmljZTogT3ZlcmZsb3dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFFX0RFRkFVTFRfSEVBREVSUykgbmFlRGVmYXVsdEhlYWRlcnM6IEFycmF5PHN0cmluZz4sXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQUVfSEVBREVSX1NPUlRJTkdfTU9ERSkgc29ydGluZ01vZGU6IEhlYWRlclNvcnRpbmdNb2RlID0gSGVhZGVyU29ydGluZ01vZGUuU0lOR0xFKSB7XG4gICAgICAgIHN1cGVyKEhlYWRlclR5cGUuQ0FTRSwgcHJlZmVyZW5jZXMsIGxvZ2dlciwgdmlld0lkU2VydmljZSwgb3ZlcmZsb3dTZXJ2aWNlLCBzb3J0aW5nTW9kZSk7XG4gICAgICAgIHRoaXMuc3ViQWxsb3dlZE5ldHMgPSBfYWxsb3dlZE5ldHNTZXJ2aWNlLmFsbG93ZWROZXRzJC5zdWJzY3JpYmUoYWxsb3dlZE5ldHMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRBbGxvd2VkTmV0cyhhbGxvd2VkTmV0cyk7XG4gICAgICAgICAgICBpZiAobmFlRGVmYXVsdEhlYWRlcnMgJiYgQXJyYXkuaXNBcnJheShuYWVEZWZhdWx0SGVhZGVycykgJiYgbmFlRGVmYXVsdEhlYWRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdERlZmF1bHRIZWFkZXJzID0gbmFlRGVmYXVsdEhlYWRlcnM7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplRGVmYXVsdEhlYWRlclN0YXRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZEhlYWRlcnNGcm9tUHJlZmVyZW5jZXMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRTb3J0c0Zyb21QcmVmZXJlbmNlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nLm9mZigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlTWV0YUhlYWRlcnMoKTogQXJyYXk8SGVhZGVyQ29sdW1uPiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXcgSGVhZGVyQ29sdW1uKEhlYWRlckNvbHVtblR5cGUuTUVUQSwgQ2FzZU1ldGFGaWVsZC5WSVNVQUxfSUQsICdoZWFkZXJzLmNhc2VNZXRhLnZpc3VhbElEJywgJ3RleHQnKSxcbiAgICAgICAgICAgIG5ldyBIZWFkZXJDb2x1bW4oSGVhZGVyQ29sdW1uVHlwZS5NRVRBLCBDYXNlTWV0YUZpZWxkLk1PTkdPX0lELCAnaGVhZGVycy5jYXNlTWV0YS5tb25nb0lEJywgJ3RleHQnLCBmYWxzZSksXG4gICAgICAgICAgICBuZXcgSGVhZGVyQ29sdW1uKEhlYWRlckNvbHVtblR5cGUuTUVUQSwgQ2FzZU1ldGFGaWVsZC5USVRMRSwgJ2hlYWRlcnMuY2FzZU1ldGEudGl0bGUnLCAndGV4dCcpLFxuICAgICAgICAgICAgbmV3IEhlYWRlckNvbHVtbihIZWFkZXJDb2x1bW5UeXBlLk1FVEEsIENhc2VNZXRhRmllbGQuQVVUSE9SLCAnaGVhZGVycy5jYXNlTWV0YS5hdXRob3InLCAndXNlcicpLFxuICAgICAgICAgICAgbmV3IEhlYWRlckNvbHVtbihIZWFkZXJDb2x1bW5UeXBlLk1FVEEsIENhc2VNZXRhRmllbGQuQ1JFQVRJT05fREFURSwgJ2hlYWRlcnMuY2FzZU1ldGEuY3JlYXRpb25EYXRlJywgJ2RhdGUnKSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5zdWJBbGxvd2VkTmV0cy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVDb2x1bW5Db3VudCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVIZWFkZXJDb2x1bW5Db3VudCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzYXZlU3RhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJmbG93U2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5vdmVyZmxvd1NlcnZpY2Uuc2F2ZVN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2F2ZU5ld1N0YXRlKCkge1xuICAgICAgICBpZiAodGhpcy5vdmVyZmxvd1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dTZXJ2aWNlLnNhdmVOZXdTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSGVhZGVyQ29sdW1uQ291bnQoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzdG9yZUxhc3RTdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmZsb3dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJmbG93U2VydmljZS5yZXN0b3JlTGFzdFN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=