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