UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

80 lines 13 kB
import { Injectable } from '@angular/core'; import { EventConstants } from '../model/event-constants'; import * as i0 from "@angular/core"; export class EventService { constructor() { } parseChangedFieldsFromOutcomeTree(outcome) { const changedFieldsMap = {}; if (!!outcome.outcomes && outcome.outcomes.length > 0) { return this.parseChangedFieldsFromOutcomeTreeRecursive(outcome.outcomes, changedFieldsMap); } else return changedFieldsMap; } parseChangedFieldsFromOutcomeTreeRecursive(outcomes, changedFieldsMap) { outcomes.forEach(childOutcome => { if (EventConstants.CHANGED_FIELDS in childOutcome && !!childOutcome.aCase && !!childOutcome.task) { const setDataOutcome = childOutcome; const outcomeChangedFields = childOutcome.changedFields.changedFields; const caseId = setDataOutcome.aCase.stringId; if (!Object.keys(changedFieldsMap)?.includes(caseId)) { changedFieldsMap[caseId] = {}; } const taskId = setDataOutcome.task.stringId; if (!Object.keys(changedFieldsMap[caseId])?.includes(taskId)) { changedFieldsMap[caseId][taskId] = { taskId }; } Object.keys(outcomeChangedFields).forEach(fieldId => { if (Object.keys(changedFieldsMap[caseId][taskId])?.includes(fieldId)) { Object.keys(outcomeChangedFields[fieldId]).forEach(attribute => { changedFieldsMap[caseId][taskId][fieldId][attribute] = outcomeChangedFields[fieldId][attribute]; }); } else { changedFieldsMap[caseId][taskId][fieldId] = setDataOutcome.changedFields.changedFields[fieldId]; } }); } if (!!childOutcome.outcomes && childOutcome.outcomes.length > 0) { this.parseChangedFieldsFromOutcomeTreeRecursive(childOutcome.outcomes, changedFieldsMap); } }); return changedFieldsMap; } parseFrontActionsFromOutcomeTree(outcome) { const frontActions = []; if (!!outcome.outcomes && outcome.outcomes.length > 0) { return this.parseFrontActionsFromOutcomeTreeRecursive(outcome.outcomes, frontActions); } else return frontActions; } parseFrontActionsFromOutcomeTreeRecursive(outcomes, frontActions) { outcomes.forEach(childOutcome => { if (EventConstants.FRONT_ACTIONS in childOutcome) { const childFrontActions = childOutcome.frontActions; if (!!childFrontActions) { frontActions.push(...childFrontActions); } } if (!!childOutcome.outcomes && childOutcome.outcomes.length > 0) { this.parseFrontActionsFromOutcomeTreeRecursive(childOutcome.outcomes, frontActions); } }); return frontActions; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZXZlbnQvc2VydmljZXMvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLeEQsTUFBTSxPQUFPLFlBQVk7SUFFckI7SUFDQSxDQUFDO0lBRU0saUNBQWlDLENBQUMsT0FBcUI7UUFDMUQsTUFBTSxnQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLDBDQUEwQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUM5Rjs7WUFBTSxPQUFPLGdCQUFnQixDQUFDO0lBQ25DLENBQUM7SUFFTywwQ0FBMEMsQ0FBQyxRQUE2QixFQUM3QixnQkFBa0M7UUFDakYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUM1QixJQUFJLGNBQWMsQ0FBQyxjQUFjLElBQUksWUFBWTttQkFDMUMsQ0FBQyxDQUFFLFlBQW9DLENBQUMsS0FBSzttQkFDN0MsQ0FBQyxDQUFFLFlBQW9DLENBQUMsSUFBSSxFQUFFO2dCQUNqRCxNQUFNLGNBQWMsR0FBd0IsWUFBbUMsQ0FBQztnQkFDaEYsTUFBTSxvQkFBb0IsR0FBbUIsWUFBb0MsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO2dCQUM5RyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLE1BQU0s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OzRHQUFaLFlBQVksY0FGVCxNQUFNOzs0RkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2ZW50T3V0Y29tZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS9ldmVudC1vdXRjb21lJztcbmltcG9ydCB7Q2hhbmdlZEZpZWxkcywgRnJvbnRBY3Rpb259IGZyb20gJy4uLy4uL2RhdGEtZmllbGRzL21vZGVscy9jaGFuZ2VkLWZpZWxkcyc7XG5pbXBvcnQge1NldERhdGFFdmVudE91dGNvbWV9IGZyb20gJy4uL21vZGVsL2V2ZW50LW91dGNvbWVzL2RhdGEtb3V0Y29tZXMvc2V0LWRhdGEtZXZlbnQtb3V0Y29tZSc7XG5pbXBvcnQge0NoYW5nZWRGaWVsZHNNYXB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFuZ2VkLWZpZWxkcy1tYXAnO1xuaW1wb3J0IHtFdmVudENvbnN0YW50c30gZnJvbSAnLi4vbW9kZWwvZXZlbnQtY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlQ2hhbmdlZEZpZWxkc0Zyb21PdXRjb21lVHJlZShvdXRjb21lOiBFdmVudE91dGNvbWUpOiBDaGFuZ2VkRmllbGRzTWFwIHtcbiAgICAgICAgY29uc3QgY2hhbmdlZEZpZWxkc01hcDogQ2hhbmdlZEZpZWxkc01hcCA9IHt9O1xuICAgICAgICBpZiAoISFvdXRjb21lLm91dGNvbWVzICYmIG91dGNvbWUub3V0Y29tZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VDaGFuZ2VkRmllbGRzRnJvbU91dGNvbWVUcmVlUmVjdXJzaXZlKG91dGNvbWUub3V0Y29tZXMsIGNoYW5nZWRGaWVsZHNNYXApO1xuICAgICAgICB9IGVsc2UgcmV0dXJuIGNoYW5nZWRGaWVsZHNNYXA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWVSZWN1cnNpdmUob3V0Y29tZXM6IEFycmF5PEV2ZW50T3V0Y29tZT4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZEZpZWxkc01hcDogQ2hhbmdlZEZpZWxkc01hcCk6IENoYW5nZWRGaWVsZHNNYXAge1xuICAgICAgICBvdXRjb21lcy5mb3JFYWNoKGNoaWxkT3V0Y29tZSA9PiB7XG4gICAgICAgICAgICBpZiAoRXZlbnRDb25zdGFudHMuQ0hBTkdFRF9GSUVMRFMgaW4gY2hpbGRPdXRjb21lXG4gICAgICAgICAgICAgICAgJiYgISEoY2hpbGRPdXRjb21lIGFzIFNldERhdGFFdmVudE91dGNvbWUpLmFDYXNlXG4gICAgICAgICAgICAgICAgJiYgISEoY2hpbGRPdXRjb21lIGFzIFNldERhdGFFdmVudE91dGNvbWUpLnRhc2spIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXREYXRhT3V0Y29tZTogU2V0RGF0YUV2ZW50T3V0Y29tZSA9IGNoaWxkT3V0Y29tZSBhcyBTZXREYXRhRXZlbnRPdXRjb21lO1xuICAgICAgICAgICAgICAgIGNvbnN0IG91dGNvbWVDaGFuZ2VkRmllbGRzOiBDaGFuZ2VkRmllbGRzID0gKGNoaWxkT3V0Y29tZSBhcyBTZXREYXRhRXZlbnRPdXRjb21lKS5jaGFuZ2VkRmllbGRzLmNoYW5nZWRGaWVsZHM7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FzZUlkID0gc2V0RGF0YU91dGNvbWUuYUNhc2Uuc3RyaW5nSWQ7XG4gICAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhjaGFuZ2VkRmllbGRzTWFwKT8uaW5jbHVkZXMoY2FzZUlkKSkge1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkRmllbGRzTWFwW2Nhc2VJZF0gPSB7fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdGFza0lkID0gc2V0RGF0YU91dGNvbWUudGFzay5zdHJpbmdJZDtcbiAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKGNoYW5nZWRGaWVsZHNNYXBbY2FzZUlkXSk/LmluY2x1ZGVzKHRhc2tJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlZEZpZWxkc01hcFtjYXNlSWRdW3Rhc2tJZF0gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXNrSWRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob3V0Y29tZUNoYW5nZWRGaWVsZHMpLmZvckVhY2goZmllbGRJZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhjaGFuZ2VkRmllbGRzTWFwW2Nhc2VJZF1bdGFza0lkXSk/LmluY2x1ZGVzKGZpZWxkSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvdXRjb21lQ2hhbmdlZEZpZWxkc1tmaWVsZElkXSkuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWRGaWVsZHNNYXBbY2FzZUlkXVt0YXNrSWRdW2ZpZWxkSWRdW2F0dHJpYnV0ZV0gPSBvdXRjb21lQ2hhbmdlZEZpZWxkc1tmaWVsZElkXVthdHRyaWJ1dGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkRmllbGRzTWFwW2Nhc2VJZF1bdGFza0lkXVtmaWVsZElkXSA9IHNldERhdGFPdXRjb21lLmNoYW5nZWRGaWVsZHMuY2hhbmdlZEZpZWxkc1tmaWVsZElkXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCEhY2hpbGRPdXRjb21lLm91dGNvbWVzICYmIGNoaWxkT3V0Y29tZS5vdXRjb21lcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJzZUNoYW5nZWRGaWVsZHNGcm9tT3V0Y29tZVRyZWVSZWN1cnNpdmUoY2hpbGRPdXRjb21lLm91dGNvbWVzLCBjaGFuZ2VkRmllbGRzTWFwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjaGFuZ2VkRmllbGRzTWFwO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZUZyb250QWN0aW9uc0Zyb21PdXRjb21lVHJlZShvdXRjb21lOiBFdmVudE91dGNvbWUpOiBBcnJheTxGcm9udEFjdGlvbj4ge1xuICAgICAgICBjb25zdCBmcm9udEFjdGlvbnM6IEFycmF5PEZyb250QWN0aW9uPiA9IFtdO1xuICAgICAgICBpZiAoISFvdXRjb21lLm91dGNvbWVzICYmIG91dGNvbWUub3V0Y29tZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VGcm9udEFjdGlvbnNGcm9tT3V0Y29tZVRyZWVSZWN1cnNpdmUob3V0Y29tZS5vdXRjb21lcywgZnJvbnRBY3Rpb25zKTtcbiAgICAgICAgfSBlbHNlIHJldHVybiBmcm9udEFjdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUZyb250QWN0aW9uc0Zyb21PdXRjb21lVHJlZVJlY3Vyc2l2ZShvdXRjb21lczogQXJyYXk8RXZlbnRPdXRjb21lPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb250QWN0aW9uczogQXJyYXk8RnJvbnRBY3Rpb24+KTogQXJyYXk8RnJvbnRBY3Rpb24+IHtcbiAgICAgICAgb3V0Y29tZXMuZm9yRWFjaChjaGlsZE91dGNvbWUgPT4ge1xuICAgICAgICAgICAgaWYgKEV2ZW50Q29uc3RhbnRzLkZST05UX0FDVElPTlMgaW4gY2hpbGRPdXRjb21lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRGcm9udEFjdGlvbnM6IEFycmF5PEZyb250QWN0aW9uPiA9IChjaGlsZE91dGNvbWUgYXMgRXZlbnRPdXRjb21lKS5mcm9udEFjdGlvbnM7XG5cbiAgICAgICAgICAgICAgICBpZiAoISFjaGlsZEZyb250QWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBmcm9udEFjdGlvbnMucHVzaCguLi5jaGlsZEZyb250QWN0aW9ucylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoISFjaGlsZE91dGNvbWUub3V0Y29tZXMgJiYgY2hpbGRPdXRjb21lLm91dGNvbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnNlRnJvbnRBY3Rpb25zRnJvbU91dGNvbWVUcmVlUmVjdXJzaXZlKGNoaWxkT3V0Y29tZS5vdXRjb21lcywgZnJvbnRBY3Rpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmcm9udEFjdGlvbnM7XG4gICAgfVxuXG59XG4iXX0=