@ampath-kenya/ngx-openmrs-formentry 2.12.11 → 2.12.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-control-type.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-array.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-control.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-group.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/control-extensions.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/index.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/value-change.listener.d.ts +0 -0
- package/{dist/ngx-formentry/ngx-openmrs-formentry.d.ts → ampath-kenya-ngx-openmrs-formentry.d.ts} +0 -0
- package/{dist/ngx-formentry/ngx-openmrs-formentry.metadata.json → ampath-kenya-ngx-openmrs-formentry.metadata.json} +1 -1
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +10706 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +2 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -0
- package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relation.d.ts +0 -0
- package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relations.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/afe-ng-select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/appointments-overview/appointments-overview.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/check-box/checkbox.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/check-box/checkbox.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/file-upload.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/file-upload.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/secure.pipe.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/remote-select/remote-select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/remote-select/remote-select.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/diacritics.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/option-list.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/option.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.style.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.component.style.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.module.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/file-preview.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/question-control.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/remote-answer.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-container/encounter-container.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-pdf-viewer.service.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-view/encounter-viewer.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.module.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.service.d.ts +0 -0
- package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
- package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
- package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
- package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
- package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
- package/esm2015/abstract-controls-extension/index.js +5 -0
- package/esm2015/abstract-controls-extension/value-change.listener.js +1 -0
- package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +42 -0
- package/esm2015/change-tracking/control-relation.js +44 -0
- package/esm2015/change-tracking/control-relations.js +32 -0
- package/esm2015/components/afe-ng-select.component.js +87 -0
- package/esm2015/components/appointments-overview/appointments-overview.component.js +161 -0
- package/esm2015/components/check-box/checkbox.component.js +97 -0
- package/esm2015/components/check-box/checkbox.module.js +14 -0
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +270 -0
- package/esm2015/components/date-time-picker/date-time-picker.component.js +207 -0
- package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
- package/esm2015/components/date-time-picker/picker-modal/modal.component.js +36 -0
- package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
- package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +160 -0
- package/esm2015/components/file-upload/file-upload.component.js +128 -0
- package/esm2015/components/file-upload/file-upload.module.js +27 -0
- package/esm2015/components/file-upload/secure.pipe.js +102 -0
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +191 -0
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +41 -0
- package/esm2015/components/remote-select/remote-select.component.js +169 -0
- package/esm2015/components/remote-select/remote-select.module.js +17 -0
- package/esm2015/components/select/diacritics.js +855 -0
- package/esm2015/components/select/option-list.js +179 -0
- package/esm2015/components/select/option.js +29 -0
- package/esm2015/components/select/select-dropdown.component.js +161 -0
- package/esm2015/components/select/select-dropdown.component.style.js +58 -0
- package/esm2015/components/select/select.component.js +514 -0
- package/esm2015/components/select/select.component.style.js +101 -0
- package/esm2015/components/select/select.module.js +15 -0
- package/esm2015/encounter-viewer/display-controls/file-preview.component.js +109 -0
- package/esm2015/encounter-viewer/display-controls/question-control.component.js +92 -0
- package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +79 -0
- package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +48 -0
- package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +435 -0
- package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +299 -0
- package/esm2015/encounter-viewer/encounter-viewer.module.js +35 -0
- package/esm2015/encounter-viewer/encounter-viewer.service.js +160 -0
- package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
- package/esm2015/form-entry/control-alerts/can-generate-alert.js +1 -0
- package/esm2015/form-entry/control-calculators/can-calculate.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/can-disable.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/can-hide.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
- package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
- package/esm2015/form-entry/data-sources/data-sources.js +30 -0
- package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
- package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +69 -0
- package/esm2015/form-entry/expression-runner/expression-runner.js +152 -0
- package/esm2015/form-entry/form-entry.module.js +103 -0
- package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
- package/esm2015/form-entry/form-factory/form-control.service.js +117 -0
- package/esm2015/form-entry/form-factory/form-node.js +78 -0
- package/esm2015/form-entry/form-factory/form.factory.js +132 -0
- package/esm2015/form-entry/form-factory/form.js +193 -0
- package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
- package/esm2015/form-entry/form-factory/question.factory.js +834 -0
- package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
- package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +156 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +632 -0
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
- package/esm2015/form-entry/helpers/historical-field-helper-service.js +32 -0
- package/esm2015/form-entry/helpers/js-expression-helper.js +234 -0
- package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
- package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/date-question.js +12 -0
- package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
- package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
- package/esm2015/form-entry/question-models/group-question.js +12 -0
- package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/data-source.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/group-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
- package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/select-option.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/select-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/text-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
- package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
- package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/models.js +12 -0
- package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
- package/esm2015/form-entry/question-models/pair.model.js +7 -0
- package/esm2015/form-entry/question-models/question-base.js +24 -0
- package/{dist/ngx-formentry/esm2015 → esm2015}/form-entry/question-models/rendering-type.js +1 -1
- package/esm2015/form-entry/question-models/repeating-question.js +11 -0
- package/esm2015/form-entry/question-models/select-option.js +7 -0
- package/esm2015/form-entry/question-models/select-question.js +12 -0
- package/esm2015/form-entry/question-models/test-order-question.js +15 -0
- package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
- package/esm2015/form-entry/question-models/text-input-question.js +10 -0
- package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
- package/esm2015/form-entry/question-models/validation.model.js +7 -0
- package/esm2015/form-entry/services/debug-mode.service.js +22 -0
- package/esm2015/form-entry/services/form-errors.service.js +18 -0
- package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
- package/esm2015/form-entry/services/historical-encounter-data.service.js +171 -0
- package/esm2015/form-entry/utils/messages.js +12 -0
- package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
- package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
- package/esm2015/form-entry/validators/date.validator.js +18 -0
- package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
- package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
- package/esm2015/form-entry/validators/max-date.validator.js +23 -0
- package/esm2015/form-entry/validators/max.validator.js +17 -0
- package/esm2015/form-entry/validators/min-date.validator.js +23 -0
- package/esm2015/form-entry/validators/min.validator.js +17 -0
- package/esm2015/form-entry/validators/required.validator.js +11 -0
- package/esm2015/form-entry/validators/validations.js +5 -0
- package/esm2015/form-entry/value-adapters/encounter.adapter.js +173 -0
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +490 -0
- package/esm2015/form-entry/value-adapters/obs.adapter.js +542 -0
- package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
- package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
- package/esm2015/form-entry/value-adapters/value.adapter.js +1 -0
- package/esm2015/public_api.js +51 -0
- package/esm2015/shared.module.js +15 -0
- package/esm5/abstract-controls-extension/afe-control-type.js +8 -0
- package/esm5/abstract-controls-extension/afe-form-array.js +98 -0
- package/esm5/abstract-controls-extension/afe-form-control.js +96 -0
- package/esm5/abstract-controls-extension/afe-form-group.js +70 -0
- package/esm5/abstract-controls-extension/control-extensions.js +5 -0
- package/esm5/abstract-controls-extension/index.js +5 -0
- package/esm5/abstract-controls-extension/value-change.listener.js +1 -0
- package/esm5/ampath-kenya-ngx-openmrs-formentry.js +42 -0
- package/esm5/change-tracking/control-relation.js +59 -0
- package/esm5/change-tracking/control-relations.js +46 -0
- package/esm5/components/afe-ng-select.component.js +87 -0
- package/esm5/components/appointments-overview/appointments-overview.component.js +123 -0
- package/esm5/components/check-box/checkbox.component.js +88 -0
- package/esm5/components/check-box/checkbox.module.js +18 -0
- package/esm5/components/date-time-picker/date-picker/date-picker.component.js +186 -0
- package/esm5/components/date-time-picker/date-time-picker.component.js +111 -0
- package/esm5/components/date-time-picker/date-time-picker.module.js +38 -0
- package/esm5/components/date-time-picker/picker-modal/modal.component.js +32 -0
- package/esm5/components/date-time-picker/pipes/moment.pipe.js +17 -0
- package/esm5/components/date-time-picker/time-picker/time-picker.component.js +117 -0
- package/esm5/components/file-upload/file-upload.component.js +126 -0
- package/esm5/components/file-upload/file-upload.module.js +31 -0
- package/esm5/components/file-upload/secure.pipe.js +105 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +140 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +45 -0
- package/esm5/components/remote-select/remote-select.component.js +163 -0
- package/esm5/components/remote-select/remote-select.module.js +21 -0
- package/esm5/components/select/diacritics.js +860 -0
- package/esm5/components/select/option-list.js +224 -0
- package/esm5/components/select/option.js +31 -0
- package/esm5/components/select/select-dropdown.component.js +131 -0
- package/esm5/components/select/select-dropdown.component.style.js +2 -0
- package/esm5/components/select/select.component.js +456 -0
- package/esm5/components/select/select.component.style.js +2 -0
- package/esm5/components/select/select.module.js +19 -0
- package/{dist/ngx-formentry/esm2015 → esm5}/encounter-viewer/display-controls/file-preview.component.js +70 -70
- package/esm5/encounter-viewer/display-controls/question-control.component.js +104 -0
- package/esm5/encounter-viewer/display-controls/remote-answer.component.js +86 -0
- package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +45 -0
- package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +521 -0
- package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +185 -0
- package/esm5/encounter-viewer/encounter-viewer.module.js +39 -0
- package/esm5/encounter-viewer/encounter-viewer.service.js +165 -0
- package/esm5/form-entry/control-alerts/alert-helpers.js +44 -0
- package/esm5/form-entry/control-alerts/can-generate-alert.js +1 -0
- package/esm5/form-entry/control-calculators/can-calculate.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/can-disable.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/can-hide.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +37 -0
- package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +44 -0
- package/esm5/form-entry/data-sources/data-sources.js +37 -0
- package/esm5/form-entry/data-sources/dummy-data-source.js +106 -0
- package/esm5/form-entry/directives/historical-value-directive.js +72 -0
- package/esm5/form-entry/error-renderer/error-renderer.component.js +62 -0
- package/esm5/form-entry/expression-runner/expression-runner.js +158 -0
- package/esm5/form-entry/form-entry.module.js +107 -0
- package/{dist/ngx-formentry/esm2015 → esm5}/form-entry/form-factory/control-relations.factory.js +94 -87
- package/esm5/form-entry/form-factory/form-control.service.js +120 -0
- package/esm5/form-entry/form-factory/form-node.js +116 -0
- package/esm5/form-entry/form-factory/form.factory.js +136 -0
- package/esm5/form-entry/form-factory/form.js +213 -0
- package/esm5/form-entry/form-factory/hiders-disablers.factory.js +68 -0
- package/esm5/form-entry/form-factory/question.factory.js +838 -0
- package/esm5/form-entry/form-factory/show-messages.factory.js +32 -0
- package/esm5/form-entry/form-factory/validation.factory.js +189 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.css.js +2 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.js +211 -0
- package/esm5/form-entry/helpers/historical-expression-helper-service.js +41 -0
- package/esm5/form-entry/helpers/historical-field-helper-service.js +36 -0
- package/esm5/form-entry/helpers/js-expression-helper.js +242 -0
- package/esm5/form-entry/question-models/checkbox.model.js +16 -0
- package/esm5/form-entry/question-models/conditional-validation.model.js +14 -0
- package/esm5/form-entry/question-models/date-question.js +17 -0
- package/esm5/form-entry/question-models/date-validation.model.js +15 -0
- package/esm5/form-entry/question-models/file-upload-question.js +18 -0
- package/esm5/form-entry/question-models/group-question.js +17 -0
- package/esm5/form-entry/question-models/interfaces/base-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/checkbox-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/data-source.js +1 -0
- package/esm5/form-entry/question-models/interfaces/date-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/group-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/multi-select-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/nested-questions.js +11 -0
- package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/select-option.js +1 -0
- package/esm5/form-entry/question-models/interfaces/select-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/text-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
- package/esm5/form-entry/question-models/js-expression-validation.model.js +13 -0
- package/esm5/form-entry/question-models/max-validation.model.js +14 -0
- package/esm5/form-entry/question-models/min-validation.model.js +14 -0
- package/esm5/form-entry/question-models/models.js +12 -0
- package/esm5/form-entry/question-models/multi-select-question.js +16 -0
- package/esm5/form-entry/question-models/pair.model.js +9 -0
- package/esm5/form-entry/question-models/question-base.js +26 -0
- package/{dist/ngx-formentry/esm5 → esm5}/form-entry/question-models/rendering-type.js +1 -1
- package/esm5/form-entry/question-models/repeating-question.js +16 -0
- package/esm5/form-entry/question-models/select-option.js +9 -0
- package/esm5/form-entry/question-models/select-question.js +17 -0
- package/esm5/form-entry/question-models/test-order-question.js +20 -0
- package/esm5/form-entry/question-models/text-area-input-question.js +18 -0
- package/esm5/form-entry/question-models/text-input-question.js +15 -0
- package/esm5/form-entry/question-models/ui-select-question.js +16 -0
- package/esm5/form-entry/question-models/validation.model.js +9 -0
- package/esm5/form-entry/services/debug-mode.service.js +24 -0
- package/esm5/form-entry/services/form-errors.service.js +20 -0
- package/esm5/form-entry/services/form-schema-compiler.service.js +252 -0
- package/esm5/form-entry/services/historical-encounter-data.service.js +178 -0
- package/esm5/form-entry/utils/messages.js +16 -0
- package/esm5/form-entry/validators/conditional-answered.validator.js +49 -0
- package/esm5/form-entry/validators/conditional-required.validator.js +43 -0
- package/esm5/form-entry/validators/date.validator.js +21 -0
- package/esm5/form-entry/validators/future-date-restriction.validator.js +24 -0
- package/esm5/form-entry/validators/js-expression.validator.js +29 -0
- package/esm5/form-entry/validators/max-date.validator.js +27 -0
- package/esm5/form-entry/validators/max.validator.js +21 -0
- package/esm5/form-entry/validators/min-date.validator.js +27 -0
- package/esm5/form-entry/validators/min.validator.js +21 -0
- package/esm5/form-entry/validators/required.validator.js +15 -0
- package/esm5/form-entry/validators/validations.js +8 -0
- package/esm5/form-entry/value-adapters/encounter.adapter.js +176 -0
- package/esm5/form-entry/value-adapters/obs-adapter-helper.js +508 -0
- package/esm5/form-entry/value-adapters/obs.adapter.js +735 -0
- package/esm5/form-entry/value-adapters/order.adapter.js +226 -0
- package/esm5/form-entry/value-adapters/person-attribute.adapter.js +91 -0
- package/esm5/form-entry/value-adapters/value.adapter.js +1 -0
- package/esm5/public_api.js +51 -0
- package/esm5/shared.module.js +19 -0
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +10919 -0
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10359 -0
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/alert-helpers.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-calculators/can-calculate.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/data-sources.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/dummy-data-source.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/directives/historical-value-directive.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/expression-runner/expression-runner.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-entry.module.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/control-relations.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-control.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-node.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/question.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/show-messages.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/validation.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.css.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/js-expression-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/checkbox.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/conditional-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/file-upload-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/group-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/base-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/data-source.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/file-upload-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/group-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/multi-select-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/nested-questions.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-option.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/models.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/multi-select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/pair.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/question-base.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/rendering-type.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/repeating-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-option.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/test-order-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-area-input-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-input-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/ui-select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/debug-mode.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/form-errors.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/form-schema-compiler.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/historical-encounter-data.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/utils/messages.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-answered.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-required.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/js-expression.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/max.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/min.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/required.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/validations.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/order.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/value.adapter.d.ts +0 -0
- package/package.json +21 -83
- package/{dist/ngx-formentry/public_api.d.ts → public_api.d.ts} +0 -0
- package/{dist/ngx-formentry/shared.module.d.ts → shared.module.d.ts} +0 -0
- package/.editorconfig +0 -13
- package/.prettierignore +0 -40
- package/.prettierrc +0 -6
- package/.travis.yml +0 -17
- package/README.md +0 -34
- package/angular.json +0 -143
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js +0 -10706
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js.map +0 -1
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js +0 -2
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js.map +0 -1
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-control-type.js +0 -8
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-array.js +0 -85
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-control.js +0 -88
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-group.js +0 -61
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/control-extensions.js +0 -5
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/index.js +0 -5
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/value-change.listener.js +0 -1
- package/dist/ngx-formentry/esm2015/change-tracking/control-relation.js +0 -44
- package/dist/ngx-formentry/esm2015/change-tracking/control-relations.js +0 -32
- package/dist/ngx-formentry/esm2015/components/afe-ng-select.component.js +0 -87
- package/dist/ngx-formentry/esm2015/components/appointments-overview/appointments-overview.component.js +0 -161
- package/dist/ngx-formentry/esm2015/components/check-box/checkbox.component.js +0 -97
- package/dist/ngx-formentry/esm2015/components/check-box/checkbox.module.js +0 -14
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-picker/date-picker.component.js +0 -270
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.component.js +0 -207
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.module.js +0 -34
- package/dist/ngx-formentry/esm2015/components/date-time-picker/picker-modal/modal.component.js +0 -36
- package/dist/ngx-formentry/esm2015/components/date-time-picker/pipes/moment.pipe.js +0 -13
- package/dist/ngx-formentry/esm2015/components/date-time-picker/time-picker/time-picker.component.js +0 -160
- package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.component.js +0 -128
- package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.module.js +0 -27
- package/dist/ngx-formentry/esm2015/components/file-upload/secure.pipe.js +0 -102
- package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -191
- package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -41
- package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.component.js +0 -169
- package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.module.js +0 -17
- package/dist/ngx-formentry/esm2015/components/select/diacritics.js +0 -855
- package/dist/ngx-formentry/esm2015/components/select/option-list.js +0 -179
- package/dist/ngx-formentry/esm2015/components/select/option.js +0 -29
- package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.js +0 -161
- package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.style.js +0 -58
- package/dist/ngx-formentry/esm2015/components/select/select.component.js +0 -514
- package/dist/ngx-formentry/esm2015/components/select/select.component.style.js +0 -101
- package/dist/ngx-formentry/esm2015/components/select/select.module.js +0 -15
- package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/question-control.component.js +0 -92
- package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/remote-answer.component.js +0 -79
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +0 -48
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +0 -435
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -299
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.module.js +0 -35
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.service.js +0 -160
- package/dist/ngx-formentry/esm2015/form-entry/control-alerts/alert-helpers.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/control-alerts/can-generate-alert.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-calculators/can-calculate.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-disable.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-hide.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +0 -33
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/data-sources/data-sources.js +0 -30
- package/dist/ngx-formentry/esm2015/form-entry/data-sources/dummy-data-source.js +0 -104
- package/dist/ngx-formentry/esm2015/form-entry/directives/historical-value-directive.js +0 -66
- package/dist/ngx-formentry/esm2015/form-entry/error-renderer/error-renderer.component.js +0 -69
- package/dist/ngx-formentry/esm2015/form-entry/expression-runner/expression-runner.js +0 -152
- package/dist/ngx-formentry/esm2015/form-entry/form-entry.module.js +0 -103
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-control.service.js +0 -117
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-node.js +0 -78
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.factory.js +0 -132
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.js +0 -193
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/hiders-disablers.factory.js +0 -66
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/question.factory.js +0 -834
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/show-messages.factory.js +0 -30
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/validation.factory.js +0 -145
- package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -156
- package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.js +0 -632
- package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-expression-helper-service.js +0 -38
- package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-field-helper-service.js +0 -32
- package/dist/ngx-formentry/esm2015/form-entry/helpers/js-expression-helper.js +0 -234
- package/dist/ngx-formentry/esm2015/form-entry/question-models/checkbox.model.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/conditional-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/date-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/date-validation.model.js +0 -10
- package/dist/ngx-formentry/esm2015/form-entry/question-models/file-upload-question.js +0 -13
- package/dist/ngx-formentry/esm2015/form-entry/question-models/group-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/base-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/checkbox-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/data-source.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/date-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/group-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/multi-select-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/nested-questions.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-option.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/js-expression-validation.model.js +0 -8
- package/dist/ngx-formentry/esm2015/form-entry/question-models/max-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/min-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/models.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/multi-select-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/pair.model.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/question-base.js +0 -24
- package/dist/ngx-formentry/esm2015/form-entry/question-models/repeating-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/select-option.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/select-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/test-order-question.js +0 -15
- package/dist/ngx-formentry/esm2015/form-entry/question-models/text-area-input-question.js +0 -13
- package/dist/ngx-formentry/esm2015/form-entry/question-models/text-input-question.js +0 -10
- package/dist/ngx-formentry/esm2015/form-entry/question-models/ui-select-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/validation.model.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/services/debug-mode.service.js +0 -22
- package/dist/ngx-formentry/esm2015/form-entry/services/form-errors.service.js +0 -18
- package/dist/ngx-formentry/esm2015/form-entry/services/form-schema-compiler.service.js +0 -246
- package/dist/ngx-formentry/esm2015/form-entry/services/historical-encounter-data.service.js +0 -171
- package/dist/ngx-formentry/esm2015/form-entry/utils/messages.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-answered.validator.js +0 -46
- package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-required.validator.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/validators/date.validator.js +0 -18
- package/dist/ngx-formentry/esm2015/form-entry/validators/future-date-restriction.validator.js +0 -21
- package/dist/ngx-formentry/esm2015/form-entry/validators/js-expression.validator.js +0 -26
- package/dist/ngx-formentry/esm2015/form-entry/validators/max-date.validator.js +0 -23
- package/dist/ngx-formentry/esm2015/form-entry/validators/max.validator.js +0 -17
- package/dist/ngx-formentry/esm2015/form-entry/validators/min-date.validator.js +0 -23
- package/dist/ngx-formentry/esm2015/form-entry/validators/min.validator.js +0 -17
- package/dist/ngx-formentry/esm2015/form-entry/validators/required.validator.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/validators/validations.js +0 -5
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/encounter.adapter.js +0 -173
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs-adapter-helper.js +0 -490
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs.adapter.js +0 -542
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/order.adapter.js +0 -186
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/person-attribute.adapter.js +0 -87
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/value.adapter.js +0 -1
- package/dist/ngx-formentry/esm2015/ngx-openmrs-formentry.js +0 -42
- package/dist/ngx-formentry/esm2015/public_api.js +0 -51
- package/dist/ngx-formentry/esm2015/shared.module.js +0 -15
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-control-type.js +0 -8
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-array.js +0 -98
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-control.js +0 -96
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-group.js +0 -70
- package/dist/ngx-formentry/esm5/abstract-controls-extension/control-extensions.js +0 -5
- package/dist/ngx-formentry/esm5/abstract-controls-extension/index.js +0 -5
- package/dist/ngx-formentry/esm5/abstract-controls-extension/value-change.listener.js +0 -1
- package/dist/ngx-formentry/esm5/change-tracking/control-relation.js +0 -59
- package/dist/ngx-formentry/esm5/change-tracking/control-relations.js +0 -46
- package/dist/ngx-formentry/esm5/components/afe-ng-select.component.js +0 -87
- package/dist/ngx-formentry/esm5/components/appointments-overview/appointments-overview.component.js +0 -123
- package/dist/ngx-formentry/esm5/components/check-box/checkbox.component.js +0 -88
- package/dist/ngx-formentry/esm5/components/check-box/checkbox.module.js +0 -18
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-picker/date-picker.component.js +0 -186
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.component.js +0 -111
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.module.js +0 -38
- package/dist/ngx-formentry/esm5/components/date-time-picker/picker-modal/modal.component.js +0 -32
- package/dist/ngx-formentry/esm5/components/date-time-picker/pipes/moment.pipe.js +0 -17
- package/dist/ngx-formentry/esm5/components/date-time-picker/time-picker/time-picker.component.js +0 -117
- package/dist/ngx-formentry/esm5/components/file-upload/file-upload.component.js +0 -126
- package/dist/ngx-formentry/esm5/components/file-upload/file-upload.module.js +0 -31
- package/dist/ngx-formentry/esm5/components/file-upload/secure.pipe.js +0 -105
- package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -140
- package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -45
- package/dist/ngx-formentry/esm5/components/remote-select/remote-select.component.js +0 -163
- package/dist/ngx-formentry/esm5/components/remote-select/remote-select.module.js +0 -21
- package/dist/ngx-formentry/esm5/components/select/diacritics.js +0 -860
- package/dist/ngx-formentry/esm5/components/select/option-list.js +0 -224
- package/dist/ngx-formentry/esm5/components/select/option.js +0 -31
- package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.js +0 -131
- package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.style.js +0 -2
- package/dist/ngx-formentry/esm5/components/select/select.component.js +0 -456
- package/dist/ngx-formentry/esm5/components/select/select.component.style.js +0 -2
- package/dist/ngx-formentry/esm5/components/select/select.module.js +0 -19
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/file-preview.component.js +0 -109
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/question-control.component.js +0 -104
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/remote-answer.component.js +0 -86
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-container/encounter-container.component.js +0 -45
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-pdf-viewer.service.js +0 -521
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -185
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.module.js +0 -39
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.service.js +0 -165
- package/dist/ngx-formentry/esm5/form-entry/control-alerts/alert-helpers.js +0 -44
- package/dist/ngx-formentry/esm5/form-entry/control-alerts/can-generate-alert.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-calculators/can-calculate.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-disable.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-hide.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/disabler-helper.js +0 -37
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/hider-helpers.js +0 -44
- package/dist/ngx-formentry/esm5/form-entry/data-sources/data-sources.js +0 -37
- package/dist/ngx-formentry/esm5/form-entry/data-sources/dummy-data-source.js +0 -106
- package/dist/ngx-formentry/esm5/form-entry/directives/historical-value-directive.js +0 -72
- package/dist/ngx-formentry/esm5/form-entry/error-renderer/error-renderer.component.js +0 -62
- package/dist/ngx-formentry/esm5/form-entry/expression-runner/expression-runner.js +0 -158
- package/dist/ngx-formentry/esm5/form-entry/form-entry.module.js +0 -107
- package/dist/ngx-formentry/esm5/form-entry/form-factory/control-relations.factory.js +0 -243
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form-control.service.js +0 -120
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form-node.js +0 -116
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form.factory.js +0 -136
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form.js +0 -213
- package/dist/ngx-formentry/esm5/form-entry/form-factory/hiders-disablers.factory.js +0 -68
- package/dist/ngx-formentry/esm5/form-entry/form-factory/question.factory.js +0 -838
- package/dist/ngx-formentry/esm5/form-entry/form-factory/show-messages.factory.js +0 -32
- package/dist/ngx-formentry/esm5/form-entry/form-factory/validation.factory.js +0 -189
- package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.css.js +0 -2
- package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.js +0 -211
- package/dist/ngx-formentry/esm5/form-entry/helpers/historical-expression-helper-service.js +0 -41
- package/dist/ngx-formentry/esm5/form-entry/helpers/historical-field-helper-service.js +0 -36
- package/dist/ngx-formentry/esm5/form-entry/helpers/js-expression-helper.js +0 -242
- package/dist/ngx-formentry/esm5/form-entry/question-models/checkbox.model.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/conditional-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/date-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/date-validation.model.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/question-models/file-upload-question.js +0 -18
- package/dist/ngx-formentry/esm5/form-entry/question-models/group-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/base-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/checkbox-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/data-source.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/date-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/group-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/multi-select-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/nested-questions.js +0 -11
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-option.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/js-expression-validation.model.js +0 -13
- package/dist/ngx-formentry/esm5/form-entry/question-models/max-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/min-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/models.js +0 -12
- package/dist/ngx-formentry/esm5/form-entry/question-models/multi-select-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/pair.model.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/question-models/question-base.js +0 -26
- package/dist/ngx-formentry/esm5/form-entry/question-models/repeating-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/select-option.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/question-models/select-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/test-order-question.js +0 -20
- package/dist/ngx-formentry/esm5/form-entry/question-models/text-area-input-question.js +0 -18
- package/dist/ngx-formentry/esm5/form-entry/question-models/text-input-question.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/question-models/ui-select-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/validation.model.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/services/debug-mode.service.js +0 -24
- package/dist/ngx-formentry/esm5/form-entry/services/form-errors.service.js +0 -20
- package/dist/ngx-formentry/esm5/form-entry/services/form-schema-compiler.service.js +0 -252
- package/dist/ngx-formentry/esm5/form-entry/services/historical-encounter-data.service.js +0 -178
- package/dist/ngx-formentry/esm5/form-entry/utils/messages.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/validators/conditional-answered.validator.js +0 -49
- package/dist/ngx-formentry/esm5/form-entry/validators/conditional-required.validator.js +0 -43
- package/dist/ngx-formentry/esm5/form-entry/validators/date.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/future-date-restriction.validator.js +0 -24
- package/dist/ngx-formentry/esm5/form-entry/validators/js-expression.validator.js +0 -29
- package/dist/ngx-formentry/esm5/form-entry/validators/max-date.validator.js +0 -27
- package/dist/ngx-formentry/esm5/form-entry/validators/max.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/min-date.validator.js +0 -27
- package/dist/ngx-formentry/esm5/form-entry/validators/min.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/required.validator.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/validators/validations.js +0 -8
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/encounter.adapter.js +0 -176
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs-adapter-helper.js +0 -508
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs.adapter.js +0 -735
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/order.adapter.js +0 -226
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/person-attribute.adapter.js +0 -91
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/value.adapter.js +0 -1
- package/dist/ngx-formentry/esm5/ngx-openmrs-formentry.js +0 -42
- package/dist/ngx-formentry/esm5/public_api.js +0 -51
- package/dist/ngx-formentry/esm5/shared.module.js +0 -19
- package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js +0 -10919
- package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js.map +0 -1
- package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js +0 -10359
- package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js.map +0 -1
- package/dist/ngx-formentry/package.json +0 -35
- package/scripts/build.sh +0 -2
- package/tsconfig.json +0 -20
- package/tslint.json +0 -96
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NodeBase } from '../../form-entry/form-factory/form-node';
|
|
3
|
+
import { AfeFormGroup } from '../../abstract-controls-extension/afe-form-group';
|
|
4
|
+
import { DataSources } from '../../form-entry/data-sources/data-sources';
|
|
5
|
+
import { EncounterViewerService } from '../encounter-viewer.service';
|
|
6
|
+
export class EncounterViewerComponent {
|
|
7
|
+
constructor(encounterViewerService, dataSources) {
|
|
8
|
+
this.encounterViewerService = encounterViewerService;
|
|
9
|
+
this.dataSources = dataSources;
|
|
10
|
+
}
|
|
11
|
+
set node(rootNode) {
|
|
12
|
+
this.rootNode = rootNode;
|
|
13
|
+
}
|
|
14
|
+
set schema(schema) {
|
|
15
|
+
this._schema = schema;
|
|
16
|
+
}
|
|
17
|
+
set encounter(enc) {
|
|
18
|
+
this.enc = enc;
|
|
19
|
+
}
|
|
20
|
+
set form(form) {
|
|
21
|
+
this.rootNode = form.rootNode;
|
|
22
|
+
this._schema = form.schema;
|
|
23
|
+
console.log(this.getQuestionNodes(this.traverse(this.rootNode)));
|
|
24
|
+
}
|
|
25
|
+
getQuestionNodes(pages) {
|
|
26
|
+
const merged = [];
|
|
27
|
+
const arrays = [];
|
|
28
|
+
for (const page of pages) {
|
|
29
|
+
arrays.push(page.page);
|
|
30
|
+
}
|
|
31
|
+
return merged.concat.apply([], arrays);
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (this.rootNode) {
|
|
35
|
+
}
|
|
36
|
+
if (this.rootNode &&
|
|
37
|
+
this.rootNode.question.extras &&
|
|
38
|
+
this.rootNode.question.renderingType === 'file') {
|
|
39
|
+
this.fileDataSource = this.dataSources.dataSources[this.rootNode.question.dataSource];
|
|
40
|
+
}
|
|
41
|
+
else if (this.rootNode &&
|
|
42
|
+
this.rootNode.question.extras &&
|
|
43
|
+
this.rootNode.question.renderingType === 'remote-select') {
|
|
44
|
+
this.remoteDataSource = this.dataSources.dataSources[this.rootNode.question.dataSource];
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.customDataSource = this.encounterViewerService;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
questionsAnswered(node) {
|
|
51
|
+
const $answered = this.encounterViewerService.questionsAnswered(node);
|
|
52
|
+
return $answered;
|
|
53
|
+
}
|
|
54
|
+
questionAnswered(node) {
|
|
55
|
+
const answered = this.encounterViewerService.hasAnswer(node);
|
|
56
|
+
return answered;
|
|
57
|
+
}
|
|
58
|
+
checkForColon(questionLabel) {
|
|
59
|
+
if (questionLabel.indexOf(':') === -1) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
traverse(o, type) {
|
|
67
|
+
const questions = [];
|
|
68
|
+
if (o.children) {
|
|
69
|
+
if (o.children instanceof Array) {
|
|
70
|
+
const returned = this.repeatingGroup(o.children);
|
|
71
|
+
return returned;
|
|
72
|
+
}
|
|
73
|
+
if (o.children instanceof Object) {
|
|
74
|
+
for (const key in o.children) {
|
|
75
|
+
if (o.children.hasOwnProperty(key)) {
|
|
76
|
+
switch (o.children[key].question.renderingType) {
|
|
77
|
+
case 'page':
|
|
78
|
+
const page = this.traverse(o.children[key]);
|
|
79
|
+
questions.push({ page: page });
|
|
80
|
+
break;
|
|
81
|
+
case 'section':
|
|
82
|
+
const section = this.traverse(o.children[key]);
|
|
83
|
+
questions.push({ section: section });
|
|
84
|
+
break;
|
|
85
|
+
case 'group':
|
|
86
|
+
const qs = this.traverse(o.children[key]);
|
|
87
|
+
questions.push({
|
|
88
|
+
node: o.children[key],
|
|
89
|
+
question: o.children[key].question,
|
|
90
|
+
groupMembers: qs
|
|
91
|
+
});
|
|
92
|
+
break;
|
|
93
|
+
case 'repeating':
|
|
94
|
+
const rep = this.repeatingGroup(o.children[key].children);
|
|
95
|
+
questions.push({
|
|
96
|
+
node: o.children[key],
|
|
97
|
+
question: o.children[key].question,
|
|
98
|
+
groupMembers: rep
|
|
99
|
+
});
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
questions.push(o.children[key]);
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.log('Console.log', o);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return questions;
|
|
113
|
+
}
|
|
114
|
+
repeatingGroup(nodes) {
|
|
115
|
+
const toReturn = [];
|
|
116
|
+
for (const node of nodes) {
|
|
117
|
+
toReturn.push({
|
|
118
|
+
question: node.question,
|
|
119
|
+
groupMembers: this.traverse(node)
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
return toReturn;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
EncounterViewerComponent.decorators = [
|
|
126
|
+
{ type: Component, args: [{
|
|
127
|
+
selector: 'encounter-viewer',
|
|
128
|
+
template: `<div class="viewer">
|
|
129
|
+
<div *ngIf="rootNode.question.renderingType === 'form'" class="form">
|
|
130
|
+
<div *ngFor="let question of rootNode.question.questions; let i = index">
|
|
131
|
+
<div *ngIf="questionsAnswered(rootNode.children[question.key])">
|
|
132
|
+
<div [attr.id]="'page' + i" class="panel panel-default">
|
|
133
|
+
<p class="page-label panel-heading text-primary">
|
|
134
|
+
{{ question.label }}
|
|
135
|
+
</p>
|
|
136
|
+
<div class="panel-body">
|
|
137
|
+
<encounter-viewer
|
|
138
|
+
[node]="rootNode.children[question.key]"
|
|
139
|
+
[schema]="_schema"
|
|
140
|
+
[parentComponent]="this"
|
|
141
|
+
[parentGroup]="rootNode.control"
|
|
142
|
+
></encounter-viewer>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<div *ngIf="rootNode.question.renderingType === 'page'" class="page">
|
|
150
|
+
<encounter-viewer
|
|
151
|
+
*ngFor="let question of rootNode.question.questions"
|
|
152
|
+
[parentComponent]="this"
|
|
153
|
+
[node]="rootNode.children[question.key]"
|
|
154
|
+
[schema]="_schema"
|
|
155
|
+
[parentGroup]="parentGroup"
|
|
156
|
+
></encounter-viewer>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div
|
|
160
|
+
*ngIf="
|
|
161
|
+
rootNode.question.renderingType === 'section' &&
|
|
162
|
+
questionsAnswered(rootNode)
|
|
163
|
+
"
|
|
164
|
+
class="section"
|
|
165
|
+
>
|
|
166
|
+
<div class="panel panel-primary">
|
|
167
|
+
<p class="panel-heading section-label">{{ rootNode.question.label }}</p>
|
|
168
|
+
</div>
|
|
169
|
+
<div *ngFor="let question of rootNode.question.questions">
|
|
170
|
+
<encounter-viewer
|
|
171
|
+
[node]="rootNode.children[question.key]"
|
|
172
|
+
[parentComponent]="this"
|
|
173
|
+
[schema]="_schema"
|
|
174
|
+
[parentGroup]="parentGroup"
|
|
175
|
+
></encounter-viewer>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<!--Leaf Controls-->
|
|
180
|
+
<div style="margin-left: 10px">
|
|
181
|
+
<form *ngIf="rootNode.question.controlType === 0" [formGroup]="parentGroup">
|
|
182
|
+
<div *ngIf="rootNode.control.value">
|
|
183
|
+
<div class="question-answer">
|
|
184
|
+
<label
|
|
185
|
+
*ngIf="rootNode.question.label"
|
|
186
|
+
[attr.for]="rootNode.question.key"
|
|
187
|
+
style="font-weight: 400"
|
|
188
|
+
>
|
|
189
|
+
{{ rootNode.question.label }}
|
|
190
|
+
</label>
|
|
191
|
+
<span *ngIf="checkForColon(rootNode.question.label)">:</span>
|
|
192
|
+
<div
|
|
193
|
+
[ngSwitch]="rootNode.question.renderingType"
|
|
194
|
+
style="display: inline-block; font-weight: bold"
|
|
195
|
+
>
|
|
196
|
+
<div *ngSwitchCase="'file'">
|
|
197
|
+
<file-preview
|
|
198
|
+
[formControlName]="rootNode.question.key"
|
|
199
|
+
[id]="rootNode.question.key + 'id'"
|
|
200
|
+
[dataSource]="fileDataSource"
|
|
201
|
+
></file-preview>
|
|
202
|
+
</div>
|
|
203
|
+
<div *ngSwitchCase="'remote-select'">
|
|
204
|
+
<remote-answer
|
|
205
|
+
[formControlName]="rootNode.question.key"
|
|
206
|
+
[id]="rootNode.question.key + 'id'"
|
|
207
|
+
[dataSource]="remoteDataSource"
|
|
208
|
+
></remote-answer>
|
|
209
|
+
</div>
|
|
210
|
+
<div *ngSwitchDefault style="display: inline-block">
|
|
211
|
+
<question-control
|
|
212
|
+
[schema]="_schema"
|
|
213
|
+
[value]="rootNode.control.value"
|
|
214
|
+
[dataSource]="customDataSource"
|
|
215
|
+
></question-control>
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
218
|
+
</div>
|
|
219
|
+
</div>
|
|
220
|
+
</form>
|
|
221
|
+
</div>
|
|
222
|
+
|
|
223
|
+
<!--Array Controls-->
|
|
224
|
+
<div
|
|
225
|
+
*ngIf="rootNode.question.controlType === 1 && questionsAnswered(rootNode)"
|
|
226
|
+
>
|
|
227
|
+
<div [ngSwitch]="rootNode.question.renderingType">
|
|
228
|
+
<div *ngSwitchCase="'repeating'">
|
|
229
|
+
<div [ngSwitch]="rootNode.question.extras.type">
|
|
230
|
+
<div *ngSwitchCase="'testOrder'">
|
|
231
|
+
<label>{{ rootNode.question.label }}:</label>
|
|
232
|
+
<div *ngFor="let child of rootNode.children; let i = index">
|
|
233
|
+
<encounter-viewer
|
|
234
|
+
*ngFor="let question of child.question.questions"
|
|
235
|
+
[parentComponent]="this"
|
|
236
|
+
[node]="child.children[question.key]"
|
|
237
|
+
[parentGroup]="child.control"
|
|
238
|
+
[schema]="_schema"
|
|
239
|
+
></encounter-viewer>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
|
|
243
|
+
<div *ngSwitchCase="'obsGroup'">
|
|
244
|
+
<div *ngFor="let child of rootNode.children; let i = index">
|
|
245
|
+
<encounter-viewer
|
|
246
|
+
*ngFor="let question of child.question.questions"
|
|
247
|
+
[parentComponent]="this"
|
|
248
|
+
[node]="child.children[question.key]"
|
|
249
|
+
[parentGroup]="child.control"
|
|
250
|
+
[schema]="_schema"
|
|
251
|
+
></encounter-viewer>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
258
|
+
|
|
259
|
+
<div *ngIf="rootNode.question.controlType === 2">
|
|
260
|
+
<!--GROUP-->
|
|
261
|
+
<div [ngSwitch]="rootNode.question.renderingType">
|
|
262
|
+
<div *ngSwitchCase="'group'">
|
|
263
|
+
<encounter-viewer
|
|
264
|
+
*ngFor="let question of rootNode.question.questions"
|
|
265
|
+
[parentComponent]="this"
|
|
266
|
+
[node]="rootNode.children[question.key]"
|
|
267
|
+
[parentGroup]="rootNode.control"
|
|
268
|
+
[schema]="_schema"
|
|
269
|
+
></encounter-viewer>
|
|
270
|
+
</div>
|
|
271
|
+
<div *ngSwitchCase="'field-set'">
|
|
272
|
+
<encounter-viewer
|
|
273
|
+
*ngFor="let question of rootNode.question.questions"
|
|
274
|
+
[parentComponent]="this"
|
|
275
|
+
[node]="rootNode.children[question.key]"
|
|
276
|
+
[parentGroup]="rootNode.control"
|
|
277
|
+
[schema]="_schema"
|
|
278
|
+
></encounter-viewer>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
`,
|
|
284
|
+
styles: [`.page-label{font-size:20px;font-weight:700}.section-label{font-size:18px;font-weight:500}.panel-primary{border:none!important}.question-answer{font-size:16px}.panel{margin-bottom:5px}div.section{margin-bottom:15px!important}.line-breaker{white-space:pre-line}hr{margin:10px}`]
|
|
285
|
+
},] },
|
|
286
|
+
];
|
|
287
|
+
EncounterViewerComponent.ctorParameters = () => [
|
|
288
|
+
{ type: EncounterViewerService },
|
|
289
|
+
{ type: DataSources }
|
|
290
|
+
];
|
|
291
|
+
EncounterViewerComponent.propDecorators = {
|
|
292
|
+
parentGroup: [{ type: Input }],
|
|
293
|
+
parentComponent: [{ type: Input }],
|
|
294
|
+
node: [{ type: Input }],
|
|
295
|
+
schema: [{ type: Input }],
|
|
296
|
+
encounter: [{ type: Input }],
|
|
297
|
+
form: [{ type: Input }]
|
|
298
|
+
};
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImVuY291bnRlci12aWV3ZXIvZW5jb3VudGVyLXZpZXcvZW5jb3VudGVyLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNMLFFBQVEsRUFHVCxNQUFNLHlDQUF5QyxDQUFDO0FBSWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFrS3JFLE1BQU07SUEwQkosWUFDVSxzQkFBOEMsRUFDOUMsV0FBd0I7UUFEeEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUMvQixDQUFDO0lBcEJKLElBQWEsSUFBSSxDQUFDLFFBQWtCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFvQixNQUFNLENBQUMsTUFBVztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBb0IsU0FBUyxDQUFDLEdBQVE7UUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUNELElBQWEsSUFBSSxDQUFDLElBQVM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixPQUFPLENBQUMsR0FB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QUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkpYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLG9SQUFvUixDQUFDO2FBQy9SOzs7WUFqS1Esc0JBQXNCO1lBSHRCLFdBQVc7OzswQkE0S2pCLEtBQUs7OEJBQ0wsS0FBSzttQkFDTCxLQUFLO3FCQUlMLEtBQUs7d0JBSUwsS0FBSzttQkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5vZGVCYXNlLFxuICBHcm91cE5vZGUsXG4gIExlYWZOb2RlXG59IGZyb20gJy4uLy4uL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0tbm9kZSc7XG5pbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9xdWVzdGlvbi1iYXNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQWZlRm9ybUdyb3VwIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1mb3JtLWdyb3VwJztcbmltcG9ydCB7IERhdGFTb3VyY2VzIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9kYXRhLXNvdXJjZXMvZGF0YS1zb3VyY2VzJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2RhdGEtc291cmNlJztcblxuaW1wb3J0IHsgRW5jb3VudGVyVmlld2VyU2VydmljZSB9IGZyb20gJy4uL2VuY291bnRlci12aWV3ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VuY291bnRlci12aWV3ZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJ2aWV3ZXJcIj5cbiAgPGRpdiAqbmdJZj1cInJvb3ROb2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdmb3JtJ1wiIGNsYXNzPVwiZm9ybVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIHJvb3ROb2RlLnF1ZXN0aW9uLnF1ZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInF1ZXN0aW9uc0Fuc3dlcmVkKHJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV0pXCI+XG4gICAgICAgIDxkaXYgW2F0dHIuaWRdPVwiJ3BhZ2UnICsgaVwiIGNsYXNzPVwicGFuZWwgcGFuZWwtZGVmYXVsdFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwicGFnZS1sYWJlbCBwYW5lbC1oZWFkaW5nIHRleHQtcHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgcXVlc3Rpb24ubGFiZWwgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJvZHlcIj5cbiAgICAgICAgICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAgICAgICAgIFtub2RlXT1cInJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICAgICAgICBbcGFyZW50Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgICBbcGFyZW50R3JvdXBdPVwicm9vdE5vZGUuY29udHJvbFwiXG4gICAgICAgICAgICA+PC9lbmNvdW50ZXItdmlld2VyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3BhZ2UnXCIgY2xhc3M9XCJwYWdlXCI+XG4gICAgPGVuY291bnRlci12aWV3ZXJcbiAgICAgICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiByb290Tm9kZS5xdWVzdGlvbi5xdWVzdGlvbnNcIlxuICAgICAgW3BhcmVudENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgIFtub2RlXT1cInJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgIFtwYXJlbnRHcm91cF09XCJwYXJlbnRHcm91cFwiXG4gICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICByb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAnc2VjdGlvbicgJiZcbiAgICAgIHF1ZXN0aW9uc0Fuc3dlcmVkKHJvb3ROb2RlKVxuICAgIFwiXG4gICAgY2xhc3M9XCJzZWN0aW9uXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1wcmltYXJ5XCI+XG4gICAgICA8cCBjbGFzcz1cInBhbmVsLWhlYWRpbmcgc2VjdGlvbi1sYWJlbFwiPnt7IHJvb3ROb2RlLnF1ZXN0aW9uLmxhYmVsIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIHJvb3ROb2RlLnF1ZXN0aW9uLnF1ZXN0aW9uc1wiPlxuICAgICAgPGVuY291bnRlci12aWV3ZXJcbiAgICAgICAgW25vZGVdPVwicm9vdE5vZGUuY2hpbGRyZW5bcXVlc3Rpb24ua2V5XVwiXG4gICAgICAgIFtwYXJlbnRDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgIFtzY2hlbWFdPVwiX3NjaGVtYVwiXG4gICAgICAgIFtwYXJlbnRHcm91cF09XCJwYXJlbnRHcm91cFwiXG4gICAgICA+PC9lbmNvdW50ZXItdmlld2VyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tTGVhZiBDb250cm9scy0tPlxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHhcIj5cbiAgICA8Zm9ybSAqbmdJZj1cInJvb3ROb2RlLnF1ZXN0aW9uLmNvbnRyb2xUeXBlID09PSAwXCIgW2Zvcm1Hcm91cF09XCJwYXJlbnRHcm91cFwiPlxuICAgICAgPGRpdiAqbmdJZj1cInJvb3ROb2RlLmNvbnRyb2wudmFsdWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9uLWFuc3dlclwiPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgKm5nSWY9XCJyb290Tm9kZS5xdWVzdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICBbYXR0ci5mb3JdPVwicm9vdE5vZGUucXVlc3Rpb24ua2V5XCJcbiAgICAgICAgICAgIHN0eWxlPVwiZm9udC13ZWlnaHQ6IDQwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcm9vdE5vZGUucXVlc3Rpb24ubGFiZWwgfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hlY2tGb3JDb2xvbihyb290Tm9kZS5xdWVzdGlvbi5sYWJlbClcIj46PC9zcGFuPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJyb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlXCJcbiAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXdlaWdodDogYm9sZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbGUnXCI+XG4gICAgICAgICAgICAgIDxmaWxlLXByZXZpZXdcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInJvb3ROb2RlLnF1ZXN0aW9uLmtleVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cInJvb3ROb2RlLnF1ZXN0aW9uLmtleSArICdpZCdcIlxuICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImZpbGVEYXRhU291cmNlXCJcbiAgICAgICAgICAgICAgPjwvZmlsZS1wcmV2aWV3PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIncmVtb3RlLXNlbGVjdCdcIj5cbiAgICAgICAgICAgICAgPHJlbW90ZS1hbnN3ZXJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cInJvb3ROb2RlLnF1ZXN0aW9uLmtleVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cInJvb3ROb2RlLnF1ZXN0aW9uLmtleSArICdpZCdcIlxuICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInJlbW90ZURhdGFTb3VyY2VcIlxuICAgICAgICAgICAgICA+PC9yZW1vdGUtYW5zd2VyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2tcIj5cbiAgICAgICAgICAgICAgPHF1ZXN0aW9uLWNvbnRyb2xcbiAgICAgICAgICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJyb290Tm9kZS5jb250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJjdXN0b21EYXRhU291cmNlXCJcbiAgICAgICAgICAgICAgPjwvcXVlc3Rpb24tY29udHJvbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG5cbiAgPCEtLUFycmF5IENvbnRyb2xzLS0+XG4gIDxkaXZcbiAgICAqbmdJZj1cInJvb3ROb2RlLnF1ZXN0aW9uLmNvbnRyb2xUeXBlID09PSAxICYmIHF1ZXN0aW9uc0Fuc3dlcmVkKHJvb3ROb2RlKVwiXG4gID5cbiAgICA8ZGl2IFtuZ1N3aXRjaF09XCJyb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlXCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIncmVwZWF0aW5nJ1wiPlxuICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJyb290Tm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZVwiPlxuICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIid0ZXN0T3JkZXInXCI+XG4gICAgICAgICAgICA8bGFiZWw+e3sgcm9vdE5vZGUucXVlc3Rpb24ubGFiZWwgfX06PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNoaWxkIG9mIHJvb3ROb2RlLmNoaWxkcmVuOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIGNoaWxkLnF1ZXN0aW9uLnF1ZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3BhcmVudENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICBbbm9kZV09XCJjaGlsZC5jaGlsZHJlbltxdWVzdGlvbi5rZXldXCJcbiAgICAgICAgICAgICAgICBbcGFyZW50R3JvdXBdPVwiY2hpbGQuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgICAgICAgICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ29ic0dyb3VwJ1wiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygcm9vdE5vZGUuY2hpbGRyZW47IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPGVuY291bnRlci12aWV3ZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgY2hpbGQucXVlc3Rpb24ucXVlc3Rpb25zXCJcbiAgICAgICAgICAgICAgICBbcGFyZW50Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgICAgIFtub2RlXT1cImNoaWxkLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgICAgICAgICAgIFtwYXJlbnRHcm91cF09XCJjaGlsZC5jb250cm9sXCJcbiAgICAgICAgICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICAgICAgICA+PC9lbmNvdW50ZXItdmlld2VyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJyb290Tm9kZS5xdWVzdGlvbi5jb250cm9sVHlwZSA9PT0gMlwiPlxuICAgIDwhLS1HUk9VUC0tPlxuICAgIDxkaXYgW25nU3dpdGNoXT1cInJvb3ROb2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGVcIj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidncm91cCdcIj5cbiAgICAgICAgPGVuY291bnRlci12aWV3ZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2Ygcm9vdE5vZGUucXVlc3Rpb24ucXVlc3Rpb25zXCJcbiAgICAgICAgICBbcGFyZW50Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICAgIFtub2RlXT1cInJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgICAgIFtwYXJlbnRHcm91cF09XCJyb290Tm9kZS5jb250cm9sXCJcbiAgICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICA+PC9lbmNvdW50ZXItdmlld2VyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZmllbGQtc2V0J1wiPlxuICAgICAgICA8ZW5jb3VudGVyLXZpZXdlclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiByb290Tm9kZS5xdWVzdGlvbi5xdWVzdGlvbnNcIlxuICAgICAgICAgIFtwYXJlbnRDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgICAgW25vZGVdPVwicm9vdE5vZGUuY2hpbGRyZW5bcXVlc3Rpb24ua2V5XVwiXG4gICAgICAgICAgW3BhcmVudEdyb3VwXT1cInJvb3ROb2RlLmNvbnRyb2xcIlxuICAgICAgICAgIFtzY2hlbWFdPVwiX3NjaGVtYVwiXG4gICAgICAgID48L2VuY291bnRlci12aWV3ZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmAsXG4gIHN0eWxlczogW2AucGFnZS1sYWJlbHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDB9LnNlY3Rpb24tbGFiZWx7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwfS5wYW5lbC1wcmltYXJ5e2JvcmRlcjpub25lIWltcG9ydGFudH0ucXVlc3Rpb24tYW5zd2Vye2ZvbnQtc2l6ZToxNnB4fS5wYW5lbHttYXJnaW4tYm90dG9tOjVweH1kaXYuc2VjdGlvbnttYXJnaW4tYm90dG9tOjE1cHghaW1wb3J0YW50fS5saW5lLWJyZWFrZXJ7d2hpdGUtc3BhY2U6cHJlLWxpbmV9aHJ7bWFyZ2luOjEwcHh9YF1cbn0pXG5leHBvcnQgY2xhc3MgRW5jb3VudGVyVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHJvb3ROb2RlOiBOb2RlQmFzZTtcbiAgcHVibGljIGVuYzogYW55O1xuICBwdWJsaWMgZmlsZURhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHB1YmxpYyByZW1vdGVEYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwdWJsaWMgY3VzdG9tRGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHVibGljIF9zY2hlbWE7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJlbnRHcm91cDogQWZlRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50Q29tcG9uZW50OiBFbmNvdW50ZXJWaWV3ZXJDb21wb25lbnQ7XG4gIEBJbnB1dCgpIHNldCBub2RlKHJvb3ROb2RlOiBOb2RlQmFzZSkge1xuICAgIHRoaXMucm9vdE5vZGUgPSByb290Tm9kZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2NoZW1hKHNjaGVtYTogYW55KSB7XG4gICAgdGhpcy5fc2NoZW1hID0gc2NoZW1hO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlbmNvdW50ZXIoZW5jOiBhbnkpIHtcbiAgICB0aGlzLmVuYyA9IGVuYztcbiAgfVxuICBASW5wdXQoKSBzZXQgZm9ybShmb3JtOiBhbnkpIHtcbiAgICB0aGlzLnJvb3ROb2RlID0gZm9ybS5yb290Tm9kZTtcbiAgICB0aGlzLl9zY2hlbWEgPSBmb3JtLnNjaGVtYTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmdldFF1ZXN0aW9uTm9kZXModGhpcy50cmF2ZXJzZSh0aGlzLnJvb3ROb2RlKSkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlOiBFbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZXM6IERhdGFTb3VyY2VzXG4gICkge31cblxuICBnZXRRdWVzdGlvbk5vZGVzKHBhZ2VzKSB7XG4gICAgY29uc3QgbWVyZ2VkID0gW107XG4gICAgY29uc3QgYXJyYXlzID0gW107XG4gICAgZm9yIChjb25zdCBwYWdlIG9mIHBhZ2VzKSB7XG4gICAgICBhcnJheXMucHVzaChwYWdlLnBhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VkLmNvbmNhdC5hcHBseShbXSwgYXJyYXlzKTtcbiAgfVxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucm9vdE5vZGUpIHtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgdGhpcy5yb290Tm9kZSAmJlxuICAgICAgdGhpcy5yb290Tm9kZS5xdWVzdGlvbi5leHRyYXMgJiZcbiAgICAgIHRoaXMucm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ2ZpbGUnXG4gICAgKSB7XG4gICAgICB0aGlzLmZpbGVEYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlcy5kYXRhU291cmNlc1tcbiAgICAgICAgdGhpcy5yb290Tm9kZS5xdWVzdGlvbi5kYXRhU291cmNlXG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB0aGlzLnJvb3ROb2RlICYmXG4gICAgICB0aGlzLnJvb3ROb2RlLnF1ZXN0aW9uLmV4dHJhcyAmJlxuICAgICAgdGhpcy5yb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAncmVtb3RlLXNlbGVjdCdcbiAgICApIHtcbiAgICAgIHRoaXMucmVtb3RlRGF0YVNvdXJjZSA9IHRoaXMuZGF0YVNvdXJjZXMuZGF0YVNvdXJjZXNbXG4gICAgICAgIHRoaXMucm9vdE5vZGUucXVlc3Rpb24uZGF0YVNvdXJjZVxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXN0b21EYXRhU291cmNlID0gdGhpcy5lbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBxdWVzdGlvbnNBbnN3ZXJlZChub2RlOiBhbnkpIHtcbiAgICBjb25zdCAkYW5zd2VyZWQgPSB0aGlzLmVuY291bnRlclZpZXdlclNlcnZpY2UucXVlc3Rpb25zQW5zd2VyZWQobm9kZSk7XG4gICAgcmV0dXJuICRhbnN3ZXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBxdWVzdGlvbkFuc3dlcmVkKG5vZGU6IE5vZGVCYXNlKSB7XG4gICAgY29uc3QgYW5zd2VyZWQgPSB0aGlzLmVuY291bnRlclZpZXdlclNlcnZpY2UuaGFzQW5zd2VyKG5vZGUpO1xuICAgIHJldHVybiBhbnN3ZXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0ZvckNvbG9uKHF1ZXN0aW9uTGFiZWw6IHN0cmluZykge1xuICAgIGlmIChxdWVzdGlvbkxhYmVsLmluZGV4T2YoJzonKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdHJhdmVyc2UobywgdHlwZT8pIHtcbiAgICBjb25zdCBxdWVzdGlvbnMgPSBbXTtcbiAgICBpZiAoby5jaGlsZHJlbikge1xuICAgICAgaWYgKG8uY2hpbGRyZW4gaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICBjb25zdCByZXR1cm5lZCA9IHRoaXMucmVwZWF0aW5nR3JvdXAoby5jaGlsZHJlbik7XG4gICAgICAgIHJldHVybiByZXR1cm5lZDtcbiAgICAgIH1cbiAgICAgIGlmIChvLmNoaWxkcmVuIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG8uY2hpbGRyZW4pIHtcbiAgICAgICAgICBpZiAoby5jaGlsZHJlbi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKG8uY2hpbGRyZW5ba2V5XS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3BhZ2UnOlxuICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnRyYXZlcnNlKG8uY2hpbGRyZW5ba2V5XSk7XG4gICAgICAgICAgICAgICAgcXVlc3Rpb25zLnB1c2goeyBwYWdlOiBwYWdlIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdzZWN0aW9uJzpcbiAgICAgICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy50cmF2ZXJzZShvLmNoaWxkcmVuW2tleV0pO1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKHsgc2VjdGlvbjogc2VjdGlvbiB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICAgICAgICAgIGNvbnN0IHFzID0gdGhpcy50cmF2ZXJzZShvLmNoaWxkcmVuW2tleV0pO1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIG5vZGU6IG8uY2hpbGRyZW5ba2V5XSxcbiAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uOiBvLmNoaWxkcmVuW2tleV0ucXVlc3Rpb24sXG4gICAgICAgICAgICAgICAgICBncm91cE1lbWJlcnM6IHFzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3JlcGVhdGluZyc6XG4gICAgICAgICAgICAgICAgY29uc3QgcmVwID0gdGhpcy5yZXBlYXRpbmdHcm91cChvLmNoaWxkcmVuW2tleV0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIG5vZGU6IG8uY2hpbGRyZW5ba2V5XSxcbiAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uOiBvLmNoaWxkcmVuW2tleV0ucXVlc3Rpb24sXG4gICAgICAgICAgICAgICAgICBncm91cE1lbWJlcnM6IHJlcFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKG8uY2hpbGRyZW5ba2V5XSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnQ29uc29sZS5sb2cnLCBvKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHF1ZXN0aW9ucztcbiAgfVxuXG4gIHJlcGVhdGluZ0dyb3VwKG5vZGVzKSB7XG4gICAgY29uc3QgdG9SZXR1cm4gPSBbXTtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIHRvUmV0dXJuLnB1c2goe1xuICAgICAgICBxdWVzdGlvbjogbm9kZS5xdWVzdGlvbixcbiAgICAgICAgZ3JvdXBNZW1iZXJzOiB0aGlzLnRyYXZlcnNlKG5vZGUpXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRvUmV0dXJuO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { EncounterViewerComponent } from './encounter-view/encounter-viewer.component';
|
|
4
|
+
import { EncounterContainerComponent } from './encounter-container/encounter-container.component';
|
|
5
|
+
import { EncounterViewerService } from './encounter-viewer.service';
|
|
6
|
+
import { EncounterPdfViewerService } from './encounter-pdf-viewer.service';
|
|
7
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { QuestionControlComponent } from './display-controls/question-control.component';
|
|
9
|
+
import { FilePreviewComponent } from './display-controls/file-preview.component';
|
|
10
|
+
import { RemoteAnswerComponent } from './display-controls/remote-answer.component';
|
|
11
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
12
|
+
import { SharedModule } from '../shared.module';
|
|
13
|
+
export class EncounterViewerModule {
|
|
14
|
+
}
|
|
15
|
+
EncounterViewerModule.decorators = [
|
|
16
|
+
{ type: NgModule, args: [{
|
|
17
|
+
declarations: [
|
|
18
|
+
EncounterViewerComponent,
|
|
19
|
+
EncounterContainerComponent,
|
|
20
|
+
QuestionControlComponent,
|
|
21
|
+
FilePreviewComponent,
|
|
22
|
+
RemoteAnswerComponent
|
|
23
|
+
],
|
|
24
|
+
imports: [
|
|
25
|
+
FormsModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
CommonModule,
|
|
28
|
+
HttpClientModule,
|
|
29
|
+
SharedModule
|
|
30
|
+
],
|
|
31
|
+
providers: [EncounterViewerService, EncounterPdfViewerService],
|
|
32
|
+
exports: [EncounterContainerComponent, HttpClientModule]
|
|
33
|
+
},] },
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImVuY291bnRlci12aWV3ZXIvZW5jb3VudGVyLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQW1CaEQsTUFBTTs7O1lBbEJMLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osd0JBQXdCO29CQUN4QiwyQkFBMkI7b0JBQzNCLHdCQUF3QjtvQkFDeEIsb0JBQW9CO29CQUNwQixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLFlBQVk7aUJBQ2I7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLENBQUM7Z0JBQzlELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbmNvdW50ZXJWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2VuY291bnRlci12aWV3L2VuY291bnRlci12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEVuY291bnRlckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZW5jb3VudGVyLWNvbnRhaW5lci9lbmNvdW50ZXItY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi9lbmNvdW50ZXItdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5jb3VudGVyUGRmVmlld2VyU2VydmljZSB9IGZyb20gJy4vZW5jb3VudGVyLXBkZi12aWV3ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1ZXN0aW9uQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS1jb250cm9scy9xdWVzdGlvbi1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS1jb250cm9scy9maWxlLXByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFJlbW90ZUFuc3dlckNvbXBvbmVudCB9IGZyb20gJy4vZGlzcGxheS1jb250cm9scy9yZW1vdGUtYW5zd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkLm1vZHVsZSc7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFbmNvdW50ZXJWaWV3ZXJDb21wb25lbnQsXG4gICAgRW5jb3VudGVyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFF1ZXN0aW9uQ29udHJvbENvbXBvbmVudCxcbiAgICBGaWxlUHJldmlld0NvbXBvbmVudCxcbiAgICBSZW1vdGVBbnN3ZXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgU2hhcmVkTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW0VuY291bnRlclZpZXdlclNlcnZpY2UsIEVuY291bnRlclBkZlZpZXdlclNlcnZpY2VdLFxuICBleHBvcnRzOiBbRW5jb3VudGVyQ29udGFpbmVyQ29tcG9uZW50LCBIdHRwQ2xpZW50TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFbmNvdW50ZXJWaWV3ZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
const comma = ', ';
|
|
4
|
+
const newLine = '\n';
|
|
5
|
+
export class EncounterViewerService {
|
|
6
|
+
constructor() { }
|
|
7
|
+
resolveSelectedValue(value) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
searchOptions(searchText) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
fileUpload(data) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
fetchFile(url) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
resolveSelectedValueFromSchema(answerUuid, schema) {
|
|
20
|
+
let label;
|
|
21
|
+
if (schema.pages) {
|
|
22
|
+
_.forEach(schema.pages, (page) => {
|
|
23
|
+
const l = this.resolveSelectedValueFromSchema(answerUuid, page);
|
|
24
|
+
if (l) {
|
|
25
|
+
label = l;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (schema.sections) {
|
|
30
|
+
_.forEach(schema.sections, (section) => {
|
|
31
|
+
const l = this.resolveSelectedValueFromSchema(answerUuid, section);
|
|
32
|
+
if (l) {
|
|
33
|
+
label = l;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (schema.questions) {
|
|
38
|
+
_.forEach(schema.questions, (question) => {
|
|
39
|
+
if (question.questions) {
|
|
40
|
+
const l = this.resolveSelectedValueFromSchema(answerUuid, question);
|
|
41
|
+
if (l) {
|
|
42
|
+
label = l;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (question.questionOptions.answers) {
|
|
47
|
+
_.forEach(question.questionOptions.answers, (answer) => {
|
|
48
|
+
if (answer.concept === answerUuid) {
|
|
49
|
+
label = answer.label;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else if (question.questionOptions.selectableOrders) {
|
|
54
|
+
_.forEach(question.questionOptions.selectableOrders, (order) => {
|
|
55
|
+
if (order.concept === answerUuid) {
|
|
56
|
+
label = order.label;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return label;
|
|
64
|
+
}
|
|
65
|
+
hasAnswer(node) {
|
|
66
|
+
let answered = false;
|
|
67
|
+
if (node.initialValue) {
|
|
68
|
+
answered = true;
|
|
69
|
+
}
|
|
70
|
+
return answered;
|
|
71
|
+
}
|
|
72
|
+
questionsAnswered(node, answered) {
|
|
73
|
+
const $answered = answered || [];
|
|
74
|
+
if (node.question.renderingType === 'page') {
|
|
75
|
+
_.forEach(node.children, (childNode) => {
|
|
76
|
+
this.questionsAnswered(childNode, $answered);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else if (node.question.renderingType === 'section') {
|
|
80
|
+
_.forEach(node.children, (childNode) => {
|
|
81
|
+
if (childNode.question.renderingType === 'group') {
|
|
82
|
+
_.forEach(childNode.children, (child) => {
|
|
83
|
+
const ans = this.questionsAnswered(child, $answered);
|
|
84
|
+
if (ans) {
|
|
85
|
+
$answered.push(ans);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else if (this.hasAnswer(childNode)) {
|
|
90
|
+
$answered.push(true);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return this.hasAnswer(node);
|
|
96
|
+
}
|
|
97
|
+
if ($answered.length > 0) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
isDate(val) {
|
|
105
|
+
if (Date.parse(val)) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
convertTime(unixTimestamp) {
|
|
113
|
+
const a = new Date(unixTimestamp);
|
|
114
|
+
const months = [
|
|
115
|
+
'Jan',
|
|
116
|
+
'Feb',
|
|
117
|
+
'Mar',
|
|
118
|
+
'Apr',
|
|
119
|
+
'May',
|
|
120
|
+
'Jun',
|
|
121
|
+
'Jul',
|
|
122
|
+
'Aug',
|
|
123
|
+
'Sep',
|
|
124
|
+
'Oct',
|
|
125
|
+
'Nov',
|
|
126
|
+
'Dec'
|
|
127
|
+
];
|
|
128
|
+
const year = a.getFullYear();
|
|
129
|
+
const month = months[a.getMonth()];
|
|
130
|
+
const date = a.getDate();
|
|
131
|
+
const hour = a.getHours();
|
|
132
|
+
const min = a.getMinutes();
|
|
133
|
+
const sec = a.getSeconds();
|
|
134
|
+
const suffix = hour < 12 ? 'AM' : 'PM';
|
|
135
|
+
let time;
|
|
136
|
+
if (hour === 0 && min === 0) {
|
|
137
|
+
time = date + ' ' + month + ' ' + year;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
time =
|
|
141
|
+
date +
|
|
142
|
+
' ' +
|
|
143
|
+
month +
|
|
144
|
+
' ' +
|
|
145
|
+
year +
|
|
146
|
+
' ' +
|
|
147
|
+
hour +
|
|
148
|
+
':' +
|
|
149
|
+
min +
|
|
150
|
+
suffix +
|
|
151
|
+
' (EAT)';
|
|
152
|
+
}
|
|
153
|
+
return time;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
EncounterViewerService.decorators = [
|
|
157
|
+
{ type: Injectable },
|
|
158
|
+
];
|
|
159
|
+
EncounterViewerService.ctorParameters = () => [];
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJlbmNvdW50ZXItdmlld2VyL2VuY291bnRlci12aWV3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSTVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQztBQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFHckIsTUFBTTtJQUNKLGdCQUFlLENBQUM7SUFDVCxvQkFBb0IsQ0FBQyxLQUFVO1FBQ3BDLE1BQU0sQ0FBQztJQUNULENBQUM7SUFDTSxhQUFhLENBQUMsVUFBZTtRQUNsQyxNQUFNLENBQUM7SUFDVCxDQUFDO0lBQ00sVUFBVSxDQUFDLElBQVM7UUFDekIsTUFBTSxDQUFDO0lBQ1QsQ0FBQztJQUNNLFNBQVMsQ0FBQyxHQUFRO1FBQ3ZCLE1BQU0sQ0FBQztJQUNULENBQUM7SUFFTSw4QkFBOEIsQ0FDbkMsVUFBa0IsRUFDbEIsTUFBVztRQUVYLElBQUksS0FBSyxDQUFDO1FBQ1YsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ04sS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsRUFBRSxD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LENBQUM7WUFDTixJQUFJO2dCQUNGLElBQUk7b0JBQ0osR0FBRztvQkFDSCxLQUFLO29CQUNMLEdBQUc7b0JBQ0gsSUFBSTtvQkFDSixHQUFHO29CQUNILElBQUk7b0JBQ0osR0FBRztvQkFDSCxHQUFHO29CQUNILE1BQU07b0JBQ04sUUFBUSxDQUFDO1FBQ2IsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7WUF4SkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEdyb3VwTm9kZSxcbiAgTGVhZk5vZGUsXG4gIEFycmF5Tm9kZSxcbiAgTm9kZUJhc2Vcbn0gZnJvbSAnLi4vZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2RhdGEtc291cmNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvc2VsZWN0LW9wdGlvbic7XG5jb25zdCBjb21tYSA9ICcsICc7XG5jb25zdCBuZXdMaW5lID0gJ1xcbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlIGltcGxlbWVudHMgRGF0YVNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgcHVibGljIHJlc29sdmVTZWxlY3RlZFZhbHVlKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbj4ge1xuICAgIHJldHVybjtcbiAgfVxuICBwdWJsaWMgc2VhcmNoT3B0aW9ucyhzZWFyY2hUZXh0OiBhbnkpOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbltdPiB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHB1YmxpYyBmaWxlVXBsb2FkKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHB1YmxpYyBmZXRjaEZpbGUodXJsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlU2VsZWN0ZWRWYWx1ZUZyb21TY2hlbWEoXG4gICAgYW5zd2VyVXVpZDogc3RyaW5nLFxuICAgIHNjaGVtYTogYW55XG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGxhYmVsO1xuICAgIGlmIChzY2hlbWEucGFnZXMpIHtcbiAgICAgIF8uZm9yRWFjaChzY2hlbWEucGFnZXMsIChwYWdlKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSB0aGlzLnJlc29sdmVTZWxlY3RlZFZhbHVlRnJvbVNjaGVtYShhbnN3ZXJVdWlkLCBwYWdlKTtcbiAgICAgICAgaWYgKGwpIHtcbiAgICAgICAgICBsYWJlbCA9IGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChzY2hlbWEuc2VjdGlvbnMpIHtcbiAgICAgIF8uZm9yRWFjaChzY2hlbWEuc2VjdGlvbnMsIChzZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSB0aGlzLnJlc29sdmVTZWxlY3RlZFZhbHVlRnJvbVNjaGVtYShhbnN3ZXJVdWlkLCBzZWN0aW9uKTtcbiAgICAgICAgaWYgKGwpIHtcbiAgICAgICAgICBsYWJlbCA9IGw7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChzY2hlbWEucXVlc3Rpb25zKSB7XG4gICAgICBfLmZvckVhY2goc2NoZW1hLnF1ZXN0aW9ucywgKHF1ZXN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvbnMpIHtcbiAgICAgICAgICBjb25zdCBsID0gdGhpcy5yZXNvbHZlU2VsZWN0ZWRWYWx1ZUZyb21TY2hlbWEoYW5zd2VyVXVpZCwgcXVlc3Rpb24pO1xuICAgICAgICAgIGlmIChsKSB7XG4gICAgICAgICAgICBsYWJlbCA9IGw7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChxdWVzdGlvbi5xdWVzdGlvbk9wdGlvbnMuYW5zd2Vycykge1xuICAgICAgICAgICAgXy5mb3JFYWNoKHF1ZXN0aW9uLnF1ZXN0aW9uT3B0aW9ucy5hbnN3ZXJzLCAoYW5zd2VyKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChhbnN3ZXIuY29uY2VwdCA9PT0gYW5zd2VyVXVpZCkge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gYW5zd2VyLmxhYmVsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHF1ZXN0aW9uLnF1ZXN0aW9uT3B0aW9ucy5zZWxlY3RhYmxlT3JkZXJzKSB7XG4gICAgICAgICAgICBfLmZvckVhY2gocXVlc3Rpb24ucXVlc3Rpb25PcHRpb25zLnNlbGVjdGFibGVPcmRlcnMsIChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3JkZXIuY29uY2VwdCA9PT0gYW5zd2VyVXVpZCkge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gb3JkZXIubGFiZWw7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIHB1YmxpYyBoYXNBbnN3ZXIobm9kZTogTm9kZUJhc2UpIHtcbiAgICBsZXQgYW5zd2VyZWQgPSBmYWxzZTtcbiAgICBpZiAobm9kZS5pbml0aWFsVmFsdWUpIHtcbiAgICAgIGFuc3dlcmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc3dlcmVkO1xuICB9XG5cbiAgcHVibGljIHF1ZXN0aW9uc0Fuc3dlcmVkKG5vZGU6IGFueSwgYW5zd2VyZWQ/OiBib29sZWFuW10pIHtcbiAgICBjb25zdCAkYW5zd2VyZWQgPSBhbnN3ZXJlZCB8fCBbXTtcbiAgICBpZiAobm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAncGFnZScpIHtcbiAgICAgIF8uZm9yRWFjaChub2RlLmNoaWxkcmVuLCAoY2hpbGROb2RlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNBbnN3ZXJlZChjaGlsZE5vZGUsICRhbnN3ZXJlZCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKG5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3NlY3Rpb24nKSB7XG4gICAgICBfLmZvckVhY2gobm9kZS5jaGlsZHJlbiwgKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICBpZiAoY2hpbGROb2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdncm91cCcpIHtcbiAgICAgICAgICBfLmZvckVhY2goY2hpbGROb2RlLmNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFucyA9IHRoaXMucXVlc3Rpb25zQW5zd2VyZWQoY2hpbGQsICRhbnN3ZXJlZCk7XG4gICAgICAgICAgICBpZiAoYW5zKSB7XG4gICAgICAgICAgICAgICRhbnN3ZXJlZC5wdXNoKGFucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNBbnN3ZXIoY2hpbGROb2RlKSkge1xuICAgICAgICAgICRhbnN3ZXJlZC5wdXNoKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaGFzQW5zd2VyKG5vZGUpO1xuICAgIH1cblxuICAgIGlmICgkYW5zd2VyZWQubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEYXRlKHZhbDogYW55KSB7XG4gICAgaWYgKERhdGUucGFyc2UodmFsKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGNvbnZlcnRUaW1lKHVuaXhUaW1lc3RhbXA6IG51bWJlcikge1xuICAgIGNvbnN0IGEgPSBuZXcgRGF0ZSh1bml4VGltZXN0YW1wKTtcbiAgICBjb25zdCBtb250aHMgPSBbXG4gICAgICAnSmFuJyxcbiAgICAgICdGZWInLFxuICAgICAgJ01hcicsXG4gICAgICAnQXByJyxcbiAgICAgICdNYXknLFxuICAgICAgJ0p1bicsXG4gICAgICAnSnVsJyxcbiAgICAgICdBdWcnLFxuICAgICAgJ1NlcCcsXG4gICAgICAnT2N0JyxcbiAgICAgICdOb3YnLFxuICAgICAgJ0RlYydcbiAgICBdO1xuICAgIGNvbnN0IHllYXIgPSBhLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgbW9udGggPSBtb250aHNbYS5nZXRNb250aCgpXTtcbiAgICBjb25zdCBkYXRlID0gYS5nZXREYXRlKCk7XG4gICAgY29uc3QgaG91ciA9IGEuZ2V0SG91cnMoKTtcbiAgICBjb25zdCBtaW4gPSBhLmdldE1pbnV0ZXMoKTtcbiAgICBjb25zdCBzZWMgPSBhLmdldFNlY29uZHMoKTtcbiAgICBjb25zdCBzdWZmaXggPSBob3VyIDwgMTIgPyAnQU0nIDogJ1BNJztcbiAgICBsZXQgdGltZTtcbiAgICBpZiAoaG91ciA9PT0gMCAmJiBtaW4gPT09IDApIHtcbiAgICAgIHRpbWUgPSBkYXRlICsgJyAnICsgbW9udGggKyAnICcgKyB5ZWFyO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aW1lID1cbiAgICAgICAgZGF0ZSArXG4gICAgICAgICcgJyArXG4gICAgICAgIG1vbnRoICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgeWVhciArXG4gICAgICAgICcgJyArXG4gICAgICAgIGhvdXIgK1xuICAgICAgICAnOicgK1xuICAgICAgICBtaW4gK1xuICAgICAgICBzdWZmaXggK1xuICAgICAgICAnIChFQVQpJztcbiAgICB9XG4gICAgcmV0dXJuIHRpbWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class AlertHelper {
|
|
2
|
+
hideAlert(control) {
|
|
3
|
+
control.shown = false;
|
|
4
|
+
}
|
|
5
|
+
showAlert(control) {
|
|
6
|
+
control.shown = true;
|
|
7
|
+
}
|
|
8
|
+
setAlertsForControl(control, alert) {
|
|
9
|
+
control.alerts.push(alert);
|
|
10
|
+
}
|
|
11
|
+
clearAlertsForControl(control) {
|
|
12
|
+
control.alerts.splice(0);
|
|
13
|
+
control.alert = '';
|
|
14
|
+
}
|
|
15
|
+
evaluateControlAlerts(control) {
|
|
16
|
+
let messageValue = '';
|
|
17
|
+
control.alerts.forEach((message) => {
|
|
18
|
+
message.reEvaluateAlertExpression();
|
|
19
|
+
if (message.shown === true) {
|
|
20
|
+
messageValue = message.alertMessage;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
messageValue = '';
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
control.alert = messageValue;
|
|
27
|
+
// if (control.message && control.disable) {
|
|
28
|
+
// control.disable();
|
|
29
|
+
// // control.setValue(null);
|
|
30
|
+
// }
|
|
31
|
+
}
|
|
32
|
+
setUpReEvaluationWhenValueChanges(control) {
|
|
33
|
+
if (control.updateAlert) {
|
|
34
|
+
control.valueChanges.subscribe((val) => {
|
|
35
|
+
control.updateAlert();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9jb250cm9sLWFsZXJ0cy9hbGVydC1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU07SUFDRyxTQUFTLENBQUMsT0FBYztRQUM3QixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU0sU0FBUyxDQUFDLE9BQWM7UUFDN0IsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQXlCLEVBQUUsS0FBWTtRQUNoRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0scUJBQXFCLENBQUMsT0FBeUI7UUFDcEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE9BQXlCO1FBQ3BELElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3BDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDdEMsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDN0IsNENBQTRDO1FBQzVDLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsSUFBSTtJQUNOLENBQUM7SUFFTSxpQ0FBaUMsQ0FBQyxPQUF5QjtRQUNoRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNyQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FuR2VuZXJhdGVBbGVydCwgQWxlcnQgfSBmcm9tICcuL2Nhbi1nZW5lcmF0ZS1hbGVydCc7XG5leHBvcnQgY2xhc3MgQWxlcnRIZWxwZXIge1xuICBwdWJsaWMgaGlkZUFsZXJ0KGNvbnRyb2w6IEFsZXJ0KSB7XG4gICAgY29udHJvbC5zaG93biA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dBbGVydChjb250cm9sOiBBbGVydCkge1xuICAgIGNvbnRyb2wuc2hvd24gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIHNldEFsZXJ0c0ZvckNvbnRyb2woY29udHJvbDogQ2FuR2VuZXJhdGVBbGVydCwgYWxlcnQ6IEFsZXJ0KSB7XG4gICAgY29udHJvbC5hbGVydHMucHVzaChhbGVydCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGVydHNGb3JDb250cm9sKGNvbnRyb2w6IENhbkdlbmVyYXRlQWxlcnQpIHtcbiAgICBjb250cm9sLmFsZXJ0cy5zcGxpY2UoMCk7XG4gICAgY29udHJvbC5hbGVydCA9ICcnO1xuICB9XG5cbiAgcHVibGljIGV2YWx1YXRlQ29udHJvbEFsZXJ0cyhjb250cm9sOiBDYW5HZW5lcmF0ZUFsZXJ0KSB7XG4gICAgbGV0IG1lc3NhZ2VWYWx1ZSA9ICcnO1xuICAgIGNvbnRyb2wuYWxlcnRzLmZvckVhY2goKG1lc3NhZ2UpID0+IHtcbiAgICAgIG1lc3NhZ2UucmVFdmFsdWF0ZUFsZXJ0RXhwcmVzc2lvbigpO1xuICAgICAgaWYgKG1lc3NhZ2Uuc2hvd24gPT09IHRydWUpIHtcbiAgICAgICAgbWVzc2FnZVZhbHVlID0gbWVzc2FnZS5hbGVydE1lc3NhZ2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlVmFsdWUgPSAnJztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnRyb2wuYWxlcnQgPSBtZXNzYWdlVmFsdWU7XG4gICAgLy8gaWYgKGNvbnRyb2wubWVzc2FnZSAmJiBjb250cm9sLmRpc2FibGUpIHtcbiAgICAvLyAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgLy8gICAgIC8vIGNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgLy8gfVxuICB9XG5cbiAgcHVibGljIHNldFVwUmVFdmFsdWF0aW9uV2hlblZhbHVlQ2hhbmdlcyhjb250cm9sOiBDYW5HZW5lcmF0ZUFsZXJ0KSB7XG4gICAgaWYgKGNvbnRyb2wudXBkYXRlQWxlcnQpIHtcbiAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlQWxlcnQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWdlbmVyYXRlLWFsZXJ0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L2NvbnRyb2wtYWxlcnRzL2Nhbi1nZW5lcmF0ZS1hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbkdlbmVyYXRlQWxlcnQge1xuICBhbGVydHM6IEFsZXJ0W107XG4gIGFsZXJ0OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgc2V0QWxlcnRGbihuZXdNZXNzYWdlOiBBbGVydCk7XG4gIGNsZWFyTWVzc2FnZUZucygpO1xuICB1cGRhdGVBbGVydCgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgc2hvd246IGJvb2xlYW47XG4gIGFsZXJ0V2hlbkV4cHJlc3Npb246IHN0cmluZztcbiAgYWxlcnRNZXNzYWdlOiBzdHJpbmc7XG4gIHJlRXZhbHVhdGVBbGVydEV4cHJlc3Npb246IEV2YWx1YXRlRXhwcmVzc2lvbkZuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRlRXhwcmVzc2lvbkZuIHtcbiAgKCk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbGN1bGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9jb250cm9sLWNhbGN1bGF0b3JzL2Nhbi1jYWxjdWxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FuQ2FsY3VsYXRlIHtcbiAgY2FsY3VsYXRvcjogRnVuY3Rpb247XG4gIHNldENhbGN1bGF0b3JGbihuZXdDYWxjdWxhdG9yOiBGdW5jdGlvbik7XG4gIHVwZGF0ZUNhbGN1bGF0ZWRWYWx1ZSgpO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc2FibGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImZvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1kaXNhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuRGlzYWJsZSB7XG4gIGRpc2FibGVyczogRGlzYWJsZXJbXTtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgZGlzYWJsZSgpO1xuICBlbmFibGUoKTtcbiAgc2V0RGlzYWJsaW5nRm4obmV3SGlkZXI6IERpc2FibGVyKTtcbiAgY2xlYXJEaXNhYmxpbmdGbnMoKTtcbiAgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2FibGVyIHtcbiAgdG9EaXNhYmxlOiBib29sZWFuO1xuICBkaXNhYmxlV2hlbkV4cHJlc3Npb246IHN0cmluZztcbiAgcmVFdmFsdWF0ZURpc2FibGluZ0V4cHJlc3Npb246IEV2YWx1YXRlRXhwcmVzc2lvbkZuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRlRXhwcmVzc2lvbkZuIHtcbiAgKCk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWhpZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImZvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV2YWx1YXRlRXhwcmVzc2lvbkZuIH0gZnJvbSAnLi9jYW4tZGlzYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuSGlkZSB7XG4gIGhpZGVyczogSGlkZXJbXTtcbiAgaGlkZGVuOiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgZGlzYWJsZT8oKTtcbiAgaGlkZSgpO1xuICBzaG93KCk7XG4gIHNldEhpZGluZ0ZuKG5ld0hpZGVyOiBIaWRlcik7XG4gIGNsZWFySGlkaW5nRm5zKCk7XG4gIHVwZGF0ZUhpZGRlblN0YXRlKCk7XG4gIHNldFZhbHVlPyh2YWx1ZTogYW55KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIaWRlciB7XG4gIHRvSGlkZTogYm9vbGVhbjtcbiAgaGlkZVdoZW5FeHByZXNzaW9uOiBzdHJpbmc7XG4gIHJlRXZhbHVhdGVIaWRpbmdFeHByZXNzaW9uOiBFdmFsdWF0ZUV4cHJlc3Npb25Gbjtcbn1cbiJdfQ==
|