{"version":3,"sources":["./src/app/app.component.html","./src/app/calculations/calculation-clone/calculation-clone.component.html","./src/app/calculations/calculations-create/calculations-create-modal/calculations-create-modal.component.html","./src/app/calculations/calculations-create/calculations-create.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-output/icing-model-2-0-10-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-output/icing-model-2-0-12-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-output/icing-model-2-0-5-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-output/icing-model-2-0-6-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-input/icing-model-2-0-7-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-output/icing-model-2-0-7-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-output/icing-model-2-0-8-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-output/icing-model-2-0-9-output.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-input/icing-model-2-0-91-input.component.html","./src/app/calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-output/icing-model-2-0-91-output.component.html","./src/app/calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component.html","./src/app/calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-output/icing-model-3-0-0-output.component.html","./src/app/calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-input/icing-model-3-0-1-input.component.html","./src/app/calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-output/icing-model-3-0-1-output.component.html","./src/app/calculations/calculations-create/models/icing-model/icing-model-input/icing-model-input.component.html","./src/app/calculations/calculations-create/models/icing-model/icing-model-output/icing-model-output.component.html","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-input/power-curve-input.component.html","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-output/power-curve-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-output/serial-defect-1-0-2-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-output/serial-defect-1-0-3-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-output/serial-defect-1-0-4-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-output/serial-defect-1-0-5-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-output/serial-defect-1-0-6-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-output/serial-defect-1-0-7-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-input/serial-defect-1-0-71-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-output/serial-defect-1-0-71-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-output/serial-defect-1-0-72-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-output/serial-defect-1-1-0-output.component.html","./src/app/calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-input/serial-defect-2-0-0-input.component.html","./src/app/calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-output/serial-defect-2-0-0-output.component.html","./src/app/calculations/calculations-create/models/serial-defect/serial-defect-input/serial-defect-input.component.html","./src/app/calculations/calculations-create/models/serial-defect/serial-defect-output/serial-defect-output.component.html","./src/app/calculations/calculations-create/models/shared/adjusted-warranty-provisions/adjusted-warranty-provisions.component.html","./src/app/calculations/calculations-create/models/shared/calculation-name/calculation-name.component.html","./src/app/calculations/calculations-create/models/shared/matrix-components/power-curve-matrix/power-curve-matrix.component.html","./src/app/calculations/calculations-create/models/shared/model-action-buttons-panel/model-action-buttons-panel.component.html","./src/app/calculations/calculations-create/models/shared/save-calculation-form/save-calculation-form.component.html","./src/app/calculations/calculations-details/calculations-details.component.html","./src/app/calculations/calculations-list/calculations-list.component.html","./src/app/documentation/documentation.component.html","./src/app/no-access/no-access.component.html","./src/app/shared/content-group/content-group.component.html","./src/app/shared/context-bar/context-bar.component.html","./src/app/shared/icing-chart/icing-chart.component.html","./src/app/shared/icing-output/icing-output.component.html","./src/app/shared/icing-table/icing-table.component.html","./src/app/shared/input-unit/input-unit.component.html","./src/app/shared/label/label.component.html","./src/app/shared/risk-matrix/risk-matrix.component.html","./src/app/shared/tooltip/tooltip.component.html","./src/app/user-notification/user-notification.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.less","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/calculations/calculation-clone/calculation-clone.component.less","./src/app/calculations/calculation-clone/calculation-clone.component.ts","./src/app/calculations/calculations-create/calculations-create-modal/calculations-create-modal.component.less","./src/app/calculations/calculations-create/calculations-create-modal/calculations-create-modal.component.ts","./src/app/calculations/calculations-create/calculations-create-modal/calculations-create-modal.item.ts","./src/app/calculations/calculations-create/calculations-create-modal/calculations-create-modal.service.ts","./src/app/calculations/calculations-create/calculations-create.component.less","./src/app/calculations/calculations-create/calculations-create.component.ts","./src/app/calculations/calculations-create/calculations-model-communication.service.ts","./src/app/calculations/calculations-create/models/ModelType.ts","./src/app/calculations/calculations-create/models/calculation-model-input-base.ts","./src/app/calculations/calculations-create/models/calculation-model-output-base.ts","./src/app/calculations/calculations-create/models/calculation-models-mapper.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-output/icing-model-2-0-10-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-output/icing-model-2-0-12-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-output/icing-model-2-0-5-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-output/icing-model-2-0-6-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-input/icing-model-2-0-7-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-input/icing-model-2-0-7-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-output/icing-model-2-0-7-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-output/icing-model-2-0-8-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-output/icing-model-2-0-9-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-input/icing-model-2-0-91-input.component.less","./src/app/calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-input/icing-model-2-0-91-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-output/icing-model-2-0-91-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component.less","./src/app/calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-output/icing-model-3-0-0-output.component.ts","./src/app/calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-input/icing-model-3-0-1-input.component.less","./src/app/calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-input/icing-model-3-0-1-input.component.ts","./src/app/calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-output/icing-model-3-0-1-output.component.ts","./src/app/calculations/calculations-create/models/icing-model/icing-model-input/icing-model-input.component.less","./src/app/calculations/calculations-create/models/icing-model/icing-model-input/icing-model-input.component.ts","./src/app/calculations/calculations-create/models/icing-model/icing-model-output/icing-model-output.component.ts","./src/app/calculations/calculations-create/models/model-property-names/icing.model-property-names.ts","./src/app/calculations/calculations-create/models/model-property-names/power-curve.model-property-names.ts","./src/app/calculations/calculations-create/models/model-property-names/serial-defect.model-property-names.ts","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-1-0/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-2-0/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-1/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-0-3-3/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-5/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-2-2-6/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-3-0-0/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-input/power-curve-input.component.less","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-input/power-curve-input.component.ts","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-output/power-curve-output.component.ts","./src/app/calculations/calculations-create/models/power-curve-4-0-0/power-curve-summary-writer.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-output/serial-defect-1-0-2-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-output/serial-defect-1-0-3-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-output/serial-defect-1-0-4-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-output/serial-defect-1-0-5-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-output/serial-defect-1-0-6-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-output/serial-defect-1-0-7-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-input/serial-defect-1-0-71-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-input/serial-defect-1-0-71-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-output/serial-defect-1-0-71-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-output/serial-defect-1-0-72-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-output/serial-defect-1-1-0-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-input/serial-defect-2-0-0-input.component.less","./src/app/calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-input/serial-defect-2-0-0-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-output/serial-defect-2-0-0-output.component.ts","./src/app/calculations/calculations-create/models/serial-defect/serial-defect-input/serial-defect-input.component.less","./src/app/calculations/calculations-create/models/serial-defect/serial-defect-input/serial-defect-input.component.ts","./src/app/calculations/calculations-create/models/serial-defect/serial-defect-output/serial-defect-output.component.ts","./src/app/calculations/calculations-create/models/shared/adjusted-warranty-provisions/adjusted-warranty-provisions.component.less","./src/app/calculations/calculations-create/models/shared/adjusted-warranty-provisions/adjusted-warranty-provisions.component.ts","./src/app/calculations/calculations-create/models/shared/calculation-name/calculation-name.component.less","./src/app/calculations/calculations-create/models/shared/calculation-name/calculation-name.component.ts","./src/app/calculations/calculations-create/models/shared/matrix-components/power-curve-matrix/power-curve-matrix.component.less","./src/app/calculations/calculations-create/models/shared/matrix-components/power-curve-matrix/power-curve-matrix.component.ts","./src/app/calculations/calculations-create/models/shared/model-action-buttons-panel/model-action-buttons-panel.component.less","./src/app/calculations/calculations-create/models/shared/model-action-buttons-panel/model-action-buttons-panel.component.ts","./src/app/calculations/calculations-create/models/shared/save-calculation-form/save-calculation-form.component.less","./src/app/calculations/calculations-create/models/shared/save-calculation-form/save-calculation-form.component.ts","./src/app/calculations/calculations-details/calculations-details.component.less","./src/app/calculations/calculations-details/calculations-details.component.ts","./src/app/calculations/calculations-list/calculations-list.component.less","./src/app/calculations/calculations-list/calculations-list.component.ts","./src/app/correlation-id-interceptor.ts","./src/app/directives/in-view.directive.ts","./src/app/documentation/documentation.component.less","./src/app/documentation/documentation.component.ts","./src/app/helpers/component-helper.ts","./src/app/helpers/local-storage-helper.ts","./src/app/helpers/status-mapper.ts","./src/app/http-error-interceptor.ts","./src/app/no-access/no-access.component.less","./src/app/no-access/no-access.component.ts","./src/app/repositories/calculations-respository.service.ts","./src/app/repositories/documentation-repository.service.ts","./src/app/repositories/opportunity-repository.service.ts","./src/app/services/base-data.service.ts","./src/app/services/calculations.service.ts","./src/app/services/documentation.service.ts","./src/app/services/environment.service.ts","./src/app/services/fake-data.service.ts","./src/app/services/loader.service.ts","./src/app/services/modal.service.ts","./src/app/services/navigation.service.ts","./src/app/services/opportunity.service.ts","./src/app/services/state.service.ts","./src/app/services/user.service.ts","./src/app/shared/content-group/content-group.component.less","./src/app/shared/content-group/content-group.component.ts","./src/app/shared/context-bar/context-bar.component.less","./src/app/shared/context-bar/context-bar.component.ts","./src/app/shared/icing-chart/icing-chart.component.less","./src/app/shared/icing-chart/icing-chart.component.ts","./src/app/shared/icing-output/icing-output.component.less","./src/app/shared/icing-output/icing-output.component.ts","./src/app/shared/icing-table/icing-table.component.less","./src/app/shared/icing-table/icing-table.component.ts","./src/app/shared/input-unit/input-unit.component.less","./src/app/shared/input-unit/input-unit.component.ts","./src/app/shared/label/label.component.less","./src/app/shared/label/label.component.ts","./src/app/shared/pipes.ts","./src/app/shared/risk-matrix/risk-matrix.component.less","./src/app/shared/risk-matrix/risk-matrix.component.ts","./src/app/shared/shared.components.module.ts","./src/app/shared/tooltip/tooltip.component.less","./src/app/shared/tooltip/tooltip.component.ts","./src/app/typings.ts","./src/app/user-notification/user-notification.component.less","./src/app/user-notification/user-notification.component.ts","./src/app/user-notification/user-notification.models.ts","./src/app/user-notification/user-notification.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAA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E,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,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AAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,I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AI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG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AAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,G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EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;wBACvE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UA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,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;wBAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,C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","file":"main.dc8e2b1417d8a8240be2.js","sourcesContent":["export default \"
\\n\\n \\n\\n \\n\\n\\n You have unsaved data. Are you sure?
\\n \\n\";","export default \"
\\n \\n\";","export default \"\\n\\n\\n {{ error }}
\\n Warranty model
\\n \\n Opportunity ID
\\n \\n Opportunity name
\\n \\n
\\n
Not authorized to use this opportunity
\\n
Opportunity not found
\\n
{{ opportunity.name }}
\\n
\\n\\n \\n\";","export default \"{{ error }}
\\n \\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n\";","export default \"\\n \\n\\n\\n
\\n Calculation Input \\n
\\n
\\n
\\n \\n\\n \\n
\\n\\n
\\n Calculation Output \\n
\\n
\\n
\\n\";","export default \"\\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n \\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.P_avg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.sig_P | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.final_warranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.prob_of_test | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.risk_ld * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.tcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.gross_cost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_ci }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_baseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_cost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_risk }} %\\n
\\n
-
\\n
\\n
\\n \\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n \\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.P_avg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.sig_P | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.final_warranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.prob_of_test | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.risk_ld * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.tcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.gross_cost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_ci }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_baseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_cost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_risk }} %\\n
\\n
-
\\n
\\n
\\n \\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.nominated_wtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.rec_nominated_wtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.P_avg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.sig_P | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.final_warranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.prob_of_test * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.risk_2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.risk_ld * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.tcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.gross_cost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_ci }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cost_baseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_cost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.cluster_risk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.nominatedWtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.recNominatedWtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceAvg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceSigma | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.finalWarranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.probOfTesting * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.riskOfLD * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.requiresTcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.grossCost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costCi }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costBaseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterCost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterRisk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n
\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.nominatedWtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.recNominatedWtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceAvg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceSigma | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.finalWarranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.probOfTesting * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.riskOfLD * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.requiresTcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.grossCost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costCi }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costBaseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterCost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterRisk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n
\\n \\n \\n
\\n\";","export default \"\\n \\n\\n \\n\";","export default \"\\n
\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.nominatedWtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.recNominatedWtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceAvg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceSigma | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.finalWarranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.probOfTesting * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.riskOfLD * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.requiresTcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.grossCost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costCi }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costBaseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterCost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterRisk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n
\\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n
\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.nominatedWtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.recNominatedWtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceAvg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceSigma | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.finalWarranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.probOfTesting * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.riskOfLD * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.requiresTcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.grossCost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costCi }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costBaseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterCost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterRisk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n
\\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\";","export default \"\\n
\\n \\n
\\n
Nominated WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.nominatedWtg }}
\\n
\\n
\\n
Recommended WTGs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.recNominatedWtg }}
\\n
\\n
\\n
Final Performance Average
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceAvg | number: '1.2-2' }} %
\\n
\\n
\\n
Final Performance Std.
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.performanceSigma | number: '1.2-2' }} %
\\n
\\n
\\n
Final Warranty Level
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.finalWarranty | number: '1.2-2' }} %
\\n
\\n
\\n
Probability of Testing
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.probOfTesting * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 1st Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk1 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of Failing 2nd Test
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.risk2 * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
Risk of paying LDs
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.riskOfLD * 100 | number: '1.2-2' }} %
\\n
\\n
\\n
TCR Required
\\n
\\n
{{ this.calculationOutput.result.result.modelOutput.requiresTcr ? 'Yes' : 'No' }}
\\n
\\n
\\n
Gross Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.grossCost }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
90% Confidence of Net Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costCi }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Baseline Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.costBaseline }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
\\n
\\n
Cluster Cost
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterCost | number: '1.0-0' | noComma }}\\n {{ this.calculationOutput.request.calculationInput.Input.lds_currency }}\\n
\\n
-
\\n
\\n
\\n
Cluster risk
\\n
\\n
\\n {{ this.calculationOutput.result.result.modelOutput.clusterRisk * 100 | number: '1.2-2' }} %\\n
\\n
-
\\n
\\n
\\n
Notification Period
\\n
\\n
\\n {{ this.calculationOutput.period }}\\n
\\n
-
\\n
\\n
\\n \\n
\\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\\n Component Name
\\n \\n Risk Level
\\n \\n Low \\n Medium \\n High \\n \\n\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\\n Component Name
\\n \\n Risk Level
\\n \\n Low \\n Medium \\n High \\n \\n\\n \\n\\n\\n\";","export default \" \\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\\n Component Name
\\n \\n Risk Level
\\n \\n Low \\n Medium \\n High \\n \\n\\n \\n\\n\\n\";","export default \" \\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \" \\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFeeAdjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFeeAdjustment }} € per WTG \\n \\n \\n
\\n\";","export default \" \\n\\n\\n Please increase threshold. Threshold must correspond to at least 3 failures.
\\n \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFeeAdjustment }} € per WTG \\n \\n \\n
\\n\";","export default \" \\n\\n\\n\";","export default \"\\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFee }} € per WTG \\n \\n \\n \\n Standard Fee Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.modelOutput.standardFeeAdjustment }} € per WTG \\n \\n \\n TCR Required \\n {{ this.calculationOutput.result.result.mainOutput.requiredTcr ? 'Yes' : 'No' }} \\n \\n \\n
\\n\";","export default \"\\n \\n\\n\\n\";","export default \" \\n \\n \\n \\n \\n Standard Fee\\n \\n \\n {{ this.calculationOutput.result.result.standard_fee }} € per WTG \\n \\n \\n \\n Risk\\n \\n \\n {{ this.calculationOutput.result.result.risk | percent }} \\n \\n \\n \\n Contribution 1\\n \\n \\n {{ this.calculationOutput.result.result.contribution1 }} \\n \\n \\n \\n Contribution 2\\n \\n \\n {{ this.calculationOutput.result.result.contribution2 }} \\n \\n \\n \\n Price Adjustment\\n \\n \\n {{ this.calculationOutput.result.result.price_adjustment }} € per WTG \\n \\n \\n
\\n\";","export default \"\\n
\\n {{ this.adjustedWarrantyProvisions | number: '1.2-2' }} {{ this.currency }}\\n
\\n \\n
\\n {{ error }}
\\n \\n
Adjusted warranty provisions
\\n
\\n
\\n
\\n \\n \\n\";","export default \"
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
Edit notes \\n
Save notes \\n
Cancel \\n
\\n\\n
\\n\";","export default \"
\\n\";","export default \"
\\n
\\n
\\n \\n Reset \\n
\\n \\n Edit \\n
\\n \\n Save \\n
\\n \\n Calculate \\n
\\n \\n
\\n \\n
\\n Reset \\n
\\n
\\n Edit \\n
\\n
\\n Save \\n
\\n
\\n Calculate \\n
\\n
\\n \\n
\\n\";","export default \"
\\n \\n \\n \\n\";","export default \"
{{ error }}
\\n
\\n\\n
\\n Do You want to mark calculation '{{ details.id }} - {{ details.calculationName }}' as obsolete?
\\n \\n\\n
\\n Do You want to accept calculation '{{ details.id }} - {{ details.calculationName }}'?
\\n \\n\\n
\\n Do You want to reject calculation '{{ details.id }} - {{ details.calculationName }}'?
\\n \\n\\n
\\n Notes
\\n \\n \\n\\n
\\n Warranty fee
\\n \\n \\n\\n
\\n LD risk
\\n \\n \\n\";","export default \"
{{ error }}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{ footerText }}
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n Do You want to mark calculation '{{ this.calculationIdToObsolete }} - {{ this.getCalculation(this.calculationIdToObsolete).calculationName }}' as obsolete?
\\n \\n\";","export default \"
\\n\";","export default \"
Sorry, no access :( \\n
Hello, {{ userName }}, if you see this page, it means you do not have access to this application.
\\n
\\n Either logout and login in as a different user or read the\\n User Guide - Getting Access , which explains how you get access to the application.\\n
\\n\";","export default \"\\n
\\n \\n
\\n\";","export default \"
\\n
\\n\";","export default \"
\\n\";","export default \"\\n\\n
\\n \\n \\n \\n Expected IMR\\n \\n \\n \\n {{ calculationOutput.result.result.expected_imr.mean | percent }}\\n \\n \\n \\n \\n P10\\n \\n \\n \\n {{ calculationOutput.result.result.expected_imr.p10 | percent }}\\n \\n \\n \\n \\n P90\\n \\n \\n \\n {{ calculationOutput.result.result.expected_imr.p90 | percent }}\\n \\n \\n \\n \\n Risk\\n \\n \\n \\n {{ calculationOutput.result.result.risk | percent }}\\n \\n \\n \\n \\n Risk 2\\n \\n \\n {{ calculationOutput.result.result.risk2 | percent }} \\n \\n \\n \\n IMR Fail\\n \\n \\n {{ calculationOutput.result.result.imr_fail | percent }} \\n \\n \\n \\n Annual LD\\n \\n \\n {{ calculationOutput.result.result.annual_ld | number: '1.2-2' }} \\n \\n \\n \\n Total LD NPV\\n \\n \\n {{ calculationOutput.result.result.total_ld_npv | number: '1.2-2' }} \\n \\n \\n \\n Adjusted LD NPV\\n \\n \\n {{ calculationOutput.result.result.adjusted_ld_npv | number: '1.2-2' }} \\n \\n \\n \\n TCR Required\\n \\n \\n {{ calculationOutput.result.result.tcr_required | number: '1.2-2' }} \\n \\n \\n \\n Warranty Provisions\\n \\n \\n {{ calculationOutput.result.result.warranty_provisions | number: '1.2-2' }} \\n \\n \\n
\\n\\n\\n\\n
\\n \\n \\n \\n Expected IMR\\n \\n \\n \\n {{ calculationOutput.result.result.modelOutput.expectedImr.mean | percent }}\\n \\n \\n \\n \\n P10\\n \\n \\n \\n {{ calculationOutput.result.result.modelOutput.expectedImr.p10 | percent }}\\n \\n \\n \\n \\n P90\\n \\n \\n \\n {{ calculationOutput.result.result.modelOutput.expectedImr.p90 | percent }}\\n \\n \\n \\n \\n Combined Uncertainty\\n \\n \\n {{ calculationOutput.result.result.modelOutput.combinedUncertainty | percent }} \\n \\n \\n \\n Risk\\n \\n \\n \\n {{ calculationOutput.result.result.modelOutput.risk | percent }}\\n \\n \\n \\n \\n Risk 2\\n \\n \\n {{ calculationOutput.result.result.modelOutput.risk2 | percent }} \\n \\n \\n \\n P35 Shortfall\\n \\n \\n {{ calculationOutput.result.result.modelOutput.p35ImrShortfall | percent }} \\n \\n \\n \\n IMR Fail\\n \\n \\n {{ calculationOutput.result.result.modelOutput.expectedImrIfFail | percent }} \\n \\n \\n \\n Annual LD\\n \\n \\n {{ calculationOutput.result.result.modelOutput.annualLD | number: '1.2-2' }} \\n \\n\\n \\n \\n Total LD NPV\\n \\n \\n {{ calculationOutput.result.result.modelOutput.totalLiquidatedDamagesNpv | number: '1.2-2' }} \\n \\n \\n \\n Adjusted LD NPV\\n \\n \\n {{ calculationOutput.result.result.modelOutput.adjustedLiquidatedDamagesNpv | number: '1.2-2' }} \\n \\n \\n \\n TCR Required\\n \\n \\n {{ calculationOutput.result.result.modelOutput.requiresTcr === true ? 'Yes' : 'No' }} \\n \\n \\n \\n Warranty Provisions\\n \\n \\n {{ calculationOutput.result.result.modelOutput.warrantyProvisions | number: '1.2-2' }} \\n \\n \\n
\\n\";","export default \"
\\n \\n \\n # \\n Icing Severity \\n Warranted IMR \\n P35 Shortfall \\n IMR Fail \\n Annual LD \\n Risk \\n Risk2 \\n Total LD NPV \\n Adjusted LD NPV \\n Warranty Provisions \\n \\n \\n \\n \\n \\n {{ i }}\\n \\n \\n {{ item?.input?.icing_severity | percent }}\\n \\n \\n {{ item?.input?.warranted_imr | percent }}\\n \\n \\n \\n {{ item?.result?.modelOutput?.p35ImrShortfall | percent }}\\n \\n \\n \\n \\n {{ item?.result?.modelOutput?.expectedImrIfFail | percent }}\\n \\n \\n \\n {{ item?.result?.modelOutput?.annualLD | number: '1.2-2' }}\\n \\n \\n {{ item?.result?.modelOutput?.risk | percent }}\\n \\n \\n {{ item?.result?.modelOutput?.risk2 | percent }}\\n \\n \\n {{ item?.result?.modelOutput?.totalLiquidatedDamagesNpv | number: '1.2-2' }}\\n \\n \\n {{ item?.result?.modelOutput?.totalLiquidatedDamagesNpv * item?.result?.modelOutput?.risk2 | number: '1.2-2' }}\\n \\n \\n {{ item?.result?.modelOutput?.warrantyProvisions | number: '1.2-2' }}\\n \\n \\n \\n
\\n
\\n \\n \\n # \\n Icing Severity \\n Warranted IMR \\n IMR Fail \\n Annual LD \\n Risk \\n Risk2 \\n Total LD NPV \\n Adjusted LD NPV \\n Warranty Provisions \\n \\n \\n \\n \\n \\n {{ i }}\\n \\n \\n {{ item.input.icing_severity }}\\n \\n \\n {{ item.input.warranted_imr | number: '1.2-2' }}\\n \\n \\n {{ item.result.imr_fail | percent }}\\n \\n \\n {{ item.result.annual_ld | number: '1.2-2' }}\\n \\n \\n {{ item.result.risk | percent }}\\n \\n \\n {{ item.result.risk2 | percent }}\\n \\n \\n {{ item.result.total_ld_npv | number: '1.2-2' }}\\n \\n \\n {{ item.result.total_ld_npv * item.result.risk2 | number: '1.2-2' }}\\n \\n \\n {{ item.result.warranty_provisions | number: '1.2-2' }}\\n \\n \\n \\n
\\n\";","export default \"
\\n\";","export default \"
\\n
{{ this.Label }} \\n
{{ this.Label }} \\n
\\n
\\n\";","export default \"
\\n
Expand \\n\";","export default \"
\\n
\\n \\n
\\n\";","export default \"
\\n
\\n
\\n
\\n {{ notification.Title }} \\n
\\n
{{ message }}
\\n
Request ID: {{ notification.CorrelationId }}
\\n
\\n
\\n\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { NoAccessComponent } from './no-access/no-access.component';\nimport { CalculationsCreateComponent } from './calculations/calculations-create/calculations-create.component';\nimport { IcingModel2010InputComponent } from './calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component';\nimport { IcingModel2012InputComponent } from './calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component';\nimport { IcingModel205InputComponent } from './calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component';\nimport { IcingModel206InputComponent } from './calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component';\nimport { IcingModel207InputComponent } from './calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-input/icing-model-2-0-7-input.component';\nimport { IcingModel208InputComponent } from './calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component';\nimport { IcingModel209InputComponent } from './calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component';\nimport { IcingModel2091InputComponent } from './calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-input/icing-model-2-0-91-input.component';\nimport { IcingModel300InputComponent } from './calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component';\nimport { IcingModel301InputComponent } from './calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-input/icing-model-3-0-1-input.component';\nimport { IcingModelInputComponent } from './calculations/calculations-create/models/icing-model/icing-model-input/icing-model-input.component';\nimport { PowerCurveInputComponent } from './calculations/calculations-create/models/power-curve-0-1-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve020InputComponent } from './calculations/calculations-create/models/power-curve-0-2-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve030InputComponent } from './calculations/calculations-create/models/power-curve-0-3-1/power-curve-input/power-curve-input.component';\nimport { PowerCurve033InputComponent } from './calculations/calculations-create/models/power-curve-0-3-3/power-curve-input/power-curve-input.component';\nimport { PowerCurve225InputComponent } from './calculations/calculations-create/models/power-curve-2-2-5/power-curve-input/power-curve-input.component';\nimport { PowerCurve226InputComponent } from './calculations/calculations-create/models/power-curve-2-2-6/power-curve-input/power-curve-input.component';\nimport { PowerCurve300InputComponent } from './calculations/calculations-create/models/power-curve-3-0-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve400InputComponent } from './calculations/calculations-create/models/power-curve-4-0-0/power-curve-input/power-curve-input.component';\nimport { SerialDefect102InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component';\nimport { SerialDefect103InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component';\nimport { SerialDefect104InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component';\nimport { SerialDefect105InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component';\nimport { SerialDefect106InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component';\nimport { SerialDefect107InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component';\nimport { SerialDefect1071InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-input/serial-defect-1-0-71-input.component';\nimport { SerialDefect1072InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component';\nimport { SerialDefect110InputComponent } from './calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component';\nimport { SerialDefectInputComponent } from './calculations/calculations-create/models/serial-defect/serial-defect-input/serial-defect-input.component';\nimport { PowerCurveMatrixComponent } from './calculations/calculations-create/models/shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\nimport { CalculationsDetailsComponent } from './calculations/calculations-details/calculations-details.component';\nimport { CalculationsListComponent } from './calculations/calculations-list/calculations-list.component';\nimport { DocumentationComponent } from './documentation/documentation.component';\nimport { MsalGuard, MsalRedirectComponent } from '@azure/msal-angular';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'calculations',\n pathMatch: 'full',\n },\n {\n path: 'no-access',\n component: NoAccessComponent,\n },\n {\n path: 'matrix',\n component: PowerCurveMatrixComponent,\n },\n {\n path: 'calculations',\n component: CalculationsListComponent,\n canActivate: [MsalGuard],\n },\n {\n path: 'calculations/create',\n component: CalculationsCreateComponent,\n children: [\n {\n path: 'icing-model',\n component: IcingModelInputComponent,\n },\n {\n path: 'icing-model-2-0-5',\n component: IcingModel205InputComponent,\n },\n {\n path: 'icing-model-2-0-6',\n component: IcingModel206InputComponent,\n },\n {\n path: 'serial-defect',\n component: SerialDefectInputComponent,\n },\n {\n path: 'serial-defect-1-0-2',\n component: SerialDefect102InputComponent,\n },\n {\n path: 'serial-defect-1-0-3',\n component: SerialDefect103InputComponent,\n },\n {\n path: 'serial-defect-1-0-4',\n component: SerialDefect104InputComponent,\n },\n {\n path: 'icing-model-2-0-7',\n component: IcingModel207InputComponent,\n },\n {\n path: 'icing-model-2-0-91',\n component: IcingModel2091InputComponent,\n },\n {\n path: 'serial-defect-1-0-71',\n component: SerialDefect1071InputComponent,\n },\n {\n path: 'serial-defect-1-0-72',\n component: SerialDefect1072InputComponent,\n },\n {\n path: 'serial-defect-1-1-0',\n component: SerialDefect110InputComponent,\n },\n {\n path: 'serial-defect-1-0-5',\n component: SerialDefect105InputComponent,\n },\n {\n path: 'icing-model-2-0-8',\n component: IcingModel208InputComponent,\n },\n {\n path: 'icing-model-2-0-9',\n component: IcingModel209InputComponent,\n },\n {\n path: 'icing-model-2-0-10',\n component: IcingModel2010InputComponent,\n },\n {\n path: 'power-curve-0-1-0',\n component: PowerCurveInputComponent,\n },\n {\n path: 'serial-defect-1-0-6',\n component: SerialDefect106InputComponent,\n },\n {\n path: 'serial-defect-1-0-7',\n component: SerialDefect107InputComponent,\n },\n {\n path: 'power-curve-0-2-0',\n component: PowerCurve020InputComponent,\n },\n {\n path: 'power-curve-0-3-1',\n component: PowerCurve030InputComponent,\n },\n {\n path: 'power-curve-0-3-3',\n component: PowerCurve033InputComponent,\n },\n {\n path: 'power-curve-2-2-5',\n component: PowerCurve225InputComponent,\n },\n {\n path: 'power-curve-2-2-6',\n component: PowerCurve226InputComponent,\n },\n {\n path: 'power-curve-3-0-0',\n component: PowerCurve300InputComponent,\n },\n {\n path: 'power-curve-4-0-0',\n component: PowerCurve400InputComponent,\n },\n {\n path: 'icing-model-2-0-12',\n component: IcingModel2012InputComponent,\n },\n {\n path: 'icing-model-3-0-0',\n component: IcingModel300InputComponent,\n },\n {\n path: 'icing-model-3-0-1',\n component: IcingModel301InputComponent,\n },\n ],\n },\n {\n path: 'calculations/details/:id',\n component: CalculationsDetailsComponent,\n },\n {\n path: 'documentation',\n component: DocumentationComponent,\n canActivate: [MsalGuard],\n },\n {\n path: 'calculations/new/:oppId',\n component: CalculationsListComponent,\n },\n {\n path: 'calculations/new',\n component: CalculationsListComponent,\n },\n {\n // Needed for handling redirect after login\n path: 'auth',\n component: MsalRedirectComponent\n },\n {\n path: '**',\n component: CalculationsListComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQubGVzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { IToolbar } from '@vestasregistry/ui-component-library/lib/primary-bar/primary-bar.component';\nimport { ModalService } from './services/modal.service';\nimport { StateService } from './services/state.service';\nimport '../interfaces';\nimport { INavigationBarItem } from '@vestasregistry/ui-component-library/lib/navigation-bar/navigation-bar.component';\nimport { NavigationService } from './services/navigation.service';\nimport { CalculationsService } from './services/calculations.service';\nimport { MsalBroadcastService, MsalGuardConfiguration, MsalService, MSAL_GUARD_CONFIG } from '@azure/msal-angular';\nimport { AccountInfo, InteractionStatus, RedirectRequest } from '@azure/msal-browser';\nimport { EnvironmentService } from './services/environment.service';\nimport { UserService } from './services/user.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.less'],\n})\nexport class AppComponent implements OnInit {\n public navItems: INavigationBarItem[] = [];\n public isIframe = false;\n public loginDisplay = false;\n public toolbar: IToolbar;\n\n public unsavedDataModal: boolean;\n\n constructor(\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\n private msalBroadcastService: MsalBroadcastService,\n private msalService: MsalService,\n private environmentService: EnvironmentService,\n private readonly stateService: StateService,\n private readonly modalService: ModalService,\n private readonly navigationService: NavigationService,\n private readonly calculationsService: CalculationsService,\n private readonly userService: UserService,\n private router: Router,\n ) {}\n\n ngOnInit() {\n this.isIframe = window !== window.parent && !window.opener;\n this.msalBroadcastService.inProgress$.subscribe((status) => {\n if (status === InteractionStatus.None) {\n this.setLoginDisplay();\n this.checkAndSetActiveAccount();\n }\n });\n this.modalService.unsavedDataModalStream.subscribe(show => {\n this.unsavedDataModal = show;\n });\n this.navigationService.navItemStream.subscribe(navItems => {\n this.navItems = navItems;\n });\n }\n\n public cancelUnsaveDataModal(): void {\n this.unsavedDataModal = false;\n }\n\n public acceptUnsavedDataModal(): void {\n this.unsavedDataModal = false;\n this.stateService.unsavedData = false;\n this.router.navigate([this.stateService.pendingRoute]);\n this.modalService.toggleUnsavedDataModal(false);\n }\n\n private signIn(): void {\n if (this.msalGuardConfig.authRequest) {\n this.msalService.loginRedirect({ ...this.msalGuardConfig.authRequest } as RedirectRequest);\n } else {\n this.msalService.loginRedirect();\n }\n }\n\n public signOut(): void {\n const activeAccount = this.msalService.instance.getActiveAccount() || this.msalService.instance.getAllAccounts()[0];\n const config = this.environmentService.msalConfig;\n this.msalService.logoutRedirect({\n account: activeAccount,\n postLogoutRedirectUri: config.auth.postLogoutRedirectUri,\n });\n }\n\n private setLoginDisplay() {\n this.loginDisplay = this.msalService.instance.getAllAccounts().length > 0;\n }\n\n private async checkAndSetActiveAccount() {\n const activeAccount = this.msalService.instance.getActiveAccount();\n if (!activeAccount && this.msalService.instance.getAllAccounts().length > 0) {\n const accounts = this.msalService.instance.getAllAccounts();\n this.msalService.instance.setActiveAccount(accounts[0]);\n }\n if (!activeAccount) {\n this.signIn();\n } else {\n this.calculationsService.getWarrantyModels();\n this.userService.userName = activeAccount.username;\n this.setToolbar(activeAccount);\n }\n }\n\n private setToolbar(user: AccountInfo): void {\n this.toolbar = {\n title: user.username,\n items: [\n {\n title: 'Signout',\n href: null,\n onClick: () => {\n this.signOut();\n },\n items: null,\n },\n ],\n };\n }\n}\n","import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { MathJaxModule } from 'ngx-mathjax';\nimport { UiComponentLibraryModule } from '@vestasregistry/ui-component-library';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { EnvironmentService, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory } from './services/environment.service';\nimport { NoAccessComponent } from './no-access/no-access.component';\nimport { CorrelationIdInterceptor } from './correlation-id-interceptor';\nimport { HttpErrorInterceptor } from './http-error-interceptor';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { MarkdownModule } from 'ngx-markdown';\nimport { CalculationCloneComponent } from './calculations/calculation-clone/calculation-clone.component';\nimport { CalculationsCreateModalComponent } from './calculations/calculations-create/calculations-create-modal/calculations-create-modal.component';\nimport { CalculationsCreateModalService } from './calculations/calculations-create/calculations-create-modal/calculations-create-modal.service';\nimport { CalculationsCreateComponent } from './calculations/calculations-create/calculations-create.component';\nimport { CalculationsModelCommunicationService } from './calculations/calculations-create/calculations-model-communication.service';\nimport { CalculationModelsMapper } from './calculations/calculations-create/models/calculation-models-mapper';\nimport { IcingModel2010InputComponent } from './calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component';\nimport { IcingModel2010OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-10/icing-model-2-0-10-output/icing-model-2-0-10-output.component';\nimport { IcingModel2012InputComponent } from './calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component';\nimport { IcingModel2012OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-12/icing-model-2-0-12-output/icing-model-2-0-12-output.component';\nimport { IcingModel205InputComponent } from './calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component';\nimport { IcingModel205OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-5/icing-model-2-0-5-output/icing-model-2-0-5-output.component';\nimport { IcingModel206InputComponent } from './calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component';\nimport { IcingModel206OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-6/icing-model-2-0-6-output/icing-model-2-0-6-output.component';\nimport { IcingModel207InputComponent } from './calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-input/icing-model-2-0-7-input.component';\nimport { IcingModel207OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-7/icing-model-2-0-7-output/icing-model-2-0-7-output.component';\nimport { IcingModel208InputComponent } from './calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component';\nimport { IcingModel208OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-8/icing-model-2-0-8-output/icing-model-2-0-8-output.component';\nimport { IcingModel209InputComponent } from './calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component';\nimport { IcingModel209OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-9/icing-model-2-0-9-output/icing-model-2-0-9-output.component';\nimport { IcingModel2091InputComponent } from './calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-input/icing-model-2-0-91-input.component';\nimport { IcingModel2091OutputComponent } from './calculations/calculations-create/models/icing-model-2-0-91/icing-model-2-0-91-output/icing-model-2-0-91-output.component';\nimport { IcingModel300InputComponent } from './calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component';\nimport { IcingModel300OutputComponent } from './calculations/calculations-create/models/icing-model-3-0-0/icing-model-3-0-0-output/icing-model-3-0-0-output.component';\nimport { IcingModel301InputComponent } from './calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-input/icing-model-3-0-1-input.component';\nimport { IcingModel301OutputComponent } from './calculations/calculations-create/models/icing-model-3-0-1/icing-model-3-0-1-output/icing-model-3-0-1-output.component';\nimport { IcingModelInputComponent } from './calculations/calculations-create/models/icing-model/icing-model-input/icing-model-input.component';\nimport { IcingModelOutputComponent } from './calculations/calculations-create/models/icing-model/icing-model-output/icing-model-output.component';\nimport { PowerCurveInputComponent } from './calculations/calculations-create/models/power-curve-0-1-0/power-curve-input/power-curve-input.component';\nimport { PowerCurveOutputComponent } from './calculations/calculations-create/models/power-curve-0-1-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve020InputComponent } from './calculations/calculations-create/models/power-curve-0-2-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve020OutputComponent } from './calculations/calculations-create/models/power-curve-0-2-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve030InputComponent } from './calculations/calculations-create/models/power-curve-0-3-1/power-curve-input/power-curve-input.component';\nimport { PowerCurve030OutputComponent } from './calculations/calculations-create/models/power-curve-0-3-1/power-curve-output/power-curve-output.component';\nimport { PowerCurve033InputComponent } from './calculations/calculations-create/models/power-curve-0-3-3/power-curve-input/power-curve-input.component';\nimport { PowerCurve033OutputComponent } from './calculations/calculations-create/models/power-curve-0-3-3/power-curve-output/power-curve-output.component';\nimport { PowerCurve225InputComponent } from './calculations/calculations-create/models/power-curve-2-2-5/power-curve-input/power-curve-input.component';\nimport { PowerCurve225OutputComponent } from './calculations/calculations-create/models/power-curve-2-2-5/power-curve-output/power-curve-output.component';\nimport { PowerCurve226InputComponent } from './calculations/calculations-create/models/power-curve-2-2-6/power-curve-input/power-curve-input.component';\nimport { PowerCurve226OutputComponent } from './calculations/calculations-create/models/power-curve-2-2-6/power-curve-output/power-curve-output.component';\nimport { PowerCurve300InputComponent } from './calculations/calculations-create/models/power-curve-3-0-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve400InputComponent } from './calculations/calculations-create/models/power-curve-4-0-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve300OutputComponent } from './calculations/calculations-create/models/power-curve-3-0-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve400OutputComponent } from './calculations/calculations-create/models/power-curve-4-0-0/power-curve-output/power-curve-output.component';\nimport { SerialDefect102InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component';\nimport { SerialDefect102OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-2/serial-defect-1-0-2-output/serial-defect-1-0-2-output.component';\nimport { SerialDefect103InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component';\nimport { SerialDefect103OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-3/serial-defect-1-0-3-output/serial-defect-1-0-3-output.component';\nimport { SerialDefect104InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component';\nimport { SerialDefect104OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-4/serial-defect-1-0-4-output/serial-defect-1-0-4-output.component';\nimport { SerialDefect105InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component';\nimport { SerialDefect105OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-5/serial-defect-1-0-5-output/serial-defect-1-0-5-output.component';\nimport { SerialDefect106InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component';\nimport { SerialDefect106OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-6/serial-defect-1-0-6-output/serial-defect-1-0-6-output.component';\nimport { SerialDefect107InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component';\nimport { SerialDefect107OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-7/serial-defect-1-0-7-output/serial-defect-1-0-7-output.component';\nimport { SerialDefect1071InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-input/serial-defect-1-0-71-input.component';\nimport { SerialDefect1071OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-71/serial-defect-1-0-71-output/serial-defect-1-0-71-output.component';\nimport { SerialDefect1072InputComponent } from './calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component';\nimport { SerialDefect1072OutputComponent } from './calculations/calculations-create/models/serial-defect-1-0-72/serial-defect-1-0-72-output/serial-defect-1-0-72-output.component';\nimport { SerialDefect110InputComponent } from './calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component';\nimport { SerialDefect110OutputComponent } from './calculations/calculations-create/models/serial-defect-1-1-0/serial-defect-1-1-0-output/serial-defect-1-1-0-output.component';\nimport { SerialDefect200InputComponent } from './calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-input/serial-defect-2-0-0-input.component';\nimport { SerialDefect200OutputComponent } from './calculations/calculations-create/models/serial-defect-2-0-0/serial-defect-2-0-0-output/serial-defect-2-0-0-output.component';\nimport { SerialDefectInputComponent } from './calculations/calculations-create/models/serial-defect/serial-defect-input/serial-defect-input.component';\nimport { SerialDefectOutputComponent } from './calculations/calculations-create/models/serial-defect/serial-defect-output/serial-defect-output.component';\nimport { AdjustedWarrantyProvisionsComponent } from './calculations/calculations-create/models/shared/adjusted-warranty-provisions/adjusted-warranty-provisions.component';\nimport { CalculationNameComponent } from './calculations/calculations-create/models/shared/calculation-name/calculation-name.component';\nimport { PowerCurveMatrixComponent } from './calculations/calculations-create/models/shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\nimport { ModelActionButtonsPanelComponent } from './calculations/calculations-create/models/shared/model-action-buttons-panel/model-action-buttons-panel.component';\nimport { SaveCalculationFormComponent } from './calculations/calculations-create/models/shared/save-calculation-form/save-calculation-form.component';\nimport { CalculationsDetailsComponent } from './calculations/calculations-details/calculations-details.component';\nimport { CalculationsListComponent } from './calculations/calculations-list/calculations-list.component';\nimport { CalculationsService } from './services/calculations.service';\nimport { DocumentationComponent } from './documentation/documentation.component';\nimport { SharedComponentsModule } from './shared/shared.components.module';\nimport { UserNotificationComponent } from './user-notification/user-notification.component';\nimport { UserNotificationService } from './user-notification/user-notification.service';\nimport { InViewDirective } from './directives/in-view.directive';\nimport { MsalBroadcastService, MsalGuard, MsalInterceptor, MsalModule, MsalRedirectComponent, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG } from '@azure/msal-angular';\n\n@NgModule({\n declarations: [\n AppComponent,\n NoAccessComponent,\n CalculationsListComponent,\n CalculationsCreateComponent,\n IcingModelInputComponent,\n IcingModelOutputComponent,\n CalculationsDetailsComponent,\n SerialDefectOutputComponent,\n SerialDefectInputComponent,\n DocumentationComponent,\n UserNotificationComponent,\n CalculationsCreateModalComponent,\n CalculationNameComponent,\n AdjustedWarrantyProvisionsComponent,\n SaveCalculationFormComponent,\n ModelActionButtonsPanelComponent,\n CalculationCloneComponent,\n IcingModel205OutputComponent,\n IcingModel205InputComponent,\n IcingModel206OutputComponent,\n IcingModel206InputComponent,\n SerialDefect102OutputComponent,\n SerialDefect102InputComponent,\n SerialDefect103OutputComponent,\n SerialDefect103InputComponent,\n SerialDefect104OutputComponent,\n SerialDefect104InputComponent,\n IcingModel207OutputComponent,\n IcingModel207InputComponent,\n IcingModel208OutputComponent,\n IcingModel208InputComponent,\n IcingModel209OutputComponent,\n IcingModel209InputComponent,\n SerialDefect105OutputComponent,\n SerialDefect105InputComponent,\n PowerCurveInputComponent,\n PowerCurveOutputComponent,\n SerialDefect106InputComponent,\n SerialDefect106OutputComponent,\n PowerCurve020InputComponent,\n PowerCurve020OutputComponent,\n PowerCurve030InputComponent,\n PowerCurve030OutputComponent,\n PowerCurve033InputComponent,\n PowerCurve033OutputComponent,\n PowerCurve225InputComponent,\n PowerCurve225OutputComponent,\n PowerCurve226InputComponent,\n PowerCurve226OutputComponent,\n PowerCurve300InputComponent,\n PowerCurve300OutputComponent,\n PowerCurve400InputComponent,\n PowerCurve400OutputComponent,\n SerialDefect1071InputComponent,\n SerialDefect1071OutputComponent,\n IcingModel2091InputComponent,\n IcingModel2091OutputComponent,\n IcingModel2010InputComponent,\n SerialDefect107InputComponent,\n SerialDefect107OutputComponent,\n SerialDefect1072InputComponent,\n SerialDefect1072OutputComponent,\n SerialDefect110InputComponent,\n SerialDefect110OutputComponent,\n IcingModel2010InputComponent,\n IcingModel2010OutputComponent,\n PowerCurveMatrixComponent,\n IcingModel2012InputComponent,\n IcingModel2012OutputComponent,\n IcingModel300OutputComponent,\n IcingModel300InputComponent,\n IcingModel301OutputComponent,\n IcingModel301InputComponent,\n SerialDefect200InputComponent,\n SerialDefect200OutputComponent,\n InViewDirective,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n UiComponentLibraryModule,\n MathJaxModule.forRoot({\n version: '2.7.5',\n config: 'TeX-AMS_HTML',\n hostname: 'cdnjs.cloudflare.com',\n }),\n RouterModule,\n SharedComponentsModule,\n CommonModule,\n FormsModule,\n HttpClientModule,\n ReactiveFormsModule,\n NgSelectModule,\n MsalModule,\n MarkdownModule.forRoot(),\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: MsalInterceptor,\n multi: true,\n },\n {\n provide: MSAL_INSTANCE,\n useFactory: MSALInstanceFactory,\n deps: [EnvironmentService],\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useFactory: MSALGuardConfigFactory,\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useFactory: MSALInterceptorConfigFactory,\n deps: [EnvironmentService],\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: CorrelationIdInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpErrorInterceptor,\n multi: true,\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (envService: EnvironmentService) => () => envService.loadEnvironment(),\n deps: [EnvironmentService],\n multi: true,\n },\n MsalService,\n MsalBroadcastService,\n MsalGuard,\n CalculationsModelCommunicationService,\n CalculationsService,\n UserNotificationService,\n CalculationsCreateModalService,\n CalculationModelsMapper,\n ],\n bootstrap: [AppComponent, MsalRedirectComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class AppModule {}\n","export default \":host {\\n display: inline-block;\\n height: 22px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb24tY2xvbmUvY2FsY3VsYXRpb24tY2xvbmUuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbi1jbG9uZS9jYWxjdWxhdGlvbi1jbG9uZS5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHFCQUFBO0VBQ0EsWUFBQTtBQ0NKIiwiZmlsZSI6InNyYy9hcHAvY2FsY3VsYXRpb25zL2NhbGN1bGF0aW9uLWNsb25lL2NhbGN1bGF0aW9uLWNsb25lLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIycHg7XG59XG4iLCI6aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMnB4O1xufVxuIl19 */\";","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OpportunityService } from '../../services/opportunity.service';\nimport { UserNotificationSeverity } from '../../user-notification/user-notification.models';\nimport { OpportunityItem } from '../calculations-create/calculations-create-modal/calculations-create-modal.item';\nimport { CalculationsCreateModalService } from '../calculations-create/calculations-create-modal/calculations-create-modal.service';\nimport { CalculationsModelCommunicationService } from '../calculations-create/calculations-model-communication.service';\nimport { CalculationModelsMapper, ModelViewValue } from '../calculations-create/models/calculation-models-mapper';\nimport { CalculationsService } from '../../services/calculations.service';\nimport { UserNotificationService } from './../../user-notification/user-notification.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-calculation-clone',\n templateUrl: './calculation-clone.component.html',\n styleUrls: ['./calculation-clone.component.less'],\n})\nexport class CalculationCloneComponent implements OnInit, OnDestroy {\n @Input()\n public ServiceName: string;\n @Input()\n public OpporunityId: string;\n @Input()\n public CalculationInput: any;\n @Input()\n public IsVicon = false;\n\n public isLoading = false;\n\n private availableModels: ModelViewValue[] = [];\n private subscriptions: Subscription[] = [];\n\n constructor(\n private router: Router,\n private createModalService: CalculationsCreateModalService,\n private communicationService: CalculationsModelCommunicationService,\n private calculationsService: CalculationsService,\n private opportunityService: OpportunityService,\n private notificationService: UserNotificationService,\n private calculationModelsMapper: CalculationModelsMapper,\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.calculationsService.calculationModelsStream.subscribe(response => {\n if (response.success) {\n this.availableModels = this.calculationModelsMapper.MapToViews(response.result);\n } else {\n console.error(response.error);\n }\n }),\n );\n }\n\n ngOnDestroy(): void {\n if (this.subscriptions) {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n }\n\n public clone() {\n this.isLoading = true;\n this.subscriptions.push(\n this.opportunityService.getOpportunities(this.OpporunityId).subscribe(response => {\n if (response.success) {\n const opportunity = response.result;\n const oppItem = new OpportunityItem(this.OpporunityId, false, opportunity.name);\n\n const models = this.availableModels\n .filter(m => m.serviceName.split('-')[0] === this.ServiceName.split('-')[0])\n .sort((a, b) => (a.serviceName > b.serviceName ? 1 : b.serviceName > a.serviceName ? -1 : 0));\n\n const letestModelVersion = models.sort((a, b) => (a.localVersion < b.localVersion ? 1 : -1))[0];\n\n this.communicationService.emitCurrentlySelectedServiceNameChange(letestModelVersion);\n this.communicationService.emitCurrentlySelectedOpportunityId(oppItem.id);\n this.communicationService.emitIsFakeOpportunity(false);\n\n this.createModalService.Push({\n model: letestModelVersion,\n opportunity: oppItem,\n inputData: this.CalculationInput,\n });\n\n this.isLoading = false;\n this.router.navigate([`calculations/create/${letestModelVersion.inputComponentRoute}/`]);\n } else {\n this.isLoading = false;\n\n this.notificationService.Push({\n Message: ['Error fetching Opportunity details'],\n Severity: UserNotificationSeverity.Error,\n Title: 'Error calling the API',\n Details: response.error,\n });\n }\n })\n );\n }\n}\n","export default \".calcTypeBtn {\\n padding-bottom: 5px;\\n}\\n.panel-heading {\\n padding: 5px 5px;\\n}\\n.input-group {\\n display: block;\\n}\\n.border-fix {\\n border-collapse: inherit;\\n}\\n.panel-body-table {\\n background-color: white;\\n}\\n.loader-wrapper {\\n display: table;\\n transform: scale(2);\\n margin: 0 auto;\\n padding-bottom: 10px;\\n}\\n.opp-loader-wrapper {\\n transform: scale(1.5);\\n margin: 0 auto;\\n position: absolute;\\n right: 18%;\\n bottom: 32%;\\n z-index: 10000;\\n}\\n.error-text-red {\\n color: red;\\n}\\n.flex-row {\\n display: flex;\\n}\\n.modal-wrapper {\\n min-width: 400px;\\n}\\n.flex-container-fill {\\n flex-grow: 1;\\n padding-top: 5px;\\n}\\n.header-text {\\n font-size: 18px;\\n}\\n.opportunity-info {\\n height: 20px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9jYWxjdWxhdGlvbnMtY3JlYXRlLW1vZGFsL2NhbGN1bGF0aW9ucy1jcmVhdGUtbW9kYWwuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL2NhbGN1bGF0aW9ucy1jcmVhdGUtbW9kYWwvY2FsY3VsYXRpb25zLWNyZWF0ZS1tb2RhbC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFBO0FDQ0Y7QURFQTtFQUNFLGdCQUFBO0FDQUY7QURHQTtFQUNFLGNBQUE7QUNERjtBRElBO0VBQ0Usd0JBQUE7QUNGRjtBREtBO0VBQ0UsdUJBQUE7QUNIRjtBRE1BO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDSkY7QURPQTtFQUNFLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0FDTEY7QURRQTtFQUNFLFVBQUE7QUNORjtBRFNBO0VBQ0UsYUFBQTtBQ1BGO0FEVUE7RUFDRSxnQkFBQTtBQ1JGO0FEV0E7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7QUNURjtBRFlBO0VBQ0UsZUFBQTtBQ1ZGO0FEYUE7RUFDSSxZQUFBO0FDWEoiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9jYWxjdWxhdGlvbnMtY3JlYXRlLW1vZGFsL2NhbGN1bGF0aW9ucy1jcmVhdGUtbW9kYWwuY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FsY1R5cGVCdG4ge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IDVweCA1cHg7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYm9yZGVyLWZpeCB7XG4gIGJvcmRlci1jb2xsYXBzZTogaW5oZXJpdDtcbn1cblxuLnBhbmVsLWJvZHktdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmxvYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLm9wcC1sb2FkZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE4JTtcbiAgYm90dG9tOiAzMiU7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuXG4uZXJyb3ItdGV4dC1yZWQge1xuICBjb2xvcjogcmVkO1xufVxuXG4uZmxleC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9kYWwtd3JhcHBlciB7XG4gIG1pbi13aWR0aDogNDAwcHg7XG59XG5cbi5mbGV4LWNvbnRhaW5lci1maWxsIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uaGVhZGVyLXRleHQge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5vcHBvcnR1bml0eS1pbmZvIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4iLCIuY2FsY1R5cGVCdG4ge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuLnBhbmVsLWhlYWRpbmcge1xuICBwYWRkaW5nOiA1cHggNXB4O1xufVxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYm9yZGVyLWZpeCB7XG4gIGJvcmRlci1jb2xsYXBzZTogaW5oZXJpdDtcbn1cbi5wYW5lbC1ib2R5LXRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4ubG9hZGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLm9wcC1sb2FkZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE4JTtcbiAgYm90dG9tOiAzMiU7XG4gIHotaW5kZXg6IDEwMDAwO1xufVxuLmVycm9yLXRleHQtcmVkIHtcbiAgY29sb3I6IHJlZDtcbn1cbi5mbGV4LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubW9kYWwtd3JhcHBlciB7XG4gIG1pbi13aWR0aDogNDAwcHg7XG59XG4uZmxleC1jb250YWluZXItZmlsbCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5oZWFkZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi5vcHBvcnR1bml0eS1pbmZvIHtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuIl19 */\";","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router, RoutesRecognized } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { OpportunityService } from 'src/app/services/opportunity.service';\nimport { ISelectOption } from '@vestasregistry/ui-component-library/lib/select/select.component';\nimport { CalculationsService } from '../../../services/calculations.service';\nimport { CalculationsModelCommunicationService } from '../calculations-model-communication.service';\nimport { CalculationModelsMapper, ModelViewValue } from '../models/calculation-models-mapper';\nimport { ModelType } from '../models/ModelType';\nimport { OpportunityItem } from './calculations-create-modal.item';\nimport { CalculationsCreateModalService } from './calculations-create-modal.service';\n\n@Component({\n selector: 'app-calculations-create-modal',\n templateUrl: './calculations-create-modal.component.html',\n styleUrls: ['./calculations-create-modal.component.less'],\n})\nexport class CalculationsCreateModalComponent implements OnInit, OnDestroy {\n public active: boolean;\n public error: string;\n public modelOptions: ISelectOption[] = [];\n public urlOpportunity: OpportunityItem;\n public opportunityQuery: string;\n public opportunityInjected: boolean;\n public opportunity: OpportunityItem;\n public fakeOpportunity: OpportunityItem;\n\n public isLoaderActive = false;\n public isOpportunityLoaderActive = false;\n\n public opportunityUnauthorized = false;\n public opportunityNotFound = false;\n\n private delayHandler: any;\n private availableModels: ModelViewValue[] = [];\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private opportunityService: OpportunityService,\n private modelCommunicationService: CalculationsModelCommunicationService,\n private calculationsService: CalculationsService,\n private createModalService: CalculationsCreateModalService,\n private calculationModelsMapper: CalculationModelsMapper,\n ) {}\n\n ngOnInit() {\n this.calculationsService.newCalculationStream.subscribe(() => {\n this.setModelOptions();\n this.isLoaderActive = false;\n this.active = true;\n });\n this.subscriptions.push(\n this.calculationsService.calculationModelsStream.subscribe(response => {\n if (response.success) {\n this.availableModels = this.calculationModelsMapper.MapToViews(response.result);\n this.setModelOptions();\n }\n }),\n );\n this.subscriptions.push(\n this.opportunityService.getFakeOpportunity().subscribe(response => {\n if (response.success) {\n this.fakeOpportunity = new OpportunityItem(response.result.opportunityId, true, response.result.name);\n }\n }),\n );\n this.subscriptions.push(\n this.router.events.subscribe(val => {\n if (val instanceof RoutesRecognized) {\n const params = val.state.root.firstChild.params;\n const opportunityId = params['oppId'];\n if (opportunityId) {\n this.checkUrl(opportunityId);\n }\n }\n }),\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => {\n sub.unsubscribe();\n });\n }\n\n private setModelOptions(): void {\n if (!this.availableModels) {\n return;\n }\n this.modelOptions = this.availableModels.map(model => {\n return {\n text: model.friendlyName,\n value: model.serviceName,\n selected: false,\n category: this.getCategory(model.modelType),\n };\n });\n }\n\n private getCategory(type: ModelType): string {\n switch (type) {\n case ModelType.Icing:\n return 'Icing';\n case ModelType.PowerCurve:\n return 'Power Curve';\n case ModelType.SerialDefect:\n return 'Serial Defect';\n default:\n return '(Unknown type)';\n }\n }\n\n public createEnabled(): boolean {\n let active = true;\n const selectedModel = this.modelOptions.find(p => p.selected);\n if (!selectedModel) {\n active = false;\n }\n if (!this.opportunity) {\n active = false;\n }\n return active;\n }\n\n public queryChanged(): void {\n if (this.delayHandler) {\n clearTimeout(this.delayHandler);\n }\n this.delayHandler = setTimeout(() => {\n this.queryOpportunities(this.opportunityQuery);\n }, 500);\n }\n\n public queryOpportunities(query: string): void {\n this.opportunity = null;\n this.error = null;\n this.clearErrors();\n if (query.toString() === '') {\n return;\n }\n if (query === '0') {\n this.opportunity = JSON.parse(JSON.stringify(this.fakeOpportunity));\n } else {\n this.isOpportunityLoaderActive = true;\n this.subscriptions.push(\n this.opportunityService.getOpportunities(query).subscribe(res => {\n if (res.success) {\n this.clearErrors();\n const opp = res.result;\n this.opportunity = new OpportunityItem(opp.opportunityId, false, opp.name);\n } else {\n if (res.error.status === 400) {\n this.opportunityNotFound = true;\n }\n if (res.error.status === 500) {\n this.error = res.error.message;\n }\n if (res.error.status === 403) {\n this.opportunityUnauthorized = true;\n }\n }\n this.isOpportunityLoaderActive = false;\n }),\n );\n }\n }\n\n private checkUrl(oppId: string) {\n let opportunityId = +oppId;\n if (isNaN(opportunityId)) {\n opportunityId = -1;\n } else {\n this.opportunityInjected = true;\n this.opportunityQuery = opportunityId.toString();\n }\n this.queryOpportunities(oppId);\n }\n\n private clearErrors() {\n this.error = null;\n this.opportunityUnauthorized = false;\n this.opportunityNotFound = false;\n }\n\n public create(): void {\n const selectedModel = this.modelOptions.find(mo => mo.selected);\n const model = this.availableModels.find(x => x.serviceName === selectedModel.value);\n\n var selectedOpportunity: OpportunityItem;\n\n if (this.urlOpportunity) {\n selectedOpportunity = this.urlOpportunity;\n } else {\n selectedOpportunity = this.opportunity; // f.value.opportunity_id;\n }\n\n this.modelCommunicationService.emitCurrentlySelectedServiceNameChange(model);\n this.modelCommunicationService.emitCurrentlySelectedOpportunityId(selectedOpportunity.id);\n this.modelCommunicationService.emitIsFakeOpportunity(selectedOpportunity.isFake);\n this.createModalService.Push({\n model,\n opportunity: selectedOpportunity,\n });\n\n this.cleanUp();\n this.router.navigate([`calculations/create/${model.inputComponentRoute}`]);\n }\n\n public modalCancelClick(): void {\n this.cleanUp();\n }\n\n private cleanUp(): void {\n this.modelOptions.forEach(mo => (mo.selected = false));\n this.active = false;\n this.opportunityInjected = false;\n this.opportunityQuery = null;\n this.opportunity = null;\n this.clearErrors();\n }\n}\n","import { ModelViewValue } from './../models/calculation-models-mapper';\n\nexport interface CalculationsCreateModalItem {\n model: ModelViewValue;\n opportunity: OpportunityItem;\n inputData?: any\n}\n\nexport class OpportunityItem {\n constructor(public id: string, public isFake: boolean, public name: string) {}\n\n public label = `${this.id} ${this.name}`;\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { CalculationsCreateModalItem } from './calculations-create-modal.item';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CalculationsCreateModalService {\n private items = new BehaviorSubject
(null);\n\n public Clean() {\n this.items = new BehaviorSubject(null);\n }\n\n public Push(item: CalculationsCreateModalItem): void {\n this.items.next(item);\n }\n\n public GetItemsObservable(): Observable {\n return this.items.asObservable();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n.calcTypeBtn {\\n padding-bottom: 5px;\\n}\\n.panel-heading {\\n padding: 5px 5px;\\n}\\n.input-group {\\n display: block;\\n}\\n.border-fix {\\n border-collapse: inherit;\\n}\\n.panel-body-table {\\n background-color: white;\\n}\\n.loader-wrapper {\\n display: table;\\n transform: scale(2);\\n margin: 0 auto;\\n padding-bottom: 10px;\\n}\\n.opp-loader-wrapper {\\n transform: scale(1.5);\\n margin: 0 auto;\\n position: absolute;\\n right: 18%;\\n bottom: 32%;\\n z-index: 10000;\\n}\\n.error-text-red {\\n color: red;\\n}\\n.flex-row {\\n display: flex;\\n}\\n.modal-wrapper {\\n min-width: 400px;\\n padding: 10px;\\n}\\n.flex-container-fill {\\n flex-grow: 1;\\n padding-top: 5px;\\n}\\n.header-text {\\n font-size: 18px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9jYWxjdWxhdGlvbnMtY3JlYXRlLmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9jYWxjdWxhdGlvbnMtY3JlYXRlLmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7RUFDQSxzQkFBQTtBQ0NKO0FERUE7RUFDRSxtQkFBQTtBQ0FGO0FER0E7RUFDRSxnQkFBQTtBQ0RGO0FESUE7RUFDRSxjQUFBO0FDRkY7QURLQTtFQUNFLHdCQUFBO0FDSEY7QURNQTtFQUNFLHVCQUFBO0FDSkY7QURPQTtFQUNFLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtBQ0xGO0FEUUE7RUFDRSxxQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtBQ05GO0FEU0E7RUFDRSxVQUFBO0FDUEY7QURVQTtFQUNFLGFBQUE7QUNSRjtBRFdBO0VBQ0UsZ0JBQUE7RUFDQSxhQUFBO0FDVEY7QURZQTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtBQ1ZGO0FEYUE7RUFDRSxlQUFBO0FDWEYiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9jYWxjdWxhdGlvbnMtY3JlYXRlLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jYWxjVHlwZUJ0biB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogNXB4IDVweDtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ib3JkZXItZml4IHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBpbmhlcml0O1xufVxuXG4ucGFuZWwtYm9keS10YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubG9hZGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ub3BwLWxvYWRlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTglO1xuICBib3R0b206IDMyJTtcbiAgei1pbmRleDogMTAwMDA7XG59XG5cbi5lcnJvci10ZXh0LXJlZCB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mbGV4LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tb2RhbC13cmFwcGVyIHtcbiAgbWluLXdpZHRoOiA0MDBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmZsZXgtY29udGFpbmVyLWZpbGwge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5oZWFkZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbiIsIjpob3N0IHtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNhbGNUeXBlQnRuIHtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogNXB4IDVweDtcbn1cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJvcmRlci1maXgge1xuICBib3JkZXItY29sbGFwc2U6IGluaGVyaXQ7XG59XG4ucGFuZWwtYm9keS10YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmxvYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5vcHAtbG9hZGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxOCU7XG4gIGJvdHRvbTogMzIlO1xuICB6LWluZGV4OiAxMDAwMDtcbn1cbi5lcnJvci10ZXh0LXJlZCB7XG4gIGNvbG9yOiByZWQ7XG59XG4uZmxleC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1vZGFsLXdyYXBwZXIge1xuICBtaW4td2lkdGg6IDQwMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLmZsZXgtY29udGFpbmVyLWZpbGwge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG4uaGVhZGVyLXRleHQge1xuICBmb250LXNpemU6IDE4cHg7XG59XG4iXX0= */\";","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { CalculationRequestTs } from '../../typings';\nimport { CalculationTs } from '../../typings';\nimport { CalculationsService } from '../../services/calculations.service';\nimport { CalculationsCreateModalItem } from './calculations-create-modal/calculations-create-modal.item';\nimport { CalculationsCreateModalService } from './calculations-create-modal/calculations-create-modal.service';\nimport { CalculationsModelCommunicationService } from './calculations-model-communication.service';\nimport { NavigationItem, NavigationService } from 'src/app/services/navigation.service';\nimport { StateService } from 'src/app/services/state.service';\n\n@Component({\n selector: 'app-calculations-create',\n templateUrl: './calculations-create.component.html',\n styleUrls: ['./calculations-create.component.less'],\n})\nexport class CalculationsCreateComponent implements OnInit, OnDestroy {\n public error: string;\n private subscriptions: Subscription[] = [];\n private selectedModel: CalculationsCreateModalItem;\n\n constructor(\n private router: Router,\n private modelCommunicationService: CalculationsModelCommunicationService,\n private calculationsService: CalculationsService,\n private cd: ChangeDetectorRef,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private readonly navigationService: NavigationService,\n private readonly stateService: StateService,\n ) {}\n\n ngOnInit() {\n this.stateService.unsavedData = true;\n this.navigationService.setNavigation(NavigationItem.Calculation);\n\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(item => {\n if (!item) {\n this.router.navigate(['calculations/']);\n } else {\n this.selectedModel = item;\n if (this.selectedModel.opportunity.isFake) {\n this.stateService.unsavedData = false;\n }\n this.stateService.setContext({\n parent: item.opportunity.id,\n parentSubtitle: item.opportunity.name,\n children: [\n {\n text: item.model.friendlyName,\n subtitle: '',\n },\n ],\n });\n }\n }),\n );\n\n this.subscriptions.push(\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (!event.url.includes('create')) {\n this.stateService.setContext(null);\n }\n }\n }),\n );\n\n this.subscriptions.push(\n this.modelCommunicationService.inputChangeEmitted.subscribe(data => {\n this.calculationReguestChangedCallback(data);\n }),\n );\n\n this.subscriptions.push(\n this.modelCommunicationService.saveCalculationEmitted.subscribe(data => {\n this.saveCalculationCallback(data);\n }),\n );\n\n // todo: remove this\n this.cd.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => {\n sub.unsubscribe();\n });\n }\n\n private calculationReguestChangedCallback(calculationRequest: CalculationRequestTs): void {\n this.modelCommunicationService.emitIsCalculationRunning(true);\n this.modelCommunicationService.emitIsCalculationMatrixRunning(true);\n this.runCalculation(calculationRequest);\n\n var wtgtype = calculationRequest?.calculationInput?.Input?.type?.wtgname;\n if(wtgtype)\n {\n calculationRequest.calculationInput.Input.type = wtgtype;\n }\n setTimeout(() => {\n this.runCalculationMatrix(calculationRequest);\n }, 0);\n }\n\n private saveCalculationCallback(calculation: CalculationTs) {\n this.stateService.unsavedData = false;\n this.error = null;\n this.subscriptions.push(\n this.calculationsService.postCalculation(calculation).subscribe(response => {\n if (response.success) {\n this.router.navigate(['calculations/details', response.result.id]);\n } else {\n this.error = `Error saving calculation: ${response.error.message}`;\n }\n }),\n );\n }\n\n private runCalculation(calculationRequest: CalculationRequestTs, isMatrix: boolean = false): void {\n\n var wtgtype = calculationRequest?.calculationInput?.Input?.type?.wtgname;\n if(wtgtype)\n {\n calculationRequest.calculationInput.Input.type = wtgtype;\n }\n\n this.error = null;\n this.subscriptions.push(\n this.calculationsService.runCalculationRequest(calculationRequest).subscribe(response => {\n if (response.success) {\n const calc = response.result;\n if (calc.result.result) {\n this.modelCommunicationService.emitOutputChange(calc);\n } else if (calc.result.errors) {\n for (const key in calc.result.errors) {\n if (calc.result.errors.hasOwnProperty(key)) {\n const keyLabel = this.selectedModel.model.propertyNamesMapper\n ? this.selectedModel.model.propertyNamesMapper.get(key)\n : key;\n\n this.error = `${keyLabel} ${calc.result.errors[key]}`;\n }\n }\n } else {\n // unknown error happened within calculation model\n this.error = `Calculation Error! ${calc.result.message}`;\n }\n\n this.modelCommunicationService.emitIsCalculationRunning(false);\n } else {\n this.error = response.error.message;\n }\n }),\n );\n }\n\n private runCalculationMatrix(calculationRequest: CalculationRequestTs): void {\n this.subscriptions.push(\n this.calculationsService.runCalculationMatrixRequest(calculationRequest).subscribe(response => {\n if (response.success) {\n try {\n var matrixResult = response.result as any;\n var matrixOutput = JSON.parse(matrixResult.output);\n this.modelCommunicationService.emitOutputMatrixChange(matrixOutput.riskMatrix);\n this.modelCommunicationService.emitIsCalculationMatrixRunning(false);\n } catch (e) {\n // TODO: matrix calc should only be requested for power curve\n // this.error = `Error running matrix calculation: ${e.message}`;\n }\n } else {\n this.modelCommunicationService.emitIsCalculationMatrixRunning(false);\n this.error = `Error running matrix calculation: ${response.error.message}`;\n }\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { CalculationRequestTs } from '../../typings';\nimport { CalculationTs } from '../../typings';\nimport { ModelViewValue } from './models/calculation-models-mapper';\n\n@Injectable()\nexport class CalculationsModelCommunicationService {\n private inputChangeSource = new Subject();\n private outputChangeSource = new Subject();\n private currentlySelectedServiceName = new BehaviorSubject(null);\n private currentlySelectedOpportunityId = new BehaviorSubject(null);\n private saveCalculationSource = new Subject();\n private isFakeOpportunity = new BehaviorSubject(null);\n private isCalculationRunnig = new BehaviorSubject(false);\n private isErrorOccured = new BehaviorSubject(false);\n private outputChangeSourceMatrix = new BehaviorSubject('');\n private isCalculationMatrixRunnig = new BehaviorSubject(false);\n private isEditButtonClicked = new BehaviorSubject(false);\n private isTcrOverriden = new Subject();\n\n public inputChangeEmitted = this.inputChangeSource.asObservable();\n public outputChangeEmitted = this.outputChangeSource.asObservable();\n public outputChangeMatrixEmitted = this.outputChangeSourceMatrix.asObservable();\n public currentlySelectedServiceNameChangeEmitted = this.currentlySelectedServiceName.asObservable();\n public currentlySelectedOpportunityIdChangeEmitted = this.currentlySelectedOpportunityId.asObservable();\n public saveCalculationEmitted = this.saveCalculationSource.asObservable();\n public isFakeOpportunityEmitted = this.isFakeOpportunity.asObservable();\n public isCalculationRunningEmitted = this.isCalculationRunnig.asObservable();\n public isErrorOccuredEmitted = this.isErrorOccured.asObservable();\n public isCalculationMatrixRunningEmitted = this.isCalculationMatrixRunnig.asObservable();\n public isEditButtonEmitted = this.isEditButtonClicked.asObservable();\n public isTcrOverridenEmitted = this.isTcrOverriden.asObservable();\n\n public emitEditButtonClicked(change: boolean) {\n this.isEditButtonClicked.next(change);\n }\n\n public emitInputChange(change: CalculationRequestTs) {\n this.inputChangeSource.next(change);\n }\n\n public emitOutputChange(change: CalculationTs) {\n this.outputChangeSource.next(change);\n }\n\n public emitOutputMatrixChange(change: string) {\n this.outputChangeSourceMatrix.next(change);\n }\n\n public emitCurrentlySelectedServiceNameChange(change: ModelViewValue) {\n this.currentlySelectedServiceName.next(change);\n }\n\n public emitCurrentlySelectedOpportunityId(change: string) {\n this.currentlySelectedOpportunityId.next(change);\n }\n\n public emitSaveCalculation(change: CalculationTs) {\n this.saveCalculationSource.next(change);\n }\n\n public emitIsFakeOpportunity(change: boolean) {\n this.isFakeOpportunity.next(change);\n }\n\n public emitIsCalculationRunning(change: boolean) {\n this.isCalculationRunnig.next(change);\n }\n\n public emitIsErrorOccured(change: boolean) {\n this.isErrorOccured.next(change);\n }\n\n public emitIsCalculationMatrixRunning(change: boolean) {\n this.isCalculationMatrixRunnig.next(change);\n }\n\n public emitIsTcrOverriden(change: boolean) {\n this.isTcrOverriden.next(change);\n }\n}\n","\nexport enum ModelType {\n Icing,\n SerialDefect,\n PowerCurve\n}\n","import { EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { CalculationTs } from 'src/app/typings';\nimport { CalculationRequestTs } from '../../../typings';\nimport { CalculationsModelCommunicationService } from './../calculations-model-communication.service';\nimport { ModelViewValue } from './calculation-models-mapper';\n\nexport abstract class CalculationModelInputBase implements OnDestroy {\n @Input()\n public serviceDetails: ModelViewValue;\n public opportunityId: string;\n public isFakeOpportunity: boolean;\n @Input()\n public calculationOutput: CalculationTs = null;\n public calculationMatrixOutput: string = null;\n @Input()\n public readonly = false;\n public saveCalculationModal: boolean;\n public isCalculationRuning = false;\n @Input()\n public canEditAdjustedProvisions = false;\n\n @Output()\n public calculationUpdated = new EventEmitter();\n\n form: FormGroup;\n nameForm: FormGroup;\n\n isTcrOverriden : boolean = null;\n\n protected subscriptions: Subscription[] = [];\n\n constructor(\n private communicationService: CalculationsModelCommunicationService,\n protected formBuilder: FormBuilder,\n ) {\n this.subscriptions.push(\n this.communicationService.currentlySelectedServiceNameChangeEmitted.subscribe(service => {\n this.serviceDetails = service;\n }),\n );\n this.subscriptions.push(\n this.communicationService.currentlySelectedOpportunityIdChangeEmitted.subscribe(id => (this.opportunityId = id)),\n );\n this.subscriptions.push(\n this.communicationService.outputChangeEmitted.subscribe(output => (this.calculationOutput = output)),\n );\n\n this.subscriptions.push(\n this.communicationService.outputChangeMatrixEmitted.subscribe(outputMatrix => {\n this.calculationMatrixOutput = outputMatrix;\n if (this.calculationOutput) {\n this.calculationOutput.matrixOutput = outputMatrix;\n }\n }),\n );\n\n this.subscriptions.push(\n this.communicationService.isFakeOpportunityEmitted.subscribe(isFake => (this.isFakeOpportunity = isFake)),\n );\n this.subscriptions.push(\n this.communicationService.isCalculationRunningEmitted.subscribe(x => (this.isCalculationRuning = x)),\n );\n\n this.subscriptions.push(\n this.communicationService.isTcrOverridenEmitted.subscribe(tcr => {\n this.isTcrOverriden = tcr;\n }),\n );\n\n this.communicationService.isErrorOccuredEmitted.subscribe(isError => {\n if (isError) {\n this.editClick();\n }\n });\n\n }\n\n emitInputChange(data: NgForm) {\n const request = {\n serviceName: this.serviceDetails.serviceName,\n calculationInput: data,\n calculationRoute: this.serviceDetails.calculationRoute,\n opportunityId: this.opportunityId,\n } as CalculationRequestTs;\n this.communicationService.emitInputChange(request);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(sub => {\n if (sub) {\n sub.unsubscribe();\n }\n });\n }\n\n saveCalculation(): void {\n if (!this.nameForm.valid) {\n for (const control in this.nameForm.controls) {\n this.nameForm.get(control).markAsTouched();\n }\n\n return;\n }\n\n this.updateNotificationPeriod();\n this.nameForm.disable();\n this.saveCalculationModal = false;\n this.calculationOutput.calculationName = this.nameForm.get('calculationName').value;\n this.calculationOutput.notes = this.nameForm.get('notes').value;\n\n if(this.calculationOutput.result.result.mainOutput && this.isTcrOverriden!=null)\n {\n this.calculationOutput.result.result.mainOutput.requiresTcr = this.isTcrOverriden;\n this.calculationOutput.result.result.mainOutput.requiredTcr = this.isTcrOverriden;\n }\n\n if (this.calculationOutput.result.configurationSummary) {\n this.calculationOutput.configurationSummary = this.calculationOutput.result.configurationSummary;\n } else {\n this.calculationOutput.configurationSummary = this.calculationOutput.result.result.configurationSummary;\n }\n\n if (this.calculationOutput.result.inputSummary) {\n this.calculationOutput.inputSummary = this.calculationOutput.result.inputSummary;\n } else {\n this.calculationOutput.inputSummary = this.calculationOutput.result.result.inputSummary;\n }\n\n this.calculationOutput.matrixOutput = JSON.stringify(this.calculationMatrixOutput);\n this.communicationService.emitSaveCalculation(this.calculationOutput); \n }\n\n updateNotificationPeriod() {\n if (this.form.getRawValue().defect_notification_period) {\n this.calculationOutput.period = this.form.getRawValue().defect_notification_period * 12;\n }\n if (this.form.getRawValue().notification_period) {\n this.calculationOutput.period = this.form.getRawValue().notification_period;\n }\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n if (!this.form.valid) {\n for (const control in this.form.controls) {\n this.form.get(control).markAsTouched();\n }\n return;\n }\n\n if (additionalValidation != null && !additionalValidation()) {\n return; // assume the additional validation callback will show its own validation message in child component so we just return\n }\n\n this.form.disable();\n this.calculationOutput = null;\n\n let sendData = this.form.getRawValue();\n this.processComponents(sendData)\n this.processPercentValues(sendData);\n this.processTriggerTime(sendData);\n this.emitInputChange(sendData);\n\n }\n\n processComponents(formValues: any)\n {\n if(formValues.components)\n {\n formValues.components.forEach(c => {\n if(/\\d/.test(c.Risk_level))\n c.Risk_level = c.Risk_level.split(\" \")[1];\n });\n }\n }\n\n // refactoring todo: should be moved to nested classes\n processPercentValues(formValues: any) {\n if (\n this.serviceDetails.serviceName === 'powercurve-risk-calc-0-3-1' ||\n this.serviceDetails.serviceName === 'powercurve-risk-calc-0-3-3' ||\n this.serviceDetails.serviceName === 'powercurve-risk-calc-2-2-5'\n ) {\n formValues.Deviations_params.prob_test_manual = this.convertPercentToFraction(\n formValues.Deviations_params.prob_test_manual,\n );\n }\n if (this.serviceDetails.serviceName === 'serial-defect-1-0-6') {\n formValues.threshold = this.convertPercentToFraction(formValues.threshold);\n }\n if (this.serviceDetails.serviceName === 'anti-icing-verification-2-0-9') {\n formValues.icing_severity = this.convertPercentToFraction(formValues.icing_severity);\n formValues.warranted_imr = this.convertPercentToFraction(formValues.warranted_imr);\n }\n }\n\n processTriggerTime(formValues: any) {\n if (this.serviceDetails.serviceName.includes('serial-defect')) {\n if (formValues.trigger_time_checkbox != null) {\n if (formValues.trigger_time_checkbox == false) {\n formValues.trigger_time = formValues.defect_notification_period;\n }\n }\n }\n }\n\n convertFractionToPercent(fraction: number): number {\n return parseFloat((fraction * 100).toFixed(2));\n }\n\n convertPercentToFraction(fraction: number): number {\n return fraction / 100;\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n\n this.applyDisabledFields();\n this.communicationService.emitEditButtonClicked(true);\n }\n\n openSaveCalculationModal() {\n // if (this.saveCalculationModal) {\n this.saveCalculationModal = true;\n // }\n }\n\n exitSaveModal() {\n // if (this.saveCalculationModal) {\n this.saveCalculationModal = false;\n this.nameForm.setValue({\n calculationName: '',\n notes: '',\n });\n // }\n }\n\n resetClick() {\n this.readonly = false;\n this.form.disable();\n this.form.reset();\n this.nameForm.reset();\n\n this.patchFormWithSavedData();\n }\n\n public abstract patchFormWithSavedData(): void;\n\n public abstract applyDisabledFields(): void;\n\n public notesEditedCallback(calculation: CalculationTs) {\n if (this.calculationUpdated) {\n this.calculationUpdated.emit(calculation);\n } else {\n this.calculationOutput = calculation;\n }\n }\n\n public adjustedWarrantyProvisionsEdited(calculation: CalculationTs) {\n if (this.calculationUpdated) {\n this.calculationUpdated.emit(calculation);\n } else {\n this.calculationOutput = calculation;\n }\n }\n}\n","import { EventEmitter, Input, Output } from '@angular/core';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class CalculationModelOutputBase {\n public abstract modelName: string;\n\n @Input()\n public calculationOutput: CalculationTs;\n @Input()\n public canEditAdjustedProvisions = false;\n @Output()\n public adjustedWarrantyProvisionsUpdated = new EventEmitter();\n\n public adjustedWarrantyProvisionsUpdatedCallback(calculation: CalculationTs) {\n this.adjustedWarrantyProvisionsUpdated.emit(calculation);\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { WarrantyModelTs } from '../../../typings';\nimport { CalculationModelInputBase } from './calculation-model-input-base';\nimport { CalculationModelOutputBase } from './calculation-model-output-base';\nimport { IcingModel2010InputComponent } from './icing-model-2-0-10/icing-model-2-0-10-input/icing-model-2-0-10-input.component';\nimport { IcingModel2010OutputComponent } from './icing-model-2-0-10/icing-model-2-0-10-output/icing-model-2-0-10-output.component';\nimport { IcingModel2012InputComponent } from './icing-model-2-0-12/icing-model-2-0-12-input/icing-model-2-0-12-input.component';\nimport { IcingModel2012OutputComponent } from './icing-model-2-0-12/icing-model-2-0-12-output/icing-model-2-0-12-output.component';\nimport { IcingModel205InputComponent } from './icing-model-2-0-5/icing-model-2-0-5-input/icing-model-2-0-5-input.component';\nimport { IcingModel205OutputComponent } from './icing-model-2-0-5/icing-model-2-0-5-output/icing-model-2-0-5-output.component';\nimport { IcingModel206InputComponent } from './icing-model-2-0-6/icing-model-2-0-6-input/icing-model-2-0-6-input.component';\nimport { IcingModel206OutputComponent } from './icing-model-2-0-6/icing-model-2-0-6-output/icing-model-2-0-6-output.component';\nimport { IcingModel207OutputComponent } from './icing-model-2-0-7/icing-model-2-0-7-output/icing-model-2-0-7-output.component';\nimport { IcingModel208InputComponent } from './icing-model-2-0-8/icing-model-2-0-8-input/icing-model-2-0-8-input.component';\nimport { IcingModel208OutputComponent } from './icing-model-2-0-8/icing-model-2-0-8-output/icing-model-2-0-8-output.component';\nimport { IcingModel209InputComponent } from './icing-model-2-0-9/icing-model-2-0-9-input/icing-model-2-0-9-input.component';\nimport { IcingModel209OutputComponent } from './icing-model-2-0-9/icing-model-2-0-9-output/icing-model-2-0-9-output.component';\nimport { IcingModel300InputComponent } from './icing-model-3-0-0/icing-model-3-0-0-input/icing-model-3-0-0-input.component';\nimport { IcingModel300OutputComponent } from './icing-model-3-0-0/icing-model-3-0-0-output/icing-model-3-0-0-output.component';\nimport { IcingModelInputComponent } from './icing-model/icing-model-input/icing-model-input.component';\nimport { IcingModelOutputComponent } from './icing-model/icing-model-output/icing-model-output.component';\nimport { IcingModelPropertyNames } from './model-property-names/icing.model-property-names';\nimport { PowerCurveModelPropertyNames } from './model-property-names/power-curve.model-property-names';\nimport { SerialDefectModelPropertyNames } from './model-property-names/serial-defect.model-property-names';\nimport { ModelType } from './ModelType';\nimport { PowerCurveInputComponent } from './power-curve-0-1-0/power-curve-input/power-curve-input.component';\nimport { PowerCurveOutputComponent } from './power-curve-0-1-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve020InputComponent } from './power-curve-0-2-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve020OutputComponent } from './power-curve-0-2-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve030InputComponent } from './power-curve-0-3-1/power-curve-input/power-curve-input.component';\nimport { PowerCurve030OutputComponent } from './power-curve-0-3-1/power-curve-output/power-curve-output.component';\nimport { PowerCurve033InputComponent } from './power-curve-0-3-3/power-curve-input/power-curve-input.component';\nimport { PowerCurve033OutputComponent } from './power-curve-0-3-3/power-curve-output/power-curve-output.component';\nimport { PowerCurve225InputComponent } from './power-curve-2-2-5/power-curve-input/power-curve-input.component';\nimport { PowerCurve225OutputComponent } from './power-curve-2-2-5/power-curve-output/power-curve-output.component';\nimport { PowerCurve226InputComponent } from './power-curve-2-2-6/power-curve-input/power-curve-input.component';\nimport { PowerCurve226OutputComponent } from './power-curve-2-2-6/power-curve-output/power-curve-output.component';\nimport { PowerCurve300InputComponent } from './power-curve-3-0-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve300OutputComponent } from './power-curve-3-0-0/power-curve-output/power-curve-output.component';\nimport { PowerCurve400InputComponent } from './power-curve-4-0-0/power-curve-input/power-curve-input.component';\nimport { PowerCurve400OutputComponent } from './power-curve-4-0-0/power-curve-output/power-curve-output.component';\nimport { SerialDefect102InputComponent } from './serial-defect-1-0-2/serial-defect-1-0-2-input/serial-defect-1-0-2-input.component';\nimport { SerialDefect102OutputComponent } from './serial-defect-1-0-2/serial-defect-1-0-2-output/serial-defect-1-0-2-output.component';\nimport { SerialDefect103InputComponent } from './serial-defect-1-0-3/serial-defect-1-0-3-input/serial-defect-1-0-3-input.component';\nimport { SerialDefect103OutputComponent } from './serial-defect-1-0-3/serial-defect-1-0-3-output/serial-defect-1-0-3-output.component';\nimport { SerialDefect104InputComponent } from './serial-defect-1-0-4/serial-defect-1-0-4-input/serial-defect-1-0-4-input.component';\nimport { SerialDefect104OutputComponent } from './serial-defect-1-0-4/serial-defect-1-0-4-output/serial-defect-1-0-4-output.component';\nimport { SerialDefect105InputComponent } from './serial-defect-1-0-5/serial-defect-1-0-5-input/serial-defect-1-0-5-input.component';\nimport { SerialDefect105OutputComponent } from './serial-defect-1-0-5/serial-defect-1-0-5-output/serial-defect-1-0-5-output.component';\nimport { SerialDefect106InputComponent } from './serial-defect-1-0-6/serial-defect-1-0-6-input/serial-defect-1-0-6-input.component';\nimport { SerialDefect106OutputComponent } from './serial-defect-1-0-6/serial-defect-1-0-6-output/serial-defect-1-0-6-output.component';\nimport { SerialDefect107InputComponent } from './serial-defect-1-0-7/serial-defect-1-0-7-input/serial-defect-1-0-7-input.component';\nimport { SerialDefect107OutputComponent } from './serial-defect-1-0-7/serial-defect-1-0-7-output/serial-defect-1-0-7-output.component';\nimport { SerialDefect1072InputComponent } from './serial-defect-1-0-72/serial-defect-1-0-72-input/serial-defect-1-0-72-input.component';\nimport { SerialDefect1072OutputComponent } from './serial-defect-1-0-72/serial-defect-1-0-72-output/serial-defect-1-0-72-output.component';\nimport { SerialDefect110InputComponent } from './serial-defect-1-1-0/serial-defect-1-1-0-input/serial-defect-1-1-0-input.component';\nimport { SerialDefect110OutputComponent } from './serial-defect-1-1-0/serial-defect-1-1-0-output/serial-defect-1-1-0-output.component';\nimport { SerialDefect200InputComponent } from './serial-defect-2-0-0/serial-defect-2-0-0-input/serial-defect-2-0-0-input.component';\nimport { SerialDefect200OutputComponent } from './serial-defect-2-0-0/serial-defect-2-0-0-output/serial-defect-2-0-0-output.component';\nimport { SerialDefectInputComponent } from './serial-defect/serial-defect-input/serial-defect-input.component';\nimport { SerialDefectOutputComponent } from './serial-defect/serial-defect-output/serial-defect-output.component';\n\nexport interface ModelViewValue {\n inputComponentRoute: string;\n outputComponent: Type;\n inputComponent: Type;\n friendlyName: string;\n serviceName: string;\n calculationRoute: string;\n propertyNamesMapper?: Map;\n modelType: ModelType;\n localVersion: number;\n}\n\n\n\n\n@Injectable()\nexport class CalculationModelsMapper {\n\n constructor(private router: Router\n ) { }\n\n public readonly implicitModels: ModelViewValue[] = [];\n public readonly calculationModels: ModelViewValue[] = [\n {\n inputComponentRoute: 'icing-model',\n outputComponent: IcingModelOutputComponent,\n friendlyName: 'Icing Model 2.0.0',\n serviceName: 'anti-icing-verification-2-0-0',\n calculationRoute: '/makecalc',\n inputComponent: IcingModelInputComponent,\n modelType: ModelType.Icing,\n localVersion: 0,\n },\n {\n inputComponentRoute: 'icing-model',\n outputComponent: IcingModelOutputComponent,\n friendlyName: 'Icing Model 2.0.1',\n serviceName: 'anti-icing-verification-2-0-1',\n calculationRoute: '/makecalc',\n inputComponent: IcingModelInputComponent,\n modelType: ModelType.Icing,\n localVersion: 1,\n },\n {\n inputComponentRoute: 'icing-model',\n outputComponent: IcingModelOutputComponent,\n friendlyName: 'Icing Model 2.0.3',\n serviceName: 'anti-icing-verification-2-0-3',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModelInputComponent,\n modelType: ModelType.Icing,\n localVersion: 2,\n },\n {\n inputComponentRoute: 'icing-model',\n outputComponent: IcingModelOutputComponent,\n friendlyName: 'Icing Model 2.0.4',\n serviceName: 'anti-icing-verification-2-0-4',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModelInputComponent,\n modelType: ModelType.Icing,\n localVersion: 3,\n },\n {\n inputComponentRoute: 'icing-model-2-0-5',\n outputComponent: IcingModel205OutputComponent,\n friendlyName: 'Icing Model 2.0.5',\n serviceName: 'anti-icing-verification-2-0-5',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel205InputComponent,\n modelType: ModelType.Icing,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'icing-model-2-0-6',\n outputComponent: IcingModel206OutputComponent,\n friendlyName: 'Icing Model 2.0.6',\n serviceName: 'anti-icing-verification-2-0-6',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel206InputComponent,\n modelType: ModelType.Icing,\n localVersion: 5,\n },\n {\n inputComponentRoute: 'icing-model-2-0-7',\n outputComponent: IcingModel207OutputComponent,\n friendlyName: 'Icing Model 2.0.7',\n serviceName: 'anti-icing-verification-2-0-7',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel205InputComponent,\n modelType: ModelType.Icing,\n localVersion: 6,\n },\n {\n inputComponentRoute: 'icing-model-2-0-8',\n outputComponent: IcingModel208OutputComponent,\n friendlyName: 'Icing Model 2.0.8',\n serviceName: 'anti-icing-verification-2-0-8',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel208InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 7,\n },\n {\n inputComponentRoute: 'icing-model-2-0-9',\n outputComponent: IcingModel209OutputComponent,\n friendlyName: 'Icing Model 2.0.9',\n serviceName: 'anti-icing-verification-2-0-9',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel209InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 8,\n },\n {\n inputComponentRoute: 'icing-model-2-0-10',\n outputComponent: IcingModel2010OutputComponent,\n friendlyName: 'Icing Model 2.0.10',\n serviceName: 'anti-icing-verification-2-0-10',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel2010InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 9,\n },\n {\n inputComponentRoute: 'icing-model-2-0-12',\n outputComponent: IcingModel2012OutputComponent,\n friendlyName: 'Icing Model 2.0.12',\n serviceName: 'anti-icing-verification-2-0-12',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel2012InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 9,\n },\n {\n inputComponentRoute: 'icing-model-3-0-0',\n outputComponent: IcingModel300OutputComponent,\n friendlyName: 'Icing Model 3.0.0',\n serviceName: 'anti-icing-verification-3-0-0',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel300InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 10,\n },\n {\n inputComponentRoute: 'icing-model-3',\n outputComponent: IcingModel300OutputComponent,\n friendlyName: 'Icing Model 3',\n serviceName: 'anti-icing-verification-3',\n calculationRoute: '/predict?scan=warranted_imr',\n inputComponent: IcingModel300InputComponent,\n propertyNamesMapper: IcingModelPropertyNames,\n modelType: ModelType.Icing,\n localVersion: 10,\n },\n {\n inputComponentRoute: 'serial-defect',\n outputComponent: SerialDefectOutputComponent,\n friendlyName: 'Serial Defect 1.0.1',\n serviceName: 'serial-defect-1-0-1',\n calculationRoute: '/predict',\n inputComponent: SerialDefectInputComponent,\n modelType: ModelType.SerialDefect,\n localVersion: 0,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-2',\n outputComponent: SerialDefect102OutputComponent,\n friendlyName: 'Serial Defect 1.0.2',\n serviceName: 'serial-defect-1-0-2',\n calculationRoute: '/predict',\n inputComponent: SerialDefect102InputComponent,\n modelType: ModelType.SerialDefect,\n localVersion: 1,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-3',\n outputComponent: SerialDefect103OutputComponent,\n friendlyName: 'Serial Defect 1.0.3',\n serviceName: 'serial-defect-1-0-3',\n calculationRoute: '/predict',\n inputComponent: SerialDefect103InputComponent,\n modelType: ModelType.SerialDefect,\n localVersion: 2,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-4',\n outputComponent: SerialDefect104OutputComponent,\n friendlyName: 'Serial Defect 1.0.4',\n serviceName: 'serial-defect-1-0-4',\n calculationRoute: '/predict',\n inputComponent: SerialDefect104InputComponent,\n modelType: ModelType.SerialDefect,\n localVersion: 3,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-5',\n outputComponent: SerialDefect105OutputComponent,\n friendlyName: 'Serial Defect 1.0.5',\n serviceName: 'serial-defect-1-0-5',\n calculationRoute: '/predict',\n inputComponent: SerialDefect105InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-6',\n outputComponent: SerialDefect106OutputComponent,\n friendlyName: 'Serial Defect 1.0.6',\n serviceName: 'serial-defect-1-0-6',\n calculationRoute: '/predict',\n inputComponent: SerialDefect106InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 5,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-7',\n outputComponent: SerialDefect107OutputComponent,\n friendlyName: 'Serial Defect 1.0.7',\n serviceName: 'serial-defect-1-0-7',\n calculationRoute: '/predict',\n inputComponent: SerialDefect107InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 6,\n },\n {\n inputComponentRoute: 'serial-defect-1-0-72',\n outputComponent: SerialDefect1072OutputComponent,\n friendlyName: 'Serial Defect 1.0.72',\n serviceName: 'serial-defect-1-0-72',\n calculationRoute: '/predict',\n inputComponent: SerialDefect1072InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 6,\n },\n {\n inputComponentRoute: 'serial-defect-1-1-0',\n outputComponent: SerialDefect110OutputComponent,\n friendlyName: 'Serial Defect 1.1.0',\n serviceName: 'serial-defect-1-1-0',\n calculationRoute: '/predict',\n inputComponent: SerialDefect110InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 7,\n },\n {\n inputComponentRoute: 'power-curve-0-1-0',\n outputComponent: PowerCurveOutputComponent,\n friendlyName: 'Power Curve 0.1.0',\n serviceName: 'powercurve-risk-calc-0-1',\n calculationRoute: '/predict',\n inputComponent: PowerCurveInputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 0,\n },\n {\n inputComponentRoute: 'power-curve-0-2-0',\n outputComponent: PowerCurve020OutputComponent,\n friendlyName: 'Power Curve 0.2.0',\n serviceName: 'powercurve-risk-calc-0-2',\n calculationRoute: '/predict',\n inputComponent: PowerCurve020InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 1,\n },\n {\n inputComponentRoute: 'power-curve-0-3-1',\n outputComponent: PowerCurve030OutputComponent,\n friendlyName: 'Power Curve 0.3.1',\n serviceName: 'powercurve-risk-calc-0-3-1',\n calculationRoute: '/predict',\n inputComponent: PowerCurve030InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 2,\n },\n {\n inputComponentRoute: 'power-curve-0-3-3',\n outputComponent: PowerCurve033OutputComponent,\n friendlyName: 'Power Curve 0.3.3',\n serviceName: 'powercurve-risk-calc-0-3-3',\n calculationRoute: '/predict',\n inputComponent: PowerCurve033InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 3,\n },\n {\n inputComponentRoute: 'power-curve-2-2-5',\n outputComponent: PowerCurve225OutputComponent,\n friendlyName: 'Power Curve 2.2.5',\n serviceName: 'powercurve-risk-calc-2-2-5',\n calculationRoute: '/predict',\n inputComponent: PowerCurve225InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'power-curve-2-2-6',\n outputComponent: PowerCurve226OutputComponent,\n friendlyName: 'Power Curve 2.2.6',\n serviceName: 'powercurve-risk-calc-2-2-6',\n calculationRoute: '/predict',\n inputComponent: PowerCurve226InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'power-curve-2',\n outputComponent: PowerCurve226OutputComponent,\n friendlyName: 'Power Curve 2',\n serviceName: 'powercurve-risk-calc-2',\n calculationRoute: '/predict',\n inputComponent: PowerCurve226InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'power-curve-3',\n outputComponent: PowerCurve300OutputComponent,\n friendlyName: 'Power Curve 3',\n serviceName: 'powercurve-risk-calc-3',\n calculationRoute: '/predict',\n inputComponent: PowerCurve300InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'power-curve-4',\n outputComponent: PowerCurve400OutputComponent,\n friendlyName: 'Power Curve 4',\n serviceName: 'powercurve-risk-calc-4',\n calculationRoute: '/predict',\n inputComponent: PowerCurve400InputComponent,\n propertyNamesMapper: PowerCurveModelPropertyNames,\n modelType: ModelType.PowerCurve,\n localVersion: 4,\n },\n {\n inputComponentRoute: 'serial-defect-1',\n outputComponent: SerialDefect110OutputComponent,\n friendlyName: 'Serial Defect 1',\n serviceName: 'serial-defect-1',\n calculationRoute: '/predict',\n inputComponent: SerialDefect110InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 7,\n },\n {\n inputComponentRoute: 'serial-defect-2',\n outputComponent: SerialDefect200OutputComponent,\n friendlyName: 'Serial Defect 2',\n serviceName: 'serial-defect-2',\n calculationRoute: '/predict',\n inputComponent: SerialDefect200InputComponent,\n propertyNamesMapper: SerialDefectModelPropertyNames,\n modelType: ModelType.SerialDefect,\n localVersion: 7,\n },\n ];\n\n public MapToViews(models: WarrantyModelTs[]): ModelViewValue[] {\n const implicitModels = models.filter(o => this.calculationModels.findIndex(i => i.serviceName == o.serviceName) < 0);\n this.updateModels(implicitModels);\n\n const availableModels = models.map(m => this.calculationModels.find(x => x.serviceName === m.serviceName)).sort((a, b) => {\n return a.modelType > b.modelType ? 1 : a.modelType == b.modelType ? (a.localVersion < b.localVersion ? 1 : -1) : -1;\n }).filter(m => m !== undefined);\n\n return availableModels;\n }\n\n\n public GetModelByServiceName(serviceName: string): ModelViewValue\n {\n let existingModel = this.calculationModels.find(m=>m.serviceName==serviceName);\n if (existingModel) {\n return existingModel;\n }\n\n const parentServiceName = this.sliceVersion(serviceName, '-');\n const parentModel = this.calculationModels.find(m=>m.serviceName==parentServiceName);\n const versionAray = serviceName.split('-');\n const minorVersion = versionAray.slice(Math.max(versionAray.length - 2, 0)).join('-');\n\n if (parentModel) {\n let minorViewModel: ModelViewValue = {\n friendlyName: parentModel.friendlyName + '.' + minorVersion.replace('-','.'),\n calculationRoute: parentModel.calculationRoute,\n inputComponentRoute: parentModel.inputComponentRoute + '-' + minorVersion,\n localVersion: parentModel.localVersion,\n modelType: parentModel.modelType,\n inputComponent: parentModel.inputComponent,\n outputComponent: parentModel.outputComponent,\n propertyNamesMapper: parentModel.propertyNamesMapper,\n serviceName: serviceName,\n };\n return minorViewModel;\n }\n\n return null;\n }\n\n\n private updateModels(excludedModels: WarrantyModelTs[]) {\n excludedModels.forEach(m => {\n const minorViewModel = this.GetModelByServiceName(m.serviceName)\n if(minorViewModel)\n {\n this.implicitModels.push(minorViewModel);\n this.router.config.find(b => b.path == \"calculations/create\").children.push({ path: minorViewModel.inputComponentRoute, component: minorViewModel.inputComponent });\n // this.router.config.find(a=>a.path==\"warranty\").children[0].children.find(b=>b.path==\"create\").children.push({ path: minorViewModel.inputComponentRoute, component: minorViewModel.inputComponent });\n }\n });\n\n this.implicitModels.forEach(im => this.calculationModels.push(im));\n }\n\n private sliceVersion(inputModelName: string, separ: string): string {\n return inputModelName.split(separ).slice(0, -2).join(separ);\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTEwL2ljaW5nLW1vZGVsLTItMC0xMC1pbnB1dC9pY2luZy1tb2RlbC0yLTAtMTAtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtMTAvaWNpbmctbW9kZWwtMi0wLTEwLWlucHV0L2ljaW5nLW1vZGVsLTItMC0xMC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtMTAvaWNpbmctbW9kZWwtMi0wLTEwLWlucHV0L2ljaW5nLW1vZGVsLTItMC0xMC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-2-0-10-input',\n templateUrl: './icing-model-2-0-10-input.component.html',\n styleUrls: ['./icing-model-2-0-10-input.component.less'],\n})\nexport class IcingModel2010InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('60', [Validators.required, Validators.min(0), Validators.max(60)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.icing_severity = this.convertPercentToFraction(formValues.icing_severity);\n formValues.warranted_imr = this.convertPercentToFraction(formValues.warranted_imr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-10-output',\n templateUrl: './icing-model-2-0-10-output.component.html',\n})\nexport class IcingModel2010OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTEyL2ljaW5nLW1vZGVsLTItMC0xMi1pbnB1dC9pY2luZy1tb2RlbC0yLTAtMTItaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtMTIvaWNpbmctbW9kZWwtMi0wLTEyLWlucHV0L2ljaW5nLW1vZGVsLTItMC0xMi1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtMTIvaWNpbmctbW9kZWwtMi0wLTEyLWlucHV0L2ljaW5nLW1vZGVsLTItMC0xMi1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-2-0-12-input',\n templateUrl: './icing-model-2-0-12-input.component.html',\n styleUrls: ['./icing-model-2-0-12-input.component.less'],\n})\nexport class IcingModel2012InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('60', [Validators.required, Validators.min(0), Validators.max(60)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.icing_severity = this.convertPercentToFraction(formValues.icing_severity);\n formValues.warranted_imr = this.convertPercentToFraction(formValues.warranted_imr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-12-output',\n templateUrl: './icing-model-2-0-12-output.component.html',\n})\nexport class IcingModel2012OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTUvaWNpbmctbW9kZWwtMi0wLTUtaW5wdXQvaWNpbmctbW9kZWwtMi0wLTUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNS9pY2luZy1tb2RlbC0yLTAtNS1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNS9pY2luZy1tb2RlbC0yLTAtNS1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-icing-model-2-0-5-input',\n templateUrl: './icing-model-2-0-5-input.component.html',\n styleUrls: ['./icing-model-2-0-5-input.component.less'],\n})\nexport class IcingModel205InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n subscription: Subscription;\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(0.4), Validators.max(0.7)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n icing_severity: this.calculationOutput.request.calculationInput.icing_severity,\n warranted_imr: this.calculationOutput.request.calculationInput.warranted_imr,\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-5-output',\n templateUrl: './icing-model-2-0-5-output.component.html',\n})\nexport class IcingModel205OutputComponent extends CalculationModelOutputBase implements OnInit {\n public modelName = '';\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTYvaWNpbmctbW9kZWwtMi0wLTYtaW5wdXQvaWNpbmctbW9kZWwtMi0wLTYtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNi9pY2luZy1tb2RlbC0yLTAtNi1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNi1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNi9pY2luZy1tb2RlbC0yLTAtNi1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNi1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-icing-model-2-0-6-input',\n templateUrl: './icing-model-2-0-6-input.component.html',\n styleUrls: ['./icing-model-2-0-6-input.component.less'],\n})\nexport class IcingModel206InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n subscription: Subscription;\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(0.4), Validators.max(0.7)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n icing_severity: this.calculationOutput.request.calculationInput.icing_severity,\n warranted_imr: this.calculationOutput.request.calculationInput.warranted_imr,\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-6-output',\n templateUrl: './icing-model-2-0-6-output.component.html',\n})\nexport class IcingModel206OutputComponent extends CalculationModelOutputBase implements OnInit {\n public modelName = '';\n\n constructor() {\n super();\n }\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTcvaWNpbmctbW9kZWwtMi0wLTctaW5wdXQvaWNpbmctbW9kZWwtMi0wLTctaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNy9pY2luZy1tb2RlbC0yLTAtNy1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNy1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtNy9pY2luZy1tb2RlbC0yLTAtNy1pbnB1dC9pY2luZy1tb2RlbC0yLTAtNy1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-icing-model-2-0-7-input',\n templateUrl: './icing-model-2-0-7-input.component.html',\n styleUrls: ['./icing-model-2-0-7-input.component.less'],\n})\nexport class IcingModel207InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n subscription: Subscription;\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(0.4), Validators.max(0.7)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n icing_severity: this.calculationOutput.request.calculationInput.icing_severity,\n warranted_imr: this.calculationOutput.request.calculationInput.warranted_imr,\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-7-output',\n templateUrl: './icing-model-2-0-7-output.component.html',\n})\nexport class IcingModel207OutputComponent extends CalculationModelOutputBase implements OnInit {\n public modelName = '';\n\n constructor() {\n super();\n }\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTgvaWNpbmctbW9kZWwtMi0wLTgtaW5wdXQvaWNpbmctbW9kZWwtMi0wLTgtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOC9pY2luZy1tb2RlbC0yLTAtOC1pbnB1dC9pY2luZy1tb2RlbC0yLTAtOC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOC9pY2luZy1tb2RlbC0yLTAtOC1pbnB1dC9pY2luZy1tb2RlbC0yLTAtOC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-icing-model-2-0-8-input',\n templateUrl: './icing-model-2-0-8-input.component.html',\n styleUrls: ['./icing-model-2-0-8-input.component.less'],\n})\nexport class IcingModel208InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(0.15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(0.4), Validators.max(0.7)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity ? data.inputData.icing_severity : 0.01,\n warranted_imr: data.inputData.warranted_imr ? data.inputData.warranted_imr : 0.4,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.calculationOutput.request.calculationInput.icing_severity,\n warranted_imr: this.calculationOutput.request.calculationInput.warranted_imr,\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-8-output',\n templateUrl: './icing-model-2-0-8-output.component.html',\n})\nexport class IcingModel208OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n\n public modelName = '';\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTkvaWNpbmctbW9kZWwtMi0wLTktaW5wdXQvaWNpbmctbW9kZWwtMi0wLTktaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOS9pY2luZy1tb2RlbC0yLTAtOS1pbnB1dC9pY2luZy1tb2RlbC0yLTAtOS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOS9pY2luZy1tb2RlbC0yLTAtOS1pbnB1dC9pY2luZy1tb2RlbC0yLTAtOS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-2-0-9-input',\n templateUrl: './icing-model-2-0-9-input.component.html',\n styleUrls: ['./icing-model-2-0-9-input.component.less'],\n})\nexport class IcingModel209InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('24', [Validators.required, Validators.min(0), Validators.max(30)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-9-output',\n templateUrl: './icing-model-2-0-9-output.component.html',\n})\nexport class IcingModel209OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMi0wLTkxL2ljaW5nLW1vZGVsLTItMC05MS1pbnB1dC9pY2luZy1tb2RlbC0yLTAtOTEtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOTEvaWNpbmctbW9kZWwtMi0wLTkxLWlucHV0L2ljaW5nLW1vZGVsLTItMC05MS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0yLTAtOTEvaWNpbmctbW9kZWwtMi0wLTkxLWlucHV0L2ljaW5nLW1vZGVsLTItMC05MS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-2-0-91-input',\n templateUrl: './icing-model-2-0-91-input.component.html',\n styleUrls: ['./icing-model-2-0-91-input.component.less'],\n})\nexport class IcingModel2091InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('24', [Validators.required, Validators.min(0), Validators.max(30)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-2-0-91-output',\n templateUrl: './icing-model-2-0-91-output.component.html',\n})\nexport class IcingModel2091OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMy0wLTAvaWNpbmctbW9kZWwtMy0wLTAtaW5wdXQvaWNpbmctbW9kZWwtMy0wLTAtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0zLTAtMC9pY2luZy1tb2RlbC0zLTAtMC1pbnB1dC9pY2luZy1tb2RlbC0zLTAtMC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0zLTAtMC9pY2luZy1tb2RlbC0zLTAtMC1pbnB1dC9pY2luZy1tb2RlbC0zLTAtMC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-3-0-0-input',\n templateUrl: './icing-model-3-0-0-input.component.html',\n styleUrls: ['./icing-model-3-0-0-input.component.less'],\n})\nexport class IcingModel300InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public npairValues = Array(4) // 1..4\n .fill(0)\n .map((x, i) => i + 1);\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('30', [Validators.required, Validators.min(0), Validators.max(60)]),\n npair: new FormControl(1, [Validators.required, Validators.min(1), Validators.max(4)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n npair: data.inputData.npair ? data.inputData.npair : 1,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n npair: this.calculationOutput.request.calculationInput.npair,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.icing_severity = this.convertPercentToFraction(formValues.icing_severity);\n formValues.warranted_imr = this.convertPercentToFraction(formValues.warranted_imr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-3-0-0-output',\n templateUrl: './icing-model-3-0-0-output.component.html',\n})\nexport class IcingModel300OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n\n ngOnInit() {}\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwtMy0wLTEvaWNpbmctbW9kZWwtMy0wLTEtaW5wdXQvaWNpbmctbW9kZWwtMy0wLTEtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0zLTAtMS9pY2luZy1tb2RlbC0zLTAtMS1pbnB1dC9pY2luZy1tb2RlbC0zLTAtMS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC0zLTAtMS9pY2luZy1tb2RlbC0zLTAtMS1pbnB1dC9pY2luZy1tb2RlbC0zLTAtMS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { IcingModelPropertyNames } from './../../model-property-names/icing.model-property-names';\n\n@Component({\n selector: 'app-icing-model-3-0-1-input',\n templateUrl: './icing-model-3-0-1-input.component.html',\n styleUrls: ['./icing-model-3-0-1-input.component.less'],\n})\nexport class IcingModel301InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public npairValues = Array(4) // 1..4\n .fill(0)\n .map((x, i) => i + 1);\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required, Validators.min(1), Validators.max(15)]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(10), Validators.max(80)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0), Validators.max(30)]),\n notification_period: new FormControl('30', [Validators.required, Validators.min(0), Validators.max(60)]),\n npair: new FormControl(1, [Validators.required, Validators.min(1), Validators.max(4)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n //301-test2\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n icing_severity: data.inputData.icing_severity\n ? this.convertFractionToPercent(data.inputData.icing_severity)\n : 1,\n warranted_imr: data.inputData.warranted_imr\n ? this.convertFractionToPercent(data.inputData.warranted_imr)\n : 40,\n agreed_ice_loss: data.inputData.agreed_ice_loss ? data.inputData.agreed_ice_loss : 0,\n electricity_price: data.inputData.electricity_price ? data.inputData.electricity_price : 0,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n n_years: data.inputData.n_years ? data.inputData.n_years : 0,\n notification_period: data.inputData.notification_period ? data.inputData.notification_period : 0,\n npair: data.inputData.npair ? data.inputData.npair : 1,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n getPropertyLabel(propertyName: string): string {\n return IcingModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n icing_severity: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.icing_severity),\n warranted_imr: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.warranted_imr),\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n notification_period: this.calculationOutput.request.calculationInput.notification_period,\n npair: this.calculationOutput.request.calculationInput.npair,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.icing_severity = this.convertPercentToFraction(formValues.icing_severity);\n formValues.warranted_imr = this.convertPercentToFraction(formValues.warranted_imr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-3-0-1-output',\n templateUrl: './icing-model-3-0-1-output.component.html',\n})\nexport class IcingModel301OutputComponent extends CalculationModelOutputBase implements OnInit {\n constructor() {\n super();\n }\n public modelName = '';\n\n ngOnInit() {}\n}\n","export default \".host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvaWNpbmctbW9kZWwvaWNpbmctbW9kZWwtaW5wdXQvaWNpbmctbW9kZWwtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC9pY2luZy1tb2RlbC1pbnB1dC9pY2luZy1tb2RlbC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9pY2luZy1tb2RlbC9pY2luZy1tb2RlbC1pbnB1dC9pY2luZy1tb2RlbC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiLmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from './../../../calculations-model-communication.service';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-icing-model-input',\n templateUrl: './icing-model-input.component.html',\n styleUrls: ['./icing-model-input.component.less']\n})\nexport class IcingModelInputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n subscription: Subscription;\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n icing_severity: new FormControl('', [Validators.required]),\n warranted_imr: new FormControl('', [Validators.required, Validators.min(0.4), Validators.max(0.7)]),\n agreed_ice_loss: new FormControl('', [Validators.required, Validators.min(0)]),\n electricity_price: new FormControl('', [Validators.required, Validators.min(0)]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n n_years: new FormControl('', [Validators.required, Validators.min(0)]),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n validateImrStep(event) {\n event.target.valueAsNumber = Math.round(event.target.valueAsNumber * 20) / 20;\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n icing_severity: this.calculationOutput.request.calculationInput.icing_severity,\n warranted_imr: this.calculationOutput.request.calculationInput.warranted_imr,\n agreed_ice_loss: this.calculationOutput.request.calculationInput.agreed_ice_loss,\n electricity_price: this.calculationOutput.request.calculationInput.electricity_price,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n n_years: this.calculationOutput.request.calculationInput.n_years,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-icing-model-output',\n templateUrl: './icing-model-output.component.html',\n})\nexport class IcingModelOutputComponent extends CalculationModelOutputBase implements OnInit {\n public modelName = '';\n\n constructor() {\n super();\n }\n\n ngOnInit() {}\n}\n","export const IcingModelPropertyNames: Map = new Map([\n ['icing_severity', 'Icing Severity'],\n ['warranted_imr', 'Warranted IMR'],\n ['agreed_ice_loss', 'Agreed Ice Loss'],\n ['electricity_price', 'Electricity Price'],\n ['n_years', 'Number of Years'],\n ['defect_notification_period', 'Notification Period'],\n ['notification_period', 'Notification Period'],\n ['npair', 'Number of test pairs'],\n]);\n","export const PowerCurveModelPropertyNames: Map = new Map([\n ['Input.project_name', 'Project Name'],\n ['Input.region', 'Region'],\n ['Input.type', 'Turbine Type'],\n ['Input.hub_height', 'Hub Height'],\n ['Input.proj_size', 'Project Size (# WTGs)'],\n ['Input.terrain_complexity', 'Terrain Complexity'],\n ['Input.rec_nominated_wtg', 'Rec. Nominated WTGs'],\n ['Input.nominated_wtg', 'Nominated WTGs'],\n ['Input.lds_per_1perc', 'LDs per 1%'],\n ['Input.lds_currency', 'LD Currency'],\n ['Input.exchange_rate', 'Exchange Rate'],\n ['Warranty.uncertainty_factor', 'Uncertainty Factor'],\n ['Warranty.mode', 'Warranty Type'],\n ['Warranty.warranty_level', 'Warranty Level'],\n ['Deviations.D1', 'D1 - Uncertainty is fully independent'],\n ['Deviations.D2', 'D2 - New/Different calculation of uncertainty'],\n ['Deviations.D3', 'D3 - Fewer nominated turbines'],\n ['Deviations.D4', 'D4 - Modified probability of testing'],\n ['Deviations.D5', 'D5 - Shorter or no site calibration If required'],\n ['Deviations.D6', 'D6 - Extra test allowed to customer'],\n ['Deviations.D7', 'D7 - Less testing time for 2nd test (Vestas)'],\n ['Deviations.D8', 'D8 - Extended Notification Period'],\n ['Deviations.D9', 'D9 - Non-approved independent engineer'],\n ['Deviations.D10', 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard'],\n ['Deviations.D11', 'D11 - Undetermined time to select nominated turbines'],\n ['Deviations.D12', 'D12 - RNSP Power Curve has been removed'],\n ['Deviations.D13', 'D13 - Neither ISM nor GenSpec Power Curve'],\n ['Deviations.D14', 'D14 - No Inflow Filtering'],\n ['Deviations.D15', 'D15 - Modified TI Filtering'],\n ['Deviations.D16', 'D16 - No Shear Filtering'],\n ['Deviations.D17', 'D17 - Clustering'],\n ['Deviations.D18', 'D18 - Manual Adjustment of Final Value'],\n ['Deviations.D19', 'D19 - Wind veer at R+HH'],\n ['Deviations.D20', 'D20 - Anemometers mounted above hub height'],\n ['Deviations.D21', 'D21 - Shear exponent'],\n ['Deviations.D22', 'D22 - Lidar measurement'],\n ['Corrections.average_velocity', 'Average velocity'],\n ['Corrections.shape_factor', 'Shape Factor (k)'],\n ['Corrections.density', 'Density'],\n ['Corrections.effect_dens_u', 'Effect of density is uncertain'],\n ['Corrections.effect_wind_u', 'Effect of wind distribution on uncertainty'],\n ['Corrections.effect_wind_p', 'Effect of wind distribution on performance'],\n ['Deviations_params.prob_test_manual', 'Modification'],\n ['Deviations_params.months', 'Total Months'],\n ['Deviations_params.inflow_deg', 'Max Inflow'],\n ['Deviations_params.TI_avg', 'TI Distribution Avg.'],\n ['Deviations_params.TI_std', 'TI Distribution Std.'],\n ['Deviations_params.TI_lt_6', 'Remove TI < 6% filter'],\n ['Deviations_params.TI_mt_12', 'Remove TI > 12% filter'],\n ['Deviations_params.cluster', 'Number of clusters'],\n ['Deviations_params.nominated_wtg', 'Nominated WTGs'],\n ['Deviations_params.dp_avg', 'Performance Avg.'],\n ['Deviations_params.dp_std', 'Performance Std.'],\n ['Deviations_params.du_avg', 'Uncertainty Level'],\n ['Deviations_params.wind_veer', 'Veer'],\n ['Deviations_params.shear_exp', 'Shear exponent'],\n ['Deviations_params.tolerance', 'Tolerance'],\n ['Deviations_params.diameter', 'Diameter'],\n ['Deviations_params.ref_height', 'Reference hub height'],\n ['Deviations_params.lidar_equipment', 'Lidar measurement'],\n ['Input.defect_notification_period', 'Notification Period'],\n]);\n","export const SerialDefectModelPropertyNames: Map = new Map([\n ['turbine_type', 'WTG Type'],\n ['threshold', 'Threshold'],\n ['components', 'Included Components'],\n ['parksize', 'Park Size'],\n ['defect_notification_period', 'Notification Period'],\n ['trigger_time_checkbox', 'Rolling Window'],\n ['trigger_time', 'Trigger Time'],\n ['replacement_year', 'Replacement Year'],\n ['replacement_year_checkbox', 'Edit Replacement Year'],\n]);\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMC0xLTAvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTEtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTEtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\n\n@Component({\n selector: 'app-power-curve-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurveInputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly WarrantyTypes: WarrantyType[] = [\n { id: 0, enumValue: 'Fixed warranty level', displayName: 'W2 - Fixed Warranty Level (No Uncertainty)' },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n rec_nominated_wtg: new FormControl('', [Validators.required, Validators.min(0)]),\n nominated_wtg: new FormControl(3, [Validators.required, Validators.min(1), Validators.max(5)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl(null, [Validators.required]),\n exchange_rate: new FormControl('', [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.225, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(24)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(100, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n ref_height: new FormControl(112),\n }),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n setupConditionalValidation() {\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.months').setValidators([Validators.required, Validators.min(12)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n rec_nominated_wtg: this.calculationOutput.request.calculationInput.Input.rec_nominated_wtg,\n nominated_wtg: this.calculationOutput.request.calculationInput.Input.nominated_wtg,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {}\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-power-curve-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurveOutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\n\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.rec_nominated_wtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominated_wtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params.prob_test_manual}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dp_avg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.du_avg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.P_avg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.sig_P)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.final_warranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.prob_of_test * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.risk_1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.risk_2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.risk_ld * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.tcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.gross_cost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.cost_ci} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.cost_baseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.cluster_cost) {\n clusterCost += `${calculation.result.result.cluster_cost} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.cluster_risk) {\n clusterRisk += `${calculation.result.result.cluster_risk}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMC0yLTAvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTItMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTItMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-0-2-0-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve020InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly WarrantyTypes: WarrantyType[] = [\n { id: 0, enumValue: 'Fixed warranty level', displayName: 'W2 - Fixed Warranty Level (No Uncertainty)' },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n rec_nominated_wtg: new FormControl('', [Validators.required, Validators.min(0)]),\n nominated_wtg: new FormControl(3, [Validators.required, Validators.min(1), Validators.max(5)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl(null, [Validators.required]),\n exchange_rate: new FormControl('', [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.25)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.225, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(24)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(100, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n }),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n rec_nominated_wtg: data.inputData.Input.rec_nominated_wtg ? data.inputData.Input.rec_nominated_wtg : 0,\n nominated_wtg: data.inputData.Input.nominated_wtg ? data.inputData.Input.nominated_wtg : 0,\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? data.inputData.Deviations_params.prob_test_manual\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : 0,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : 0,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.months').setValidators([Validators.required, Validators.min(12)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n rec_nominated_wtg: this.calculationOutput.request.calculationInput.Input.rec_nominated_wtg,\n nominated_wtg: this.calculationOutput.request.calculationInput.Input.nominated_wtg,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {}\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-power-curve-0-2-0-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve020OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\n\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.rec_nominated_wtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominated_wtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params.prob_test_manual}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dp_avg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.du_avg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.P_avg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.sig_P)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.final_warranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.prob_of_test * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.risk_1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.risk_2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.risk_ld * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.tcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.gross_cost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.cost_ci} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.cost_baseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.cluster_cost) {\n clusterCost += `${calculation.result.result.cluster_cost} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.cluster_risk) {\n clusterRisk += `${calculation.result.result.cluster_risk}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMC0zLTEvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTMtMS9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTMtMS9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-0-3-1-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve030InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.25)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.225, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-power-curve-0-3-1-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve030OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.rec_nominated_wtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominated_wtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dp_avg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.du_avg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.nominated_wtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.rec_nominated_wtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.P_avg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.sig_P)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.final_warranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.prob_of_test * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.risk_1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.risk_2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.risk_ld * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.tcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.gross_cost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.cost_ci} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.cost_baseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.cluster_cost) {\n clusterCost += `${Number(calculation.result.result.cluster_cost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.cluster_risk) {\n clusterRisk += `${Number(calculation.result.result.cluster_risk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMC0zLTMvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTMtMy9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0wLTMtMy9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-0-3-3-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve033InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.25)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.225, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { Component } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-power-curve-0-3-3-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve033OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.recNominatedWtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominatedWtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dperformanceAvg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.duncertaintyAvg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.nominatedWtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.recNominatedWtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.modelOutput.performanceAvg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.modelOutput.performanceSigma)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.modelOutput.finalWarranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.modelOutput.probOfTesting * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.modelOutput.riskOfLD * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.modelOutput.requiresTcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.modelOutput.grossCost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.modelOutput.costCi} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.modelOutput.costBaseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.modelOutput.clusterCost) {\n clusterCost += `${Number(calculation.result.result.modelOutput.clusterCost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.modelOutput.clusterRisk) {\n clusterRisk += `${Number(calculation.result.result.modelOutput.clusterRisk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMi0yLTUvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0yLTItNS9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0yLTItNS9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { ApplicationRef, Component, ComponentFactoryResolver, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-2-2-5-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve225InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.25)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.225, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n this.modelCommunicationService.emitEditButtonClicked(false);\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { ApplicationRef, Component, ComponentFactoryResolver, EmbeddedViewRef, Injector } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../../../calculations/calculations-create/calculations-model-communication.service';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { PowerCurveMatrixComponent } from '../../shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\n\n@Component({\n selector: 'app-power-curve-2-2-5-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve225OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n public isMatrixLoading: boolean = true;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n\n private communicationService: CalculationsModelCommunicationService,\n ) {\n super();\n }\n\n public onMatrixCellClicked(): void {\n this.openMatrixWindow();\n }\n\n public ngOnInit() {\n this.isMatrixLoading = true;\n this.subscriptions.push(\n this.communicationService.isCalculationMatrixRunningEmitted.subscribe(isCalculationMatrixRunning => {\n this.isMatrixLoading = isCalculationMatrixRunning;\n }),\n this.communicationService.isEditButtonEmitted.subscribe(editClicked => {\n if (editClicked === true && this.isMatrixLoading === true) {\n this.isMatrixLoading = false;\n }\n }),\n );\n }\n\n openMatrixWindow(): void {\n const factory = this.componentFactoryResolver.resolveComponentFactory(PowerCurveMatrixComponent);\n const componentRef = factory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n const htmlElement = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n\n setTimeout(() => {\n const elem = htmlElement\n .getElementsByClassName('highcharts-legend-item')\n .item(0)\n .getElementsByTagName('rect')\n .item(0);\n const fillValue = elem.getAttribute('fill');\n const str = fillValue.slice(fillValue.lastIndexOf('#'));\n const res = `url(${str}`;\n elem.setAttribute('fill', res);\n\n const matrixWindow = window.open();\n const matrixDocument = matrixWindow.document;\n const titleNode = this.createMatrixWindowTitleNode();\n matrixDocument.head.appendChild(titleNode);\n document.querySelectorAll('meta, base, link, style').forEach(element => {\n matrixDocument.head.appendChild(element.cloneNode(true));\n });\n matrixDocument.body.append(htmlElement);\n }, 1500);\n }\n\n createMatrixWindowTitleNode(): HTMLTitleElement {\n const titleNode = document.createElement('title');\n const titleText = document.createTextNode('Warranty PCV Matrix');\n titleNode.appendChild(titleText);\n\n return titleNode;\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.recNominatedWtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominatedWtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dperformanceAvg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.duncertaintyAvg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.nominatedWtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.recNominatedWtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.modelOutput.performanceAvg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.modelOutput.performanceSigma)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.modelOutput.finalWarranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.modelOutput.probOfTesting * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.modelOutput.riskOfLD * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.modelOutput.requiresTcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.modelOutput.grossCost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.modelOutput.costCi} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.modelOutput.costBaseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.modelOutput.clusterCost) {\n clusterCost += `${Number(calculation.result.result.modelOutput.clusterCost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.modelOutput.clusterRisk) {\n clusterRisk += `${Number(calculation.result.result.modelOutput.clusterRisk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMi0yLTYvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0yLTItNi9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0yLTItNi9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { ApplicationRef, Component, ComponentFactoryResolver, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-2-2-6-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve226InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(100000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.26)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.226, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n this.modelCommunicationService.emitEditButtonClicked(false);\n this.processPercentValues(this.form.getRawValue());\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n }\n\n processPercentValues(formValues: any) {\n formValues.Deviations_params.prob_test_manual = this.convertPercentToFraction(formValues.Deviations_params.prob_test_manual);\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { ApplicationRef, Component, ComponentFactoryResolver, EmbeddedViewRef, Injector } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../../../calculations/calculations-create/calculations-model-communication.service';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { PowerCurveMatrixComponent } from '../../shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\n\n@Component({\n selector: 'app-power-curve-2-2-6-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve226OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n public isMatrixLoading: boolean = true;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n\n private communicationService: CalculationsModelCommunicationService,\n ) {\n super();\n }\n\n public onMatrixCellClicked(): void {\n this.openMatrixWindow();\n }\n\n public ngOnInit() {\n this.isMatrixLoading = true;\n this.subscriptions.push(\n this.communicationService.isCalculationMatrixRunningEmitted.subscribe(isCalculationMatrixRunning => {\n this.isMatrixLoading = isCalculationMatrixRunning;\n }),\n this.communicationService.isEditButtonEmitted.subscribe(editClicked => {\n if (editClicked === true && this.isMatrixLoading === true) {\n this.isMatrixLoading = false;\n }\n }),\n );\n }\n\n openMatrixWindow(): void {\n const factory = this.componentFactoryResolver.resolveComponentFactory(PowerCurveMatrixComponent);\n const componentRef = factory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n const htmlElement = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n\n setTimeout(() => {\n const elem = htmlElement\n .getElementsByClassName('highcharts-legend-item')\n .item(0)\n .getElementsByTagName('rect')\n .item(0);\n const fillValue = elem.getAttribute('fill');\n const str = fillValue.slice(fillValue.lastIndexOf('#'));\n const res = `url(${str}`;\n elem.setAttribute('fill', res);\n\n const matrixWindow = window.open();\n const matrixDocument = matrixWindow.document;\n const titleNode = this.createMatrixWindowTitleNode();\n matrixDocument.head.appendChild(titleNode);\n document.querySelectorAll('meta, base, link, style').forEach(element => {\n matrixDocument.head.appendChild(element.cloneNode(true));\n });\n matrixDocument.body.append(htmlElement);\n }, 1500);\n }\n\n createMatrixWindowTitleNode(): HTMLTitleElement {\n const titleNode = document.createElement('title');\n const titleText = document.createTextNode('Warranty PCV Matrix');\n titleNode.appendChild(titleText);\n\n return titleNode;\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.recNominatedWtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominatedWtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dperformanceAvg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.duncertaintyAvg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.nominatedWtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.recNominatedWtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.modelOutput.performanceAvg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.modelOutput.performanceSigma)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.modelOutput.finalWarranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.modelOutput.probOfTesting * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.modelOutput.riskOfLD * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.modelOutput.requiresTcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.modelOutput.grossCost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.modelOutput.costCi} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.modelOutput.costBaseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.modelOutput.clusterCost) {\n clusterCost += `${Number(calculation.result.result.modelOutput.clusterCost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.modelOutput.clusterRisk) {\n clusterRisk += `${Number(calculation.result.result.modelOutput.clusterRisk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtMy0wLTAvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0zLTAtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS0zLTAtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { ApplicationRef, Component, ComponentFactoryResolver, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\n\n@Component({\n selector: 'app-power-curve-3-0-0-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve300InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = ['2MW Platform Generic', '3/4MW platform Generic*', '3MW - V90'];\n public readonly Terrains = ['Flat terrain', 'Complex terrain'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n public readonly Lidars = [\"Ground-based Lidar\", \"Nacelle-based Lidar\"];\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(0), Validators.max(300)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n terrain_complexity: new FormControl(null, [Validators.required]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(10000000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.26)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(false),\n D22: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.226, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(200)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n lidar_equipment: new FormControl(\"\"),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n }\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n type: data.inputData.Input.type ? data.inputData.Input.type : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n terrain_complexity: data.inputData.Input.terrain_complexity ? data.inputData.Input.terrain_complexity : '',\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : false,\n D22: data.inputData.Deviations.D22 ? data.inputData.Deviations.D22 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n lidar_equipment: data.inputData.Deviations_params.lidar_equipment ? data.inputData.Deviations_params.lidar_equipment : \"\",\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(200)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.diameter').setValue(80);\n\n this.form.get('Deviations_params.ref_height').clearValidators();\n this.form.get('Deviations_params.ref_height').setValue(112);\n }\n });\n this.form.get('Deviations.D22').valueChanges.subscribe(value => {\n\n if (value) {\n this.form\n .get('Deviations_params.lidar_equipment')\n .setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.lidar_equipment').clearValidators();\n this.form.get('Deviations_params.lidar_equipment').setValue(\"\");\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n type: this.calculationOutput.request.calculationInput.Input.type,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n terrain_complexity: this.calculationOutput.request.calculationInput.Input.terrain_complexity,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n D22: this.calculationOutput.request.calculationInput.Deviations.D22,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n lidar_equipment: this.calculationOutput.request.calculationInput.Deviations_params.lidar_equipment,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n this.modelCommunicationService.emitEditButtonClicked(false);\n this.processPercentValues(this.form.getRawValue());\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n }\n\n processPercentValues(formValues: any) {\n formValues.Deviations_params.prob_test_manual = this.convertPercentToFraction(formValues.Deviations_params.prob_test_manual);\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { ApplicationRef, Component, ComponentFactoryResolver, EmbeddedViewRef, Injector } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../../../calculations/calculations-create/calculations-model-communication.service';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { PowerCurveMatrixComponent } from '../../shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\n\n@Component({\n selector: 'app-power-curve-3-0-0-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve300OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n public isMatrixLoading: boolean = true;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n\n private communicationService: CalculationsModelCommunicationService,\n ) {\n super();\n }\n\n public onMatrixCellClicked(): void {\n this.openMatrixWindow();\n }\n\n public ngOnInit() {\n this.isMatrixLoading = true;\n this.subscriptions.push(\n this.communicationService.isCalculationMatrixRunningEmitted.subscribe(isCalculationMatrixRunning => {\n this.isMatrixLoading = isCalculationMatrixRunning;\n }),\n this.communicationService.isEditButtonEmitted.subscribe(editClicked => {\n if (editClicked === true && this.isMatrixLoading === true) {\n this.isMatrixLoading = false;\n }\n }),\n );\n }\n\n openMatrixWindow(): void {\n const factory = this.componentFactoryResolver.resolveComponentFactory(PowerCurveMatrixComponent);\n const componentRef = factory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n const htmlElement = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n\n setTimeout(() => {\n const elem = htmlElement\n .getElementsByClassName('highcharts-legend-item')\n .item(0)\n .getElementsByTagName('rect')\n .item(0);\n const fillValue = elem.getAttribute('fill');\n const str = fillValue.slice(fillValue.lastIndexOf('#'));\n const res = `url(${str}`;\n elem.setAttribute('fill', res);\n\n const matrixWindow = window.open();\n const matrixDocument = matrixWindow.document;\n const titleNode = this.createMatrixWindowTitleNode();\n matrixDocument.head.appendChild(titleNode);\n document.querySelectorAll('meta, base, link, style').forEach(element => {\n matrixDocument.head.appendChild(element.cloneNode(true));\n });\n matrixDocument.body.append(htmlElement);\n }, 1500);\n }\n\n createMatrixWindowTitleNode(): HTMLTitleElement {\n const titleNode = document.createElement('title');\n const titleText = document.createTextNode('Warranty PCV Matrix');\n titleNode.appendChild(titleText);\n\n return titleNode;\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const terrainComplexity = `Terrain Complexity: ${calculation.request.calculationInput.Input.terrain_complexity}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.recNominatedWtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominatedWtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n terrainComplexity +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dperformanceAvg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.duncertaintyAvg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D22) {\n deviationsString +=\n `D22 - Lidar measurement: ${calculation.request.calculationInput.Deviations_params.lidar_equipment}` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.nominatedWtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.recNominatedWtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.modelOutput.performanceAvg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.modelOutput.performanceSigma)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.modelOutput.finalWarranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.modelOutput.probOfTesting * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.modelOutput.riskOfLD * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.modelOutput.requiresTcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.modelOutput.grossCost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.modelOutput.costCi} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.modelOutput.costBaseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.modelOutput.clusterCost) {\n clusterCost += `${Number(calculation.result.result.modelOutput.clusterCost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.modelOutput.clusterRisk) {\n clusterRisk += `${Number(calculation.result.result.modelOutput.clusterRisk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvcG93ZXItY3VydmUtNC0wLTAvcG93ZXItY3VydmUtaW5wdXQvcG93ZXItY3VydmUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS00LTAtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9wb3dlci1jdXJ2ZS00LTAtMC9wb3dlci1jdXJ2ZS1pbnB1dC9wb3dlci1jdXJ2ZS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { ApplicationRef, Component, ComponentFactoryResolver, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { ModalService } from 'src/app/services/modal.service';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { PowerCurveModelPropertyNames } from '../../model-property-names/power-curve.model-property-names';\nimport { PowerCurveSummaryWriter } from '../power-curve-summary-writer';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { CalculationsService } from '../../../../../services/calculations.service';\nimport { WTGType } from '../../../../../typings';\n\n@Component({\n selector: 'app-power-curve-4-0-0-input',\n templateUrl: './power-curve-input.component.html',\n styleUrls: ['./power-curve-input.component.less']\n})\nexport class PowerCurve400InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public currentWtg : WTGType;\n public WtgTypePlaceholder = \"Select Turbine Type\";\n public WtgTypes: WTGType[] = [];\n public readonly Terrains = ['Flat terrain', 'Complex terrain'];\n public readonly Regions = ['US & Canada', 'Europe', 'Africa', 'LATAM', 'Other'];\n public readonly Curriencies = ['USD', 'Euro'];\n public readonly CurrencyEuro = 'Euro';\n public BladeLength:number = 50;\n public readonly WarrantyTypes: WarrantyType[] = [\n {\n id: 0,\n enumValue: 'Fixed warranty level',\n displayName: 'W2 - Fixed Warranty Level (No Uncertainty)',\n },\n {\n id: 1,\n enumValue: 'Warranty level equal to 100-Uncertainty',\n displayName: 'W3 - Standard Warranty Level of 100% minus Uncertainty Only',\n },\n {\n id: 2,\n enumValue: 'Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n displayName: 'W4 - Modified Warranty level equal to the lesser of WL or 100-Uncertainty, U.',\n },\n {\n id: 3,\n enumValue: 'Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n displayName: 'W5 - Modified Warranty level equal to the greater of WL or 100-Uncertainty, U.',\n },\n ];\n private DefaultWarrantyType(): WarrantyType {\n return this.WarrantyTypes.find(x => x.id === 1);\n }\n public readonly Lidars = [\"Ground-based Lidar\", \"Nacelle-based Lidar\"];\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private calculationService: CalculationsService\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n Input: this.formBuilder.group({\n project_name: new FormControl('', [Validators.required]),\n region: new FormControl(null, [Validators.required]),\n type: new FormControl(null, [Validators.required, Validators.max(this.BladeLength)]),\n hub_height: new FormControl(112, [Validators.required, Validators.min(this.BladeLength), Validators.max(400)]),\n proj_size: new FormControl('', [Validators.required, Validators.min(1), Validators.max(500)]),\n terrain_complexity: new FormControl(null, [Validators.required]),\n lds_per_1perc: new FormControl(50000, [Validators.required, Validators.min(0), Validators.max(10000000)]),\n lds_currency: new FormControl({ value: this.CurrencyEuro, disabled: true }, [Validators.required]),\n exchange_rate: new FormControl({ value: 1, disabled: true }, [Validators.required, Validators.min(0)]),\n }),\n Warranty: this.formBuilder.group({\n uncertainty_factor: new FormControl(1, [Validators.required, Validators.min(0.26)]),\n mode: new FormControl(this.DefaultWarrantyType().enumValue, [Validators.required]),\n warranty_level: new FormControl({ disabled: false, value: 95 }, []),\n }),\n Deviations: this.formBuilder.group({\n D1: new FormControl(false),\n D2: new FormControl(false),\n D3: new FormControl(false),\n D4: new FormControl(false),\n D5: new FormControl(false),\n D6: new FormControl(false),\n D7: new FormControl(false),\n D8: new FormControl(false),\n D9: new FormControl(false),\n D10: new FormControl(false),\n D11: new FormControl(false),\n D12: new FormControl(false),\n D13: new FormControl(false),\n D14: new FormControl(false),\n D15: new FormControl(false),\n D16: new FormControl(false),\n D17: new FormControl(false),\n D18: new FormControl(false),\n D19: new FormControl(false),\n D20: new FormControl(false),\n D21: new FormControl(true),\n D22: new FormControl(false),\n }),\n Corrections: this.formBuilder.group({\n average_velocity: new FormControl(7.5, [Validators.required, Validators.min(0), Validators.max(11)]),\n shape_factor: new FormControl(2.5, [Validators.required, Validators.min(0), Validators.max(5)]),\n density: new FormControl(1.226, [Validators.required, Validators.min(0), Validators.max(2)]),\n effect_dens_u: new FormControl(false),\n effect_wind_u: new FormControl(false),\n effect_wind_p: new FormControl(false),\n }),\n Deviations_params: this.formBuilder.group({\n prob_test_manual: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n months: new FormControl(12, [Validators.min(12), Validators.max(60)]),\n inflow_deg: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n TI_avg: new FormControl(10, [Validators.min(0), Validators.max(100)]),\n TI_std: new FormControl(3, [Validators.min(0), Validators.max(100)]),\n TI_lt_6: new FormControl(false),\n TI_mt_12: new FormControl(false),\n cluster: new FormControl(0),\n dp_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n dp_std: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n du_avg: new FormControl(0, [Validators.min(0), Validators.max(100)]),\n wind_veer: new FormControl(0, [Validators.min(0), Validators.max(180)]),\n shear_exp: new FormControl(0.15, [Validators.min(0), Validators.max(5)]),\n tolerance: new FormControl(0),\n diameter: new FormControl(80, [Validators.min(80), Validators.max(240)]),\n ref_height: new FormControl(112),\n nominated_wtg: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n lidar_equipment: new FormControl(\"\"),\n }),\n notification_period: new FormControl(1, [Validators.min(1), Validators.max(100)]),\n });\n\n this.setupConditionalValidation();\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.patchClonedForm();\n this.subscriptions.push(\n this.calculationService.getSupportedTurbines(this.serviceDetails.serviceName).subscribe(response => {\n if (response.success) {\n this.WtgTypes = response.result;\n }\n }),\n );\n }\n\n this.form.get('Deviations_params.diameter').disable();\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.currentWtg = ({wtgname:data.inputData.Input.type ? data.inputData.Input.type : '',hubheight: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,diameter:data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0});\n this.form.patchValue({\n Input: {\n project_name: data.inputData.Input.project_name ? data.inputData.Input.project_name : '',\n region: data.inputData.Input.region ? data.inputData.Input.region : '',\n hub_height: data.inputData.Input.hub_height ? data.inputData.Input.hub_height : 0,\n proj_size: data.inputData.Input.proj_size ? data.inputData.Input.proj_size : 0,\n terrain_complexity: data.inputData.Input.terrain_complexity ? data.inputData.Input.terrain_complexity : '',\n lds_per_1perc: data.inputData.Input.lds_per_1perc ? data.inputData.Input.lds_per_1perc : 0,\n lds_currency: data.inputData.Input.lds_currency ? data.inputData.Input.lds_currency : '',\n exchange_rate: data.inputData.Input.exchange_rate ? data.inputData.Input.exchange_rate : 0,\n },\n Warranty: {\n uncertainty_factor: data.inputData.Warranty.uncertainty_factor\n ? data.inputData.Warranty.uncertainty_factor\n : 0,\n mode: data.inputData.Warranty.mode ? data.inputData.Warranty.mode : '',\n warranty_level: data.inputData.Warranty.warranty_level ? data.inputData.Warranty.warranty_level : '',\n },\n Deviations: {\n D1: data.inputData.Deviations.D1 ? data.inputData.Deviations.D1 : false,\n D2: data.inputData.Deviations.D2 ? data.inputData.Deviations.D2 : false,\n D3: data.inputData.Deviations.D3 ? data.inputData.Deviations.D3 : false,\n D4: data.inputData.Deviations.D4 ? data.inputData.Deviations.D4 : false,\n D5: data.inputData.Deviations.D5 ? data.inputData.Deviations.D5 : false,\n D6: data.inputData.Deviations.D6 ? data.inputData.Deviations.D6 : false,\n D7: data.inputData.Deviations.D7 ? data.inputData.Deviations.D7 : false,\n D8: data.inputData.Deviations.D8 ? data.inputData.Deviations.D8 : false,\n D9: data.inputData.Deviations.D9 ? data.inputData.Deviations.D9 : false,\n D10: data.inputData.Deviations.D10 ? data.inputData.Deviations.D10 : false,\n D11: data.inputData.Deviations.D11 ? data.inputData.Deviations.D11 : false,\n D12: data.inputData.Deviations.D12 ? data.inputData.Deviations.D12 : false,\n D13: data.inputData.Deviations.D13 ? data.inputData.Deviations.D13 : false,\n D14: data.inputData.Deviations.D14 ? data.inputData.Deviations.D14 : false,\n D15: data.inputData.Deviations.D15 ? data.inputData.Deviations.D15 : false,\n D16: data.inputData.Deviations.D16 ? data.inputData.Deviations.D16 : false,\n D17: data.inputData.Deviations.D17 ? data.inputData.Deviations.D17 : false,\n D18: data.inputData.Deviations.D18 ? data.inputData.Deviations.D18 : false,\n D19: data.inputData.Deviations.D19 ? data.inputData.Deviations.D19 : false,\n D20: data.inputData.Deviations.D20 ? data.inputData.Deviations.D20 : false,\n D21: data.inputData.Deviations.D21 ? data.inputData.Deviations.D21 : true,\n D22: data.inputData.Deviations.D22 ? data.inputData.Deviations.D22 : false,\n },\n Corrections: {\n average_velocity: data.inputData.Corrections.average_velocity\n ? data.inputData.Corrections.average_velocity\n : 0,\n shape_factor: data.inputData.Corrections.shape_factor ? data.inputData.Corrections.shape_factor : 0,\n density: data.inputData.Corrections.density ? data.inputData.Corrections.density : 0,\n effect_dens_u: data.inputData.Corrections.effect_dens_u\n ? data.inputData.Corrections.effect_dens_u\n : false,\n effect_wind_u: data.inputData.Corrections.effect_wind_u\n ? data.inputData.Corrections.effect_wind_u\n : false,\n effect_wind_p: data.inputData.Corrections.effect_wind_p\n ? data.inputData.Corrections.effect_wind_p\n : false,\n },\n Deviations_params: {\n prob_test_manual: data.inputData.Deviations_params.prob_test_manual\n ? this.convertFractionToPercent(data.inputData.Deviations_params.prob_test_manual)\n : 0,\n months: data.inputData.Deviations_params.months ? data.inputData.Deviations_params.months : 0,\n inflow_deg: data.inputData.Deviations_params.inflow_deg ? data.inputData.Deviations_params.inflow_deg : 0,\n TI_avg: data.inputData.Deviations_params.TI_avg ? data.inputData.Deviations_params.TI_avg : 0,\n TI_std: data.inputData.Deviations_params.TI_std ? data.inputData.Deviations_params.TI_std : 0,\n TI_lt_6: data.inputData.Deviations_params.TI_lt_6 ? data.inputData.Deviations_params.TI_lt_6 : false,\n TI_mt_12: data.inputData.Deviations_params.TI_mt_12 ? data.inputData.Deviations_params.TI_mt_12 : false,\n cluster: data.inputData.Deviations_params.cluster ? data.inputData.Deviations_params.cluster : 0,\n nominated_wtg: data.inputData.Deviations_params.nominated_wtg\n ? data.inputData.Deviations_params.nominated_wtg\n : 1,\n dp_avg: data.inputData.Deviations_params.dp_avg ? data.inputData.Deviations_params.dp_avg : 0,\n dp_std: data.inputData.Deviations_params.dp_std ? data.inputData.Deviations_params.dp_std : 0,\n du_avg: data.inputData.Deviations_params.du_avg ? data.inputData.Deviations_params.du_avg : 0,\n wind_veer: data.inputData.Deviations_params.wind_veer ? data.inputData.Deviations_params.wind_veer : 0,\n shear_exp: data.inputData.Deviations_params.shear_exp ? data.inputData.Deviations_params.shear_exp : 0.15,\n tolerance: data.inputData.Deviations_params.tolerance ? data.inputData.Deviations_params.tolerance : 0,\n diameter: data.inputData.Deviations_params.diameter ? data.inputData.Deviations_params.diameter : 0,\n ref_height: data.inputData.Deviations_params.ref_height ? data.inputData.Deviations_params.ref_height : 0,\n lidar_equipment: data.inputData.Deviations_params.lidar_equipment ? data.inputData.Deviations_params.lidar_equipment : \"\",\n },\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n getPropertyLabel(propertyName: string): string {\n return PowerCurveModelPropertyNames.get(propertyName);\n }\n\n showWarrantyLevel(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3;\n }\n\n showUncertaintyFactor(): boolean {\n if (!this.form) {\n return false;\n }\n\n const warrantyMode = this.form.get('Warranty.mode').value;\n\n if (warrantyMode === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === warrantyMode).id;\n\n return warrantyModeId !== 0;\n }\n\n setupConditionalValidation() {\n this.form.get('Input.lds_currency').valueChanges.subscribe(value => {\n if (value === 'Euro') {\n this.form.get('Input.exchange_rate').setValue(1);\n this.form.get('Input.exchange_rate').disable();\n } else {\n if (this.form.get('Input.exchange_rate').disabled) {\n this.form.get('Input.exchange_rate').enable();\n }\n }\n });\n\n this.form.get('Warranty.mode').valueChanges.subscribe(value => {\n if (value === null) {\n return false;\n }\n\n const warrantyModeId = this.WarrantyTypes.find(x => x.enumValue === value).id;\n\n if (warrantyModeId === 0 || warrantyModeId === 2 || warrantyModeId === 3) {\n this.form.get('Warranty.warranty_level').setValidators(Validators.required);\n } else {\n this.form.get('Warranty.warranty_level').clearValidators();\n this.form.get('Warranty.warranty_level').setValue(95);\n }\n });\n\n this.form.get('Deviations.D4').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.prob_test_manual')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.prob_test_manual').clearValidators();\n this.form.get('Deviations_params.prob_test_manual').setValue(0);\n }\n });\n\n this.form.get('Deviations.D8').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.months')\n .setValidators([Validators.required, Validators.min(12), Validators.max(60)]);\n } else {\n this.form.get('Deviations_params.months').clearValidators();\n this.form.get('Deviations_params.months').setValue(12);\n }\n });\n\n this.form.get('Deviations.D14').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.inflow_deg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.inflow_deg').clearValidators();\n this.form.get('Deviations_params.inflow_deg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D15').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.TI_avg')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n this.form\n .get('Deviations_params.TI_std')\n .setValidators([Validators.required, Validators.min(0), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.TI_avg').clearValidators();\n this.form.get('Deviations_params.TI_avg').setValue(100);\n\n this.form.get('Deviations_params.TI_std').clearValidators();\n this.form.get('Deviations_params.TI_std').setValue(0);\n\n this.form.get('Deviations_params.TI_lt_6').setValue(false);\n this.form.get('Deviations_params.TI_mt_12').setValue(false);\n }\n });\n\n this.form.get('Deviations.D17').valueChanges.subscribe(value => {\n if (value) {\n this.form.get('Deviations_params.cluster').setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.cluster').clearValidators();\n this.form.get('Deviations_params.cluster').setValue(0);\n }\n });\n\n this.form.get('Deviations.D3').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.nominated_wtg')\n .setValidators([Validators.required, Validators.min(1), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.nominated_wtg').clearValidators();\n this.form.get('Deviations_params.nominated_wtg').setValue(1);\n }\n });\n\n this.form.get('Deviations.D18').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.dp_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.dp_std')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n this.form\n .get('Deviations_params.du_avg')\n .setValidators([Validators.required, Validators.min(-100), Validators.max(100)]);\n } else {\n this.form.get('Deviations_params.dp_avg').clearValidators();\n this.form.get('Deviations_params.dp_avg').setValue(0);\n\n this.form.get('Deviations_params.dp_std').clearValidators();\n this.form.get('Deviations_params.dp_std').setValue(0);\n\n this.form.get('Deviations_params.du_avg').clearValidators();\n this.form.get('Deviations_params.du_avg').setValue(0);\n }\n });\n\n this.form.get('Deviations.D19').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.wind_veer')\n .setValidators([Validators.required, Validators.min(0), Validators.max(180)]);\n } else {\n this.form.get('Deviations_params.wind_veer').clearValidators();\n this.form.get('Deviations_params.wind_veer').setValue(0);\n }\n });\n\n this.form.get('Deviations.D20').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form.get('Deviations_params.tolerance').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D21').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0);\n }\n\n this.form.get('Deviations_params.tolerance').clearValidators();\n this.form.get('Deviations_params.tolerance').setValue(0);\n }\n });\n\n this.form.get('Deviations.D21').valueChanges.subscribe(value => {\n if (value) {\n this.form\n .get('Deviations_params.shear_exp')\n .setValidators([Validators.required, Validators.min(0), Validators.max(5)]);\n this.form\n .get('Deviations_params.diameter')\n .setValidators([Validators.required, Validators.min(80), Validators.max(240)]);\n this.form.get('Deviations_params.ref_height').setValidators([Validators.required]);\n } else {\n if (!this.form.get('Deviations.D20').value) {\n this.form.get('Deviations_params.shear_exp').clearValidators();\n this.form.get('Deviations_params.shear_exp').setValue(0.15);\n }\n\n this.form.get('Deviations_params.diameter').clearValidators();\n this.form.get('Deviations_params.ref_height').clearValidators();\n }\n });\n this.form.get('Deviations.D22').valueChanges.subscribe(value => {\n\n if (value) {\n this.form\n .get('Deviations_params.lidar_equipment')\n .setValidators([Validators.required]);\n } else {\n this.form.get('Deviations_params.lidar_equipment').clearValidators();\n this.form.get('Deviations_params.lidar_equipment').setValue(\"\");\n }\n });\n }\n\n showSummaryClick() {\n if (!this.calculationOutput) {\n return;\n }\n\n const summaryWindow = window.open();\n const summaryDocument = summaryWindow.document;\n summaryDocument.write(PowerCurveSummaryWriter.CreateSummary(this.calculationOutput));\n summaryDocument.close();\n }\n\n patchFormWithSavedData() {\n this.WtgTypePlaceholder = this.calculationOutput.request.calculationInput.Input.type;\n this.form.patchValue({\n Input: {\n project_name: this.calculationOutput.request.calculationInput.Input.project_name,\n region: this.calculationOutput.request.calculationInput.Input.region,\n hub_height: this.calculationOutput.request.calculationInput.Input.hub_height,\n proj_size: this.calculationOutput.request.calculationInput.Input.proj_size,\n terrain_complexity: this.calculationOutput.request.calculationInput.Input.terrain_complexity,\n lds_per_1perc: this.calculationOutput.request.calculationInput.Input.lds_per_1perc,\n lds_currency: this.calculationOutput.request.calculationInput.Input.lds_currency,\n exchange_rate: this.calculationOutput.request.calculationInput.Input.exchange_rate,\n },\n Warranty: {\n uncertainty_factor: this.calculationOutput.request.calculationInput.Warranty.uncertainty_factor,\n mode: this.calculationOutput.request.calculationInput.Warranty.mode,\n warranty_level: this.calculationOutput.request.calculationInput.Warranty.warranty_level,\n },\n Deviations: {\n D1: this.calculationOutput.request.calculationInput.Deviations.D1,\n D2: this.calculationOutput.request.calculationInput.Deviations.D2,\n D3: this.calculationOutput.request.calculationInput.Deviations.D3,\n D4: this.calculationOutput.request.calculationInput.Deviations.D4,\n D5: this.calculationOutput.request.calculationInput.Deviations.D5,\n D6: this.calculationOutput.request.calculationInput.Deviations.D6,\n D7: this.calculationOutput.request.calculationInput.Deviations.D7,\n D8: this.calculationOutput.request.calculationInput.Deviations.D8,\n D9: this.calculationOutput.request.calculationInput.Deviations.D9,\n D10: this.calculationOutput.request.calculationInput.Deviations.D10,\n D11: this.calculationOutput.request.calculationInput.Deviations.D11,\n D12: this.calculationOutput.request.calculationInput.Deviations.D12,\n D13: this.calculationOutput.request.calculationInput.Deviations.D13,\n D14: this.calculationOutput.request.calculationInput.Deviations.D14,\n D15: this.calculationOutput.request.calculationInput.Deviations.D15,\n D16: this.calculationOutput.request.calculationInput.Deviations.D16,\n D17: this.calculationOutput.request.calculationInput.Deviations.D17,\n D18: this.calculationOutput.request.calculationInput.Deviations.D18,\n D19: this.calculationOutput.request.calculationInput.Deviations.D19,\n D20: this.calculationOutput.request.calculationInput.Deviations.D20,\n D21: this.calculationOutput.request.calculationInput.Deviations.D21,\n D22: this.calculationOutput.request.calculationInput.Deviations.D22,\n },\n Corrections: {\n average_velocity: this.calculationOutput.request.calculationInput.Corrections.average_velocity,\n shape_factor: this.calculationOutput.request.calculationInput.Corrections.shape_factor,\n density: this.calculationOutput.request.calculationInput.Corrections.density,\n effect_dens_u: this.calculationOutput.request.calculationInput.Corrections.effect_dens_u,\n effect_wind_u: this.calculationOutput.request.calculationInput.Corrections.effect_wind_u,\n effect_wind_p: this.calculationOutput.request.calculationInput.Corrections.effect_wind_p,\n },\n Deviations_params: {\n prob_test_manual: this.convertFractionToPercent(\n this.calculationOutput.request.calculationInput.Deviations_params.prob_test_manual,\n ),\n months: this.calculationOutput.request.calculationInput.Deviations_params.months,\n inflow_deg: this.calculationOutput.request.calculationInput.Deviations_params.inflow_deg,\n TI_avg: this.calculationOutput.request.calculationInput.Deviations_params.TI_avg,\n TI_std: this.calculationOutput.request.calculationInput.Deviations_params.TI_std,\n TI_lt_6: this.calculationOutput.request.calculationInput.Deviations_params.TI_lt_6,\n TI_mt_12: this.calculationOutput.request.calculationInput.Deviations_params.TI_mt_12,\n cluster: this.calculationOutput.request.calculationInput.Deviations_params.cluster,\n nominated_wtg: this.calculationOutput.request.calculationInput.Deviations_params.nominated_wtg,\n dp_avg: this.calculationOutput.request.calculationInput.Deviations_params.dp_avg,\n dp_std: this.calculationOutput.request.calculationInput.Deviations_params.dp_std,\n du_avg: this.calculationOutput.request.calculationInput.Deviations_params.du_avg,\n wind_veer: this.calculationOutput.request.calculationInput.Deviations_params.wind_veer,\n shear_exp: this.calculationOutput.request.calculationInput.Deviations_params.shear_exp,\n tolerance: this.calculationOutput.request.calculationInput.Deviations_params.tolerance,\n diameter: this.calculationOutput.request.calculationInput.Deviations_params.diameter,\n ref_height: this.calculationOutput.request.calculationInput.Deviations_params.ref_height,\n lidar_equipment: this.calculationOutput.request.calculationInput.Deviations_params.lidar_equipment,\n },\n });\n }\n\n makeCalc(additionalValidation?: () => boolean) {\n var nperiod = this.form.get('Deviations_params.months').value;\n this.form.get('notification_period').setValue(nperiod);\n this.modelCommunicationService.emitEditButtonClicked(false);\n this.processPercentValues(this.form.getRawValue());\n super.makeCalc(additionalValidation);\n this.form.disable();\n }\n\n applyDisabledFields() {\n this.form.get('Input.lds_currency').disable();\n this.form.get('Input.exchange_rate').disable();\n this.form.get('Deviations_params.diameter').disable();\n this.form.get('Deviations.D2').disable();\n this.form.get('Deviations.D12').disable();\n }\n\n processPercentValues(formValues: any) {\n formValues.Deviations_params.prob_test_manual = this.convertPercentToFraction(formValues.Deviations_params.prob_test_manual);\n }\n\n\n\n wtgChanged()\n {\n this.form.patchValue({\n Deviations_params: {\n diameter: this.currentWtg.diameter,\n ref_height: this.currentWtg.hubheight\n },\n });\n\n this.BladeLength = this.currentWtg.diameter/2;\n this.form.get('Input.hub_height').setValidators(Validators.min(this.BladeLength));\n this.form.get('Input.hub_height').updateValueAndValidity();\n }\n}\n\ninterface WarrantyType {\n id: number;\n enumValue: string;\n displayName: string;\n}\n","import { ApplicationRef, Component, ComponentFactoryResolver, EmbeddedViewRef, Injector } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../../../calculations/calculations-create/calculations-model-communication.service';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { PowerCurveMatrixComponent } from '../../shared/matrix-components/power-curve-matrix/power-curve-matrix.component';\n\n@Component({\n selector: 'app-power-curve-4-0-0-output',\n templateUrl: './power-curve-output.component.html',\n})\nexport class PowerCurve400OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n public isMatrixLoading: boolean = true;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n\n private communicationService: CalculationsModelCommunicationService,\n ) {\n super();\n }\n\n public onMatrixCellClicked(): void {\n this.openMatrixWindow();\n }\n\n public ngOnInit() {\n this.isMatrixLoading = true;\n this.subscriptions.push(\n this.communicationService.isCalculationMatrixRunningEmitted.subscribe(isCalculationMatrixRunning => {\n this.isMatrixLoading = isCalculationMatrixRunning;\n }),\n this.communicationService.isEditButtonEmitted.subscribe(editClicked => {\n if (editClicked === true && this.isMatrixLoading === true) {\n this.isMatrixLoading = false;\n }\n }),\n );\n }\n\n openMatrixWindow(): void {\n const factory = this.componentFactoryResolver.resolveComponentFactory(PowerCurveMatrixComponent);\n const componentRef = factory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n const htmlElement = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n\n setTimeout(() => {\n const elem = htmlElement\n .getElementsByClassName('highcharts-legend-item')\n .item(0)\n .getElementsByTagName('rect')\n .item(0);\n const fillValue = elem.getAttribute('fill');\n const str = fillValue.slice(fillValue.lastIndexOf('#'));\n const res = `url(${str}`;\n elem.setAttribute('fill', res);\n\n const matrixWindow = window.open();\n const matrixDocument = matrixWindow.document;\n const titleNode = this.createMatrixWindowTitleNode();\n matrixDocument.head.appendChild(titleNode);\n document.querySelectorAll('meta, base, link, style').forEach(element => {\n matrixDocument.head.appendChild(element.cloneNode(true));\n });\n matrixDocument.body.append(htmlElement);\n }, 1500);\n }\n\n createMatrixWindowTitleNode(): HTMLTitleElement {\n const titleNode = document.createElement('title');\n const titleText = document.createTextNode('Warranty PCV Matrix');\n titleNode.appendChild(titleText);\n\n return titleNode;\n }\n}\n","import { DatePipe, DecimalPipe } from '@angular/common';\nimport { CalculationTs } from 'src/app/typings';\n\nexport abstract class PowerCurveSummaryWriter {\n private static NewLineSymbol = ' ';\n private static datePipe = new DatePipe('en-US');\n private static decimalPipe = new DecimalPipe('en-US');\n\n public static CreateSummary(calculation: CalculationTs): string {\n const inputSection = this.CreateInputSection(calculation);\n const powerCurveSection = this.CreatePowerCurveSection(calculation);\n const deviationsSection = this.CreateDeviationsSection(calculation);\n const correctionsSection = this.CreateCorrectionsSection(calculation);\n const outputSection = this.CreateOutputSection(calculation);\n\n let document =\n inputSection +\n this.NewLineSymbol +\n powerCurveSection +\n this.NewLineSymbol +\n deviationsSection +\n this.NewLineSymbol +\n correctionsSection +\n this.NewLineSymbol +\n outputSection +\n this.NewLineSymbol;\n document = 'Warranty Power curve summary ' + document + '';\n return document;\n }\n\n private static CreateHeader(title: string) {\n return `**${title}** `;\n }\n\n private static GetNowDateFormatted(): string {\n const date = Date.now();\n\n return this.datePipe.transform(date, 'yyyy-MMM-dd');\n }\n\n private static FormatNumber(num: string | number) {\n return this.decimalPipe.transform(num, '1.2-2');\n }\n\n private static CreateInputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Input');\n const date = `Date: ${this.GetNowDateFormatted()}`;\n const project = `Project: ${calculation.request.calculationInput.Input.project_name}`;\n const region = `Region: ${calculation.request.calculationInput.Input.region}`;\n const turbineType = `Turbine Type: ${calculation.request.calculationInput.Input.type}`;\n const hubHeight = `Hub Height [m]: ${calculation.request.calculationInput.Input.hub_height}`;\n const projectSize = `Project Size (WTG's): ${calculation.request.calculationInput.Input.proj_size}`;\n const terrainComplexity = `Terrain Complexity: ${calculation.request.calculationInput.Input.terrain_complexity}`;\n const recommendedWtgs = `Recommended Nominated WTG's: ${calculation.request.calculationInput.Input.recNominatedWtg}`;\n const nominatedWtgs = `Nominated WTG's: ${calculation.request.calculationInput.Input.nominatedWtg}`;\n const liquidatedDamages = `Liquidated Damages (per 1%): ${calculation.request.calculationInput.Input.lds_per_1perc} ${calculation.request.calculationInput.Input.lds_currency}`;\n const exchangeRate = `Exchange rate: ${calculation.request.calculationInput.Input.exchange_rate}`;\n\n return (\n header +\n this.NewLineSymbol +\n date +\n this.NewLineSymbol +\n project +\n this.NewLineSymbol +\n region +\n this.NewLineSymbol +\n turbineType +\n this.NewLineSymbol +\n hubHeight +\n this.NewLineSymbol +\n projectSize +\n this.NewLineSymbol +\n terrainComplexity +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n liquidatedDamages +\n this.NewLineSymbol +\n exchangeRate +\n this.NewLineSymbol\n );\n }\n\n private static CreatePowerCurveSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Warranty');\n const uncertaintyFactor = `Uncertainty factor: ${calculation.request.calculationInput.Warranty.uncertainty_factor}`;\n const warranty = `Warranty Type: ${calculation.request.calculationInput.Warranty.mode}`;\n const warrantyLevel = `Warranty Level: ${calculation.request.calculationInput.Warranty.warranty_level}`;\n\n return (\n header +\n this.NewLineSymbol +\n uncertaintyFactor +\n this.NewLineSymbol +\n warranty +\n this.NewLineSymbol +\n warrantyLevel +\n this.NewLineSymbol\n );\n }\n\n private static CreateDeviationsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Deviations');\n let deviationsString = '';\n\n if (calculation.request.calculationInput.Deviations.D1) {\n deviationsString += 'D1 - Uncertainty is fully independent' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D2) {\n deviationsString += 'D2 - New/Different calculation of uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D3) {\n deviationsString += 'D3 - Fewer nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D4) {\n deviationsString +=\n `D4 - Modified probability of testing (${calculation.request.calculationInput.Deviations_params\n .prob_test_manual * 100}%)` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D5) {\n deviationsString += 'D5 - Shorter or no site calibration If required' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D6) {\n deviationsString += 'D6 - Extra test allowed to customer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D7) {\n deviationsString += 'D7 - Less testing time for 2nd test (Vestas)' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D8) {\n deviationsString +=\n `D8 - More than 12 months to perform 1st test (${calculation.request.calculationInput.Deviations_params.months} months)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D9) {\n deviationsString += 'D9 - Non-approved independent engineer' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D10) {\n deviationsString += 'D10 - Reference to non-IEC 61400-12-1 Ed 1 Standard' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D11) {\n deviationsString += 'D11 - Undetermined time to select nominated turbines' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D12) {\n deviationsString += 'D12 - RNSP Power Curve has been removed' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D13) {\n deviationsString += 'D13 - Neither ISM nor GenSpec Power Curve' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D14) {\n deviationsString +=\n `D14 - No Inflow Filtering (Max. Inflow: ${calculation.request.calculationInput.Deviations_params.inflow_deg} deg)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D15) {\n let filtersText = '';\n\n if (\n calculation.request.calculationInput.Deviations_params.TI_lt_6 &&\n calculation.request.calculationInput.Deviations_params.TI_mt_12\n ) {\n filtersText = 'Removed TI < 6% and TI > 12% filters; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_lt_6) {\n filtersText = 'Removed TI < 6% filter; ';\n } else if (calculation.request.calculationInput.Deviations_params.TI_mt_12) {\n filtersText = 'Removed TI > 12% filter; ';\n }\n\n deviationsString +=\n `D15 - Modified TI Filtering (${filtersText}TI Avg: ${calculation.request.calculationInput.Deviations_params.TI_avg}%, TI Std: ${calculation.request.calculationInput.Deviations_params.TI_std}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D16) {\n deviationsString += 'D16 - No Shear Filtering' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D17) {\n deviationsString +=\n `D17 - Clustering (${calculation.request.calculationInput.Deviations_params.cluster})` + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D18) {\n deviationsString +=\n `D18 - Manual Adjustment of Final Value (Perf. Avg Delta: ${calculation.request.calculationInput.Deviations_params.dperformanceAvg}%, Perf. Std Delta: ${calculation.request.calculationInput.Deviations_params.dp_std}%, Uncertainty Level: ${calculation.request.calculationInput.Deviations_params.duncertaintyAvg}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D19) {\n deviationsString +=\n `D19 - Wind veer at R+HH (${calculation.request.calculationInput.Deviations_params.wind_veer} degs)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D20) {\n deviationsString +=\n `D20 - Anemometers mounted above hub height (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Tolerance: ${calculation.request.calculationInput.Deviations_params.tolerance}%)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D21) {\n deviationsString +=\n `D21 - Shear exponent (Shear exponent: ${calculation.request.calculationInput.Deviations_params.shear_exp}, Diameter: ${calculation.request.calculationInput.Deviations_params.diameter}m, Reference hub height: ${calculation.request.calculationInput.Deviations_params.ref_height}m)` +\n this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Deviations.D22) {\n deviationsString +=\n `D22 - Lidar measurement: ${calculation.request.calculationInput.Deviations_params.lidar_equipment}` +\n this.NewLineSymbol;\n }\n\n return header + this.NewLineSymbol + deviationsString + this.NewLineSymbol;\n }\n\n private static CreateCorrectionsSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Corrections');\n const averageVelocity = `Average Velocity: ${calculation.request.calculationInput.Corrections.average_velocity} m/s`;\n const shapeFactor = `Shape Factor: ${calculation.request.calculationInput.Corrections.shape_factor}`;\n const density = `Density: ${calculation.request.calculationInput.Corrections.density}`;\n let effectsText = '';\n\n if (calculation.request.calculationInput.Corrections.effect_dens_u) {\n effectsText += 'Effect of density is uncertain' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_u) {\n effectsText += 'Effect of wind distribution on uncertainty' + this.NewLineSymbol;\n }\n if (calculation.request.calculationInput.Corrections.effect_wind_p) {\n effectsText += 'Effect of wind distribution on performance' + this.NewLineSymbol;\n }\n\n return (\n header +\n this.NewLineSymbol +\n averageVelocity +\n this.NewLineSymbol +\n shapeFactor +\n this.NewLineSymbol +\n density +\n this.NewLineSymbol +\n effectsText +\n this.NewLineSymbol\n );\n }\n\n private static CreateOutputSection(calculation: CalculationTs): string {\n const header = this.CreateHeader('Output');\n const nominatedWtgs = `Nominated WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.nominatedWtg)}`;\n const recommendedWtgs = `Recommended WTGs: ${this.FormatNumber(calculation.result.result.modelOutput.recNominatedWtg)}`;\n const finalPerformanceAvg = `Final Performance Average: ${this.FormatNumber(calculation.result.result.modelOutput.performanceAvg)}%`;\n const finalPerformanceStd = `Final Performance Std.: ${this.FormatNumber(calculation.result.result.modelOutput.performanceSigma)}%`;\n const finalWarrantyLevel = `Final Warranty Level: ${this.FormatNumber(calculation.result.result.modelOutput.finalWarranty)}%`;\n const propOfTesting = `Probability of Testing: ${this.FormatNumber(calculation.result.result.modelOutput.probOfTesting * 100)}%`;\n const risk1 = `Risk of Failing 1st Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk1 * 100)}%`;\n const risk2 = `Risk of Failing 2nd Test: ${this.FormatNumber(calculation.result.result.modelOutput.risk2 * 100)}%`;\n const ldRisk = `Risk of paying LDs: ${this.FormatNumber(calculation.result.result.modelOutput.riskOfLD * 100)}%`;\n const tcrRequired = `TCR Required: ${calculation.result.result.modelOutput.requiresTcr ? 'Yes' : 'No'}`;\n const grossCost = `Gross Cost: ${calculation.result.result.modelOutput.grossCost} ${calculation.request.calculationInput.Input.lds_currency}`;\n const netCostConfidence = `90% Confidence of Net Cost: ${calculation.result.result.modelOutput.costCi} ${calculation.request.calculationInput.Input.lds_currency}`;\n const baselineCost = `Baseline Cost: ${calculation.result.result.modelOutput.costBaseline} ${calculation.request.calculationInput.Input.lds_currency}`;\n\n let clusterCost = `Cluster Cost: `;\n if (calculation.result.result.modelOutput.clusterCost) {\n clusterCost += `${Number(calculation.result.result.modelOutput.clusterCost).toFixed()} ${\n calculation.request.calculationInput.Input.lds_currency\n }`;\n } else {\n clusterCost += '-';\n }\n\n let clusterRisk = `Cluster risk: `;\n if (calculation.result.result.modelOutput.clusterRisk) {\n clusterRisk += `${Number(calculation.result.result.modelOutput.clusterRisk * 100).toFixed(2)}%`;\n } else {\n clusterRisk += '-';\n }\n\n let adjustedWarrantyProvisions = `Adjusted Warranty Provisions: `;\n if (calculation.adjustedProvisions) {\n adjustedWarrantyProvisions += `${calculation.adjustedProvisions} ${calculation.request.calculationInput.Input.lds_currency}`;\n } else {\n adjustedWarrantyProvisions += '-';\n }\n\n return (\n header +\n this.NewLineSymbol +\n nominatedWtgs +\n this.NewLineSymbol +\n recommendedWtgs +\n this.NewLineSymbol +\n finalPerformanceAvg +\n this.NewLineSymbol +\n finalPerformanceStd +\n this.NewLineSymbol +\n finalWarrantyLevel +\n this.NewLineSymbol +\n propOfTesting +\n this.NewLineSymbol +\n risk1 +\n this.NewLineSymbol +\n risk2 +\n this.NewLineSymbol +\n ldRisk +\n this.NewLineSymbol +\n tcrRequired +\n this.NewLineSymbol +\n grossCost +\n this.NewLineSymbol +\n netCostConfidence +\n this.NewLineSymbol +\n baselineCost +\n this.NewLineSymbol +\n clusterCost +\n this.NewLineSymbol +\n clusterRisk +\n this.NewLineSymbol +\n adjustedWarrantyProvisions +\n this.NewLineSymbol\n );\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtMi9zZXJpYWwtZGVmZWN0LTEtMC0yLWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTItaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC0yL3NlcmlhbC1kZWZlY3QtMS0wLTItaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtMi1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC0yL3NlcmlhbC1kZWZlY3QtMS0wLTItaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtMi1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { environment } from 'src/environments/environment';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-1-0-2-input',\n templateUrl: './serial-defect-1-0-2-input.component.html',\n styleUrls: ['./serial-defect-1-0-2-input.component.less'],\n})\nexport class SerialDefect102InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private readonly ReplacementYearValue = 5;\n public addNewComponentModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public componentToAdd: ComponentRisk = {\n Component: '',\n Risk_level: 'Low',\n };\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n this.form.get('replacement_year').disable();\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').disable();\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public addNewComponentCallback() {\n this.addNewComponentModal = true;\n }\n\n public addNewComponentClick() {\n this.availableComponents = [...this.availableComponents, this.componentToAdd];\n this.form.get('components').patchValue([...this.form.get('components').value, this.componentToAdd]);\n\n this.componentToAdd = {\n Component: '',\n Risk_level: 'Low',\n };\n\n this.addNewComponentModal = false;\n }\n\n validateTriggerTimeRange(control: AbstractControl): { [key: string]: boolean } {\n const dnp = this.form.get('defect_notification_period').value;\n\n if (control.value > dnp) {\n return { dnpRange: true };\n }\n return null;\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n standard_fee: new FormControl('', [Validators.required, Validators.min(0)]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(1)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl('', [Validators.required]),\n trigger_time: new FormControl({ value: '', disabled: true }, [\n Validators.required,\n Validators.min(0),\n this.validateTriggerTimeRange.bind(this),\n ]),\n replacement_year: new FormControl({ value: this.ReplacementYearValue, disabled: true }, [\n Validators.required,\n Validators.min(5),\n ]),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n }\n\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n standard_fee: this.calculationOutput.request.calculationInput.standard_fee,\n threshold: this.calculationOutput.request.calculationInput.threshold,\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.dnp,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.yRpl,\n components: this.calculationOutput.request.calculationInput.components,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-2-output',\n templateUrl: './serial-defect-1-0-2-output.component.html',\n})\nexport class SerialDefect102OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtMy9zZXJpYWwtZGVmZWN0LTEtMC0zLWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTMtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC0zL3NlcmlhbC1kZWZlY3QtMS0wLTMtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtMy1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC0zL3NlcmlhbC1kZWZlY3QtMS0wLTMtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtMy1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { environment } from 'src/environments/environment';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-1-0-3-input',\n templateUrl: './serial-defect-1-0-3-input.component.html',\n styleUrls: ['./serial-defect-1-0-3-input.component.less'],\n})\nexport class SerialDefect103InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private readonly ReplacementYearValue = 5;\n public addNewComponentModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public componentToAdd: ComponentRisk = {\n Component: '',\n Risk_level: 'Low',\n };\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n this.form.get('replacement_year').disable();\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').disable();\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public addNewComponentCallback() {\n this.addNewComponentModal = true;\n }\n\n public addNewComponentClick() {\n this.availableComponents = [...this.availableComponents, this.componentToAdd];\n this.form.get('components').patchValue([...this.form.get('components').value, this.componentToAdd]);\n\n this.componentToAdd = {\n Component: '',\n Risk_level: 'Low',\n };\n\n this.addNewComponentModal = false;\n }\n\n validateTriggerTimeRange(control: AbstractControl): { [key: string]: boolean } {\n const dnp = this.form.get('defect_notification_period').value;\n\n if (control.value > dnp) {\n return { dnpRange: true };\n }\n return null;\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n standard_fee: new FormControl('', [Validators.required, Validators.min(0)]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(1)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl('', [Validators.required]),\n trigger_time: new FormControl({ value: '', disabled: true }, [\n Validators.required,\n Validators.min(0),\n this.validateTriggerTimeRange.bind(this),\n ]),\n replacement_year: new FormControl({ value: this.ReplacementYearValue, disabled: true }, [\n Validators.required,\n Validators.min(5),\n ]),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n }\n\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n\n if (!this.form.get('replacement_year_checkbox').value) {\n this.form.get('replacement_year').disable();\n }\n if (!this.form.get('trigger_time_checkbox').value) {\n this.form.get('trigger_time').disable();\n }\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n standard_fee: this.calculationOutput.request.calculationInput.standard_fee,\n threshold: this.calculationOutput.request.calculationInput.threshold,\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-3-output',\n templateUrl: './serial-defect-1-0-3-output.component.html',\n})\nexport class SerialDefect103OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNC9zZXJpYWwtZGVmZWN0LTEtMC00LWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTQtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC00L3NlcmlhbC1kZWZlY3QtMS0wLTQtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC00L3NlcmlhbC1kZWZlY3QtMS0wLTQtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { environment } from 'src/environments/environment';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-1-0-4-input',\n templateUrl: './serial-defect-1-0-4-input.component.html',\n styleUrls: ['./serial-defect-1-0-4-input.component.less'],\n})\nexport class SerialDefect104InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private readonly ReplacementYearValue = 5;\n public addNewComponentModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n '2MW V80-V116',\n '2MW/2.2MW V120',\n '3.3MW V112-V117',\n '3.45MW V112-V136',\n '4MW V117-V136',\n '4MW V150',\n 'EnVentus V150-V162',\n ];\n\n public componentToAdd: ComponentRisk = {\n Component: '',\n Risk_level: 'Low',\n };\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n this.form.get('replacement_year').disable();\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').disable();\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public addNewComponentCallback() {\n this.addNewComponentModal = true;\n }\n\n public addNewComponentClick() {\n this.availableComponents = [...this.availableComponents, this.componentToAdd];\n this.form.get('components').patchValue([...this.form.get('components').value, this.componentToAdd]);\n\n this.componentToAdd = {\n Component: '',\n Risk_level: 'Low',\n };\n\n this.addNewComponentModal = false;\n }\n\n validateTriggerTimeRange(control: AbstractControl): { [key: string]: boolean } {\n const dnp = this.form.get('defect_notification_period').value;\n\n if (control.value > dnp) {\n return { dnpRange: true };\n }\n return null;\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(1)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl('', [Validators.required]),\n trigger_time: new FormControl({ value: '', disabled: true }, [\n Validators.required,\n Validators.min(0),\n this.validateTriggerTimeRange.bind(this),\n ]),\n replacement_year: new FormControl({ value: this.ReplacementYearValue, disabled: true }, [\n Validators.required,\n Validators.min(5),\n ]),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n }\n\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n\n if (!this.form.get('replacement_year_checkbox').value) {\n this.form.get('replacement_year').disable();\n }\n if (!this.form.get('trigger_time_checkbox').value) {\n this.form.get('trigger_time').disable();\n }\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.calculationOutput.request.calculationInput.threshold,\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-4-output',\n templateUrl: './serial-defect-1-0-4-output.component.html',\n})\nexport class SerialDefect104OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNS9zZXJpYWwtZGVmZWN0LTEtMC01LWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTUtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC01L3NlcmlhbC1kZWZlY3QtMS0wLTUtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC01L3NlcmlhbC1kZWZlY3QtMS0wLTUtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\nimport { environment } from 'src/environments/environment';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-1-0-5-input',\n templateUrl: './serial-defect-1-0-5-input.component.html',\n styleUrls: ['./serial-defect-1-0-5-input.component.less'],\n})\nexport class SerialDefect105InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private readonly ReplacementYearValue = 5;\n// public addNewComponentModal: Modal = null;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n 'V126-4.0 MW',\n 'V150-5.6 MW',\n 'V162-5.6 MW',\n '50-4.0MW BR1',\n 'V100_1.8',\n '100_1.8 GRST',\n 'V100-2.0MW',\n 'V100-2.2MW',\n 'V105-3,3MW',\n 'V105-3.45MW',\n 'V110-2.0MW',\n 'V110-2.2MW',\n 'V112_3.0MW',\n '12_3.0MW OFF',\n 'V112-3,3MW',\n 'V112-3.45MW',\n 'V116-2.0MW',\n 'V117-3,3MW',\n 'V117-3.45MW',\n 'V117-4.0MW',\n 'V120-2.0MW',\n 'V120-2.2MW',\n 'V126-3,3MW',\n '6-3.45MW HTq',\n '6-3.45MW LTq',\n 'V136-3.45MW',\n 'V136-4.0MW',\n 'V150-4.0MW',\n 'V80_1.8 VRCC',\n 'V80_2.0 GRST',\n 'ST - KELBURN',\n 'V80_2.0 VCS',\n 'V80_2.0 VCUS',\n 'V90_1.8 GRST',\n 'V90_1.8 VCS',\n 'V90_1.8 VCUS',\n 'V90_2.0 GRST',\n 'V90_2.0 VCS',\n 'V90_3.0 VCRS',\n 'V90_3.0 VCS',\n 'V90-2.2MW',\n ];\n\n// public componentToAdd: ComponentRisk = {\n// Component: '',\n// Risk_level: 'Low',\n// };\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n this.form.get('replacement_year').disable();\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').disable();\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n// public addNewComponentCallback() {\n// this.addNewComponentModal.isActive.next(true);\n// }\n\n// public addNewComponentClick() {\n// this.availableComponents = [...this.availableComponents, this.componentToAdd];\n// this.form.get('components').patchValue([...this.form.get('components').value, this.componentToAdd]);\n\n// this.componentToAdd = {\n// Component: '',\n// Risk_level: 'Low',\n// };\n\n// this.addNewComponentModal.isActive.next(false);\n// }\n\n validateTriggerTimeRange(control: AbstractControl): { [key: string]: boolean } {\n const dnp = this.form.get('defect_notification_period').value;\n\n if (control.value > dnp) {\n return { dnpRange: true };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if (parksize * threshold <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(1)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [Validators.required, Validators.min(1), Validators.max(5)]),\n trigger_time: new FormControl({ value: 1, disabled: true }, [\n Validators.required,\n Validators.min(1),\n this.validateTriggerTimeRange.bind(this),\n ]),\n replacement_year: new FormControl({ value: this.ReplacementYearValue, disabled: true }, [\n Validators.required,\n Validators.min(5),\n Validators.max(30),\n ]),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({ value: environment.discountRate, disabled: true }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n }\n\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n\n if (!this.form.get('replacement_year_checkbox').value) {\n this.form.get('replacement_year').disable();\n }\n if (!this.form.get('trigger_time_checkbox').value) {\n this.form.get('trigger_time').disable();\n }\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.calculationOutput.request.calculationInput.threshold,\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-5-output',\n templateUrl: './serial-defect-1-0-5-output.component.html',\n})\nexport class SerialDefect105OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNi9zZXJpYWwtZGVmZWN0LTEtMC02LWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTYtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC02L3NlcmlhbC1kZWZlY3QtMS0wLTYtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNi1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC02L3NlcmlhbC1kZWZlY3QtMS0wLTYtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNi1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\n\n@Component({\n selector: 'app-serial-defect-1-0-6-input',\n templateUrl: './serial-defect-1-0-6-input.component.html',\n styleUrls: ['./serial-defect-1-0-6-input.component.less'],\n})\nexport class SerialDefect106InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private subscription: Subscription;\n\n private readonly ReplacementYearValue = 5;\n// public addNewComponentModal: Modal = null;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n 'V162-5.6 MW',\n 'V155-3.3MW',\n 'V150-5.6 MW',\n 'V150-4.0MW BR1',\n 'V150-4.0MW',\n 'V136-4.0MW',\n 'V136-3.45MW',\n 'V126-4.0 MW',\n 'V126-3.45MW LTq',\n 'V126-3.45MW HTq',\n 'V126-3,3MW',\n 'V120-2.2MW',\n 'V120-2.0MW',\n 'V117-4.0MW',\n 'V117-3.45MW',\n 'V117-3,3MW',\n 'V116-2.0MW',\n 'V112_3.0MW OFF',\n 'V112_3.0MW',\n 'V112-3.45MW',\n 'V112-3,3MW',\n 'V110-2.2MW',\n 'V110-2.0MW',\n 'V105-3.45MW',\n 'V105-3,3MW',\n 'V100_1.8 GRST',\n 'V100_1.8',\n 'V100-2.2MW',\n 'V100-2.0MW',\n 'V90_3.0 VCS',\n 'V90_3.0 VCRS',\n 'V90_2.0 VCS',\n 'V90_2.0 GRST',\n 'V90_1.8 VCUS',\n 'V90_1.8 VCS',\n 'V90_1.8 GRST',\n 'V90-2.2MW',\n 'V80_2.0 VCUS',\n 'V80_2.0 VCS',\n 'V80_2.0 GRST - KELBURN',\n 'V80_2.0 GRST',\n 'V80_1.8 VRCC',\n ];\n\n// public componentToAdd: ComponentRisk = {\n// Component: '',\n// Risk_level: 'Low',\n// };\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n// public addNewComponentCallback() {\n// this.addNewComponentModal.isActive.next(true);\n// }\n\n// public addNewComponentClick() {\n// this.availableComponents = [...this.availableComponents, this.componentToAdd];\n// this.form.get('components').patchValue([...this.form.get('components').value, this.componentToAdd]);\n\n// this.componentToAdd = {\n// Component: '',\n// Risk_level: 'Low',\n// };\n\n// this.addNewComponentModal.isActive.next(false);\n// }\n\n validateTriggerTimeRange(\n control: AbstractControl,\n ): {\n [key: string]: boolean;\n } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if ((parksize * threshold) / 100 <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this),\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false,\n },\n [Validators.required, Validators.min(1), Validators.max(5)],\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false,\n },\n [Validators.required, Validators.min(5), Validators.max(30)],\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true,\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n this.patchClonedForm();\n }\n\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data && data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period\n ? data.inputData.defect_notification_period\n : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox ? data.inputData.trigger_time_checkbox : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox\n ? data.inputData.replacement_year_checkbox\n : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-6-output',\n templateUrl: './serial-defect-1-0-6-output.component.html',\n})\nexport class SerialDefect106OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNy9zZXJpYWwtZGVmZWN0LTEtMC03LWlucHV0L3NlcmlhbC1kZWZlY3QtMS0wLTctaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03L3NlcmlhbC1kZWZlY3QtMS0wLTctaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNy1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03L3NlcmlhbC1kZWZlY3QtMS0wLTctaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNy1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\n\n@Component({\n selector: 'app-serial-defect-1-0-7-input',\n templateUrl: './serial-defect-1-0-7-input.component.html',\n styleUrls: ['./serial-defect-1-0-7-input.component.less'],\n})\nexport class SerialDefect107InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n private readonly ReplacementYearValue = 5;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n 'V162-5.6 MW',\n 'V155-3.3MW',\n 'V150-5.6 MW',\n 'V150-4.0MW BR1',\n 'V150-4.0MW',\n 'V136-4.0MW',\n 'V136-3.45MW',\n 'V126-4.0 MW',\n 'V126-3.45MW LTq',\n 'V126-3.45MW HTq',\n 'V126-3,3MW',\n 'V120-2.2MW',\n 'V120-2.0MW',\n 'V117-4.0MW',\n 'V117-3.45MW',\n 'V117-3,3MW',\n 'V116-2.0MW',\n 'V112_3.0MW OFF',\n 'V112_3.0MW',\n 'V112-3.45MW',\n 'V112-3,3MW',\n 'V110-2.2MW',\n 'V110-2.0MW',\n 'V105-3.45MW',\n 'V105-3,3MW',\n 'V100_1.8 GRST',\n 'V100_1.8',\n 'V100-2.2MW',\n 'V100-2.0MW',\n 'V90_3.0 VCS',\n 'V90_3.0 VCRS',\n 'V90_2.0 VCS',\n 'V90_2.0 GRST',\n 'V90_1.8 VCUS',\n 'V90_1.8 VCS',\n 'V90_1.8 GRST',\n 'V90-2.2MW',\n 'V80_2.0 VCUS',\n 'V80_2.0 VCS',\n 'V80_2.0 GRST - KELBURN',\n 'V80_2.0 GRST',\n 'V80_1.8 VRCC',\n ];\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this),\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false,\n },\n [Validators.required, Validators.min(1), Validators.max(5)],\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false,\n },\n [Validators.required, Validators.min(5), Validators.max(30)],\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true,\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n this.patchClonedForm();\n }\n\n }\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n validateTriggerTimeRange(\n control: AbstractControl,\n ): {\n [key: string]: boolean;\n } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if ((parksize * threshold) / 100 <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data)\n if (data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period\n ? data.inputData.defect_notification_period\n : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox\n ? data.inputData.trigger_time_checkbox\n : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox\n ? data.inputData.replacement_year_checkbox\n : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.threshold = this.convertPercentToFraction(formValues.threshold);\n }\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-7-output',\n templateUrl: './serial-defect-1-0-7-output.component.html',\n})\nexport class SerialDefect107OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNzEvc2VyaWFsLWRlZmVjdC0xLTAtNzEtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNzEtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03MS9zZXJpYWwtZGVmZWN0LTEtMC03MS1pbnB1dC9zZXJpYWwtZGVmZWN0LTEtMC03MS1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03MS9zZXJpYWwtZGVmZWN0LTEtMC03MS1pbnB1dC9zZXJpYWwtZGVmZWN0LTEtMC03MS1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\n\n@Component({\n selector: 'app-serial-defect-1-0-71-input',\n templateUrl: './serial-defect-1-0-71-input.component.html',\n styleUrls: ['./serial-defect-1-0-71-input.component.less'],\n})\nexport class SerialDefect1071InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n private readonly ReplacementYearValue = 5;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n 'V162-5.6 MW',\n 'V155-3.3MW',\n 'V150-5.6 MW',\n 'V150-4.0MW BR1',\n 'V150-4.0MW',\n 'V136-4.0MW',\n 'V136-3.45MW',\n 'V126-4.0 MW',\n 'V126-3.45MW LTq',\n 'V126-3.45MW HTq',\n 'V126-3,3MW',\n 'V120-2.2MW',\n 'V120-2.0MW',\n 'V117-4.0MW',\n 'V117-3.45MW',\n 'V117-3,3MW',\n 'V116-2.0MW',\n 'V112_3.0MW OFF',\n 'V112_3.0MW',\n 'V112-3.45MW',\n 'V112-3,3MW',\n 'V110-2.2MW',\n 'V110-2.0MW',\n 'V105-3.45MW',\n 'V105-3,3MW',\n 'V100_1.8 GRST',\n 'V100_1.8',\n 'V100-2.2MW',\n 'V100-2.0MW',\n 'V90_3.0 VCS',\n 'V90_3.0 VCRS',\n 'V90_2.0 VCS',\n 'V90_2.0 GRST',\n 'V90_1.8 VCUS',\n 'V90_1.8 VCS',\n 'V90_1.8 GRST',\n 'V90-2.2MW',\n 'V80_2.0 VCUS',\n 'V80_2.0 VCS',\n 'V80_2.0 GRST - KELBURN',\n 'V80_2.0 GRST',\n 'V80_1.8 VRCC',\n ];\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n validateTriggerTimeRange(\n control: AbstractControl,\n ): {\n [key: string]: boolean;\n } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if ((parksize * threshold) / 100 <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this),\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false,\n },\n [Validators.required, Validators.min(1), Validators.max(5)],\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false,\n },\n [Validators.required, Validators.min(5), Validators.max(30)],\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true,\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n this.patchClonedForm();\n }\n\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data)\n if (data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period\n ? data.inputData.defect_notification_period\n : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox\n ? data.inputData.trigger_time_checkbox\n : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox\n ? data.inputData.replacement_year_checkbox\n : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-71-output',\n templateUrl: './serial-defect-1-0-71-output.component.html',\n})\nexport class SerialDefect1071OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTAtNzIvc2VyaWFsLWRlZmVjdC0xLTAtNzItaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTAtNzItaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03Mi9zZXJpYWwtZGVmZWN0LTEtMC03Mi1pbnB1dC9zZXJpYWwtZGVmZWN0LTEtMC03Mi1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMC03Mi9zZXJpYWwtZGVmZWN0LTEtMC03Mi1pbnB1dC9zZXJpYWwtZGVmZWN0LTEtMC03Mi1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\n\n@Component({\n selector: 'app-serial-defect-1-0-72-input',\n templateUrl: './serial-defect-1-0-72-input.component.html',\n styleUrls: ['./serial-defect-1-0-72-input.component.less'],\n})\nexport class SerialDefect1072InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n private readonly ReplacementYearValue = 5;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [\n 'V162-5.6 MW',\n 'V155-3.3MW',\n 'V150-5.6 MW',\n 'V150-4.0MW BR1',\n 'V150-4.0MW',\n 'V136-4.0MW',\n 'V136-3.45MW',\n 'V126-4.0 MW',\n 'V126-3.45MW LTq',\n 'V126-3.45MW HTq',\n 'V126-3,3MW',\n 'V120-2.2MW',\n 'V120-2.0MW',\n 'V117-4.0MW',\n 'V117-3.45MW',\n 'V117-3,3MW',\n 'V116-2.0MW',\n 'V112_3.0MW OFF',\n 'V112_3.0MW',\n 'V112-3.45MW',\n 'V112-3,3MW',\n 'V110-2.2MW',\n 'V110-2.0MW',\n 'V105-3.45MW',\n 'V105-3,3MW',\n 'V100_1.8 GRST',\n 'V100_1.8',\n 'V100-2.2MW',\n 'V100-2.0MW',\n 'V90_3.0 VCS',\n 'V90_3.0 VCRS',\n 'V90_2.0 VCS',\n 'V90_2.0 GRST',\n 'V90_1.8 VCUS',\n 'V90_1.8 VCS',\n 'V90_1.8 GRST',\n 'V90-2.2MW',\n 'V80_2.0 VCUS',\n 'V80_2.0 VCS',\n 'V80_2.0 GRST - KELBURN',\n 'V80_2.0 GRST',\n 'V80_1.8 VRCC',\n ];\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this),\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false,\n },\n [Validators.required, Validators.min(1), Validators.max(5)],\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false,\n },\n [Validators.required, Validators.min(5), Validators.max(30)],\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true,\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n this.patchClonedForm();\n }\n\n }\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n validateTriggerTimeRange(\n control: AbstractControl,\n ): {\n [key: string]: boolean;\n } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if ((parksize * threshold) / 100 <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data)\n if (data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period\n ? data.inputData.defect_notification_period\n : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox\n ? data.inputData.trigger_time_checkbox\n : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox\n ? data.inputData.replacement_year_checkbox\n : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n this.processTriggerTime(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.threshold = this.convertPercentToFraction(formValues.threshold);\n }\n\n processTriggerTime(formValues: any) {\n if (!formValues.trigger_time_checkbox) {\n formValues.trigger_time = formValues.defect_notification_period;\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-1-0-72-output',\n templateUrl: './serial-defect-1-0-72-output.component.html',\n})\nexport class SerialDefect1072OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0xLTEtMC9zZXJpYWwtZGVmZWN0LTEtMS0wLWlucHV0L3NlcmlhbC1kZWZlY3QtMS0xLTAtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMS0wL3NlcmlhbC1kZWZlY3QtMS0xLTAtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTEtMC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTEtMS0wL3NlcmlhbC1kZWZlY3QtMS0xLTAtaW5wdXQvc2VyaWFsLWRlZmVjdC0xLTEtMC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsService } from '../../../../../services/calculations.service';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-1-1-0-input',\n templateUrl: './serial-defect-1-1-0-input.component.html',\n styleUrls: ['./serial-defect-1-1-0-input.component.less'],\n})\nexport class SerialDefect110InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n private subscription: Subscription;\n private readonly ReplacementYearValue = 5;\n public parkThreshModal: boolean;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [];\n\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n private calculationsCreateModalService: CalculationsCreateModalService,\n private calculationService: CalculationsService\n ) {\n super(modelCommunicationService, formBuilder);\n\n \n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this),\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false,\n },\n [Validators.required, Validators.min(1), Validators.max(5)],\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false,\n },\n [Validators.required, Validators.min(5), Validators.max(30)],\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true,\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n } else {\n this.form.get('components').setValue([...this.preselectedComponents]);\n this.patchClonedForm();\n\n this.subscriptions.push(\n this.calculationService.getSupportedTurbines(this.serviceDetails.serviceName).subscribe(\n response => {\n if (response.success) {\n this.WtgTypes = response.result.supportedWTGTypes;\n }\n }\n ),\n );\n }\n\n }\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n validateTriggerTimeRange(\n control: AbstractControl,\n ): {\n [key: string]: boolean;\n } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n validateParkThreshold = (): boolean => {\n const parksize = this.form.get('parksize').value;\n const threshold = this.form.get('threshold').value;\n\n if ((parksize * threshold) / 100 <= 2) {\n this.parkThreshModal = true;\n return false;\n }\n\n this.parkThreshModal = false;\n return true;\n };\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data)\n if (data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period\n ? data.inputData.defect_notification_period\n : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox\n ? data.inputData.trigger_time_checkbox\n : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox\n ? data.inputData.replacement_year_checkbox\n : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0,\n });\n\n this.calculationsCreateModalService.Clean();\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n closeParkThreshModal() {\n this.parkThreshModal = false;\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n this.processTriggerTime(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.threshold = this.convertPercentToFraction(formValues.threshold);\n }\n\n processTriggerTime(formValues: any) {\n if (!formValues.trigger_time_checkbox) {\n formValues.trigger_time = formValues.defect_notification_period;\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { Component } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-serial-defect-1-1-0-output',\n templateUrl: './serial-defect-1-1-0-output.component.html',\n})\nexport class SerialDefect110OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC0yLTAtMC9zZXJpYWwtZGVmZWN0LTItMC0wLWlucHV0L3NlcmlhbC1kZWZlY3QtMi0wLTAtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTItMC0wL3NlcmlhbC1kZWZlY3QtMi0wLTAtaW5wdXQvc2VyaWFsLWRlZmVjdC0yLTAtMC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0LTItMC0wL3NlcmlhbC1kZWZlY3QtMi0wLTAtaW5wdXQvc2VyaWFsLWRlZmVjdC0yLTAtMC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { environment } from 'src/environments/environment';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsService } from '../../../../../services/calculations.service';\nimport { CalculationsCreateModalService } from './../../../calculations-create-modal/calculations-create-modal.service';\nimport { SerialDefectModelPropertyNames } from './../../model-property-names/serial-defect.model-property-names';\nimport { ComponentHelper } from 'src/app/helpers/component-helper';\n\n@Component({\n selector: 'app-serial-defect-2-0-0-input',\n templateUrl: './serial-defect-2-0-0-input.component.html',\n styleUrls: ['./serial-defect-2-0-0-input.component.less'],\n})\nexport class SerialDefect200InputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n private readonly ReplacementYearValue = 5;\n public availableComponents = ComponentHelper.componentList;\n public preselectedComponents = ComponentHelper.preselectedComponents;\n public componentOptions = ComponentHelper.getComponentOptions();\n\n public WtgTypes: string[] = [];\n\n public dnpValues = Array(5) // 1..5\n .fill(0)\n .map((x, i) => i + 1);\n\n public replacementYearValues = Array(26) // 5..30\n .fill(0)\n .map((x, i) => i + 5);\n\n constructor(\n private readonly modelCommunicationService: CalculationsModelCommunicationService,\n public readonly formBuilder: FormBuilder,\n private readonly calculationsCreateModalService: CalculationsCreateModalService,\n private readonly calculationService: CalculationsService,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n turbine_type: new FormControl(null, [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(0.01), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n defect_notification_period: new FormControl(null, [\n Validators.required,\n Validators.min(1),\n Validators.max(5),\n this.validateTriggerTimeRange.bind(this)\n ]),\n trigger_time: new FormControl(\n {\n value: 1,\n disabled: false\n },\n [Validators.required, Validators.min(1), Validators.max(5)]\n ),\n replacement_year: new FormControl(\n {\n value: this.ReplacementYearValue,\n disabled: false\n },\n [Validators.required, Validators.min(5), Validators.max(30)]\n ),\n components: new FormControl([], [Validators.required]),\n discount_rate: new FormControl({\n value: environment.discountRate,\n disabled: true\n }),\n trigger_time_checkbox: new FormControl(false),\n replacement_year_checkbox: new FormControl(false)\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl('')\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes\n });\n }\n } else {\n this.patchClonedForm();\n this.subscriptions.push(\n this.calculationService.getSupportedTurbines(this.serviceDetails.serviceName).subscribe(response => {\n if (response.success) {\n this.WtgTypes = response.result.supportedWTGTypes;\n }\n }),\n );\n }\n this.componentsChanged();\n }\n\n public componentsChanged(): void {\n const selectedComponentNames = this.componentOptions.filter(o => o.selected).map(o => o.text);\n const selectedComponents = ComponentHelper.componentList.filter(\n c => selectedComponentNames.indexOf(c.Component) > -1,\n );\n if (this.form) {\n this.form.get('components').setValue(selectedComponents);\n }\n }\n\n public toggleReplacementYear() {\n if (this.form.get('replacement_year').disabled) {\n this.form.get('replacement_year').enable();\n } else {\n this.form.get('replacement_year').patchValue(this.ReplacementYearValue);\n }\n }\n\n public compareValues(a: ComponentRisk, b: ComponentRisk): boolean {\n return a.Component === b.Component;\n }\n\n public toggleTriggerTime() {\n if (this.form.get('trigger_time').disabled) {\n this.form.get('trigger_time').enable();\n } else {\n this.form.get('trigger_time').patchValue(this.form.get('defect_notification_period').value);\n }\n }\n\n validateTriggerTimeRange(control: AbstractControl): { [key: string]: boolean } {\n if (!this.form) {\n return null;\n }\n\n const triggerTime = this.form.get('trigger_time').value;\n const dnp = this.form.get('defect_notification_period').value;\n\n if (triggerTime > dnp) {\n return {\n dnpRange: true,\n };\n }\n return null;\n }\n\n patchClonedForm() {\n this.subscriptions.push(\n this.calculationsCreateModalService.GetItemsObservable().subscribe(data => {\n if (data)\n if (data.inputData) {\n this.form.patchValue({\n turbine_type: data.inputData.turbine_type ? data.inputData.turbine_type : '',\n threshold: data.inputData.threshold ? this.convertFractionToPercent(data.inputData.threshold) : 1,\n parksize: data.inputData.parksize ? data.inputData.parksize : 0,\n defect_notification_period: data.inputData.defect_notification_period ? data.inputData.defect_notification_period : '',\n trigger_time: data.inputData.trigger_time ? data.inputData.trigger_time : '',\n replacement_year: data.inputData.replacement_year ? data.inputData.replacement_year : 0,\n components: data.inputData.components ? data.inputData.components : '',\n trigger_time_checkbox: data.inputData.trigger_time_checkbox ? data.inputData.trigger_time_checkbox : false,\n replacement_year_checkbox: data.inputData.replacement_year_checkbox ? data.inputData.replacement_year_checkbox : false,\n discount_rate: data.inputData.discount_rate ? data.inputData.discount_rate : 0\n });\n\n this.calculationsCreateModalService.Clean();\n this.setComponents(data.inputData.components);\n }\n }),\n );\n }\n\n editClick() {\n this.form.enable();\n this.nameForm.enable();\n }\n\n getPropertyLabel(propertyName: string): string {\n return SerialDefectModelPropertyNames.get(propertyName);\n }\n\n patchFormWithSavedData() {\n this.form.patchValue({\n turbine_type: this.calculationOutput.request.calculationInput.turbine_type,\n threshold: this.convertFractionToPercent(this.calculationOutput.request.calculationInput.threshold),\n parksize: this.calculationOutput.request.calculationInput.parksize,\n defect_notification_period: this.calculationOutput.request.calculationInput.defect_notification_period,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n replacement_year: this.calculationOutput.request.calculationInput.replacement_year,\n components: this.calculationOutput.request.calculationInput.components,\n trigger_time_checkbox: this.calculationOutput.request.calculationInput.trigger_time_checkbox,\n replacement_year_checkbox: this.calculationOutput.request.calculationInput.replacement_year_checkbox,\n discount_rate: this.calculationOutput.request.calculationInput.discount_rate,\n });\n this.setComponents(this.calculationOutput.request.calculationInput.components);\n }\n\n private setComponents(components: ComponentRisk[]): void {\n this.componentOptions.forEach(o => (o.selected = false));\n if (components) {\n components.forEach(c => {\n const option = this.componentOptions.find(co => co.text === c.Component);\n if (option) {\n option.selected = true;\n }\n });\n }\n this.componentsChanged();\n }\n\n applyDisabledFields() {}\n\n makeCalc(additionalValidation?: () => boolean) {\n let sendData = this.form.getRawValue();\n this.processPercentValues(sendData);\n this.processTriggerTime(sendData);\n super.makeCalc(additionalValidation);\n }\n\n processPercentValues(formValues: any) {\n formValues.threshold = this.convertPercentToFraction(formValues.threshold);\n }\n\n processTriggerTime(formValues: any) {\n if (!formValues.trigger_time_checkbox) {\n formValues.trigger_time = formValues.defect_notification_period;\n }\n }\n\n public updateTriggerTime() {\n if (this.form.get('defect_notification_period').value < this.form.get('trigger_time').value) {\n this.form.controls['trigger_time'].setValue(this.form.get('defect_notification_period').value, {\n emitEvent: true,\n });\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n }\n\n public triggerTimeChanged() {\n this.form.controls['defect_notification_period'].updateValueAndValidity();\n }\n}\n","import { Component } from '@angular/core';\nimport { CalculationModelOutputBase } from '../../calculation-model-output-base';\n\n@Component({\n selector: 'app-serial-defect-2-0-0-output',\n templateUrl: './serial-defect-2-0-0-output.component.html',\n})\nexport class SerialDefect200OutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2VyaWFsLWRlZmVjdC9zZXJpYWwtZGVmZWN0LWlucHV0L3NlcmlhbC1kZWZlY3QtaW5wdXQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0L3NlcmlhbC1kZWZlY3QtaW5wdXQvc2VyaWFsLWRlZmVjdC1pbnB1dC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zZXJpYWwtZGVmZWN0L3NlcmlhbC1kZWZlY3QtaW5wdXQvc2VyaWFsLWRlZmVjdC1pbnB1dC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, Validators } from '@angular/forms';\n\nimport { CalculationModelInputBase } from '../../calculation-model-input-base';\nimport { CalculationsModelCommunicationService } from './../../../calculations-model-communication.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-serial-defect-input',\n templateUrl: './serial-defect-input.component.html',\n styleUrls: ['./serial-defect-input.component.less'],\n})\nexport class SerialDefectInputComponent extends CalculationModelInputBase implements OnInit, OnDestroy {\n public readonly WtgTypes = [\n '2MW V80-V116',\n '2MW/2.2MW V120',\n '3.3MW V112-V117',\n '3.45MW V112-V136',\n '4MW V117-V136',\n '4MW V150',\n 'EnVentus V150-V162',\n ];\n\n constructor(\n private modelCommunicationService: CalculationsModelCommunicationService,\n formBuilder: FormBuilder,\n ) {\n super(modelCommunicationService, formBuilder);\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder.group({\n wtg_type: new FormControl('', [Validators.required]),\n threshold: new FormControl('', [Validators.required, Validators.min(1), Validators.max(100)]),\n parksize: new FormControl('', [Validators.required, Validators.min(0)]),\n dnp: new FormControl('', [Validators.required]),\n trigger_time: new FormControl('', [Validators.required]),\n yRpl: new FormControl('', [Validators.required, Validators.min(5)]),\n add_comp_high_risk: new FormControl('', [Validators.required]),\n add_comp_med_risk: new FormControl('', [Validators.required]),\n add_comp_low_risk: new FormControl('', [Validators.required]),\n dscntrate: new FormControl({ value: environment.discountRate, disabled: true }),\n });\n\n this.nameForm = this.formBuilder.group({\n calculationName: new FormControl('', [Validators.required]),\n notes: new FormControl(''),\n });\n\n if (this.readonly) {\n this.form.disable();\n this.nameForm.disable();\n\n if (this.calculationOutput) {\n this.patchFormWithSavedData();\n\n this.nameForm.patchValue({\n calculationName: this.calculationOutput.calculationName,\n notes: this.calculationOutput.notes,\n });\n }\n }\n }\n\n public patchFormWithSavedData(): void {\n this.form.patchValue({\n wtg_type: this.calculationOutput.request.calculationInput.wtg_type,\n threshold: this.calculationOutput.request.calculationInput.threshold,\n parksize: this.calculationOutput.request.calculationInput.parksize,\n dnp: this.calculationOutput.request.calculationInput.dnp,\n trigger_time: this.calculationOutput.request.calculationInput.trigger_time,\n yRpl: this.calculationOutput.request.calculationInput.yRpl,\n add_comp_high_risk: this.calculationOutput.request.calculationInput.add_comp_high_risk,\n add_comp_med_risk: this.calculationOutput.request.calculationInput.add_comp_med_risk,\n add_comp_low_risk: this.calculationOutput.request.calculationInput.add_comp_low_risk,\n dscntrate: this.calculationOutput.request.calculationInput.dscntrate,\n });\n }\n\n applyDisabledFields() {}\n}\n","import { CalculationModelOutputBase } from '../../calculation-model-output-base';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'app-serial-defect-output',\n templateUrl: './serial-defect-output.component.html',\n})\nexport class SerialDefectOutputComponent extends CalculationModelOutputBase {\n public modelName = '';\n\n constructor() {\n super();\n }\n}\n","export default \".right-pad {\\n padding-right: 5px;\\n}\\n.provisions-input-large {\\n width: 200px;\\n}\\n.provisions-input-small {\\n width: 100px;\\n}\\n.provisions-input-large > input {\\n height: 25px;\\n max-height: 25px;\\n width: 100%;\\n}\\n.provisions-input-small > input {\\n height: 25px;\\n max-height: 25px;\\n width: 100%;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL2FkanVzdGVkLXdhcnJhbnR5LXByb3Zpc2lvbnMvYWRqdXN0ZWQtd2FycmFudHktcHJvdmlzaW9ucy5jb21wb25lbnQubGVzcyIsInNyYy9hcHAvY2FsY3VsYXRpb25zL2NhbGN1bGF0aW9ucy1jcmVhdGUvbW9kZWxzL3NoYXJlZC9hZGp1c3RlZC13YXJyYW50eS1wcm92aXNpb25zL2FkanVzdGVkLXdhcnJhbnR5LXByb3Zpc2lvbnMuY29tcG9uZW50Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBQTtBQ0NGO0FERUE7RUFDRSxZQUFBO0FDQUY7QURHQTtFQUNFLFlBQUE7QUNERjtBRElBO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBQ0ZGO0FES0E7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0FDSEYiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL2FkanVzdGVkLXdhcnJhbnR5LXByb3Zpc2lvbnMvYWRqdXN0ZWQtd2FycmFudHktcHJvdmlzaW9ucy5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yaWdodC1wYWQge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5wcm92aXNpb25zLWlucHV0LWxhcmdlIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4ucHJvdmlzaW9ucy1pbnB1dC1zbWFsbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLnByb3Zpc2lvbnMtaW5wdXQtbGFyZ2U+aW5wdXQge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1heC1oZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvdmlzaW9ucy1pbnB1dC1zbWFsbD5pbnB1dCB7XG4gIGhlaWdodDogMjVweDtcbiAgbWF4LWhlaWdodDogMjVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIucmlnaHQtcGFkIHtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuLnByb3Zpc2lvbnMtaW5wdXQtbGFyZ2Uge1xuICB3aWR0aDogMjAwcHg7XG59XG4ucHJvdmlzaW9ucy1pbnB1dC1zbWFsbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cbi5wcm92aXNpb25zLWlucHV0LWxhcmdlID4gaW5wdXQge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1heC1oZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByb3Zpc2lvbnMtaW5wdXQtc21hbGwgPiBpbnB1dCB7XG4gIGhlaWdodDogMjVweDtcbiAgbWF4LWhlaWdodDogMjVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */\";","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { CalculationAdjustedProvisionsRequestTs, CalculationTs } from 'src/app/typings';\nimport { CalculationsService } from '../../../../../services/calculations.service';\nimport { Subscription } from 'rxjs';\nimport { ModalService } from 'src/app/services/modal.service';\n\n@Component({\n selector: 'app-adjusted-warranty-provisions',\n templateUrl: './adjusted-warranty-provisions.component.html',\n styleUrls: ['./adjusted-warranty-provisions.component.less'],\n})\nexport class AdjustedWarrantyProvisionsComponent implements OnInit, OnDestroy {\n constructor(\n private calculationService: CalculationsService,\n private readonly modalService: ModalService\n ) {}\n\n @Input()\n public adjustedWarrantyProvisions: number;\n @Input()\n public calculationId: number;\n @Input()\n public calculationName: string;\n @Input()\n public currency: string;\n @Input()\n public canEditAdjustedProvisions = false;\n @Input()\n public inline = true;\n @Output()\n public adjustedProvisionsUpdated = new EventEmitter();\n\n public isSaveInProgress = false;\n public isEditingProvisions = false;\n public editedProvisions: number;\n public error: string;\n\n private subscriptions: Subscription[] = [];\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.modalService.adjustWarrantyProvisionsModalStream.subscribe(show => {\n this.error = null;\n this.editedProvisions = this.adjustedWarrantyProvisions;\n this.isEditingProvisions = show;\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n public valid(): boolean {\n if (this.editedProvisions === null) {\n return false;\n }\n return this.editedProvisions.toString() !== '';\n }\n\n public cancelEditProvisionsClicked() {\n this.editedProvisions = this.adjustedWarrantyProvisions;\n this.editedProvisions = null;\n this.isEditingProvisions = false;\n }\n\n public closeAcceptProvisionsModal() {\n this.isEditingProvisions = false;\n }\n\n public saveProvisions() {\n this.isSaveInProgress = true;\n this.error = null;\n const request: CalculationAdjustedProvisionsRequestTs = {\n adjustedProvisions: this.editedProvisions\n };\n this.subscriptions.push(\n this.calculationService.updateAdjustedProvisions(this.calculationId, request).subscribe(response => {\n if (response.success) {\n this.isEditingProvisions = false;\n this.adjustedProvisionsUpdated.emit(response.result);\n } else {\n this.error = `Error updating: ${response.error.message}`;\n }\n this.isSaveInProgress = false;\n })\n );\n }\n}\n","export default \":host {\\n position: relative;\\n}\\ntextarea {\\n width: 100%;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL2NhbGN1bGF0aW9uLW5hbWUvY2FsY3VsYXRpb24tbmFtZS5jb21wb25lbnQubGVzcyIsInNyYy9hcHAvY2FsY3VsYXRpb25zL2NhbGN1bGF0aW9ucy1jcmVhdGUvbW9kZWxzL3NoYXJlZC9jYWxjdWxhdGlvbi1uYW1lL2NhbGN1bGF0aW9uLW5hbWUuY29tcG9uZW50Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxrQkFBQTtBQ0NKO0FEQ0E7RUFDSSxXQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL2NhbGN1bGF0aW9uLW5hbWUvY2FsY3VsYXRpb24tbmFtZS5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG50ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCI6aG9zdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iXX0= */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { CalculationTs } from 'src/app/typings';\nimport { UserNotificationSeverity } from 'src/app/user-notification/user-notification.models';\nimport { CalculationsService } from '../../../../../services/calculations.service';\nimport { UserNotificationService } from './../../../../../user-notification/user-notification.service';\n\n@Component({\n selector: 'app-calculation-name',\n templateUrl: './calculation-name.component.html',\n styleUrls: ['./calculation-name.component.less'],\n})\nexport class CalculationNameComponent {\n @Input()\n public name: string;\n @Input()\n public notes: string;\n @Input()\n public id: number;\n @Output()\n public notesUpdated: EventEmitter = new EventEmitter();\n\n public notesEdited = '';\n public editNotes = false;\n public isEditInProgress = false;\n\n constructor(private calculationService: CalculationsService, private notificationService: UserNotificationService) {}\n\n public editNotesClicked(): void {\n this.editNotes = true;\n this.notesEdited = this.notes;\n }\n\n public cancelClicked(): void {\n this.editNotes = false;\n }\n\n public saveClicked(): void {\n this.editNotes = false;\n this.isEditInProgress = true;\n\n this.calculationService.updateNotes(this.id, this.notesEdited).subscribe(response => {\n if (response.success) {\n this.notesUpdated.emit(response.result);\n this.isEditInProgress = false;\n\n this.notificationService.Push({\n Severity: UserNotificationSeverity.Info,\n Message: [`Successfully updated notes for calculation ${this.id}`],\n Title: 'Updated notes',\n });\n } else {\n this.isEditInProgress = false;\n\n this.notificationService.Push({\n Severity: UserNotificationSeverity.Error,\n Message: ['Error updating calculation notes'],\n Title: 'Error updating notes',\n Details: response.error,\n });\n }\n });\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n.table-font {\\n font-family: 'VestasSans, \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif';\\n}\\n.table {\\n margin-left: 5px;\\n margin-right: 5px;\\n}\\n.text-left {\\n margin-left: 5px;\\n}\\n.table td {\\n text-align: center;\\n}\\n.cell-font {\\n font-family: Verdana, Geneva, sans-serif;\\n}\\n.panel-heading {\\n padding: 5px 5px;\\n}\\n.border-fix {\\n border-collapse: inherit;\\n}\\n.panel-body {\\n background-color: white;\\n}\\n.text-bold {\\n font-weight: bold;\\n}\\n.output-table {\\n padding: 10px;\\n border-spacing: 10px;\\n}\\ntable.output-table td {\\n padding: 5px;\\n}\\ntable.output-table th {\\n padding: 5px;\\n}\\ntable.output-table {\\n padding-bottom: 20px;\\n}\\n.out-params {\\n padding-bottom: 50px;\\n color: #888888;\\n font-size: 1em;\\n font-weight: 500;\\n}\\n.marginbottom10 {\\n margin-bottom: 15px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL21hdHJpeC1jb21wb25lbnRzL3Bvd2VyLWN1cnZlLW1hdHJpeC9wb3dlci1jdXJ2ZS1tYXRyaXguY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zaGFyZWQvbWF0cml4LWNvbXBvbmVudHMvcG93ZXItY3VydmUtbWF0cml4L3Bvd2VyLWN1cnZlLW1hdHJpeC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSjtBRENBO0VBQ0UseUVBQUE7QUNDRjtBREVBO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtBQ0FGO0FER0E7RUFDRSxnQkFBQTtBQ0RGO0FESUE7RUFDRSxrQkFBQTtBQ0ZGO0FES0E7RUFDRSx3Q0FBQTtBQ0hGO0FETUE7RUFDRSxnQkFBQTtBQ0pGO0FET0E7RUFDRSx3QkFBQTtBQ0xGO0FEUUE7RUFDRSx1QkFBQTtBQ05GO0FEU0E7RUFDRSxpQkFBQTtBQ1BGO0FEVUE7RUFDRSxhQUFBO0VBQ0Esb0JBQUE7QUNSRjtBRFdBO0VBQ0UsWUFBQTtBQ1RGO0FEWUE7RUFDRSxZQUFBO0FDVkY7QURhQTtFQUNFLG9CQUFBO0FDWEY7QURjQTtFQUNFLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtBQ1pGO0FEZUE7RUFDRSxtQkFBQTtBQ2JGIiwiZmlsZSI6InNyYy9hcHAvY2FsY3VsYXRpb25zL2NhbGN1bGF0aW9ucy1jcmVhdGUvbW9kZWxzL3NoYXJlZC9tYXRyaXgtY29tcG9uZW50cy9wb3dlci1jdXJ2ZS1tYXRyaXgvcG93ZXItY3VydmUtbWF0cml4LmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udGFibGUtZm9udCB7XG4gIGZvbnQtZmFtaWx5OiAnVmVzdGFzU2FucywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJztcbn1cblxuLnRhYmxlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi50ZXh0LWxlZnQge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4udGFibGUgdGQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jZWxsLWZvbnQge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmO1xufVxuXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IDVweCA1cHg7XG59XG5cbi5ib3JkZXItZml4IHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBpbmhlcml0O1xufVxuXG4ucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4udGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5vdXRwdXQtdGFibGUge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItc3BhY2luZzogMTBweDtcbn1cblxudGFibGUub3V0cHV0LXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNXB4O1xufVxuXG50YWJsZS5vdXRwdXQtdGFibGUgdGgge1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbnRhYmxlLm91dHB1dC10YWJsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4ub3V0LXBhcmFtcyB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBjb2xvcjogIzg4ODg4ODtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXJnaW5ib3R0b20xMCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4iLCI6aG9zdCB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi50YWJsZS1mb250IHtcbiAgZm9udC1mYW1pbHk6ICdWZXN0YXNTYW5zLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYnO1xufVxuLnRhYmxlIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4udGV4dC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi50YWJsZSB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jZWxsLWZvbnQge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmO1xufVxuLnBhbmVsLWhlYWRpbmcge1xuICBwYWRkaW5nOiA1cHggNXB4O1xufVxuLmJvcmRlci1maXgge1xuICBib3JkZXItY29sbGFwc2U6IGluaGVyaXQ7XG59XG4ucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnRleHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm91dHB1dC10YWJsZSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1zcGFjaW5nOiAxMHB4O1xufVxudGFibGUub3V0cHV0LXRhYmxlIHRkIHtcbiAgcGFkZGluZzogNXB4O1xufVxudGFibGUub3V0cHV0LXRhYmxlIHRoIHtcbiAgcGFkZGluZzogNXB4O1xufVxudGFibGUub3V0cHV0LXRhYmxlIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG4ub3V0LXBhcmFtcyB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBjb2xvcjogIzg4ODg4ODtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubWFyZ2luYm90dG9tMTAge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuIl19 */\";","import { Component } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../../../../calculations/calculations-create/calculations-model-communication.service';\n\n@Component({\n selector: 'app-power-curve-matrix',\n templateUrl: './power-curve-matrix.component.html',\n styleUrls: ['./power-curve-matrix.component.less'],\n})\nexport class PowerCurveMatrixComponent {\n calculationMatrixOutput: any;\n private subscriptions: Subscription[] = [];\n\n constructor(private communicationService: CalculationsModelCommunicationService) {}\n\n public ngOnInit() {\n this.subscriptions.push(\n this.communicationService.outputChangeMatrixEmitted.subscribe(outputMatrix => {\n this.calculationMatrixOutput = outputMatrix;\n }),\n );\n\n var matrixOutput = JSON.parse(localStorage.getItem('riskmatrix'));\n this.communicationService.emitOutputMatrixChange(matrixOutput);\n }\n}\n","export default \".no-wrap {\\n display: flex;\\n flex-direction: row;\\n}\\n.no-wrap button {\\n margin-left: 20px;\\n}\\n.wrap button {\\n margin-bottom: 20px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsLmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsLmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0FDQ0o7QURDQTtFQUNJLGlCQUFBO0FDQ0o7QURDQTtFQUNJLG1CQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsL21vZGVsLWFjdGlvbi1idXR0b25zLXBhbmVsLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm5vLXdyYXAgYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cbi53cmFwIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiIsIi5uby13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5uby13cmFwIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuLndyYXAgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiJdfQ== */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-model-action-buttons-panel',\n templateUrl: './model-action-buttons-panel.component.html',\n styleUrls: ['./model-action-buttons-panel.component.less'],\n})\nexport class ModelActionButtonsPanelComponent {\n @Input()\n public IsFakeOpportunity = false;\n @Input()\n public IsOutputPresent = false;\n @Input()\n public IsReadonly = false;\n @Input()\n public IsFormDisabled = false;\n @Input()\n public IsFormValid = false;\n @Input()\n public wrap = false;\n\n @Output()\n public OpenSaveModalEmitted = new EventEmitter();\n @Output()\n public ResetEmitted = new EventEmitter();\n @Output()\n public EditEmitted = new EventEmitter();\n\n openSaveCalculationModal() {\n this.OpenSaveModalEmitted.emit();\n }\n\n resetClick() {\n this.ResetEmitted.emit();\n }\n\n editClick() {\n this.EditEmitted.emit();\n }\n}\n","export default \".width-max {\\n width: 100%;\\n}\\n.save-calc-padding {\\n padding-top: 5px;\\n}\\n.disabled-grey {\\n color: #AAAAAA !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWNyZWF0ZS9tb2RlbHMvc2hhcmVkL3NhdmUtY2FsY3VsYXRpb24tZm9ybS9zYXZlLWNhbGN1bGF0aW9uLWZvcm0uY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zaGFyZWQvc2F2ZS1jYWxjdWxhdGlvbi1mb3JtL3NhdmUtY2FsY3VsYXRpb24tZm9ybS5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQUE7QUNDRjtBREVBO0VBQ0UsZ0JBQUE7QUNBRjtBREdBO0VBRUMseUJBQUE7QUNGRCIsImZpbGUiOiJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtY3JlYXRlL21vZGVscy9zaGFyZWQvc2F2ZS1jYWxjdWxhdGlvbi1mb3JtL3NhdmUtY2FsY3VsYXRpb24tZm9ybS5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIi53aWR0aC1tYXgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNhdmUtY2FsYy1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLmRpc2FibGVkLWdyZXlcbntcbiBjb2xvcjojQUFBQUFBICFpbXBvcnRhbnQ7XG59IiwiLndpZHRoLW1heCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNhdmUtY2FsYy1wYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbi5kaXNhYmxlZC1ncmV5IHtcbiAgY29sb3I6ICNBQUFBQUEgIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\nimport { FormGroup } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../../calculations-model-communication.service';\n\n@Component({\n selector: 'app-save-calculation-form',\n templateUrl: './save-calculation-form.component.html',\n styleUrls: ['./save-calculation-form.component.less'],\n})\nexport class SaveCalculationFormComponent implements OnInit, OnDestroy {\n @Input()\n public nameForm: FormGroup;\n @Input()\n public isFakeOpportunity: boolean;\n @Input()\n public readonly: boolean;\n @Input()\n public calculationOutputExists: boolean;\n\n @Output()\n public saveCalculationEmitted: EventEmitter = new EventEmitter();\n @Output()\n public exitSaveModalEmittedEmitted: EventEmitter = new EventEmitter();\n\n public isTcrOverriden: boolean;\n public isTcrDisabled: boolean;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private communicationService: CalculationsModelCommunicationService,\n ) {}\n\n ngOnInit() {\n this.subscriptions.push(\n this.communicationService.outputChangeEmitted.subscribe(out => {\n if (out.result.result.mainOutput) {\n if (out.result.result.mainOutput.requiresTcr) {\n this.isTcrOverriden = out.result.result.mainOutput.requiresTcr;\n } else {\n this.isTcrOverriden = out.result.result.mainOutput.requiredTcr;\n }\n this.isTcrDisabled = this.isTcrOverriden;\n }\n }),\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n public saveDisabled(): boolean {\n const field = this.nameForm.get('calculationName');\n let enabled = true;\n if (field.hasError('required') && field.touched || !field.touched) {\n enabled = false;\n }\n if (this.isFakeOpportunity || this.readonly) {\n enabled = false;\n }\n return !enabled;\n }\n\n public exitSaveModal() {\n this.exitSaveModalEmittedEmitted.emit();\n }\n\n public saveCalculation() {\n this.saveCalculationEmitted.emit();\n }\n\n public changeTcr() {\n this.isTcrOverriden = !this.isTcrOverriden;\n this.communicationService.emitIsTcrOverriden(this.isTcrOverriden);\n }\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n.view-toolbar {\\n padding-left: 10px;\\n}\\n.info-col {\\n width: 1000px;\\n}\\n.v-icon {\\n font-size: 20px;\\n}\\n.view-toolbar .v-icon-trash,\\n::ng-deep app-calculation-clone .v-icon-copy {\\n font-size: 22px;\\n}\\n.icons .v-icon {\\n margin-left: 3px;\\n}\\ntable.no-tooltip td {\\n padding-bottom: 3px;\\n}\\n.panel-heading {\\n padding: 5px 5px;\\n}\\nsh-content-group {\\n margin-bottom: 10px;\\n}\\n.color-gray {\\n color: darkgray;\\n}\\n.relative {\\n position: relative;\\n}\\n.loader-wrapper {\\n position: absolute;\\n transform: scale(3);\\n left: 50%;\\n top: 50px;\\n}\\n.right-pad {\\n padding-right: 5px;\\n}\\n.clone-panel {\\n margin-right: auto;\\n}\\n.panel-pane {\\n width: 100%;\\n height: 100%;\\n overflow-y: scroll;\\n position: absolute;\\n background-color: #f5f5f5;\\n padding: 20px;\\n}\\n.panel-pane > * {\\n margin-top: 0;\\n}\\n.panel-body {\\n padding-bottom: 0px;\\n}\\n.panel-pane-columns {\\n display: flex;\\n min-height: 100%;\\n align-items: stretch;\\n justify-content: space-between;\\n}\\n.panel-pane-item {\\n background-color: #f5f5f5;\\n width: calc(50% - 5px);\\n padding: 20px;\\n}\\n.margin-right {\\n margin-right: 20px;\\n}\\n.field-block {\\n float: left;\\n}\\n.right-align {\\n text-align: right;\\n}\\n.calcparam {\\n width: 90%;\\n}\\n.buttons-panel {\\n margin-top: -10px;\\n}\\n.details-container {\\n background-color: #eeeeee;\\n padding-left: 10px;\\n padding-right: 10px;\\n padding-top: 10px;\\n font-weight: 500;\\n margin-bottom: 11px;\\n margin-top: 1px;\\n}\\n.bolder-text {\\n font-weight: 500;\\n}\\n.details-content {\\n margin-bottom: 0px;\\n}\\n.control-window {\\n height: 25px;\\n}\\n.edit-block {\\n vertical-align: middle;\\n padding: 5px;\\n height: -webkit-fit-content;\\n height: -moz-fit-content;\\n height: fit-content;\\n float: left;\\n display: table-cell;\\n}\\n.edit-field {\\n float: left;\\n margin-right: 10px;\\n}\\n.details-wrapper {\\n margin-top: 1px;\\n padding-top: 0px;\\n padding-bottom: 0px;\\n}\\n.left-padding-zero {\\n padding-left: 0px;\\n}\\n.rignt-padding-zero {\\n padding-left: 0px;\\n}\\n.float-left {\\n float: left;\\n}\\n.margin-top-10 {\\n margin-top: 10px;\\n}\\n.p-name {\\n width: 20%;\\n float: left;\\n color: #777777;\\n}\\n.p-val {\\n width: 80%;\\n}\\n.p-name-large {\\n width: 30%;\\n float: left;\\n color: #777777;\\n}\\n.p-val-lage {\\n width: 70%;\\n}\\n.p-name-right {\\n width: 75%;\\n float: left;\\n color: #777777;\\n padding-left: 45px;\\n}\\n.p-val-right {\\n text-align: right;\\n}\\n.lpadding10 {\\n padding-left: 10px;\\n}\\n.cell-params {\\n padding: 5px 0;\\n vertical-align: top;\\n}\\n.cell-params-right {\\n text-align: right;\\n}\\n.margin-right-5 {\\n margin-right: 5px;\\n}\\n.notes {\\n border: none;\\n background-color: #eeeeee;\\n padding: 0px;\\n}\\n.align-left {\\n text-align: left;\\n}\\n.grey-text {\\n padding-right: 10px;\\n color: #777777;\\n}\\n.button-row {\\n padding-top: 10px;\\n}\\n.input-row {\\n padding-bottom: 5px;\\n}\\n.table-params {\\n margin-left: auto;\\n}\\n.last-col-style {\\n padding-right: 0px;\\n text-align: right;\\n}\\n.edit-button {\\n padding-left: 5px;\\n}\\n.half-width {\\n width: 50%;\\n}\\n.top-panel-controls {\\n margin-left: 10px;\\n}\\n.buttons-row {\\n padding-left: 20px;\\n}\\n.icon-elm {\\n width: 20px;\\n position: relative;\\n}\\n.icon-elm .v-icon {\\n position: absolute;\\n right: 0;\\n top: -2px;\\n}\\n.pt10 {\\n padding-top: 10px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWRldGFpbHMvY2FsY3VsYXRpb25zLWRldGFpbHMuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtZGV0YWlscy9jYWxjdWxhdGlvbnMtZGV0YWlscy5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSjtBRENBO0VBQ0ksa0JBQUE7QUNDSjtBRENBO0VBQ0ksYUFBQTtBQ0NKO0FEQ0E7RUFDSSxlQUFBO0FDQ0o7QURDQTs7RUFDSSxlQUFBO0FDRUo7QURBQTtFQUVRLGdCQUFBO0FDQ1I7QURFQTtFQUNJLG1CQUFBO0FDQUo7QURFQTtFQUNJLGdCQUFBO0FDQUo7QURHQTtFQUNJLG1CQUFBO0FDREo7QURJQTtFQUNJLGVBQUE7QUNGSjtBREtBO0VBQ0ksa0JBQUE7QUNISjtBRE1BO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0FDSko7QURPQTtFQUNJLGtCQUFBO0FDTEo7QURRQTtFQUNJLGtCQUFBO0FDTko7QURTQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTtBQ1BKO0FEQ0E7RUFRUSxhQUFBO0FDTlI7QURVQTtFQUNJLG1CQUFBO0FDUko7QURXQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsOEJBQUE7QUNUSjtBRFlBO0VBQ0kseUJBQUE7RUFDQSxzQkFBQTtFQUNBLGFBQUE7QUNWSjtBRGFBO0VBQ0ksa0JBQUE7QUNYSjtBRGNBO0VBQ0ksV0FBQTtBQ1pKO0FEZUE7RUFDSSxpQkFBQTtBQ2JKO0FEZ0JBO0VBQ0ksVUFBQTtBQ2RKO0FEaUJBO0VBQ0ksaUJBQUE7QUNmSjtBRGtCQTtFQUNJLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7QUNoQko7QURtQkE7RUFDSSxnQkFBQTtBQ2pCSjtBRG9CQTtFQUNJLGtCQUFBO0FDbEJKO0FEcUJBO0VBQ0ksWUFBQTtBQ25CSjtBRHNCQTtFQUNJLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLDJCQUFBO0VBQUEsd0JBQUE7RUFBQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtBQ3BCSjtBRHVCQTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtBQ3JCSjtBRHdCQTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FDdEJKO0FEeUJBO0VBQ0ksaUJBQUE7QUN2Qko7QUQwQkE7RUFDSSxpQkFBQTtBQ3hCSjtBRDJCQTtFQUNJLFdBQUE7QUN6Qko7QUQ0QkE7RUFDSSxnQkFBQTtBQzFCSjtBRDZCQTtFQUNJLFVBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtBQzNCSjtBRDhCQTtFQUNJLFVBQUE7QUM1Qko7QUQrQkE7RUFDSSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QUM3Qko7QURnQ0E7RUFDSSxVQUFBO0FDOUJKO0FEaUNBO0VBQ0ksVUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QUMvQko7QURrQ0E7RUFDSSxpQkFBQTtBQ2hDSjtBRG1DQTtFQUNJLGtCQUFBO0FDakNKO0FEb0NBO0VBQ0ksY0FBQTtFQUNBLG1CQUFBO0FDbENKO0FEcUNBO0VBQ0ksaUJBQUE7QUNuQ0o7QURzQ0E7RUFDSSxpQkFBQTtBQ3BDSjtBRHVDQTtFQUNJLFlBQUE7RUFDQSx5QkFBQTtFQUNBLFlBQUE7QUNyQ0o7QUR3Q0E7RUFDSSxnQkFBQTtBQ3RDSjtBRHlDQTtFQUNJLG1CQUFBO0VBQ0EsY0FBQTtBQ3ZDSjtBRDBDQTtFQUNJLGlCQUFBO0FDeENKO0FEMkNBO0VBQ0ksbUJBQUE7QUN6Q0o7QUQ0Q0E7RUFDSSxpQkFBQTtBQzFDSjtBRDZDQTtFQUNJLGtCQUFBO0VBQ0EsaUJBQUE7QUMzQ0o7QUQ4Q0E7RUFDSSxpQkFBQTtBQzVDSjtBRCtDQTtFQUNJLFVBQUE7QUM3Q0o7QURnREE7RUFDSSxpQkFBQTtBQzlDSjtBRGlEQTtFQUNJLGtCQUFBO0FDL0NKO0FEaURBO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0FDL0NKO0FENkNBO0VBSVEsa0JBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtBQzlDUjtBRGlEQTtFQUNJLGlCQUFBO0FDL0NKIiwiZmlsZSI6InNyYy9hcHAvY2FsY3VsYXRpb25zL2NhbGN1bGF0aW9ucy1kZXRhaWxzL2NhbGN1bGF0aW9ucy1kZXRhaWxzLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udmlldy10b29sYmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4uaW5mby1jb2wge1xuICAgIHdpZHRoOiAxMDAwcHg7XG59XG4udi1pY29uIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG4udmlldy10b29sYmFyIC52LWljb24tdHJhc2gsIDo6bmctZGVlcCBhcHAtY2FsY3VsYXRpb24tY2xvbmUgLnYtaWNvbi1jb3B5IHtcbiAgICBmb250LXNpemU6IDIycHg7XG59XG4uaWNvbnMge1xuICAgIC52LWljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cbn1cbnRhYmxlLm5vLXRvb2x0aXAgdGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG59XG4ucGFuZWwtaGVhZGluZyB7XG4gICAgcGFkZGluZzogNXB4IDVweDtcbn1cblxuc2gtY29udGVudC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmNvbG9yLWdyYXkge1xuICAgIGNvbG9yOiBkYXJrZ3JheTtcbn1cblxuLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sb2FkZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMyk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTBweDtcbn1cblxuLnJpZ2h0LXBhZCB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uY2xvbmUtcGFuZWwge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnBhbmVsLXBhbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICA+ICoge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLnBhbmVsLWJvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG59XG5cbi5wYW5lbC1wYW5lLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5wYW5lbC1wYW5lLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgd2lkdGg6IGNhbGMofic1MCUgLSA1cHgnKTtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ubWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5maWVsZC1ibG9jayB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodC1hbGlnbiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jYWxjcGFyYW0ge1xuICAgIHdpZHRoOiA5MCU7XG59XG5cbi5idXR0b25zLXBhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cblxuLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi5ib2xkZXItdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRldGFpbHMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4uY29udHJvbC13aW5kb3cge1xuICAgIGhlaWdodDogMjVweDtcbn1cblxuLmVkaXQtYmxvY2sge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLmVkaXQtZmllbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmRldGFpbHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbn1cblxuLmxlZnQtcGFkZGluZy16ZXJvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuLnJpZ250LXBhZGRpbmctemVybyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLm1hcmdpbi10b3AtMTAge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5wLW5hbWUge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG59XG5cbi5wLXZhbCB7XG4gICAgd2lkdGg6IDgwJTtcbn1cblxuLnAtbmFtZS1sYXJnZSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb2xvcjogIzc3Nzc3Nztcbn1cblxuLnAtdmFsLWxhZ2Uge1xuICAgIHdpZHRoOiA3MCU7XG59XG5cbi5wLW5hbWUtcmlnaHQge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuXG4ucC12YWwtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubHBhZGRpbmcxMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uY2VsbC1wYXJhbXMge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jZWxsLXBhcmFtcy1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5ub3RlcyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgcGFkZGluZzogMHB4O1xufVxuXG4uYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyZXktdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBjb2xvcjogIzc3Nzc3Nztcbn1cblxuLmJ1dHRvbi1yb3cge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4uaW5wdXQtcm93IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4udGFibGUtcGFyYW1zIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmxhc3QtY29sLXN0eWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5lZGl0LWJ1dHRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5oYWxmLXdpZHRoIHtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4udG9wLXBhbmVsLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmJ1dHRvbnMtcm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4uaWNvbi1lbG0ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudi1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgIH1cbn1cbi5wdDEwIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbiIsIjpob3N0IHtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnZpZXctdG9vbGJhciB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbi5pbmZvLWNvbCB7XG4gIHdpZHRoOiAxMDAwcHg7XG59XG4udi1pY29uIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuLnZpZXctdG9vbGJhciAudi1pY29uLXRyYXNoLFxuOjpuZy1kZWVwIGFwcC1jYWxjdWxhdGlvbi1jbG9uZSAudi1pY29uLWNvcHkge1xuICBmb250LXNpemU6IDIycHg7XG59XG4uaWNvbnMgLnYtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG50YWJsZS5uby10b29sdGlwIHRkIHtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogNXB4IDVweDtcbn1cbnNoLWNvbnRlbnQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLmNvbG9yLWdyYXkge1xuICBjb2xvcjogZGFya2dyYXk7XG59XG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubG9hZGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMyk7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MHB4O1xufVxuLnJpZ2h0LXBhZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbn1cbi5jbG9uZS1wYW5lbCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5wYW5lbC1wYW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4ucGFuZWwtcGFuZSA+ICoge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuLnBhbmVsLXBhbmUtY29sdW1ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucGFuZWwtcGFuZS1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG4uZmllbGQtYmxvY2sge1xuICBmbG9hdDogbGVmdDtcbn1cbi5yaWdodC1hbGlnbiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmNhbGNwYXJhbSB7XG4gIHdpZHRoOiA5MCU7XG59XG4uYnV0dG9ucy1wYW5lbCB7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuLmRldGFpbHMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuLmJvbGRlci10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5kZXRhaWxzLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG4uY29udHJvbC13aW5kb3cge1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uZWRpdC1ibG9jayB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmc6IDVweDtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4uZWRpdC1maWVsZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4uZGV0YWlscy13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuLmxlZnQtcGFkZGluZy16ZXJvIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG4ucmlnbnQtcGFkZGluZy16ZXJvIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLm1hcmdpbi10b3AtMTAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnAtbmFtZSB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzc3Nzc3Nztcbn1cbi5wLXZhbCB7XG4gIHdpZHRoOiA4MCU7XG59XG4ucC1uYW1lLWxhcmdlIHtcbiAgd2lkdGg6IDMwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLnAtdmFsLWxhZ2Uge1xuICB3aWR0aDogNzAlO1xufVxuLnAtbmFtZS1yaWdodCB7XG4gIHdpZHRoOiA3NSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuLnAtdmFsLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubHBhZGRpbmcxMCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbi5jZWxsLXBhcmFtcyB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmNlbGwtcGFyYW1zLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubWFyZ2luLXJpZ2h0LTUge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cbi5ub3RlcyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgcGFkZGluZzogMHB4O1xufVxuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmdyZXktdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiAjNzc3Nzc3O1xufVxuLmJ1dHRvbi1yb3cge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbi5pbnB1dC1yb3cge1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuLnRhYmxlLXBhcmFtcyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLmxhc3QtY29sLXN0eWxlIHtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5lZGl0LWJ1dHRvbiB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuLmhhbGYtd2lkdGgge1xuICB3aWR0aDogNTAlO1xufVxuLnRvcC1wYW5lbC1jb250cm9scyB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuLmJ1dHRvbnMtcm93IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLmljb24tZWxtIHtcbiAgd2lkdGg6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pY29uLWVsbSAudi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAtMnB4O1xufVxuLnB0MTAge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbiJdfQ== */\";","import {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { CalculationTs } from 'src/app/typings';\nimport { OpportunityService } from '../../services/opportunity.service';\nimport { CalculationStatusLabelMap } from '../../helpers/status-mapper';\nimport { CalculationModelInputBase } from '../calculations-create/models/calculation-model-input-base';\nimport { CalculationStatusTs } from '../../typings';\nimport { CalculationsModelCommunicationService } from './../calculations-create/calculations-model-communication.service';\nimport { CalculationModelsMapper, ModelViewValue } from './../calculations-create/models/calculation-models-mapper';\nimport { CalculationsService } from '../../services/calculations.service';\nimport { NavigationItem, NavigationService } from 'src/app/services/navigation.service';\nimport { LocalStorageHelper } from 'src/app/helpers/local-storage-helper';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { StateService } from 'src/app/services/state.service';\n\n@Component({\n selector: 'app-calculations-details',\n templateUrl: './calculations-details.component.html',\n styleUrls: ['./calculations-details.component.less'],\n})\nexport class CalculationsDetailsComponent implements OnInit, OnDestroy {\n public details: CalculationTs = null;\n private dynamicComponent: ComponentRef = null;\n public detailsView: ModelViewValue = null;\n public showLoader = false;\n public canEditStatusOrProvisions = false;\n public id: number;\n public statusChangeInProgress = false;\n private subscriptions: Subscription[] = [];\n public obsoleteModal: boolean;\n public acceptModal: boolean;\n public rejectModal: boolean;\n public notesModal: boolean;\n public warrantyFeeModal: boolean;\n public riskModal: boolean;\n\n public notes: string;\n public warrantyFee: number;\n public ldRisk: number;\n public error: string;\n\n private canEdit: boolean;\n\n constructor(\n private calculationService: CalculationsService,\n private communicationService: CalculationsModelCommunicationService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private activatedRoute: ActivatedRoute,\n private readonly navigationService: NavigationService,\n private opportunityService: OpportunityService,\n private calculationModelsMapper: CalculationModelsMapper,\n private readonly loaderService: LoaderService,\n private readonly stateService: StateService\n ) {}\n\n ngOnInit() {\n this.showLoader = true;\n this.stateService.setContext({ parent: '', parentSubtitle: '', children: [{ text: '', subtitle: '' }] })\n this.id = this.activatedRoute.snapshot.params.id;\n\n LocalStorageHelper.setItem(LocalStorageHelper.LAST_VIEWED_CALCULATION, this.id);\n\n this.navigationService.setNavigation(NavigationItem.Calculation);\n this.loaderService.setContextLoader(true);\n\n this.subscriptions.push(\n this.calculationService.getCalculation(this.id).subscribe(response => {\n if (response.success) {\n this.details = response.result;\n this.detailsReceived();\n } else {\n this.error = response.error.message;\n }\n this.showLoader = false;\n })\n );\n\n this.subscriptions.push(\n this.calculationService.getCanEditStatus(this.id).subscribe(response => {\n if (response.success) {\n this.canEdit = response.result;\n this.setPrivileges();\n } else {\n this.error = response.error.message;\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n if (this.dynamicComponent != null) {\n this.dynamicComponent.destroy();\n }\n this.subscriptions.forEach(x => x.unsubscribe());\n }\n\n private detailsReceived(): void {\n if (this.details.matrixOutput) {\n var matrixOutput = JSON.parse(this.details.matrixOutput);\n this.communicationService.emitOutputMatrixChange(matrixOutput);\n }\n this.detailsView = this.calculationModelsMapper.GetModelByServiceName(this.details.request.serviceName);\n this.communicationService.emitCurrentlySelectedServiceNameChange(this.detailsView);\n this.getContext();\n this.showDynamicOutputComponent();\n this.setPrivileges();\n }\n\n private getContext(): void {\n this.subscriptions.push(\n this.opportunityService.getOpportunities(this.details.opportunityId).subscribe(response => {\n if (response.success) {\n const opportunity = response.result;\n this.stateService.setContext({\n parent: opportunity.opportunityId,\n parentSubtitle: opportunity.name,\n children: [{\n text: this.detailsView.friendlyName,\n subtitle: ''\n }]\n });\n } else {\n this.error = response.error.message;\n }\n this.loaderService.setContextLoader(false);\n })\n );\n }\n\n private setPrivileges(): void {\n if (!this.details || this.canEdit === undefined) {\n return;\n }\n this.canEditStatusOrProvisions = this.canEdit && !this.details.isObsolete;\n this.dynamicComponent.instance.canEditAdjustedProvisions = this.canEdit && !this.details.isObsolete;\n this.dynamicComponent.changeDetectorRef.detectChanges();\n }\n\n private showDynamicOutputComponent(): void {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.detailsView.inputComponent);\n const componentRef = componentFactory.create(this.injector);\n\n // add details\n componentRef.instance.calculationOutput = this.details;\n componentRef.instance.readonly = true;\n componentRef.instance.serviceDetails = this.detailsView;\n componentRef.instance.canEditAdjustedProvisions = this.canEditStatusOrProvisions;\n componentRef.instance.calculationUpdated.subscribe(event => this.calculationUpdatedCallback(event));\n\n this.appRef.attachView(componentRef.hostView);\n const domElem = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.getElementById('dynamicOutputOutlet').appendChild(domElem);\n this.dynamicComponent = componentRef;\n }\n\n private calculationUpdatedCallback(calculation: CalculationTs) {\n this.details = calculation;\n this.dynamicComponent.instance.calculationOutput = this.details;\n this.dynamicComponent.instance.canEditAdjustedProvisions = this.canEditStatusOrProvisions;\n this.dynamicComponent.changeDetectorRef.detectChanges();\n }\n\n // Make obsolete\n\n public openObsoleteModal() {\n this.obsoleteModal = true;\n }\n\n public closeObsoleteModal() {\n this.obsoleteModal = false;\n }\n\n public obsoleteModalYesClicked() {\n this.obsoleteCalculation(this.details.id);\n this.obsoleteModal = false;\n }\n\n private obsoleteCalculation(id: number) {\n this.showLoader = true;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.markAsObsolete(id).subscribe(response => {\n if (response.success) {\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = `Error marking calculation ${id} as obsolete: ${response.error.message}`;\n }\n this.showLoader = false;\n })\n );\n }\n\n // Approve\n\n public closeAcceptModal() {\n this.acceptModal = false;\n }\n\n public openAcceptModal() {\n this.acceptModal = true;\n }\n\n public onAcceptClicked() {\n this.statusChangeInProgress = true;\n this.acceptModal = false;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.approveCalculation(this.id).subscribe(response => {\n if (response.success) {\n this.statusChangeInProgress = false;\n this.canEditStatusOrProvisions = false;\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = response.error.message;\n }\n })\n );\n }\n\n // Reject\n\n public openRejectModal() {\n this.rejectModal = true;\n }\n\n public closeRejectModal() {\n this.rejectModal = false;\n }\n\n public onRejectClicked() {\n this.statusChangeInProgress = true;\n this.rejectModal = false;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.rejectCalculation(this.id).subscribe(response => {\n if (response.success) {\n this.statusChangeInProgress = false;\n this.canEditStatusOrProvisions = false;\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = `Error rejecting calculation: ${response.error.message}`;\n }\n })\n );\n }\n\n // Notes\n\n public openNotesModal() {\n this.notes = this.details.notes;\n this.notesModal = true;\n }\n\n public closeNotesModal() {\n this.notesModal = false;\n }\n\n public onSaveNotesClicked() {\n this.showLoader = true;\n this.notesModal = false;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.updateNotes(this.id, this.notes).subscribe(response => {\n if (response.success) {\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = response.error.message;\n }\n this.showLoader = false;\n })\n );\n }\n\n // Warranty fee\n\n public warrantyFeeValid(): boolean {\n if (this.warrantyFee === null || this.warrantyFee === undefined) {\n return false;\n }\n return this.warrantyFee.toString() !== '';\n }\n\n public openWarrantyFeeModal() {\n if (this.details.adjustedProvisions) {\n this.warrantyFee = this.details.adjustedProvisions;\n } else if (this.details.result.result.mainOutput && this.details.result.result.mainOutput.warrantyFee) {\n this.warrantyFee = this.details.result.result.mainOutput.warrantyFee;\n }\n this.warrantyFeeModal = true;\n }\n\n public closeWarrantyFeeModal() {\n this.warrantyFeeModal = false;\n }\n\n public getWarrantyFee() {\n if (this.details.adjustedProvisions) {\n return '€' + this.details.adjustedProvisions;\n }\n if (this.details.result.result.mainOutput) {\n if (this.details.result.result.mainOutput.warrantyFee) {\n return '€' + parseFloat(this.details.result.result.mainOutput.warrantyFee).toFixed(2);\n }\n }\n return '';\n }\n\n public onWarrantyFeeClicked() {\n this.warrantyFeeModal = false;\n this.showLoader = true;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.updateWarrantyFee(this.id, this.warrantyFee).subscribe(response => {\n if (response.success) {\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = response.error.message;\n }\n this.showLoader = false;\n })\n );\n }\n\n // LD risk\n\n public ldRiskValid(): boolean {\n if (this.ldRisk === null || this.ldRisk === undefined) {\n return false;\n }\n return this.ldRisk.toString() !== '';\n }\n\n public openRiskModal() {\n if (this.details.ldRisk) {\n this.ldRisk = this.details.ldRisk * 100;\n } else if (this.details.result.result.mainOutput && this.details.result.result.mainOutput.riskOfLD) {\n this.ldRisk = +(this.details.result.result.mainOutput.riskOfLD * 100).toFixed(2);\n }\n this.riskModal = true;\n }\n\n public closeRiskModal() {\n this.riskModal = false;\n }\n\n public getLdRisk() {\n if (this.details.ldRisk) {\n return this.details.ldRisk * 100 + ' %';\n }\n if (this.details.result.result.mainOutput && this.details.result.result.mainOutput.riskOfLD) {\n return (parseFloat(this.details.result.result.mainOutput.riskOfLD) * 100).toFixed(2) + ' %';\n }\n return '';\n }\n\n public onRiskOfFailingClicked() {\n this.riskModal = false;\n this.showLoader = true;\n this.error = null;\n this.subscriptions.push(\n this.calculationService.updateRiskOfFailing(this.id, this.ldRisk / 100).subscribe(response => {\n if (response.success) {\n this.calculationUpdatedCallback(response.result);\n } else {\n this.error = `Error updating Risk Of Failing: ${response.error.message}`;\n }\n this.showLoader = false;\n })\n );\n }\n\n // Misc\n\n public canRejectApprove(): boolean {\n return this.canEditStatusOrProvisions && !this.details.isObsolete && !this.statusChangeInProgress;\n }\n\n public canEditWarrantyFee(): boolean {\n return this.canEditStatusOrProvisions && !this.details.isObsolete;\n }\n\n public canEditRisk(): boolean {\n return this.canEditStatusOrProvisions && !this.details.isObsolete;\n }\n\n public mapStatusToText(status: CalculationStatusTs): string {\n return CalculationStatusLabelMap.get(status);\n }\n\n public getPeriod() {\n if (this.details.period % 12 == 0) {\n return this.details.period / 12 + ' year(s)';\n }\n return this.details.period + ' months';\n }\n\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n.block-align-center {\\n display: block;\\n margin: auto;\\n}\\n.hidden {\\n visibility: hidden;\\n margin: initial;\\n}\\n.border-fix {\\n table-layout: fixed;\\n}\\n.panel-body {\\n background-color: white;\\n}\\n.details-cell {\\n width: 40px;\\n}\\n.icon-cell {\\n width: 70px;\\n}\\n.notes-cell {\\n width: 190px;\\n}\\n.obsolete td {\\n color: darkgray;\\n}\\ntable .v-icon,\\ntable ::ng-deep app-calculation-clone .v-icon {\\n font-size: 18px !important;\\n transform: translateY(0px);\\n}\\ntable {\\n table-layout: fixed;\\n}\\ntable td {\\n padding-top: 8px;\\n padding-right: 10px;\\n}\\nth {\\n position: sticky;\\n background-color: #fff;\\n top: 0;\\n z-index: 1;\\n}\\n.search-toolbar {\\n width: 240px;\\n}\\n.search-toolbar input[type=text],\\n.search-toolbar input[type=number],\\n.search-toolbar .input-units {\\n width: 200px;\\n}\\n.list-loader {\\n margin-left: 5px;\\n position: absolute;\\n left: 0;\\n top: -8px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWxpc3QvY2FsY3VsYXRpb25zLWxpc3QuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2NhbGN1bGF0aW9ucy9jYWxjdWxhdGlvbnMtbGlzdC9jYWxjdWxhdGlvbnMtbGlzdC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSjtBREVBO0VBQ0UsY0FBQTtFQUNBLFlBQUE7QUNBRjtBREdBO0VBQ0Usa0JBQUE7RUFDQSxlQUFBO0FDREY7QURJQTtFQUNFLG1CQUFBO0FDRkY7QURLQTtFQUNFLHVCQUFBO0FDSEY7QURNQTtFQUNFLFdBQUE7QUNKRjtBRE9BO0VBQ0UsV0FBQTtBQ0xGO0FEUUE7RUFDSSxZQUFBO0FDTko7QURTQTtFQUNJLGVBQUE7QUNQSjtBRFVBOztFQUNJLDBCQUFBO0VBQ0EsMEJBQUE7QUNQSjtBRFVBO0VBQ0ksbUJBQUE7QUNSSjtBRE9BO0VBR1EsZ0JBQUE7RUFDQSxtQkFBQTtBQ1BSO0FEV0E7RUFDSSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7QUNUSjtBRFdBO0VBQ0ksWUFBQTtBQ1RKO0FEUUE7OztFQUdRLFlBQUE7QUNOUjtBRFNBO0VBQ0ksZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0FDUEoiLCJmaWxlIjoic3JjL2FwcC9jYWxjdWxhdGlvbnMvY2FsY3VsYXRpb25zLWxpc3QvY2FsY3VsYXRpb25zLWxpc3QuY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmJsb2NrLWFsaWduLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5oaWRkZW4ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbjogaW5pdGlhbDtcbn1cblxuLmJvcmRlci1maXgge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4ucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uZGV0YWlscy1jZWxsIHtcbiAgd2lkdGg6IDQwcHg7XG59XG5cbi5pY29uLWNlbGwge1xuICB3aWR0aDogNzBweDtcbn1cblxuLm5vdGVzLWNlbGwge1xuICAgIHdpZHRoOiAxOTBweDtcbn1cblxuLm9ic29sZXRlIHRkIHtcbiAgICBjb2xvcjogZGFya2dyYXk7XG59XG5cbnRhYmxlIC52LWljb24sIHRhYmxlIDo6bmctZGVlcCBhcHAtY2FsY3VsYXRpb24tY2xvbmUgLnYtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbnRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG59XG5cbnRoIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc2VhcmNoLXRvb2xiYXIge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPW51bWJlcl0sIC5pbnB1dC11bml0cyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG59XG4ubGlzdC1sb2FkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtOHB4O1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uYmxvY2stYWxpZ24tY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbn1cbi5oaWRkZW4ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbjogaW5pdGlhbDtcbn1cbi5ib3JkZXItZml4IHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbi5wYW5lbC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uZGV0YWlscy1jZWxsIHtcbiAgd2lkdGg6IDQwcHg7XG59XG4uaWNvbi1jZWxsIHtcbiAgd2lkdGg6IDcwcHg7XG59XG4ubm90ZXMtY2VsbCB7XG4gIHdpZHRoOiAxOTBweDtcbn1cbi5vYnNvbGV0ZSB0ZCB7XG4gIGNvbG9yOiBkYXJrZ3JheTtcbn1cbnRhYmxlIC52LWljb24sXG50YWJsZSA6Om5nLWRlZXAgYXBwLWNhbGN1bGF0aW9uLWNsb25lIC52LWljb24ge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG50YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG50YWJsZSB0ZCB7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG50aCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbn1cbi5zZWFyY2gtdG9vbGJhciB7XG4gIHdpZHRoOiAyNDBweDtcbn1cbi5zZWFyY2gtdG9vbGJhciBpbnB1dFt0eXBlPXRleHRdLFxuLnNlYXJjaC10b29sYmFyIGlucHV0W3R5cGU9bnVtYmVyXSxcbi5zZWFyY2gtdG9vbGJhciAuaW5wdXQtdW5pdHMge1xuICB3aWR0aDogMjAwcHg7XG59XG4ubGlzdC1sb2FkZXIge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLThweDtcbn1cbiJdfQ== */\";","import { DecimalPipe } from '@angular/common';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { FakeDataService } from 'src/app/services/fake-data.service';\nimport { CalculationStatusTs, CalculationTs } from 'src/app/typings';\nimport { environment } from 'src/environments/environment';\nimport { CalculationStatusLabelMap } from '../../helpers/status-mapper';\nimport { ModelViewValue } from '../calculations-create/models/calculation-models-mapper';\nimport { CalculationsService } from '../../services/calculations.service';\nimport { CalculationModelsMapper } from './../calculations-create/models/calculation-models-mapper';\nimport { ISortExpression, SortHeaderService } from '@vestasregistry/ui-component-library';\nimport { NavigationItem, NavigationService } from 'src/app/services/navigation.service';\nimport { LocalStorageHelper } from 'src/app/helpers/local-storage-helper';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { StateService } from 'src/app/services/state.service';\n\n@Component({\n selector: 'app-calculations-list',\n templateUrl: './calculations-list.component.html',\n styleUrls: ['./calculations-list.component.less'],\n providers: [DecimalPipe],\n})\nexport class CalculationsListComponent implements OnInit, OnDestroy {\n public calculations: CalculationTs[] = [];\n public showLoader: boolean;\n public showListLoader: boolean;\n public error: string;\n public isPaging: boolean;\n public includeObsolete: boolean = false;\n public calculationIdToObsolete: number = null;\n public footerText: string;\n\n private availableModels: ModelViewValue[] = [];\n private allCalculations: CalculationTs[] = [];\n\n private totalCount = 0;\n private pageSize = 100;\n private listLength = this.pageSize;\n\n public searchOpportunityIdText: string = '';\n public searchSubmittedByText: string = '';\n public searchWarrantyModelText: string = '';\n public searchStatusText: string = '';\n\n private sortExpr: ISortExpression = {\n view: 'list',\n column: 'startDate',\n order: 'desc',\n };\n\n private savedFilter: IFilterSetup = {} as any;\n private delayHandler: any;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private calculationsService: CalculationsService,\n private router: Router,\n private readonly navigationService: NavigationService,\n private readonly sortHeaderService: SortHeaderService,\n private calculationModelsMapper: CalculationModelsMapper,\n private readonly fakeDataService: FakeDataService,\n private readonly loaderService: LoaderService,\n private readonly stateService: StateService\n ) {}\n\n ngOnInit(): void {\n setTimeout(() => {\n this.showListLoader = true;\n }, 100);\n this.checkStoredFilter();\n this.calculationsService.getCalculations(this.includeObsolete);\n this.showNewCalculationWindowIfUrlCall();\n this.navigationService.setNavigation(NavigationItem.MyWarranties);\n this.stateService.setContext(null);\n this.sortHeaderService.change(`${this.sortExpr.column} ${this.sortExpr.order}`, this.sortExpr.view);\n\n this.subscriptions.push(\n this.calculationsService.calculationModelsStream.subscribe(response => {\n if (response.success) {\n this.availableModels = this.calculationModelsMapper.MapToViews(response.result);\n }\n }),\n );\n this.subscriptions.push(\n this.calculationsService.calculationsStream.subscribe(response => {\n if (response.success) {\n this.allCalculations = response.result;\n this.listReceived();\n } else {\n this.error = response.error.message;\n }\n this.showListLoader = false;\n this.loaderService.setListLoader(false);\n })\n );\n this.subscriptions.push(\n this.sortHeaderService.getStream('list').subscribe(expr => {\n this.sortExpr = expr;\n this.resetScroll();\n this.sort();\n this.filterList();\n }),\n );\n this.subscriptions.push(\n this.loaderService.listLoadingStream.subscribe(loading => {\n this.showLoader = loading;\n })\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n public searchChanged(): void {\n if (this.delayHandler) {\n clearTimeout(this.delayHandler);\n }\n this.delayHandler = setTimeout(() => {\n this.saveFilter();\n this.filterChange();\n }, 750);\n }\n\n private saveFilter(): void {\n this.savedFilter.opportunityID = this.searchOpportunityIdText;\n this.savedFilter.submittedBy = this.searchSubmittedByText;\n this.savedFilter.warrantyModel = this.searchWarrantyModelText;\n this.savedFilter.status = this.searchStatusText;\n this.savedFilter.includeObsolete = this.includeObsolete;\n this.storeFilter();\n }\n\n private checkStoredFilter(): void {\n const filter = LocalStorageHelper.getItem(LocalStorageHelper.WARRANTY_LIST_FILTER);\n if (filter) {\n this.savedFilter = filter;\n if (this.savedFilter.opportunityID !== undefined) {\n this.searchOpportunityIdText = this.savedFilter.opportunityID.toLowerCase();\n }\n if (this.savedFilter.status !== undefined) {\n this.searchStatusText = this.savedFilter.status.toLowerCase();\n }\n if (this.savedFilter.submittedBy !== undefined) {\n this.searchSubmittedByText = this.savedFilter.submittedBy.toLowerCase();\n }\n if (this.savedFilter.warrantyModel !== undefined) {\n this.searchWarrantyModelText = this.savedFilter.warrantyModel.toLowerCase();\n }\n if (this.savedFilter.includeObsolete !== undefined) {\n this.includeObsolete = this.savedFilter.includeObsolete;\n }\n }\n }\n\n private storeFilter(): void {\n LocalStorageHelper.setItem(LocalStorageHelper.WARRANTY_LIST_FILTER, this.savedFilter);\n }\n\n public openDetails(calculation: CalculationTs) {\n this.router.navigate([`calculations/details/${calculation.id}`]);\n }\n\n private listReceived(): void {\n if (!environment.production && this.allCalculations.length === 0) {\n this.allCalculations = this.fakeDataService.calculations();\n }\n this.filterList();\n }\n\n // Paging\n\n public loadMore(): void {\n setTimeout(() => {\n if (this.totalCount > this.listLength) {\n this.isPaging = true;\n this.listLength += this.pageSize;\n this.filterList();\n setTimeout(() => {\n this.isPaging = false;\n }, 250);\n }\n }, 0);\n }\n\n private resetScroll() {\n this.listLength = this.pageSize;\n const scroller = document.getElementById('calculations-list');\n if (scroller) {\n scroller.scrollTop = 0;\n }\n }\n\n // Filter, sorting\n\n private filterChange(): void {\n this.pageSize = 100;\n this.resetScroll();\n this.filterList();\n }\n\n private filterList(): void {\n this.sort();\n const data = JSON.parse(JSON.stringify(this.allCalculations)) as CalculationTs[];\n if (data !== null) {\n this.calculations = data.filter(x => {\n return (\n x.opportunityId.includes(this.searchOpportunityIdText) &&\n x.scheduledBy.toLowerCase().includes(this.searchSubmittedByText.toLowerCase()) &&\n this.getStatusLabel(x.calculationStatus)\n .toLowerCase()\n .includes(this.searchStatusText.toLowerCase()) &&\n this.getServiceFriendlyName(x.request.serviceName)\n .toLowerCase()\n .includes(this.searchWarrantyModelText.toLowerCase())\n );\n });\n\n this.totalCount = this.calculations.length;\n const l = this.calculations.length;\n this.calculations = this.calculations.splice(0, l > this.listLength ? this.listLength : l);\n } else {\n this.calculations = [];\n }\n this.setFooterText();\n }\n\n private sort(): void {\n this.allCalculations.sort((a, b) => {\n let aa: string;\n let bb: string;\n const col = this.sortExpr.column;\n if (col === 'serviceName') {\n aa = a.request ? a.request.serviceName : null;\n bb = b.request ? b.request.serviceName : null;\n } else {\n aa = a[col];\n bb = b[col];\n }\n if (this.sortExpr.order === 'asc') {\n return aa < bb ? -1 : 1;\n }\n return aa > bb ? -1 : 1;\n });\n }\n\n //\n\n private showNewCalculationWindowIfUrlCall() {\n const isNew = this.router.url.split('/').includes('new');\n\n if (isNew) {\n this.calculationsService.createNewCalcultion();\n // this.createModal.isActive.next(true);\n }\n }\n\n public getServiceFriendlyName(serviceName: string): string {\n const modelMap = this.availableModels.find(x => x.serviceName === serviceName);\n\n if (modelMap !== undefined) {\n return modelMap.friendlyName;\n } else {\n return serviceName;\n }\n }\n\n public openNewModal() {\n this.calculationsService.createNewCalcultion();\n }\n\n public openObsoleteModal(id: number) {\n this.calculationIdToObsolete = id;\n }\n\n public closeObsoleteModal() {\n this.calculationIdToObsolete = null;\n }\n\n public obsoleteModalYesClicked() {\n this.obsoleteCalculation(this.calculationIdToObsolete);\n this.calculationIdToObsolete = null;\n }\n\n private obsoleteCalculation(id: number) {\n this.showLoader = true;\n this.error = null;\n this.subscriptions.push(\n this.calculationsService.markAsObsolete(id).subscribe(response => {\n if (response.success) {\n this.calculationsService.getCalculations(this.includeObsolete);\n } else {\n this.error = `Error marking calculation ${id} as obsolete: ${response.error.message}`;\n }\n })\n );\n }\n\n public includeObsoleteClicked() {\n this.saveFilter();\n this.loaderService.setListLoader(true);\n this.calculationsService.getCalculations(this.includeObsolete);\n }\n\n public getCalculation(id: number): CalculationTs {\n return this.calculations.find(x => x.id === id);\n }\n\n public getStatusLabel(status: CalculationStatusTs) {\n return CalculationStatusLabelMap.get(status);\n }\n\n // Misc\n\n private setFooterText(): void {\n this.footerText = `Showing ${this.calculations.length} of ${this.totalCount} calculations`;\n }\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Injectable()\nexport class CorrelationIdInterceptor implements HttpInterceptor {\n readonly correlationIdHeader = 'X-Correlation-Id';\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const correlationId = uuidv4();\n\n req = req.clone({\n headers: req.headers.set(this.correlationIdHeader, correlationId),\n });\n\n return next.handle(req);\n }\n}\n","import { ReplaySubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { Directive, Input, Output, EventEmitter, OnInit, OnDestroy, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[pdInView]'\n})\nexport class InViewDirective implements OnInit, OnDestroy {\n\n @Input()\n public isActive = true;\n\n @Input()\n public containerId: string = null;\n\n @Input()\n public offset: [number, number] = [200, 200];\n\n @Output()\n public pdInView = new EventEmitter();\n\n private containerEl: HTMLElement = null;\n private isInView: boolean = null;\n private inViewStream = new ReplaySubject(1);\n\n constructor(private _elementRef: ElementRef) { }\n\n public ngOnInit() {\n if (!!this.containerId) {\n this.containerEl = document.getElementById(this.containerId);\n }\n\n if (!!this.containerEl) {\n this.containerEl.addEventListener('scroll', (e) => this.onContainerScroll());\n this.onContainerScroll();\n } else {\n window.addEventListener('scroll', (e) => this.onWindowScroll());\n this.onWindowScroll();\n }\n\n this.inViewStream\n .pipe(filter(x => x !== this.isInView))\n .subscribe(x => {\n this.isInView = x;\n if (x) {\n this.pdInView.next(x);\n }\n });\n }\n\n public ngOnDestroy() {\n if (!!this.containerEl) {\n this.containerEl.removeEventListener('scroll', this.onContainerScroll);\n } else {\n window.removeEventListener('scroll', this.onWindowScroll);\n }\n }\n\n private onWindowScroll() {\n if (!this.isActive) { return; }\n const wintop = window.pageYOffset + window.innerHeight;\n const viewTop = this._elementRef.nativeElement.offsetTop - this.offset[0];\n const viewBottom = this._elementRef.nativeElement.offsetTop\n + this._elementRef.nativeElement.clientHeight\n + window.innerHeight\n + this.offset[1];\n if (wintop > viewTop && wintop < viewBottom) {\n this.inViewStream.next(true);\n } else {\n this.inViewStream.next(false);\n }\n }\n\n private onContainerScroll() {\n if (!this.isActive) { return; }\n const wintop = this.containerEl.scrollTop + this.containerEl.clientHeight;\n const viewTop = this._elementRef.nativeElement.offsetTop - this.offset[0];\n const viewBottom = this._elementRef.nativeElement.offsetTop\n + this._elementRef.nativeElement.clientHeight\n + this.containerEl.clientHeight\n + this.offset[1];\n if (wintop > viewTop && wintop < viewBottom) {\n this.inViewStream.next(true);\n } else {\n this.inViewStream.next(false);\n }\n }\n\n\n}\n","export default \":host {\\n flex-grow: 1;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2RvY3VtZW50YXRpb24vZG9jdW1lbnRhdGlvbi5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuIiwiOmhvc3Qge1xuICBmbGV4LWdyb3c6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4iXX0= */\";","import { Component, ElementRef, OnInit } from '@angular/core';\nimport {\n CalculationModelsMapper,\n ModelViewValue,\n} from './../calculations/calculations-create/models/calculation-models-mapper';\nimport { CalculationsService } from '../services/calculations.service';\nimport { WarrantyDocumentationTs } from '../typings';\nimport { Subscription } from 'rxjs';\nimport { NavigationItem, NavigationService } from 'src/app/services/navigation.service';\nimport { StateService } from 'src/app/services/state.service';\nimport { DocumentationService } from 'src/app/services/documentation.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-documentation',\n templateUrl: './documentation.component.html',\n styleUrls: ['./documentation.component.less'],\n})\nexport class DocumentationComponent implements OnInit {\n public documentations: WarrantyDocumentationTs[] = [];\n private availableModels: ModelViewValue[] = [];\n public error: string;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private documentationService: DocumentationService,\n private readonly navigationService: NavigationService,\n private elementRef: ElementRef,\n private calculationsService: CalculationsService,\n private calculationModelsMapper: CalculationModelsMapper,\n private stateService: StateService,\n ) {\n this.stateService.setContext(null);\n this.subscriptions.push(\n this.calculationsService.calculationModelsStream.subscribe(response => {\n if (response.success) {\n this.availableModels = this.calculationModelsMapper.MapToViews(response.result);\n }\n }),\n );\n }\n\n ngOnInit() {\n // this.navigationBarComponent.RequestItemActive(NavigationBarItemsEnum.Documentation);\n this.navigationService.setNavigation(NavigationItem.Documentation);\n\n this.documentationService.getDocs().subscribe(response => {\n if (response.success) {\n this.documentations = response.result.filter(\n x =>\n this.calculationModelsMapper.calculationModels.find(y => x.serviceName === y.serviceName) !==\n undefined,\n );\n } else {\n this.error = `Error loading documentation: ${response.error.message}`;\n }\n });\n }\n\n ngAfterViewInit() {\n //append tex-mml-chtml\n const s = document.createElement('script');\n s.type = 'text/javascript';\n s.src = 'https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js';\n this.elementRef.nativeElement.appendChild(s);\n\n //append configuration\n const config = document.createElement('script') as HTMLScriptElement;\n config.type = 'text/x-mathjax-config';\n // register notifier to StartupHook and trigger .next() for all subscribers\n config.text = `\n MathJax.Hub.Config({\n skipStartupTypeset: true,\n tex2jax:{ inlineMath: [ ['$','$'] ] }\n });\n `;\n\n document.getElementsByTagName('head')[0].appendChild(config);\n }\n\n public getModelFriendlyName(serviceName: string): string {\n const model = this.availableModels.find(x => x.serviceName === serviceName);\n if (model) {\n return model.friendlyName;\n }\n return '';\n }\n}\n","import { ISelectOption } from '@vestasregistry/ui-component-library/lib/select';\n\nexport class ComponentHelper {\n public static componentList: ComponentRisk[] = [\n { Component: 'Blade bearing', Risk_level: '1. High' },\n { Component: 'Blade', Risk_level: '1. High' },\n { Component: 'Gearbox', Risk_level: '1. High' },\n { Component: 'Generator', Risk_level: '1. High' },\n { Component: 'Transformer', Risk_level: '1. High' },\n { Component: 'Converter', Risk_level: '2. Medium' },\n { Component: 'HS brake', Risk_level: '2. Medium' },\n { Component: 'Hub (structural part)', Risk_level: '2. Medium' },\n { Component: 'Main bearing', Risk_level: '2. Medium' },\n { Component: 'Main shaft (incl. shrink disc)', Risk_level: '2. Medium' },\n { Component: 'HS coupling', Risk_level: '2. Medium' },\n { Component: 'Pitch accumulator', Risk_level: '2. Medium' },\n { Component: 'Pitch cylinder', Risk_level: '2. Medium' },\n { Component: 'HV Switch gear', Risk_level: '2. Medium' },\n { Component: 'Tower (structural part)', Risk_level: '2. Medium' },\n { Component: 'CMS', Risk_level: '3. Low' },\n { Component: 'Cooler top', Risk_level: '3. Low' },\n { Component: 'Ground controller', Risk_level: '3. Low' },\n { Component: 'Top controller', Risk_level: '3. Low' },\n { Component: 'HV cable', Risk_level: '3. Low' },\n { Component: 'Nacelle cover', Risk_level: '3. Low' },\n { Component: 'Nacelle (structural part)\t', Risk_level: '3. Low' },\n { Component: 'Pitch valve', Risk_level: '3. Low' },\n { Component: 'Hydraulic unit', Risk_level: '3. Low' },\n { Component: 'Yaw ring', Risk_level: '3. Low' },\n { Component: 'Yaw gear', Risk_level: '3. Low' },\n { Component: 'Yaw motor', Risk_level: '3. Low' },\n ];\n\n public static preselectedComponents: ComponentRisk[] = [\n { Component: 'Blade', Risk_level: '1. High' },\n { Component: 'Gearbox', Risk_level: '1. High' },\n { Component: 'Generator', Risk_level: '1. High' },\n { Component: 'Transformer', Risk_level: '1. High' },\n { Component: 'Yaw ring', Risk_level: '3. Low' },\n { Component: 'Yaw gear', Risk_level: '3. Low' },\n { Component: 'Yaw motor', Risk_level: '3. Low' },\n ];\n\n public static getComponentOptions(): ISelectOption[] {\n const options: ISelectOption[] = this.componentList.map(c => {\n return {\n text: c.Component,\n category: `${c.Risk_level} risk`\n };\n });\n this.preselectedComponents.forEach(c => {\n const o = options.find(o => o.text === c.Component);\n if (o) {\n o.selected = true;\n }\n });\n return options;\n }\n\n // Not needed? Only latest serial defects version can be edited\n // public static oldComponentList(): ComponentRisk[] {\n // const list = this.componentList();\n // const index = list.map(c => c.Component).indexOf('CMS');\n // list.splice(index, 1);\n // return list;\n // }\n}\n","\nexport class LocalStorageHelper {\n\n public static readonly WARRANTY_LIST_FILTER = 'war:warranty-list-filter';\n public static readonly LAST_VIEWED_CALCULATION = 'war:last-viewed-calculation';\n\n public static getItem(key: string) {\n const item = localStorage.getItem(key);\n if (item === null || item === 'undefined') { return null; }\n return JSON.parse(item) as T;\n }\n\n public static setItem(key: string, value: any) {\n const data = typeof value === 'string' ? `\"${value}\"` : JSON.stringify(value);\n localStorage.setItem(key, data);\n }\n\n public static removeItem(key: string) {\n localStorage.removeItem(key);\n }\n}\n","import { CalculationStatusTs } from \"../typings\";\n\nexport const CalculationStatusLabelMap: Map = new Map([\n [CalculationStatusTs.AutoApproved, 'Auto Approved'],\n [CalculationStatusTs.ForTcr, 'For TCR'],\n [CalculationStatusTs.TcrApproved, 'TCR Approved'],\n [CalculationStatusTs.TcrRejected, 'TCR Rejected'],\n]);\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable, of, throwError } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UserNotificationService } from './user-notification/user-notification.service';\nimport { UserNotificationSeverity } from './user-notification/user-notification.models';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class HttpErrorInterceptor implements HttpInterceptor {\n constructor(private router: Router, private notificationService: UserNotificationService) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(req).pipe(catchError(error => this.handleError(error, req)));\n }\n\n handleError(error: HttpErrorResponse, request: HttpRequest): Observable> {\n const correlationId = request.headers.has('X-Correlation-Id') ? request.headers.get('X-Correlation-Id') : undefined;\n\n if (error.status === 401 || error.status === 403) {\n console.error('User unauthoried');\n this.router.navigate(['/no-access']);\n\n return of();\n } else if (error.status === 404) {\n this.notificationService.Push({\n Title: 'Not Found',\n Severity: UserNotificationSeverity.Error,\n Message: [error.url + ' endpoint not found'],\n Details: error,\n CorrelationId: correlationId,\n });\n } else if (error.status === 500) {\n this.notificationService.Push({\n Title: 'Internal Server Error',\n Severity: UserNotificationSeverity.Error,\n Message: [error.message, error.error],\n Details: error,\n CorrelationId: correlationId,\n });\n } else {\n // every specific error covered, log unknown and show\n this.notificationService.Push({\n Title: 'Unknown Error',\n Severity: UserNotificationSeverity.Error,\n Message: ['Unknown Http Error for ' + error.url],\n Details: error,\n CorrelationId: correlationId,\n });\n }\n\n return throwError(error);\n }\n}\n","export default \"h1 {\\n text-align: center;\\n}\\np {\\n font-size: 16px;\\n}\\np,\\nh1 {\\n margin-right: auto;\\n margin-left: auto;\\n max-width: 800px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9uby1hY2Nlc3Mvbm8tYWNjZXNzLmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9uby1hY2Nlc3Mvbm8tYWNjZXNzLmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQUE7QUNDRjtBREVBO0VBQ0UsZUFBQTtBQ0FGO0FER0E7O0VBRUUsa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0FDREYiLCJmaWxlIjoic3JjL2FwcC9uby1hY2Nlc3Mvbm8tYWNjZXNzLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnAge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbnAsXG5oMSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1heC13aWR0aDogODAwcHg7XG59XG4iLCJoMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnAge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5wLFxuaDEge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuIl19 */\";","import { Component, OnInit } from '@angular/core';\nimport { MsalService } from '@azure/msal-angular';\nimport { EnvironmentService } from '../services/environment.service';\nimport { UserService } from '../services/user.service';\n\n@Component({\n selector: 'app-no-access',\n templateUrl: './no-access.component.html',\n styleUrls: ['./no-access.component.less'],\n})\nexport class NoAccessComponent implements OnInit {\n public userName: string;\n\n constructor(\n private msalService: MsalService,\n private environmentService: EnvironmentService,\n private userService: UserService,\n ) {}\n\n ngOnInit() {\n this.userName = this.userService.userName;\n }\n\n public logout(): void {\n const activeAccount = this.msalService.instance.getActiveAccount() || this.msalService.instance.getAllAccounts()[0];\n const config = this.environmentService.msalConfig;\n this.msalService.logoutRedirect({\n account: activeAccount,\n postLogoutRedirectUri: config.auth.postLogoutRedirectUri,\n });\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { CalculationAdjustedProvisionsRequestTs, CalculationRequestTs, CalculationTs, WarrantyModelTs } from \"../typings\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CalculationsRepositoryService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public getWarrantyModels(): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}model/all`);\n return observable;\n }\n\n public getCalculations(includeObsolete: boolean): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}calculation?includeObsolete=${includeObsolete}`);\n return observable;\n }\n\n public getCalculation(id: number): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}calculation/${id}`);\n return observable;\n }\n\n public updateNotes(id: number, notes: string): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/notes`, notes);\n return observable;\n }\n\n public updateWarrantyFee(id: number, fee: number): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/warrantyfee`, fee);\n return observable;\n }\n\n public approveCalculation(id: number): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/tcr-approve`, {});\n return observable;\n }\n\n public canEditStatus(id: number): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}calculation/${id}/status`);\n return observable;\n }\n\n public getSupportedTurbines(serviceName: string): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}model/${serviceName}/turbines`);\n return observable;\n }\n\n public runCalculationRequest(data: CalculationRequestTs): Observable {\n const observable = this.httpClient.post(`${environment.apiUri}calculation/run`, data);\n return observable;\n }\n\n public postCalculation(data: CalculationTs): Observable {\n const observable = this.httpClient.post(`${environment.apiUri}calculation`, data);\n return observable;\n }\n\n public runCalculationMatrixRequest(data: CalculationRequestTs): Observable {\n data.calculationRoute = '/riskmatrix';\n const observable = this.httpClient.post(`${environment.apiUri}calculation/matrix`, data);\n return observable;\n }\n\n public markAsObsolete(id: number): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/obsolete`, {});\n return observable;\n }\n\n public rejectCalculation(id: number): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/tcr-reject`, {});\n return observable;\n }\n\n public updateRiskOfFailing(id: number, risk: number): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/failingrisk`, risk);\n return observable;\n }\n\n public updateAdjustedProvisions(id: number, request: CalculationAdjustedProvisionsRequestTs): Observable {\n const observable = this.httpClient.put(`${environment.apiUri}calculation/${id}/adjusted-provisions`, request);\n return observable;\n }\n\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { WarrantyDocumentationTs } from \"../typings\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentationRepositoryService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public getDocs(): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}model/docs`);\n return observable;\n }\n}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { OpportunityTs } from \"../typings\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpportunityRepositoryService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public getOpportunity(opportunityId: string): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}opportunity/${opportunityId}`);\n return observable;\n }\n\n public getFakeOpportunity(): Observable {\n const observable = this.httpClient.get(`${environment.apiUri}opportunity/fake-opportunity`);\n return observable;\n }\n}\n","import { Observable, Subject, ReplaySubject } from 'rxjs';\n\nexport class BaseDataService {\n constructor() {}\n\n public getSubjectResponse(observable: Observable, subject: Subject>): void {\n observable.subscribe(\n data => {\n subject.next({ success: true, result: data });\n },\n error => {\n subject.next({ success: false, error: error });\n },\n );\n }\n\n public getReplaySubjectResponse(observable: Observable, replaySubject: ReplaySubject>): void {\n observable.subscribe(\n data => {\n replaySubject.next({ success: true, result: data });\n },\n error => {\n replaySubject.next({ success: false, error: error });\n },\n );\n }\n\n public getObservable(observable: Observable): Observable> {\n const o = new Observable>(subscriber => {\n observable.subscribe(\n data => {\n subscriber.next({ success: true, result: data });\n },\n error => {\n subscriber.next({ success: false, error: error });\n },\n );\n });\n return o;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { CalculationTs } from 'src/app/typings';\nimport { CalculationsRepositoryService } from '../repositories/calculations-respository.service';\nimport {\n CalculationAdjustedProvisionsRequestTs,\n CalculationRequestTs,\n WarrantyModelTs,\n} from '../typings';\nimport { BaseDataService } from './base-data.service';\n\n@Injectable()\nexport class CalculationsService extends BaseDataService {\n public calculationModelsStream = new ReplaySubject>(1);\n public calculationsStream = new ReplaySubject>(1);\n public newCalculationStream = new Subject();\n\n public constructor(private readonly calculationsRepositoryService: CalculationsRepositoryService) {\n super();\n }\n\n public getWarrantyModels(): void {\n this.getReplaySubjectResponse(this.calculationsRepositoryService.getWarrantyModels(), this.calculationModelsStream);\n }\n\n public createNewCalcultion(): void {\n this.newCalculationStream.next();\n }\n\n public getSupportedTurbines(serviceName: string): Observable> {\n return this.getObservable(this.calculationsRepositoryService.getSupportedTurbines(serviceName));\n }\n\n public postCalculation(data: CalculationTs): Observable> {\n return this.getObservable(this.calculationsRepositoryService.postCalculation(data));\n }\n\n public runCalculationRequest(data: CalculationRequestTs): Observable> {\n return this.getObservable(this.calculationsRepositoryService.runCalculationRequest(data));\n }\n\n public getCalculations(includeObsolete: boolean): void {\n this.getReplaySubjectResponse(this.calculationsRepositoryService.getCalculations(includeObsolete), this.calculationsStream);\n }\n\n public getCalculation(id: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.getCalculation(id));\n }\n\n public markAsObsolete(id: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.markAsObsolete(id));\n }\n\n public updateNotes(id: number, notes: string): Observable> {\n return this.getObservable(this.calculationsRepositoryService.updateNotes(id, notes));\n }\n\n public updateWarrantyFee(id: number, fee: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.updateWarrantyFee(id, fee));\n }\n\n public updateRiskOfFailing(id: number, risk: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.updateRiskOfFailing(id, risk));\n }\n\n public getCanEditStatus(id: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.canEditStatus(id));\n }\n\n public approveCalculation(id: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.approveCalculation(id));\n }\n\n public rejectCalculation(id: number): Observable> {\n return this.getObservable(this.calculationsRepositoryService.rejectCalculation(id));\n }\n\n public updateAdjustedProvisions(id: number, request: CalculationAdjustedProvisionsRequestTs): Observable> {\n return this.getObservable(this.calculationsRepositoryService.updateAdjustedProvisions(id, request));\n }\n\n public runCalculationMatrixRequest(data: CalculationRequestTs): Observable> {\n return this.getObservable(this.calculationsRepositoryService.runCalculationMatrixRequest(data));\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { WarrantyDocumentationTs } from '../typings';\nimport { BaseDataService } from './base-data.service';\nimport { Observable } from 'rxjs';\nimport { DocumentationRepositoryService } from '../repositories/documentation-repository.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentationService extends BaseDataService {\n\n constructor(private readonly documentationRepositoryService: DocumentationRepositoryService) {\n super();\n }\n\n public getDocs(): Observable> {\n return this.getObservable(this.documentationRepositoryService.getDocs());\n }\n\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MsalGuardConfiguration, MsalInterceptorConfiguration } from '@azure/msal-angular';\nimport { BrowserCacheLocation, Configuration, InteractionType, IPublicClientApplication, LogLevel, PublicClientApplication } from '@azure/msal-browser';\nimport { environment } from 'src/environments/environment';\n\ninterface ProtectedResorce {\n endpoint: string;\n scopes: Array;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EnvironmentService {\n private httpClient: HttpClient;\n private isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\n\n constructor(private readonly httpBackend: HttpBackend) {\n this.httpClient = new HttpClient(this.httpBackend);\n }\n\n /**\n * Configuration object to be passed to MSAL instance on creation.\n * For a full list of MSAL.js configuration parameters, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md\n */\n public readonly msalConfig: Configuration = {\n auth: {\n clientId: '',\n authority: '',\n redirectUri: '',\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage,\n storeAuthStateInCookie: this.isIE,\n },\n system: {\n loggerOptions: {\n loggerCallback(logLevel: LogLevel, message: string) {\n console.log(logLevel, message);\n },\n logLevel: LogLevel.Error,\n piiLoggingEnabled: false,\n },\n },\n };\n\n /**\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\n */\n public readonly protectedResources: Array = [\n { endpoint: `${document.location.origin}/api/*`, scopes: [] },\n // { endpoint: 'https://graph.microsoft.com/v1.0/me', scopes: ['User.Read'] },\n ];\n\n /**\n * Scopes you add here will be prompted for user consent during sign-in.\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\n * For more information about OIDC scopes, visit:\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\n */\n public readonly loginRequest = {\n scopes: [],\n };\n\n public loadEnvironment(): Promise {\n return new Promise((resolve) => {\n this.httpClient.get('assets/environment.json').subscribe({\n next: (env) => {\n this.msalConfig.auth.clientId = env.auth.clientId;\n this.msalConfig.auth.authority = env.auth.authority;\n this.msalConfig.auth.redirectUri = env.auth.redirectUri;\n this.protectedResources[0].endpoint = env.apiUri;\n this.protectedResources[0].scopes = [env.auth.scope];\n environment.production = env.production;\n environment.discountRate = env.discountRate;\n environment.apiUri = env.apiUri;\n resolve();\n },\n error: (error) => {\n console.error(`Error loading config file: ${error.message}`);\n resolve();\n }\n });\n });\n }\n}\n\n/**\n * MSAL Angular will automatically retrieve tokens for resources\n * added to protectedResourceMap. For more info, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/initialization.md#get-tokens-for-web-api-calls\n */\nexport function MSALInterceptorConfigFactory(environmentService: EnvironmentService): MsalInterceptorConfiguration {\n const protectedResourceMap = new Map>();\n\n environmentService.protectedResources.forEach((el: ProtectedResorce) => {\n protectedResourceMap.set(el.endpoint, el.scopes);\n });\n\n return {\n interactionType: InteractionType.Redirect,\n protectedResourceMap,\n };\n}\n\n/**\n * Set your default interaction type for MSALGuard here. If you have any\n * additional scopes you want the user to consent upon login, add them here as well.\n */\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\n return {\n interactionType: InteractionType.Redirect,\n authRequest: this.loginRequest,\n };\n}\n\n/**\n * Here we pass the configuration parameters to create an MSAL instance.\n * For more info, visit: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/configuration.md\n */\nexport function MSALInstanceFactory(environmentService: EnvironmentService): IPublicClientApplication {\n const config = environmentService.msalConfig;\n return new PublicClientApplication(config);\n}\n","import { Injectable } from '@angular/core';\nimport { CalculationState, CalculationStatusTs, CalculationTs, WarrantyDocumentationTs } from '../typings';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FakeDataService {\n public calculations(): CalculationTs[] {\n const count = 1522;\n const list: CalculationTs[] = [];\n for (let i = 0; i < count; i += 1) {\n list.push({\n adjustedProvisions: i,\n calculationName: 'Calc ' + i,\n calculationState: CalculationState.Created,\n calculationStatus: CalculationStatusTs.AutoApproved,\n configurationSummary: 'Summary ' + i,\n endDate: new Date(),\n errorMessage: '',\n id: i,\n inputSummary: 'Ïnput summary ' + i,\n isObsolete: false,\n ldRisk: i,\n matrixOutput: 'matrixOutput ' + i,\n notes: 'notes ' + i,\n opportunityId: i.toString(),\n outputHelpersDescriptions: 'outputHelpersDescriptions ' + i,\n period: 0,\n request: {\n calculationInput: null,\n calculationRoute: 'calculationRoute ' + i,\n opportunityId: 'opportunityId ' + i,\n serviceName: 'serviceName ' + i,\n },\n result: null,\n scheduledBy: 'slslf',\n startDate: new Date(),\n calculationServiceType: 'calculationServiceType ' + i,\n });\n }\n return list;\n }}\n","import { Injectable } from \"@angular/core\";\nimport { ReplaySubject } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoaderService {\n public listLoadingStream = new ReplaySubject(1);\n public contextLoadingStream = new ReplaySubject(1);\n\n constructor() {\n this.listLoadingStream.next(true);\n }\n\n public setListLoader(loading: boolean): void {\n this.listLoadingStream.next(loading);\n }\n\n public setContextLoader(loading: boolean): void {\n this.contextLoadingStream.next(loading);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n public adjustWarrantyProvisionsModalStream = new Subject();\n public unsavedDataModalStream = new Subject();\n\n public toggleAdjustModal(show: boolean): void {\n this.adjustWarrantyProvisionsModalStream.next(show);\n }\n\n public toggleUnsavedDataModal(show: boolean): void {\n this.unsavedDataModalStream.next(show);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { INavigationBarItem } from '@vestasregistry/ui-component-library/lib/navigation-bar/navigation-bar.component';\nimport { LocalStorageHelper } from '../helpers/local-storage-helper';\nimport { CalculationsService } from './calculations.service';\nimport { ModalService } from './modal.service';\nimport { StateService } from './state.service';\n\nexport enum NavigationItem {\n MyWarranties,\n Calculation,\n Documentation,\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavigationService {\n public navItemStream = new ReplaySubject();\n\n constructor(\n private readonly router: Router,\n private calculationsService: CalculationsService,\n private readonly stateService: StateService,\n private readonly modalService: ModalService\n ) {}\n\n public setNavigation(navItem: NavigationItem): void {\n this.emitItems(navItem);\n }\n\n\n private emitItems(navItem: NavigationItem): void {\n let navItems: INavigationBarItem[] = [\n {\n title: 'My Warranties',\n isActive: navItem === NavigationItem.MyWarranties,\n onClick: () => {\n if (navItem !== NavigationItem.MyWarranties) {\n const route = 'calculations';\n if (this.stateService.unsavedData) {\n this.stateService.pendingRoute = route;\n this.modalService.toggleUnsavedDataModal(true);\n } else {\n this.router.navigate([route]);\n }\n }\n },\n },\n {\n title: 'Calculation',\n isActive: navItem === NavigationItem.Calculation,\n onClick: () => {\n if (navItem !== NavigationItem.Calculation) {\n const lastViewed = LocalStorageHelper.getItem(LocalStorageHelper.LAST_VIEWED_CALCULATION);\n if (lastViewed !== null) {\n this.router.navigate([`calculations/details/${lastViewed}`]);\n } else {\n this.calculationsService.createNewCalcultion();\n }\n }\n },\n },\n {\n title: 'Documentation',\n isActive: navItem === NavigationItem.Documentation,\n onClick: () => {\n if (navItem !== NavigationItem.Documentation) {\n const route = 'documentation';\n if (this.stateService.unsavedData) {\n this.stateService.pendingRoute = route;\n this.modalService.toggleUnsavedDataModal(true);\n } else {\n this.router.navigate([route]);\n }\n }\n },\n },\n ];\n setTimeout(() => {\n this.navItemStream.next(navItems);\n }, 0);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OpportunityTs } from '../typings';\nimport { OpportunityRepositoryService } from '../repositories/opportunity-repository.service';\nimport { BaseDataService } from './base-data.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpportunityService extends BaseDataService {\n\n constructor(private readonly opportunityRepositoryService: OpportunityRepositoryService) {\n super();\n }\n\n public getOpportunities(opportunityId: string): Observable> {\n return this.getObservable(this.opportunityRepositoryService.getOpportunity(opportunityId));\n }\n\n public getFakeOpportunity(): Observable> {\n return this.getObservable(this.opportunityRepositoryService.getFakeOpportunity());\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject, Observable } from \"rxjs\";\nimport { IContextBarInput } from \"@vestasregistry/ui-component-library/lib/context-bar/context-bar.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StateService {\n public unsavedData: boolean = false;\n public pendingRoute: string;\n private context = new BehaviorSubject(null);\n\n public setContext(context: IContextBarInput): void {\n this.context.next(context);\n }\n\n public getContextObservable(): Observable {\n return this.context.asObservable();\n }\n\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n public userName: string;\n}\n","export default \":host {\\n margin-bottom: 10px;\\n display: block;\\n}\\n.header {\\n display: flex;\\n margin-bottom: 20px;\\n}\\n.header .toggle {\\n margin-right: 5px;\\n font-size: 20px;\\n transform: translateX(-3px);\\n}\\n.header .title {\\n flex-grow: 1;\\n margin: 5px 0 0 0;\\n padding: 0;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvY29udGVudC1ncm91cC9jb250ZW50LWdyb3VwLmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9zaGFyZWQvY29udGVudC1ncm91cC9jb250ZW50LWdyb3VwLmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksbUJBQUE7RUFDQSxjQUFBO0FDQ0o7QURHQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtBQ0RKO0FEREE7RUFLUSxpQkFBQTtFQUNBLGVBQUE7RUFDQSwyQkFBQTtBQ0RSO0FETkE7RUFXUSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxVQUFBO0FDRlIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvY29udGVudC1ncm91cC9jb250ZW50LWdyb3VwLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgLnRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbiIsIjpob3N0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5oZWFkZXIgLnRvZ2dsZSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbn1cbi5oZWFkZXIgLnRpdGxlIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDVweCAwIDAgMDtcbiAgcGFkZGluZzogMDtcbn1cbiJdfQ== */\";","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-content-group',\n templateUrl: './content-group.component.html',\n styleUrls: ['./content-group.component.less']\n})\nexport class ContentGroupComponent {\n\n\n @Input()\n public isActive = true;\n\n @Input()\n public title: string = null;\n\n @Input()\n public trackOn: string = null;\n\n @Output()\n public change = new EventEmitter();\n\n constructor() { }\n\n public toggle() {\n this.isActive = !this.isActive;\n this.change.next(this.isActive);\n }\n\n}\n","export default \".shim {\\n position: absolute;\\n top: 0;\\n height: 40px;\\n width: 100%;\\n background-color: rgba(0, 181, 228, 0.7);\\n}\\n.spinner {\\n position: absolute;\\n top: 7px;\\n left: 12px;\\n}\\n.spinner cl-loader {\\n zoom: 1.5;\\n}\\n.spinner cl-loader ::ng-deep circle {\\n stroke: white;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvY29udGV4dC1iYXIvY29udGV4dC1iYXIuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL3NoYXJlZC9jb250ZXh0LWJhci9jb250ZXh0LWJhci5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esd0NBQUE7QUNDSjtBRENBO0VBQ0ksa0JBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBQ0NKO0FESkE7RUFLUSxTQUFBO0FDRVI7QURQQTtFQU9ZLGFBQUE7QUNHWiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb250ZXh0LWJhci9jb250ZXh0LWJhci5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zaGltIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE4MSwgMjI4LCAuNyk7XG59XG4uc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIGxlZnQ6IDEycHg7XG4gICAgY2wtbG9hZGVyIHtcbiAgICAgICAgem9vbTogMS41O1xuICAgICAgICA6Om5nLWRlZXAgY2lyY2xlIHtcbiAgICAgICAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2hpbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE4MSwgMjI4LCAwLjcpO1xufVxuLnNwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogN3B4O1xuICBsZWZ0OiAxMnB4O1xufVxuLnNwaW5uZXIgY2wtbG9hZGVyIHtcbiAgem9vbTogMS41O1xufVxuLnNwaW5uZXIgY2wtbG9hZGVyIDo6bmctZGVlcCBjaXJjbGUge1xuICBzdHJva2U6IHdoaXRlO1xufVxuIl19 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { LoaderService } from 'src/app/services/loader.service';\nimport { StateService } from 'src/app/services/state.service';\n\n@Component({\n selector: 'app-context-bar',\n templateUrl: './context-bar.component.html',\n styleUrls: ['./context-bar.component.less'],\n})\nexport class ContextBarComponent implements OnInit, OnDestroy {\n public loading: boolean;\n public item = null;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n private stateService: StateService,\n private readonly loaderService: LoaderService,\n ) {}\n\n ngOnInit(): void {\n this.subscriptions.push(\n this.stateService.getContextObservable().subscribe(context => {\n const loc = location;\n if (context && loc.pathname.indexOf('/details/') > -1) {\n this.item = {\n parent: context.parent,\n parentSubtitle: context.parentSubtitle,\n children: context.children,\n };\n } else {\n this.item = null;\n }\n }),\n );\n this.subscriptions.push(\n this.loaderService.contextLoadingStream.subscribe(loading => {\n this.loading = loading;\n }),\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n}\n","export default \".chart-container {\\n height: 250px;\\n width: 95%;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvaWNpbmctY2hhcnQvaWNpbmctY2hhcnQuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL3NoYXJlZC9pY2luZy1jaGFydC9pY2luZy1jaGFydC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGFBQUE7RUFDQSxVQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvaWNpbmctY2hhcnQvaWNpbmctY2hhcnQuY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2hhcnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIHdpZHRoOiA5NSU7XG59XG4iLCIuY2hhcnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDk1JTtcbn1cbiJdfQ== */\";","import { ElementRef, Input, ViewChild } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport * as Highcharts from 'highcharts';\n\n@Component({\n selector: 'app-icing-chart',\n templateUrl: './icing-chart.component.html',\n styleUrls: ['./icing-chart.component.less'],\n})\nexport class IcingChartComponent implements OnInit {\n @ViewChild('chart', { static: true })\n public chart: ElementRef;\n\n @Input()\n public data: any;\n\n constructor() {}\n\n ngOnInit() {\n if (this.data.result.mainOutput) {\n this.checkForNullableData();\n }\n if (this.data.scan) {\n const data = this.getChartData();\n\n Highcharts.setOptions({\n lang: {\n thousandsSep: ',',\n },\n });\n Highcharts.chart(this.chart.nativeElement, {\n chart: {\n type: 'line',\n scrollablePlotArea: {\n minWidth: 700,\n },\n\n },\n credits: {\n enabled: false\n },\n\n title: {\n text: '',\n },\n\n xAxis: {\n title: {\n text: 'expectedImrIfFail',\n },\n tickInterval: 0.05,\n labels: {\n format: '{value:.2f}',\n },\n },\n\n yAxis: {\n title: {\n text: '€',\n },\n },\n\n plotOptions: {\n line: {\n dataLabels: {\n enabled: true,\n },\n enableMouseTracking: true,\n },\n },\n\n tooltip: {\n headerFormat: '{point.key:.2f} ',\n pointFormat: '{series.name}: {point.y:,.2f} ',\n shared: true,\n },\n\n series: [\n {\n type: 'line',\n name: 'Adjusted LD NPV',\n dataLabels: {\n format: '{point.y:,.2f}',\n },\n data,\n },\n ],\n });\n }\n }\n\n private checkForNullableData() {\n if (this.data.result.mainOutput.warrantyFee == 'NaN') {\n this.data.result.mainOutput.warrantyFee = 0;\n }\n if (this.data.result.modelOutput.adjustedLiquidatedDamagesNpv == 'NaN') {\n this.data.result.modelOutput.adjustedLiquidatedDamagesNpv = 0;\n }\n if (this.data.result.modelOutput.annualLD == 'NaN') {\n this.data.result.modelOutput.annualLD = 0;\n }\n if (this.data.result.modelOutput.p35ImrShortfall == 'NaN') {\n this.data.result.modelOutput.p35ImrShortfall = 0;\n }\n if (this.data.result.modelOutput.totalLiquidatedDamagesNpv == 'NaN') {\n this.data.result.modelOutput.totalLiquidatedDamagesNpv = 0;\n }\n if (this.data.result.modelOutput.warrantyProvisions == 'NaN') {\n this.data.result.modelOutput.warrantyProvisions = 0;\n }\n }\n\n private getChartData() {\n return this.data.scan.map(item => {\n if (item.result.modelOutput !== undefined) {\n return [\n item.input.warranted_imr,\n item.result.modelOutput.totalLiquidatedDamagesNpv * item.result.modelOutput.risk2\n ];\n }\n return [\n item.input.warranted_imr,\n item.result.total_ld_npv * item.result.risk2\n ];\n });\n }\n}\n","export default \"table {\\n width: 250px;\\n border-spacing: 0;\\n}\\ntable td {\\n padding-bottom: 2px;\\n}\\ntable td:nth-child(2) {\\n text-align: right;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvaWNpbmctb3V0cHV0L2ljaW5nLW91dHB1dC5jb21wb25lbnQubGVzcyIsInNyYy9hcHAvc2hhcmVkL2ljaW5nLW91dHB1dC9pY2luZy1vdXRwdXQuY29tcG9uZW50Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0EsaUJBQUE7QUNDSjtBREhBO0VBS1EsbUJBQUE7QUNDUjtBRE5BO0VBU1EsaUJBQUE7QUNBUiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9pY2luZy1vdXRwdXQvaWNpbmctb3V0cHV0LmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBib3JkZXItc3BhY2luZzogMDtcblxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG4iLCJ0YWJsZSB7XG4gIHdpZHRoOiAyNTBweDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG50YWJsZSB0ZCB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG50YWJsZSB0ZDpudGgtY2hpbGQoMikge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbiJdfQ== */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { CalculationTs } from '../../typings';\n\n@Component({\n selector: 'app-icing-output',\n templateUrl: './icing-output.component.html',\n styleUrls: ['./icing-output.component.less'],\n})\nexport class IcingOutputComponent implements OnInit {\n @Input()\n public calculationOutput: CalculationTs;\n @Input()\n public currency: string;\n @Input()\n public oldModel = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n}\n","export default \":host {\\n display: block;\\n}\\ntable th {\\n padding-top: 0;\\n vertical-align: top;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvaWNpbmctdGFibGUvaWNpbmctdGFibGUuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL3NoYXJlZC9pY2luZy10YWJsZS9pY2luZy10YWJsZS5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGNBQUE7QUNDSjtBRENBO0VBQ0ksY0FBQTtFQUNBLG1CQUFBO0FDQ0oiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvaWNpbmctdGFibGUvaWNpbmctdGFibGUuY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG50YWJsZSB0aCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiIsIjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG50YWJsZSB0aCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuIl19 */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { CalculationTs } from 'src/app/typings';\n\n@Component({\n selector: 'app-icing-table',\n templateUrl: './icing-table.component.html',\n styleUrls: ['./icing-table.component.less'],\n})\nexport class IcingTableComponent implements OnInit {\n @Input()\n public calculationOutput: CalculationTs;\n @Input()\n public hasProvisions = true;\n @Input()\n public oldModel = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n}\n","export default \".input-units {\\n position: relative;\\n}\\n.input-units span {\\n display: inline-block;\\n position: absolute;\\n top: 7px;\\n right: 5px;\\n display: inline-flex;\\n align-items: center;\\n color: darkgrey;\\n pointer-events: none;\\n}\\n.input-units input::-webkit-outer-spin-button,\\n.input-units input::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n.input-units input[type=number] {\\n -moz-appearance: textfield;\\n}\\n.max-width {\\n width: 140px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvaW5wdXQtdW5pdC9pbnB1dC11bml0LmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9zaGFyZWQvaW5wdXQtdW5pdC9pbnB1dC11bml0LmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQUE7QUNDRjtBREZBO0VBSU0scUJBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDRixVQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUVBLGVBQUE7RUFDQSxvQkFBQTtBQ0FKO0FEWkE7O0VBa0JJLHdCQUFBO0VBQ0EsU0FBQTtBQ0ZKO0FEakJBO0VBdUJJLDBCQUFBO0FDSEo7QURPQTtFQUNFLFlBQUE7QUNMRiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9pbnB1dC11bml0L2lucHV0LXVuaXQuY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW5wdXQtdW5pdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDdweDtcbiAgICByaWdodDogNXB4OyAvLyBkZWZhdWx0IHZhbHVlLCB3aWxsIGJlIGNoYW5nZWQgaW4gY29tcG9uZW50IGNvZGUgdG8gZml0IHRleHQgd2lkdGhcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogZGFya2dyZXk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyByZW1vdmUgc3Bpbm5lcnMgZnJvbSBpbnB1dHMgd2l0aCB1bml0cywgY291cnRlc3kgb2YgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzc5MDkzNS9jYW4taS1oaWRlLXRoZS1odG1sNS1udW1iZXItaW5wdXQtcy1zcGluLWJveFxuICBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG59XG5cbi5tYXgtd2lkdGgge1xuICB3aWR0aDogMTQwcHg7XG59XG4iLCIuaW5wdXQtdW5pdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW5wdXQtdW5pdHMgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiBkYXJrZ3JleTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtdW5pdHMgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4uaW5wdXQtdW5pdHMgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbi5pbnB1dC11bml0cyBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbi5tYXgtd2lkdGgge1xuICB3aWR0aDogMTQwcHg7XG59XG4iXX0= */\";","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-input-unit',\n templateUrl: './input-unit.component.html',\n styleUrls: ['./input-unit.component.less'],\n})\nexport class InputUnitComponent {\n @Input()\n public control: FormControl = null;\n @Input()\n public unit = '';\n @Input()\n public minValue: number = null;\n @Input()\n public maxValue: number = null;\n @Input()\n public placeholder: number = null;\n @Input()\n public step: number = null;\n\n}\n","export default \".tooltip-holder {\\n position: relative;\\n display: inline-block;\\n margin-left: 4px;\\n}\\n.tooltip-holder:hover .tooltip-text {\\n opacity: 1;\\n}\\n.tooltip-text {\\n position: absolute;\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 500px;\\n opacity: 0;\\n pointer-events: none;\\n transition: opacity 0.15s ease-in-out;\\n display: block;\\n font-size: 12px;\\n line-height: 16px;\\n background: #b4e1f0;\\n padding: 2px 2px;\\n border: 1px solid #c0c0c0;\\n box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.4);\\n z-index: 100;\\n left: 20px;\\n bottom: 1px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvbGFiZWwvbGFiZWwuY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL3NoYXJlZC9sYWJlbC9sYWJlbC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtBQ0NGO0FERUE7RUFFSSxVQUFBO0FDREo7QURLQTtFQUNFLGtCQUFBO0VBQ0EsMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFFQSxVQUFBO0VBRUEsb0JBQUE7RUFLQSxxQ0FBQTtFQUVBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSwwQ0FBQTtFQUVBLFlBQUE7RUFFQSxVQUFBO0VBQ0EsV0FBQTtBQ1JGIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2xhYmVsL2xhYmVsLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvb2x0aXAtaG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi50b29sdGlwLWhvbGRlcjpob3ZlciB7XG4gIC50b29sdGlwLXRleHQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnRvb2x0aXAtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuXG4gIG9wYWNpdHk6IDA7XG5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNiNGUxZjA7XG4gIHBhZGRpbmc6IDJweCAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIGJveC1zaGFkb3c6IDJweCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcblxuICB6LWluZGV4OiAxMDA7XG5cbiAgbGVmdDogMjBweDtcbiAgYm90dG9tOiAxcHg7XG59XG4iLCIudG9vbHRpcC1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cbi50b29sdGlwLWhvbGRlcjpob3ZlciAudG9vbHRpcC10ZXh0IHtcbiAgb3BhY2l0eTogMTtcbn1cbi50b29sdGlwLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNiNGUxZjA7XG4gIHBhZGRpbmc6IDJweCAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIGJveC1zaGFkb3c6IDJweCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgei1pbmRleDogMTAwO1xuICBsZWZ0OiAyMHB4O1xuICBib3R0b206IDFweDtcbn1cbiJdfQ== */\";","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.less'],\n})\nexport class LabelComponent {\n @Input()\n public Label = '';\n @Input()\n public FormFor = '';\n @Input()\n public Tooltip = '';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'noComma',\n})\nexport class NoCommaPipe implements PipeTransform {\n transform(val: number): string {\n if (val !== undefined && val !== null) {\n // here we just remove the commas from value\n return val.toString().replace(/,/g, '');\n } else {\n return '';\n }\n }\n}\n","export default \":host {\\n position: relative;\\n display: block;\\n margin-top: 15px;\\n}\\n:host.is-loading {\\n min-height: 60px;\\n}\\n:host /deep/ .loader {\\n background-color: rgba(245, 245, 245, 0.77) !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvcmlzay1tYXRyaXgvcmlzay1tYXRyaXguY29tcG9uZW50Lmxlc3MiLCJzcmMvYXBwL3NoYXJlZC9yaXNrLW1hdHJpeC9yaXNrLW1hdHJpeC5jb21wb25lbnQubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0FDQ0o7QURBSTtFQUNJLGdCQUFBO0FDRVI7QURQQTtFQVFRLHNEQUFBO0FDRVIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvcmlzay1tYXRyaXgvcmlzay1tYXRyaXguY29tcG9uZW50Lmxlc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgJi5pcy1sb2FkaW5nIHtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICB9XG4gICAgL2RlZXAvIC5sb2FkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNzcpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiOmhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuOmhvc3QuaXMtbG9hZGluZyB7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG59XG46aG9zdCAvZGVlcC8gLmxvYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC43NykgIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as Highcharts from 'highcharts';\nimport { Subscription } from 'rxjs';\nimport { CalculationsModelCommunicationService } from '../../calculations/calculations-create/calculations-model-communication.service';\n\nconst heatmap = require('highcharts/modules/heatmap.js');\nheatmap(Highcharts);\n\n@Component({\n selector: 'app-risk-matrix',\n templateUrl: './risk-matrix.component.html',\n styleUrls: ['./risk-matrix.component.less'],\n})\nexport class RiskMatrixComponent {\n @Input() public heightRatio = 1;\n @Input() public showValues = false;\n @Input() public fontSize = 10;\n @Input() public noExpandLink = false;\n @HostBinding('class.is-loading') public isLoading = false;\n @ViewChild('matrix', { static: true }) public matrixEl: ElementRef;\n @Output() public matrixCellClicked = new EventEmitter();\n public error: any = null;\n public matrixShow = false;\n private subscriptions: Subscription[] = [];\n\n private xWarrantyLevelMin = 0;\n private yUncertFactorMin = 0;\n\n private editPressed: boolean = false;\n private isCalculationRunning: boolean = false;\n\n constructor(private communicationService: CalculationsModelCommunicationService, private router: Router) {}\n\n public ngOnInit() {\n this.subscriptions.push(\n this.communicationService.isCalculationMatrixRunningEmitted.subscribe(isCalculationRunning => {\n this.isCalculationRunning = isCalculationRunning;\n\n if (isCalculationRunning === true) {\n this.editPressed = false;\n }\n }),\n\n this.communicationService.isEditButtonEmitted.subscribe(isEditCklicked => {\n if (isEditCklicked == true && this.isCalculationRunning == true) {\n this.matrixShow = false;\n this.editPressed = true;\n }\n }),\n\n this.communicationService.outputChangeMatrixEmitted.subscribe(outputMatrix => {\n if (outputMatrix.length == 0 || this.editPressed === true) {\n return;\n }\n\n this.xWarrantyLevelMin = this.getMinXWarrantyFee(outputMatrix);\n this.yUncertFactorMin = this.getMinYUncertFactor(outputMatrix);\n let matrixData = this.getMatrixData(outputMatrix);\n\n this.renderMatrix(matrixData, this.getTooltipFormatter(), this.router, outputMatrix);\n this.communicationService.emitIsCalculationMatrixRunning(false);\n }),\n );\n }\n\n public ngOnDestroy() {\n this.subscriptions.forEach(n => n.unsubscribe());\n }\n\n private getMatrixData(inputMatrix: any) {\n var arr: any[] = new Array();\n inputMatrix.forEach(el => {\n var matrixElement: any = {};\n matrixElement.x = this.getXpos(el.warranty_level);\n matrixElement.y = this.getYpos(el.uncertainty_factor);\n matrixElement.warrantyFee = Math.round(el.warrantyFee);\n matrixElement.value = Math.round(el.warrantyFee);\n matrixElement.risk = el.riskOfLD * 100;\n\n //if (Math.round(el.warrantyFee) == 34679) matrixElement.color = '#FFFFFF';\n\n arr.push(matrixElement);\n });\n\n return arr;\n }\n\n private getMinYUncertFactor(riskMatrix: any) {\n return riskMatrix.reduce(\n (min, p) => (p.uncertainty_factor < min ? p.uncertainty_factor : min),\n riskMatrix[0].uncertainty_factor,\n );\n }\n private getMaxYUncertFactor(riskMatrix: any) {\n return riskMatrix.reduce(\n (max, p) => (p.uncertainty_factor > max ? p.uncertainty_factor : max),\n riskMatrix[0].uncertainty_factor,\n );\n }\n\n private getMinXWarrantyFee(riskMatrix: any) {\n return riskMatrix.reduce(\n (min, p) => (p.warranty_level < min ? p.warranty_level : min),\n riskMatrix[0].warranty_level,\n );\n }\n private getMaxXWarrantyFee(riskMatrix: any) {\n return riskMatrix.reduce(\n (max, p) => (p.warranty_level > max ? p.warranty_level : max),\n riskMatrix[0].warranty_level,\n );\n }\n\n getXpos(xValue: number) {\n if (xValue == this.xWarrantyLevelMin) return 0;\n return Math.round((xValue - this.xWarrantyLevelMin) / 0.5);\n }\n\n getYpos(yValue: number) {\n if (yValue == this.yUncertFactorMin) return 0;\n return Math.round((yValue - this.yUncertFactorMin) / 0.1);\n }\n\n public renderMatrix(series: any, tooltipFormatter: () => any, router: Router, rawData: string) {\n const options: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n backgroundColor: 'transparent',\n spacingBottom: 0,\n spacingTop: 0,\n spacingLeft: 0,\n spacingRight: 0,\n width: 290 * this.heightRatio,\n height: 260 * this.heightRatio,\n },\n title: {\n text: '',\n align: 'left',\n style: {\n color: 'rgb(119, 119, 119)',\n fontFamily: 'VestasSans, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontSize: '1px',\n },\n },\n xAxis: {\n categories: ['95', '95.5', '96', '96.5', '97', '97.5', '98', '98.5', '99'],\n title: {\n text: 'Warranty Level [%]',\n style: {\n color: 'rgb(119, 119, 119)',\n fontFamily: 'VestasSans, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontSize: `${this.fontSize}px`,\n },\n },\n labels: {\n style: {\n fontSize: `${this.fontSize}px`,\n },\n },\n },\n yAxis: {\n categories: ['0.5', '0.6', '0.7', '0.8', '0.9', '1.0'],\n title: {\n text: 'Uncertainty factor',\n style: {\n color: 'rgb(119, 119, 119)',\n fontFamily: 'VestasSans, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontSize: `${this.fontSize}px`,\n },\n },\n labels: {\n style: {\n fontSize: `${this.fontSize}px`,\n },\n },\n },\n tooltip: {\n formatter: tooltipFormatter,\n outside: true,\n useHTML: true,\n backgroundColor: 'rgba(246, 246, 246, 1)',\n borderRadius: 30,\n borderColor: '#bbbbbb',\n borderWidth: 1.5,\n style: {\n opacity: 1,\n background: 'rgba(246, 246, 246, 1)',\n },\n },\n legend: {\n align: 'right',\n layout: 'vertical',\n margin: 0,\n verticalAlign: 'middle',\n y: 0,\n symbolHeight: 200 * this.heightRatio,\n itemStyle: {\n fontSize: '5px',\n font: '5pt Trebuchet MS, Verdana, sans-serif',\n color: '#A0A0A0',\n },\n itemHoverStyle: {\n color: '#FFF',\n },\n itemHiddenStyle: {\n color: '#444',\n },\n },\n credits: { enabled: false },\n colorAxis: {\n min: 0,\n minColor: '#61caff',\n maxColor: '#fc0303',\n },\n plotOptions: {\n line: {\n dataLabels: { enabled: false },\n enableMouseTracking: true,\n },\n series: {\n animation: { duration: 600 },\n point: {\n events: {\n click: function() {\n localStorage.setItem('riskmatrix', JSON.stringify(rawData));\n window.open('/matrix', '_blank');\n },\n },\n },\n },\n },\n series: [\n {\n type: 'heatmap',\n cursor: 'pointer',\n states: {\n hover: {\n borderColor: '#FFFFFF',\n borderWidth: 2,\n },\n select: {\n borderColor: '#FFFFFF',\n borderWidth: 2,\n },\n },\n data: series,\n dataLabels: {\n enabled: this.showValues,\n color: 'black',\n useHTML: true,\n style: {\n textShadow: 'none',\n HcTextStroke: null,\n fontSize: '10px',\n },\n formatter: function() {\n return Number(this.point.y / 1000).toFixed(1) + '' + 'K' + '';\n },\n },\n },\n ],\n };\n\n Highcharts.chart(this.matrixEl.nativeElement, options);\n\n if (this.editPressed == false) {\n this.matrixShow = true;\n }\n }\n\n private getTooltipFormatter() {\n return function() {\n return `Warranty Fee : ${\n this.point.warrantyFee\n } € LD Risk : ${Number(this.point.risk).toFixed(2)} %
`;\n };\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { IcingTableComponent } from './icing-table/icing-table.component';\nimport { InputUnitComponent } from './input-unit/input-unit.component';\nimport { LabelComponent } from './label/label.component';\nimport { NoCommaPipe } from './pipes';\nimport { TooltipComponent } from './tooltip/tooltip.component';\nimport { IcingChartComponent } from './icing-chart/icing-chart.component';\nimport { IcingOutputComponent } from './icing-output/icing-output.component';\nimport { ContextBarComponent } from './context-bar/context-bar.component';\nimport { UiComponentLibraryModule } from '@vestasregistry/ui-component-library';\nimport { ContentGroupComponent } from './content-group/content-group.component';\nimport { RiskMatrixComponent } from './risk-matrix/risk-matrix.component';\n\n@NgModule({\n declarations: [\n NoCommaPipe,\n LabelComponent,\n TooltipComponent,\n InputUnitComponent,\n IcingTableComponent,\n IcingChartComponent,\n IcingOutputComponent,\n ContextBarComponent,\n ContentGroupComponent,\n RiskMatrixComponent,\n],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, UiComponentLibraryModule],\n exports: [\n NoCommaPipe,\n LabelComponent,\n TooltipComponent,\n InputUnitComponent,\n IcingTableComponent,\n IcingChartComponent,\n IcingOutputComponent,\n ContextBarComponent,\n ContentGroupComponent,\n RiskMatrixComponent,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class SharedComponentsModule {}\n","export default \":host {\\n display: inline-block;\\n}\\n.v-icon {\\n padding-left: 5px;\\n transform: translateY(3px);\\n color: #aaa;\\n}\\n.v-icon:hover {\\n color: #333;\\n}\\n.content {\\n display: none;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC9zaGFyZWQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5sZXNzIiwic3JjL2FwcC9zaGFyZWQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0kscUJBQUE7QUNDSjtBREVBO0VBQ0ksaUJBQUE7RUFDQSwwQkFBQTtFQUNBLFdBQUE7QUNBSjtBREVBO0VBQ0ksV0FBQTtBQ0FKO0FER0E7RUFDSSxhQUFBO0FDREoiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5sZXNzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnYtaWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gICAgY29sb3I6ICNhYWE7XG59XG4udi1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCI6aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi52LWljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCk7XG4gIGNvbG9yOiAjYWFhO1xufVxuLnYtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xufVxuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuIl19 */\";","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'app-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.less'],\n})\nexport class TooltipComponent implements OnInit {\n @Input()\n public Tooltip = '';\n @Input()\n public PullRight = false;\n @ViewChild('content', { static: true })\n public elmContent: ElementRef;\n @ViewChild('icon', { static: true })\n public icon: ElementRef;\n\n public visible: boolean;\n\n private delayHandler: any;\n\n ngOnInit(): void {\n setTimeout(() => {\n const div = this.elmContent.nativeElement as HTMLDivElement;\n if (div.innerText) {\n this.Tooltip = div.innerText;\n }\n const icon = this.icon.nativeElement as HTMLDivElement;\n if (icon) {\n const rootElm = icon.parentElement;\n const mouseOverElm = this.getPreviousSibling(rootElm);\n mouseOverElm.addEventListener('mouseenter', () => {\n if (this.delayHandler) {\n clearTimeout(this.delayHandler);\n }\n this.visible = true;\n });\n mouseOverElm.addEventListener('mouseleave', () => {\n this.hide();\n });\n }\n }, 0);\n }\n\n public enter(): void {\n if (this.delayHandler) {\n clearTimeout(this.delayHandler);\n }\n this.visible = true;\n }\n\n public leave(): void {\n this.hide();\n }\n\n private hide(): void {\n if (this.delayHandler) {\n clearTimeout(this.delayHandler);\n }\n this.delayHandler = setTimeout(() => {\n this.visible = false;\n }, 50);\n }\n\n private getPreviousSibling(elm: HTMLElement): HTMLElement {\n let prevSib = elm.previousSibling as HTMLElement;\n if (prevSib) {\n switch (prevSib.nodeType) {\n case 3: // Text node\n const parent = prevSib.parentElement;\n return parent;\n case 1: // Element\n return prevSib;\n case 8: // Comment\n const prevPrevSib = prevSib.previousSibling as HTMLElement;\n if (prevPrevSib) {\n return this.getPreviousSibling(prevPrevSib);\n } else {\n const parent = prevSib.parentElement;\n return parent;\n }\n }\n } else {\n return null;\n }\n\n }\n\n}\n","export enum CalculationState {\n Created = 0,\n FinishedOk = 1,\n FinishedError = 2,\n}\nexport enum CalculationStatusTs {\n AutoApproved = 0,\n ForTcr = 1,\n TcrApproved = 2,\n TcrRejected = 3,\n}\nexport class CalculationRequestTs {\n public serviceName: string;\n public calculationInput: any;\n public calculationRoute: string;\n public opportunityId: string;\n}\nexport class CalculationTs {\n public adjustedProvisions: number;\n public calculationName: string;\n public calculationServiceType?: string;\n public calculationState: CalculationState;\n public calculationStatus: CalculationStatusTs;\n public configurationSummary: string;\n public endDate: Date;\n public errorMessage: string;\n public id: number;\n public inputSummary: string;\n public isObsolete: boolean;\n public ldRisk: number;\n public matrixOutput: string;\n public notes: string;\n public opportunityId: string;\n public outputHelpersDescriptions: any;\n public period: number;\n public request: CalculationRequestTs;\n public result: any;\n public scheduledBy: string;\n public startDate: Date;\n}\nexport class OpportunityTs {\n public opportunityId: string;\n public name: string;\n}\nexport class WarrantyModelTs {\n public serviceName: string;\n public name: string;\n public version: string;\n public type: string;\n public enabled: boolean;\n}\nexport class WarrantyDocumentationTs {\n public serviceName: string;\n public documentationText: string;\n}\nexport class CalculationAdjustedProvisionsRequestTs {\n public adjustedProvisions: number;\n}\n\nexport interface WTGType{\n wtgname : string,\n hubheight: number,\n diameter: number\n}","export default \".warranty-alert {\\n max-width: 300px;\\n word-wrap: break-word;\\n background-color: white;\\n padding: 20px;\\n border: 1px solid #aaa;\\n}\\n.alert-wrapper {\\n position: fixed;\\n top: 70px;\\n right: 20px;\\n display: block;\\n z-index: 3;\\n padding-right: 15px;\\n}\\n.close {\\n margin-right: 13px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvdWkvc3JjL2FwcC91c2VyLW5vdGlmaWNhdGlvbi91c2VyLW5vdGlmaWNhdGlvbi5jb21wb25lbnQubGVzcyIsInNyYy9hcHAvdXNlci1ub3RpZmljYXRpb24vdXNlci1ub3RpZmljYXRpb24uY29tcG9uZW50Lmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsdUJBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7QUNDRjtBREVBO0VBQ0UsZUFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtBQ0FGO0FEcUJBO0VBQ0ksa0JBQUE7QUNuQkoiLCJmaWxlIjoic3JjL2FwcC91c2VyLW5vdGlmaWNhdGlvbi91c2VyLW5vdGlmaWNhdGlvbi5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIi53YXJyYW50eS1hbGVydCB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG59XG5cbi5hbGVydC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDcwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLy8gLmJ1dHRvbl9yaWdodF90b3Age1xuLy8gICBmbG9hdDogcmlnaHQ7XG4vLyAgIG1hcmdpbi10b3A6IC01cHg7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6IFRyYW5zcGFyZW50O1xuLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gICBib3JkZXI6IG5vbmU7XG4vLyAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICAgb3V0bGluZTogbm9uZTtcbi8vICAgZm9udC1zaXplOiAxLjdlbTtcbi8vICAgY29sb3I6ICM1NTU1NTU7XG5cbi8vICAgLy9maXggcG9zaXRpb25pbmdcbi8vICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICBib3R0b206IDc1JTtcbi8vICAgbGVmdDogODclO1xuLy8gfVxuXG4uY2xvc2V7XG4gICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xufVxuIiwiLndhcnJhbnR5LWFsZXJ0IHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbn1cbi5hbGVydC13cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDcwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cbi5jbG9zZSB7XG4gIG1hcmdpbi1yaWdodDogMTNweDtcbn1cbiJdfQ== */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { UserNotification, UserNotificationSeverity } from './user-notification.models';\n\nimport { Subscription } from 'rxjs';\nimport { UserNotificationService } from './user-notification.service';\n\nimport uuid = require('uuid');\n\n@Component({\n selector: 'app-user-notification',\n templateUrl: './user-notification.component.html',\n styleUrls: ['./user-notification.component.less'],\n})\nexport class UserNotificationComponent implements OnInit, OnDestroy {\n private notificationsSubscription: Subscription;\n\n public notifications = new Array();\n\n constructor(private notificationService: UserNotificationService) {}\n\n ngOnInit() {\n this.notificationsSubscription = this.notificationService.GetNotificationsObservable().subscribe(notification => {\n if (notification === null) {\n return;\n }\n\n notification.Id = uuid.v4(); // so we can remove it by button\n this.notifications.push(notification);\n\n switch (notification.Severity) {\n case UserNotificationSeverity.Info:\n this.HandleInfoNotification(notification);\n break;\n case UserNotificationSeverity.Warning:\n this.HandleWarningNotification(notification);\n break;\n case UserNotificationSeverity.Error:\n this.HandleErrorNotification(notification);\n break;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.notificationsSubscription.unsubscribe();\n }\n\n HandleErrorNotification(notification: UserNotification) {\n console.error(notification.Message, notification.Details);\n }\n HandleWarningNotification(notification: UserNotification) {\n console.warn(notification.Message, notification.Details);\n }\n\n HandleInfoNotification(notification: UserNotification) {\n console.log(notification.Message, notification.Details);\n }\n\n trackNotification(index, notification: UserNotification) {\n return notification.Id;\n }\n\n getAlertStyle(notification: UserNotification) {\n return {\n 'alert-warning': notification.Severity === UserNotificationSeverity.Warning,\n 'alert-info': notification.Severity === UserNotificationSeverity.Info,\n 'alert-danger': notification.Severity === UserNotificationSeverity.Error,\n };\n }\n\n removeNotification(notification: UserNotification) {\n this.notifications.splice(this.notifications.findIndex(x => x.Id === notification.Id), 1);\n }\n}\n","export interface UserNotification {\n Severity: UserNotificationSeverity;\n Title: string;\n Message: string[];\n Details?: any;\n Id?: string;\n CorrelationId?: string;\n}\n\nexport enum UserNotificationSeverity {\n Info,\n Warning,\n Error,\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\nimport { UserNotification } from './user-notification.models';\n\n@Injectable()\nexport class UserNotificationService {\n private notifications = new BehaviorSubject(null);\n\n public Push(notification: UserNotification): void {\n this.notifications.next(notification);\n }\n\n public GetNotificationsObservable(): Observable {\n return this.notifications.asObservable();\n }\n}\n","export const environment = {\n production: false,\n apiUri: '',\n auth: {},\n discountRate: 0.081,\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}