acr-assist-simulator-module
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.7.4.
120 lines (119 loc) • 16.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { DataElementCreationBaseService } from './data-element-creation-base-service';
import { ConditionsCreationService } from './conditions-creation.service';
import { ComputedValueCreationService } from './computed-value-creation.service';
import { DiagramService } from './diagram.service';
import { NotRelevantDataElements } from '../../../core/models/notrelevantdataelements.model';
import { ConditionalProperty } from '../../../core/elements/models/conditionalproperty.model';
import { DurationDataElement } from '../../../core/elements/models/duration-data-element.model';
var DurationDataElementCreationService = /** @class */ (function (_super) {
tslib_1.__extends(DurationDataElementCreationService, _super);
function DurationDataElementCreationService(diagramService, conditionsCreationService, computedValueCreationService) {
var _this = _super.call(this, diagramService) || this;
_this.conditionsCreationService = conditionsCreationService;
_this.computedValueCreationService = computedValueCreationService;
_this.elementType = 'DurationDataElement';
return _this;
}
/**
* @param {?} data
* @return {?}
*/
DurationDataElementCreationService.prototype.createElement = /**
* @param {?} data
* @return {?}
*/
function (data) {
var /** @type {?} */ dataElement = new DurationDataElement();
_super.prototype.populateBasicData.call(this, data, dataElement);
dataElement.MinimumDay = data.MinimumDay;
dataElement.MaximumDay = data.MaximumDay;
dataElement.MinimumHours = data.MinimumHours;
dataElement.MaximumHours = data.MaximumHours;
dataElement.MinimumMinutes = data.MinimumMinutes;
dataElement.MaxmimumMinutes = data.MaxmimumMinutes;
dataElement.MinimumDayOverrider = data.MinimumDay;
dataElement.MaximumDayOverrider = data.MaximumDay;
dataElement.MinimumHoursOverrider = data.MinimumHours;
dataElement.MaximumHoursOverrider = data.MaximumHours;
dataElement.MinimumMinutesOverrider = data.MinimumMinutes;
dataElement.MaxmimumMinutesOverrider = data.MaxmimumMinutes;
var /** @type {?} */ ConditionalProperties = data.ConditionalProperties;
if (ConditionalProperties !== undefined) {
var /** @type {?} */ notRelevantDataElements = new NotRelevantDataElements();
var /** @type {?} */ dataElementRefs = data.ConditionalProperties;
if (data.ConditionalProperties !== undefined) {
dataElement.conditionalProperties = new Array();
if (data.ConditionalProperties.ConditionalProperty instanceof Array) {
try {
for (var _a = tslib_1.__values(data.ConditionalProperties.ConditionalProperty), _b = _a.next(); !_b.done; _b = _a.next()) {
var conditionalProperty = _b.value;
dataElement.conditionalProperties.push(this.GetConditionalProperties(conditionalProperty));
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
}
finally { if (e_1) throw e_1.error; }
}
}
else {
dataElement.conditionalProperties.push(this.GetConditionalProperties(data.ConditionalProperties.ConditionalProperty));
}
}
}
return dataElement;
var e_1, _c;
};
/**
* @param {?} conditionalProperty
* @return {?}
*/
DurationDataElementCreationService.prototype.GetConditionalProperties = /**
* @param {?} conditionalProperty
* @return {?}
*/
function (conditionalProperty) {
var /** @type {?} */ _conditionalProperty = new ConditionalProperty();
_conditionalProperty.condition = this.conditionsCreationService.returnCondition(conditionalProperty);
// var test = this.computedValueCreationService.createComputedValue(conditionalProperty);
if (this.conditionsCreationService.isComposite(conditionalProperty)) {
_conditionalProperty.compositeCondition = this.conditionsCreationService.returnCompositeCondition(conditionalProperty);
}
_conditionalProperty.isRelevant = conditionalProperty.IsRelevant;
_conditionalProperty.isRequired = conditionalProperty.IsRequired;
_conditionalProperty.DisplaySequence = conditionalProperty.DisplaySequence;
_conditionalProperty.MinimumDay = conditionalProperty.MinimumDay;
_conditionalProperty.MaximumDay = conditionalProperty.MaximumDay;
_conditionalProperty.MinimumHours = conditionalProperty.MinimumHours;
_conditionalProperty.MaximumHours = conditionalProperty.MaximumHours;
_conditionalProperty.MaxmimumMinutes = conditionalProperty.MaximumHours;
_conditionalProperty.MinimumMinutes = conditionalProperty.MinimumHours;
return _conditionalProperty;
};
DurationDataElementCreationService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
DurationDataElementCreationService.ctorParameters = function () { return [
{ type: DiagramService },
{ type: ConditionsCreationService },
{ type: ComputedValueCreationService }
]; };
return DurationDataElementCreationService;
}(DataElementCreationBaseService));
export { DurationDataElementCreationService };
function DurationDataElementCreationService_tsickle_Closure_declarations() {
/** @type {?} */
DurationDataElementCreationService.prototype.conditionsCreationService;
/** @type {?} */
DurationDataElementCreationService.prototype.computedValueCreationService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZGF0YS1lbGVtZW50LWNyZWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hY3ItYXNzaXN0LXNpbXVsYXRvci1tb2R1bGUvIiwic291cmNlcyI6WyJzcmMvYXBwL21vZHVsZXMvYWNyLWFzc2lzdC1zaW11bGF0b3Ivc2hhcmVkL3NlcnZpY2VzL2R1cmF0aW9uLWRhdGEtZWxlbWVudC1jcmVhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkRBQTJELENBQUM7O0lBR3hDLDhEQUE4QjtJQUVsRiw0Q0FBWSxjQUE4QixFQUM5QiwyQkFDQTtRQUZaLFlBR0ksa0JBQU0sY0FBYyxDQUFDLFNBRXhCO1FBSlcsK0JBQXlCLEdBQXpCLHlCQUF5QjtRQUN6QixrQ0FBNEIsR0FBNUIsNEJBQTRCO1FBRXBDLEtBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUM7O0tBQzVDOzs7OztJQUVELDBEQUFhOzs7O0lBQWIsVUFBYyxJQUFTO1FBQ25CLHFCQUFNLFdBQVcsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDOUMsaUJBQU0saUJBQWlCLFlBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFD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RSxvQkFBb0IsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDO1FBQ2pFLG9CQUFvQixDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFDakUsb0JBQW9CLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQztRQUNyRSxvQkFBb0IsQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDO1FBQ3JFLG9CQUFvQixDQUFDLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUM7UUFDeEUsb0JBQW9CLENBQUMsY0FBYyxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQztRQUN2RSxNQUFNLENBQUMsb0JBQW9CLENBQUM7OztnQkF0RW5DLFVBQVU7Ozs7Z0JBUEYsY0FBYztnQkFGZCx5QkFBeUI7Z0JBQ3pCLDRCQUE0Qjs7NkNBSHJDO0VBWXdELDhCQUE4QjtTQUF6RSxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFFbGVtZW50Q3JlYXRpb25CYXNlU2VydmljZSB9IGZyb20gJy4vZGF0YS1lbGVtZW50LWNyZWF0aW9uLWJhc2Utc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmRpdGlvbnNDcmVhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmRpdGlvbnMtY3JlYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXB1dGVkVmFsdWVDcmVhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbXB1dGVkLXZhbHVlLWNyZWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFncmFtU2VydmljZSB9IGZyb20gJy4vZGlhZ3JhbS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZWxlbWVudHMvbW9kZWxzL2Jhc2UtZGF0YS1lbGVtZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgTm90UmVsZXZhbnREYXRhRWxlbWVudHMgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscy9ub3RyZWxldmFudGRhdGFlbGVtZW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IENvbmRpdGlvbmFsUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VsZW1lbnRzL21vZGVscy9jb25kaXRpb25hbHByb3BlcnR5Lm1vZGVsJztcclxuaW1wb3J0IHsgRHVyYXRpb25EYXRhRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZWxlbWVudHMvbW9kZWxzL2R1cmF0aW9uLWRhdGEtZWxlbWVudC5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEdXJhdGlvbkRhdGFFbGVtZW50Q3JlYXRpb25TZXJ2aWNlIGV4dGVuZHMgRGF0YUVsZW1lbnRDcmVhdGlvbkJhc2VTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkaWFncmFtU2VydmljZTogRGlhZ3JhbVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25kaXRpb25zQ3JlYXRpb25TZXJ2aWNlOiBDb25kaXRpb25zQ3JlYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29tcHV0ZWRWYWx1ZUNyZWF0aW9uU2VydmljZTogQ29tcHV0ZWRWYWx1ZUNyZWF0aW9uU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKGRpYWdyYW1TZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnRUeXBlID0gJ0R1cmF0aW9uRGF0YUVsZW1lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUVsZW1lbnQoZGF0YTogYW55KTogQmFzZURhdGFFbGVtZW50IHtcclxuICAgICAgICBjb25zdCBkYXRhRWxlbWVudCA9IG5ldyBEdXJhdGlvbkRhdGFFbGVtZW50KCk7XHJcbiAgICAgICAgc3VwZXIucG9wdWxhdGVCYXNpY0RhdGEoZGF0YSwgZGF0YUVsZW1lbnQpO1xyXG5cclxuICAgICAgICBkYXRhRWxlbWVudC5NaW5pbXVtRGF5ID0gZGF0YS5NaW5pbXVtRGF5O1xyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1heGltdW1EYXkgPSBkYXRhLk1heGltdW1EYXk7XHJcblxyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1pbmltdW1Ib3VycyA9IGRhdGEuTWluaW11bUhvdXJzO1xyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1heGltdW1Ib3VycyA9IGRhdGEuTWF4aW11bUhvdXJzO1xyXG5cclxuICAgICAgICBkYXRhRWxlbWVudC5NaW5pbXVtTWludXRlcyA9IGRhdGEuTWluaW11bU1pbnV0ZXM7XHJcbiAgICAgICAgZGF0YUVsZW1lbnQuTWF4bWltdW1NaW51dGVzID0gZGF0YS5NYXhtaW11bU1pbnV0ZXM7XHJcblxyXG5cclxuICAgICAgICBkYXRhRWxlbWVudC5NaW5pbXVtRGF5T3ZlcnJpZGVyID0gZGF0YS5NaW5pbXVtRGF5O1xyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1heGltdW1EYXlPdmVycmlkZXIgPSBkYXRhLk1heGltdW1EYXk7XHJcblxyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1pbmltdW1Ib3Vyc092ZXJyaWRlciA9IGRhdGEuTWluaW11bUhvdXJzO1xyXG4gICAgICAgIGRhdGFFbGVtZW50Lk1heGltdW1Ib3Vyc092ZXJyaWRlciA9IGRhdGEuTWF4aW11bUhvdXJzO1xyXG5cclxuICAgICAgICBkYXRhRWxlbWVudC5NaW5pbXVtTWludXRlc092ZXJyaWRlciA9IGRhdGEuTWluaW11bU1pbnV0ZXM7XHJcbiAgICAgICAgZGF0YUVsZW1lbnQuTWF4bWltdW1NaW51dGVzT3ZlcnJpZGVyID0gZGF0YS5NYXhtaW11bU1pbnV0ZXM7XHJcblxyXG4gICAgICAgIGNvbnN0IENvbmRpdGlvbmFsUHJvcGVydGllcyA9IGRhdGEuQ29uZGl0aW9uYWxQcm9wZXJ0aWVzO1xyXG4gICAgICAgIGlmIChDb25kaXRpb25hbFByb3BlcnRpZXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgY29uc3Qgbm90UmVsZXZhbnREYXRhRWxlbWVudHMgPSBuZXcgTm90UmVsZXZhbnREYXRhRWxlbWVudHMoKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGFFbGVtZW50UmVmcyA9IGRhdGEuQ29uZGl0aW9uYWxQcm9wZXJ0aWVzO1xyXG4gICAgICAgICAgaWYgKGRhdGEuQ29uZGl0aW9uYWxQcm9wZXJ0aWVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgZGF0YUVsZW1lbnQuY29uZGl0aW9uYWxQcm9wZXJ0aWVzID0gbmV3IEFycmF5PENvbmRpdGlvbmFsUHJvcGVydHk+KCk7XHJcbiAgICAgICAgICAgIGlmIChkYXRhLkNvbmRpdGlvbmFsUHJvcGVydGllcy5Db25kaXRpb25hbFByb3BlcnR5IGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbmFsUHJvcGVydHkgb2YgZGF0YS5Db25kaXRpb25hbFByb3BlcnRpZXMuQ29uZGl0aW9uYWxQcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICAgICAgZGF0YUVsZW1lbnQuY29uZGl0aW9uYWxQcm9wZXJ0aWVzLnB1c2godGhpcy5HZXRDb25kaXRpb25hbFByb3BlcnRpZXMoY29uZGl0aW9uYWxQcm9wZXJ0eSkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBkYXRhRWxlbWVudC5jb25kaXRpb25hbFByb3BlcnRpZXMucHVzaCh0aGlzLkdldENvbmRpdGlvbmFsUHJvcGVydGllcyhkYXRhLkNvbmRpdGlvbmFsUHJvcGVydGllcy5Db25kaXRpb25hbFByb3BlcnR5KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIEdldENvbmRpdGlvbmFsUHJvcGVydGllcyhjb25kaXRpb25hbFByb3BlcnR5KTogQ29uZGl0aW9uYWxQcm9wZXJ0eSB7XHJcbiAgICAgICAgY29uc3QgX2NvbmRpdGlvbmFsUHJvcGVydHkgPSBuZXcgQ29uZGl0aW9uYWxQcm9wZXJ0eSgpO1xyXG4gICAgICAgIF9jb25kaXRpb25hbFByb3BlcnR5LmNvbmRpdGlvbiA9IHRoaXMuY29uZGl0aW9uc0NyZWF0aW9uU2VydmljZS5yZXR1cm5Db25kaXRpb24oY29uZGl0aW9uYWxQcm9wZXJ0eSk7XHJcbiAgICAgICAgLy8gdmFyIHRlc3QgPSB0aGlzLmNvbXB1dGVkVmFsdWVDcmVhdGlvblNlcnZpY2UuY3JlYXRlQ29tcHV0ZWRWYWx1ZShjb25kaXRpb25hbFByb3BlcnR5KTtcclxuICAgICAgICBpZiAodGhpcy5jb25kaXRpb25zQ3JlYXRpb25TZXJ2aWNlLmlzQ29tcG9zaXRlKGNvbmRpdGlvbmFsUHJvcGVydHkpKSB7XHJcbiAgICAgICAgICBfY29uZGl0aW9uYWxQcm9wZXJ0eS5jb21wb3NpdGVDb25kaXRpb24gPSB0aGlzLmNvbmRpdGlvbnNDcmVhdGlvblNlcnZpY2UucmV0dXJuQ29tcG9zaXRlQ29uZGl0aW9uKGNvbmRpdGlvbmFsUHJvcGVydHkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX2NvbmRpdGlvbmFsUHJvcGVydHkuaXNSZWxldmFudCA9IGNvbmRpdGlvbmFsUHJvcGVydHkuSXNSZWxldmFudDtcclxuICAgICAgICBfY29uZGl0aW9uYWxQcm9wZXJ0eS5pc1JlcXVpcmVkID0gY29uZGl0aW9uYWxQcm9wZXJ0eS5Jc1JlcXVpcmVkO1xyXG4gICAgICAgIF9jb25kaXRpb25hbFByb3BlcnR5LkRpc3BsYXlTZXF1ZW5jZSA9IGNvbmRpdGlvbmFsUHJvcGVydHkuRGlzcGxheVNlcXVlbmNlO1xyXG5cclxuICAgICAgICBfY29uZGl0aW9uYWxQcm9wZXJ0eS5NaW5pbXVtRGF5ID0gY29uZGl0aW9uYWxQcm9wZXJ0eS5NaW5pbXVtRGF5O1xyXG4gICAgICAgIF9jb25kaXRpb25hbFByb3BlcnR5Lk1heGltdW1EYXkgPSBjb25kaXRpb25hbFByb3BlcnR5Lk1heGltdW1EYXk7XHJcbiAgICAgICAgX2NvbmRpdGlvbmFsUHJvcGVydHkuTWluaW11bUhvdXJzID0gY29uZGl0aW9uYWxQcm9wZXJ0eS5NaW5pbXVtSG91cnM7XHJcbiAgICAgICAgX2NvbmRpdGlvbmFsUHJvcGVydHkuTWF4aW11bUhvdXJzID0gY29uZGl0aW9uYWxQcm9wZXJ0eS5NYXhpbXVtSG91cnM7XHJcbiAgICAgICAgX2NvbmRpdGlvbmFsUHJvcGVydHkuTWF4bWltdW1NaW51dGVzID0gY29uZGl0aW9uYWxQcm9wZXJ0eS5NYXhpbXVtSG91cnM7XHJcbiAgICAgICAgX2NvbmRpdGlvbmFsUHJvcGVydHkuTWluaW11bU1pbnV0ZXMgPSBjb25kaXRpb25hbFByb3BlcnR5Lk1pbmltdW1Ib3VycztcclxuICAgICAgICByZXR1cm4gX2NvbmRpdGlvbmFsUHJvcGVydHk7XHJcbiAgICAgIH1cclxufVxyXG4iXX0=