UNPKG

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
/** * @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=