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