@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,24 @@
|
|
|
1
|
+
export class QuestionBase {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this.defaultValue = options.defaultValue;
|
|
4
|
+
this.originalValue = options.originalValue;
|
|
5
|
+
this.extras = options.extras;
|
|
6
|
+
this.renderingType = options.type;
|
|
7
|
+
this.key = options.key || '';
|
|
8
|
+
this.label = options.label || '';
|
|
9
|
+
this.validators = options.validators || [];
|
|
10
|
+
this.required = options.required;
|
|
11
|
+
this.hide = options.hide;
|
|
12
|
+
this.disable = options.disable;
|
|
13
|
+
this.alert = options.alert;
|
|
14
|
+
this.historicalDataValue = options.historicalDataValue;
|
|
15
|
+
this.calculateExpression = options.calculateExpression;
|
|
16
|
+
}
|
|
17
|
+
setHistoricalValue(v) {
|
|
18
|
+
this.enableHistoricalValue = v;
|
|
19
|
+
}
|
|
20
|
+
showHistoricalEncounterDate(v) {
|
|
21
|
+
this.showHistoricalValueDate = v === undefined ? true : v;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvcXVlc3Rpb24tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNO0lBbUNKLFlBQVksT0FBb0I7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDekQsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQVU7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsMkJBQTJCLENBQUMsQ0FBVztRQUNyQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvYmFzZS1vcHRpb25zJztcbmltcG9ydCB7IEFmZUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1jb250cm9sLXR5cGUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi92YWxpZGF0aW9uLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uQmFzZSBpbXBsZW1lbnRzIEJhc2VPcHRpb25zIHtcbiAgdHlwZTogc3RyaW5nO1xuICBvcmRlcj86IG51bWJlcjtcbiAgcXVlc3Rpb25PcHRpb25zPzogYW55O1xuICBxdWVzdGlvbnM/OiBhbnk7XG4gIHBsYWNlaG9sZGVyPzogYW55O1xuICBoaWRkZW4/OiBhbnk7XG4gIHNob3dUaW1lPzogYW55O1xuICBzaG93V2Vlaz86IGFueTtcbiAgaGlzdG9yaWNhbERpc3BsYXk/OiBhbnk7XG4gIHJvd3M/OiBhbnk7XG4gIHNob3dXZWVrc0FkZGVyPzogYW55O1xuICBrZXk6IHN0cmluZztcbiAgYWxlcnQ/OiBhbnk7XG5cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHJlbmRlcmluZ1R5cGU6IHN0cmluZztcblxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gIG9yaWdpbmFsVmFsdWU/OiBhbnk7XG4gIGVuYWJsZUhpc3RvcmljYWxWYWx1ZT86IGJvb2xlYW47XG4gIHNob3dIaXN0b3JpY2FsVmFsdWVEYXRlPzogYm9vbGVhbjtcbiAgaGlzdG9yaWNhbERhdGFWYWx1ZT86IGFueTtcbiAgZXh0cmFzPzogYW55O1xuICBkYXRhU291cmNlPzogc3RyaW5nO1xuICBkYXRhU291cmNlT3B0aW9ucz86IGFueTtcblxuICBjb250cm9sVHlwZT86IEFmZUNvbnRyb2xUeXBlO1xuICB2YWxpZGF0b3JzPzogQXJyYXk8VmFsaWRhdGlvbk1vZGVsPjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBoaWRlPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgZGlzYWJsZT86IHN0cmluZyB8IGJvb2xlYW47XG4gIGNhbGN1bGF0ZUV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIG9wdGlvbnM/OiBhbnk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQmFzZU9wdGlvbnMpIHtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IG9wdGlvbnMuZGVmYXVsdFZhbHVlO1xuICAgIHRoaXMub3JpZ2luYWxWYWx1ZSA9IG9wdGlvbnMub3JpZ2luYWxWYWx1ZTtcbiAgICB0aGlzLmV4dHJhcyA9IG9wdGlvbnMuZXh0cmFzO1xuICAgIHRoaXMucmVuZGVyaW5nVHlwZSA9IG9wdGlvbnMudHlwZTtcbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5IHx8ICcnO1xuICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsIHx8ICcnO1xuICAgIHRoaXMudmFsaWRhdG9ycyA9IG9wdGlvbnMudmFsaWRhdG9ycyB8fCBbXTtcbiAgICB0aGlzLnJlcXVpcmVkID0gb3B0aW9ucy5yZXF1aXJlZDtcbiAgICB0aGlzLmhpZGUgPSBvcHRpb25zLmhpZGU7XG4gICAgdGhpcy5kaXNhYmxlID0gb3B0aW9ucy5kaXNhYmxlO1xuICAgIHRoaXMuYWxlcnQgPSBvcHRpb25zLmFsZXJ0O1xuICAgIHRoaXMuaGlzdG9yaWNhbERhdGFWYWx1ZSA9IG9wdGlvbnMuaGlzdG9yaWNhbERhdGFWYWx1ZTtcbiAgICB0aGlzLmNhbGN1bGF0ZUV4cHJlc3Npb24gPSBvcHRpb25zLmNhbGN1bGF0ZUV4cHJlc3Npb247XG4gIH1cblxuICBzZXRIaXN0b3JpY2FsVmFsdWUodjogYm9vbGVhbikge1xuICAgIHRoaXMuZW5hYmxlSGlzdG9yaWNhbFZhbHVlID0gdjtcbiAgfVxuICBzaG93SGlzdG9yaWNhbEVuY291bnRlckRhdGUodj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3dIaXN0b3JpY2FsVmFsdWVEYXRlID0gdiA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,4 +6,4 @@ export var RenderingType;
|
|
|
6
6
|
RenderingType[RenderingType["Select"] = 3] = "Select";
|
|
7
7
|
RenderingType[RenderingType["DropDown"] = 4] = "DropDown";
|
|
8
8
|
})(RenderingType || (RenderingType = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLXR5cGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImZvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3JlbmRlcmluZy10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBTVg7QUFORCxXQUFZLGFBQWE7SUFDdkIsaURBQUksQ0FBQTtJQUNKLGlEQUFJLENBQUE7SUFDSix1REFBTyxDQUFBO0lBQ1AscURBQU0sQ0FBQTtJQUNOLHlEQUFRLENBQUE7QUFDVixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBSZW5kZXJpbmdUeXBlIHtcbiAgRm9ybSxcbiAgUGFnZSxcbiAgU2VjdGlvbixcbiAgU2VsZWN0LFxuICBEcm9wRG93blxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
2
|
+
import { NestedQuestion } from './interfaces/nested-questions';
|
|
3
|
+
export class RepeatingQuestion extends NestedQuestion {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.renderingType = 'repeating';
|
|
7
|
+
this.questions = options.questions || [];
|
|
8
|
+
this.controlType = AfeControlType.AfeFormArray;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0aW5nLXF1ZXN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9yZXBlYXRpbmctcXVlc3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXBGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxNQUFNLHdCQUF5QixTQUFRLGNBQWM7SUFHbkQsWUFBWSxPQUFpQztRQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgUmVwZWF0aW5nUXVlc3Rpb25PcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3JlcGVhdGluZy1xdWVzdGlvbi1vcHRpb25zJztcbmltcG9ydCB7IEFmZUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1jb250cm9sLXR5cGUnO1xuXG5pbXBvcnQgeyBOZXN0ZWRRdWVzdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9uZXN0ZWQtcXVlc3Rpb25zJztcblxuZXhwb3J0IGNsYXNzIFJlcGVhdGluZ1F1ZXN0aW9uIGV4dGVuZHMgTmVzdGVkUXVlc3Rpb24ge1xuICBxdWVzdGlvbnM6IFF1ZXN0aW9uQmFzZVtdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJlcGVhdGluZ1F1ZXN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucmVuZGVyaW5nVHlwZSA9ICdyZXBlYXRpbmcnO1xuICAgIHRoaXMucXVlc3Rpb25zID0gb3B0aW9ucy5xdWVzdGlvbnMgfHwgW107XG4gICAgdGhpcy5jb250cm9sVHlwZSA9IEFmZUNvbnRyb2xUeXBlLkFmZUZvcm1BcnJheTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class Option {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this.label = options.label;
|
|
4
|
+
this.value = options.value;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvc2VsZWN0LW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNO0lBR0osWUFBWSxPQUFxQjtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9zZWxlY3Qtb3B0aW9uJztcbmV4cG9ydCBjbGFzcyBPcHRpb24ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTZWxlY3RPcHRpb24pIHtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbDtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { QuestionBase } from './question-base';
|
|
2
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
3
|
+
export class SelectQuestion extends QuestionBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.renderingType = 'select';
|
|
7
|
+
this.options = options.options || [];
|
|
8
|
+
this.controlType = AfeControlType.AfeFormControl;
|
|
9
|
+
this.dataSource = options.dataSource || '';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXF1ZXN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9zZWxlY3QtcXVlc3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVwRixNQUFNLHFCQUFzQixTQUFRLFlBQVk7SUFJOUMsWUFBWSxPQUE4QjtRQUN4QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4vcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBTZWxlY3RRdWVzdGlvbk9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvc2VsZWN0LXF1ZXN0aW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgQWZlQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vYWZlLWNvbnRyb2wtdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RRdWVzdGlvbiBleHRlbmRzIFF1ZXN0aW9uQmFzZSB7XG4gIG9wdGlvbnM6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICBkYXRhU291cmNlPzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFNlbGVjdFF1ZXN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucmVuZGVyaW5nVHlwZSA9ICdzZWxlY3QnO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gQWZlQ29udHJvbFR5cGUuQWZlRm9ybUNvbnRyb2w7XG4gICAgdGhpcy5kYXRhU291cmNlID0gb3B0aW9ucy5kYXRhU291cmNlIHx8ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { QuestionBase } from './question-base';
|
|
2
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
3
|
+
export class TestOrderQuestion extends QuestionBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.renderingType = 'select';
|
|
7
|
+
this.orderType = options.orderType;
|
|
8
|
+
this.selectableOrders = options.selectableOrders;
|
|
9
|
+
this.options = options.options;
|
|
10
|
+
this.orderSettingUuid = options.orderSettingUuid;
|
|
11
|
+
this.rendering = options.orderSettingUuid;
|
|
12
|
+
this.controlType = AfeControlType.AfeFormControl;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1vcmRlci1xdWVzdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvdGVzdC1vcmRlci1xdWVzdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXBGLE1BQU0sd0JBQXlCLFNBQVEsWUFBWTtJQU1qRCxZQUFZLE9BQWlDO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgVGVzdE9yZGVyUXVlc3Rpb25PcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3Rlc3Qtb3JkZXItcXVlc3Rpb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBBZmVDb250cm9sVHlwZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtY29udHJvbC10eXBlJztcblxuZXhwb3J0IGNsYXNzIFRlc3RPcmRlclF1ZXN0aW9uIGV4dGVuZHMgUXVlc3Rpb25CYXNlIHtcbiAgb3JkZXJUeXBlOiBzdHJpbmc7XG4gIHNlbGVjdGFibGVPcmRlcnM6IHsgY29uY2VwdDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgb3JkZXJTZXR0aW5nVXVpZDogc3RyaW5nO1xuICByZW5kZXJpbmc6IHN0cmluZztcbiAgb3B0aW9uczogYW55W107XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFRlc3RPcmRlclF1ZXN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucmVuZGVyaW5nVHlwZSA9ICdzZWxlY3QnO1xuICAgIHRoaXMub3JkZXJUeXBlID0gb3B0aW9ucy5vcmRlclR5cGU7XG4gICAgdGhpcy5zZWxlY3RhYmxlT3JkZXJzID0gb3B0aW9ucy5zZWxlY3RhYmxlT3JkZXJzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucztcbiAgICB0aGlzLm9yZGVyU2V0dGluZ1V1aWQgPSBvcHRpb25zLm9yZGVyU2V0dGluZ1V1aWQ7XG4gICAgdGhpcy5yZW5kZXJpbmcgPSBvcHRpb25zLm9yZGVyU2V0dGluZ1V1aWQ7XG4gICAgdGhpcy5jb250cm9sVHlwZSA9IEFmZUNvbnRyb2xUeXBlLkFmZUZvcm1Db250cm9sO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TextInputQuestion } from './text-input-question';
|
|
2
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
3
|
+
export class TextAreaInputQuestion extends TextInputQuestion {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.placeholder = options.placeholder || '';
|
|
7
|
+
this.isExpanded = options.isExpanded || false;
|
|
8
|
+
this.rows = options.rows || 18;
|
|
9
|
+
this.renderingType = 'textarea';
|
|
10
|
+
this.controlType = AfeControlType.AfeFormControl;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWlucHV0LXF1ZXN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy90ZXh0LWFyZWEtaW5wdXQtcXVlc3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXBGLE1BQU0sNEJBQTZCLFNBQVEsaUJBQWlCO0lBSTFELFlBQVksT0FBZ0M7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRJbnB1dFF1ZXN0aW9uIH0gZnJvbSAnLi90ZXh0LWlucHV0LXF1ZXN0aW9uJztcbmltcG9ydCB7IFRleHRBcmVhUXVlc3Rpb25PcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RleHQtYXJlYS1xdWVzdGlvbi1vcHRpb25zJztcbmltcG9ydCB7IEFmZUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1jb250cm9sLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFJbnB1dFF1ZXN0aW9uIGV4dGVuZHMgVGV4dElucHV0UXVlc3Rpb24ge1xuICBpc0V4cGFuZGVkOiBib29sZWFuO1xuICByb3dzOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogVGV4dEFyZWFRdWVzdGlvbk9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gb3B0aW9ucy5wbGFjZWhvbGRlciB8fCAnJztcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBvcHRpb25zLmlzRXhwYW5kZWQgfHwgZmFsc2U7XG4gICAgdGhpcy5yb3dzID0gb3B0aW9ucy5yb3dzIHx8IDE4O1xuICAgIHRoaXMucmVuZGVyaW5nVHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgdGhpcy5jb250cm9sVHlwZSA9IEFmZUNvbnRyb2xUeXBlLkFmZUZvcm1Db250cm9sO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { QuestionBase } from './question-base';
|
|
2
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
3
|
+
export class TextInputQuestion extends QuestionBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.placeholder = options.placeholder || '';
|
|
7
|
+
this.controlType = AfeControlType.AfeFormControl;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC1xdWVzdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvdGV4dC1pbnB1dC1xdWVzdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRXBGLE1BQU0sd0JBQXlCLFNBQVEsWUFBWTtJQUVqRCxZQUFZLE9BQTRCO1FBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4vcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBUZXh0UXVlc3Rpb25PcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RleHQtcXVlc3Rpb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBBZmVDb250cm9sVHlwZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtY29udHJvbC10eXBlJztcblxuZXhwb3J0IGNsYXNzIFRleHRJbnB1dFF1ZXN0aW9uIGV4dGVuZHMgUXVlc3Rpb25CYXNlIHtcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgY29uc3RydWN0b3Iob3B0aW9uczogVGV4dFF1ZXN0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyIHx8ICcnO1xuICAgIHRoaXMuY29udHJvbFR5cGUgPSBBZmVDb250cm9sVHlwZS5BZmVGb3JtQ29udHJvbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { QuestionBase } from './question-base';
|
|
2
|
+
import { AfeControlType } from '../../abstract-controls-extension/afe-control-type';
|
|
3
|
+
export class UiSelectQuestion extends QuestionBase {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
this.renderingType = 'ui-select';
|
|
7
|
+
this.options = options.options || [];
|
|
8
|
+
this.controlType = AfeControlType.AfeFormControl;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktc2VsZWN0LXF1ZXN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy91aS1zZWxlY3QtcXVlc3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVwRixNQUFNLHVCQUF3QixTQUFRLFlBQVk7SUFJaEQsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgVWlTZWxlY3RRdWVzdGlvbk9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvdWktc2VsZWN0LXF1ZXN0aW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgQWZlQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vYWZlLWNvbnRyb2wtdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBVaVNlbGVjdFF1ZXN0aW9uIGV4dGVuZHMgUXVlc3Rpb25CYXNlIHtcbiAgb3B0aW9uczogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XG4gIHNlYXJjaEZ1bmN0aW9uOiBGdW5jdGlvbjtcbiAgcmVzb2x2ZUZ1bmN0aW9uOiBGdW5jdGlvbjtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogVWlTZWxlY3RRdWVzdGlvbk9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLnJlbmRlcmluZ1R5cGUgPSAndWktc2VsZWN0JztcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgdGhpcy5jb250cm9sVHlwZSA9IEFmZUNvbnRyb2xUeXBlLkFmZUZvcm1Db250cm9sO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class ValidationModel {
|
|
2
|
+
constructor(validations) {
|
|
3
|
+
this.type = validations.type;
|
|
4
|
+
this.message = validations.message || null;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvdmFsaWRhdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNO0lBS0osWUFBWSxXQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztJQUM3QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVmFsaWRhdGlvbk1vZGVsIHtcbiAgdHlwZTogc3RyaW5nO1xuXG4gIG1lc3NhZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcih2YWxpZGF0aW9uczogYW55KSB7XG4gICAgdGhpcy50eXBlID0gdmFsaWRhdGlvbnMudHlwZTtcbiAgICB0aGlzLm1lc3NhZ2UgPSB2YWxpZGF0aW9ucy5tZXNzYWdlIHx8IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This service checks if the debug mode on ng2-amrs
|
|
3
|
+
has been enabled by checking cookies.
|
|
4
|
+
If the debug mode has been enabled then
|
|
5
|
+
it returns true and all fields are displayed
|
|
6
|
+
for use by testers
|
|
7
|
+
*/
|
|
8
|
+
import { Injectable } from '@angular/core';
|
|
9
|
+
export class DebugModeService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.cookieKey = 'formDebug';
|
|
12
|
+
}
|
|
13
|
+
debugEnabled() {
|
|
14
|
+
// check if the hidefield
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
DebugModeService.decorators = [
|
|
19
|
+
{ type: Injectable },
|
|
20
|
+
];
|
|
21
|
+
DebugModeService.ctorParameters = () => [];
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3NlcnZpY2VzL2RlYnVnLW1vZGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0VBTUU7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU07SUFHSjtRQUZPLGNBQVMsR0FBRyxXQUFXLENBQUM7SUFFaEIsQ0FBQztJQUNULFlBQVk7UUFDakIseUJBQXlCO1FBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUFSRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcblRoaXMgc2VydmljZSBjaGVja3MgaWYgdGhlIGRlYnVnIG1vZGUgb24gbmcyLWFtcnNcbmhhcyBiZWVuIGVuYWJsZWQgYnkgY2hlY2tpbmcgY29va2llcy5cbklmIHRoZSBkZWJ1ZyBtb2RlIGhhcyBiZWVuIGVuYWJsZWQgdGhlblxuaXQgcmV0dXJucyB0cnVlIGFuZCBhbGwgZmllbGRzIGFyZSBkaXNwbGF5ZWRcbmZvciB1c2UgYnkgdGVzdGVyc1xuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVidWdNb2RlU2VydmljZSB7XG4gIHB1YmxpYyBjb29raWVLZXkgPSAnZm9ybURlYnVnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG4gIHB1YmxpYyBkZWJ1Z0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgLy8gY2hlY2sgaWYgdGhlIGhpZGVmaWVsZFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
export class FormErrorsService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.announceErrorFieldSource = new Subject();
|
|
6
|
+
this.announceErrorField$ = this.announceErrorFieldSource.asObservable();
|
|
7
|
+
}
|
|
8
|
+
announceErrorField(error) {
|
|
9
|
+
this.announceErrorFieldSource.next(error);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// Observable string sources
|
|
13
|
+
FormErrorsService.control = null;
|
|
14
|
+
FormErrorsService.tab = null;
|
|
15
|
+
FormErrorsService.decorators = [
|
|
16
|
+
{ type: Injectable },
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9zZXJ2aWNlcy9mb3JtLWVycm9ycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU8vQixNQUFNO0lBRE47UUFLUyw2QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ2pELHdCQUFtQixHQUV0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFJbkQsQ0FBQztJQUhRLGtCQUFrQixDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQVRELDRCQUE0QjtBQUNkLHlCQUFPLEdBQWlELElBQUksQ0FBQztBQUM3RCxxQkFBRyxHQUFXLElBQUksQ0FBQzs7WUFKbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBBZmVGb3JtQXJyYXksIEFmZUZvcm1Hcm91cCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb3JtRXJyb3JzU2VydmljZSB7XG4gIC8vIE9ic2VydmFibGUgc3RyaW5nIHNvdXJjZXNcbiAgcHVibGljIHN0YXRpYyBjb250cm9sOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCA9IG51bGw7XG4gIHB1YmxpYyBzdGF0aWMgdGFiOiBudW1iZXIgPSBudWxsO1xuICBwdWJsaWMgYW5ub3VuY2VFcnJvckZpZWxkU291cmNlID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwdWJsaWMgYW5ub3VuY2VFcnJvckZpZWxkJDogT2JzZXJ2YWJsZTxcbiAgICBhbnlcbiAgPiA9IHRoaXMuYW5ub3VuY2VFcnJvckZpZWxkU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgYW5ub3VuY2VFcnJvckZpZWxkKGVycm9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFubm91bmNlRXJyb3JGaWVsZFNvdXJjZS5uZXh0KGVycm9yKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
export class FormSchemaCompiler {
|
|
4
|
+
constructor() { }
|
|
5
|
+
compileFormSchema(formSchema, referencedComponents) {
|
|
6
|
+
// get all referenced forms
|
|
7
|
+
const refForms = this.getReferencedForms(formSchema, referencedComponents);
|
|
8
|
+
if (_.isEmpty(refForms)) {
|
|
9
|
+
return formSchema;
|
|
10
|
+
}
|
|
11
|
+
// get all place-holders from the form schema
|
|
12
|
+
const placeHolders = this.getAllPlaceholderObjects(formSchema);
|
|
13
|
+
if (_.isEmpty(placeHolders)) {
|
|
14
|
+
return formSchema;
|
|
15
|
+
}
|
|
16
|
+
// replace all placeHolders
|
|
17
|
+
this.replaceAllPlaceholdersWithActualObjects(refForms, placeHolders);
|
|
18
|
+
return formSchema;
|
|
19
|
+
}
|
|
20
|
+
findSchemaByName(schemaArray, nameOfSchema) {
|
|
21
|
+
if (_.isEmpty(schemaArray) || _.isEmpty(nameOfSchema)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
let foundSchema = {};
|
|
25
|
+
_.each(schemaArray, (schema) => {
|
|
26
|
+
if (schema.name === nameOfSchema) {
|
|
27
|
+
foundSchema = schema;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return foundSchema;
|
|
31
|
+
}
|
|
32
|
+
getPageInSchemaByLabel(schema, pageLabel) {
|
|
33
|
+
if (_.isEmpty(schema) || _.isEmpty(pageLabel)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
let foundPage = {};
|
|
37
|
+
_.each(schema.pages, (page) => {
|
|
38
|
+
if (page.label === pageLabel) {
|
|
39
|
+
foundPage = page;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return foundPage;
|
|
43
|
+
}
|
|
44
|
+
getSectionInSchemaByPageLabelBySectionLabel(schema, pageLabel, sectionLabel) {
|
|
45
|
+
if (_.isEmpty(schema) || _.isEmpty(pageLabel) || _.isEmpty(sectionLabel)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const foundPage = this.getPageInSchemaByLabel(schema, pageLabel);
|
|
49
|
+
if (_.isEmpty(foundPage)) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
let foundSection = {};
|
|
53
|
+
_.each(foundPage.sections, (section) => {
|
|
54
|
+
if (section.label === sectionLabel) {
|
|
55
|
+
foundSection = section;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return foundSection;
|
|
59
|
+
}
|
|
60
|
+
getQuestionByIdInSchema(schema, questionId) {
|
|
61
|
+
if (_.isEmpty(schema) || _.isEmpty(questionId)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(schema)) {
|
|
65
|
+
let question;
|
|
66
|
+
for (let i = 0; i < schema.length; i++) {
|
|
67
|
+
if (!_.isEmpty(schema[i])) {
|
|
68
|
+
question = this.getQuestionByIdInSchema(schema[i], questionId);
|
|
69
|
+
}
|
|
70
|
+
if (!_.isEmpty(question)) {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return question;
|
|
75
|
+
}
|
|
76
|
+
else if (typeof schema === 'object') {
|
|
77
|
+
if (this.isQuestionObjectWithId(schema, questionId)) {
|
|
78
|
+
return schema;
|
|
79
|
+
}
|
|
80
|
+
else if (this.isSchemaSubObjectExpandable(schema)) {
|
|
81
|
+
const toExpand = schema.pages || schema.sections || schema.questions;
|
|
82
|
+
return this.getQuestionByIdInSchema(toExpand, questionId);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
getQuestionsArrayByQuestionIdInSchema(schema, questionId) {
|
|
93
|
+
if (_.isEmpty(schema) || _.isEmpty(questionId)) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
return this.getQuestionsArrayByQuestionId(schema, schema, questionId);
|
|
97
|
+
}
|
|
98
|
+
getQuestionsArrayByQuestionId(parent, object, questionId) {
|
|
99
|
+
if (Array.isArray(object)) {
|
|
100
|
+
let returnedValue;
|
|
101
|
+
for (let i = 0; i < object.length; i++) {
|
|
102
|
+
if (!_.isEmpty(object[i])) {
|
|
103
|
+
returnedValue = this.getQuestionsArrayByQuestionId(object, object[i], questionId);
|
|
104
|
+
}
|
|
105
|
+
if (!_.isEmpty(returnedValue)) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return returnedValue;
|
|
110
|
+
}
|
|
111
|
+
else if (typeof object === 'object') {
|
|
112
|
+
if (this.isQuestionObjectWithId(object, questionId)) {
|
|
113
|
+
return parent;
|
|
114
|
+
}
|
|
115
|
+
else if (this.isSchemaSubObjectExpandable(object)) {
|
|
116
|
+
const toExpand = object.pages || object.sections || object.questions;
|
|
117
|
+
return this.getQuestionsArrayByQuestionId(toExpand, toExpand, questionId);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// object is page or section or question
|
|
128
|
+
isSchemaSubObjectExpandable(object) {
|
|
129
|
+
if (typeof object === 'object') {
|
|
130
|
+
const objectKeys = Object.keys(object);
|
|
131
|
+
if (_.includes(objectKeys, 'pages') ||
|
|
132
|
+
_.includes(objectKeys, 'sections') ||
|
|
133
|
+
_.includes(objectKeys, 'questions')) {
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
isQuestionObjectWithId(object, id) {
|
|
140
|
+
return object['id'] === id;
|
|
141
|
+
}
|
|
142
|
+
getAllPlaceholderObjects(schema) {
|
|
143
|
+
const referencedObjects = [];
|
|
144
|
+
this.extractPlaceholderObjects(schema, referencedObjects);
|
|
145
|
+
return referencedObjects;
|
|
146
|
+
}
|
|
147
|
+
extractPlaceholderObjects(subSchema, objectsArray) {
|
|
148
|
+
if (_.isEmpty(subSchema)) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (Array.isArray(subSchema)) {
|
|
152
|
+
for (let i = 0; i < subSchema.length; i++) {
|
|
153
|
+
if (!_.isEmpty(subSchema[i])) {
|
|
154
|
+
this.extractPlaceholderObjects(subSchema[i], objectsArray);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else if (typeof subSchema === 'object') {
|
|
159
|
+
if (!_.isEmpty(subSchema.reference)) {
|
|
160
|
+
objectsArray.push(subSchema);
|
|
161
|
+
}
|
|
162
|
+
else if (this.isSchemaSubObjectExpandable(subSchema)) {
|
|
163
|
+
const toExpand = subSchema.pages || subSchema.sections || subSchema.questions;
|
|
164
|
+
this.extractPlaceholderObjects(toExpand, objectsArray);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
fillPlaceholderObject(placeHolderObject, referenceObject) {
|
|
169
|
+
for (const member in referenceObject) {
|
|
170
|
+
if (_.isEmpty(placeHolderObject[member])) {
|
|
171
|
+
placeHolderObject[member] = referenceObject[member];
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return placeHolderObject;
|
|
175
|
+
}
|
|
176
|
+
replaceAllPlaceholdersWithActualObjects(keyValReferencedForms, placeHoldersArray) {
|
|
177
|
+
_.each(placeHoldersArray, (placeHolder) => {
|
|
178
|
+
const referencedObject = this.getReferencedObject(placeHolder.reference, keyValReferencedForms);
|
|
179
|
+
if (_.isEmpty(referencedObject)) {
|
|
180
|
+
console.error('Form compile: Error finding referenced object', placeHolder.reference);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
placeHolder = this.fillPlaceholderObject(placeHolder, referencedObject);
|
|
184
|
+
placeHolder = this.removeExcludedQuestionsFromPlaceholder(placeHolder);
|
|
185
|
+
delete placeHolder['reference'];
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
return placeHoldersArray;
|
|
189
|
+
}
|
|
190
|
+
removeObjectFromArray(array, object) {
|
|
191
|
+
const indexOfObject = array.indexOf(object);
|
|
192
|
+
if (indexOfObject === -1) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
array.splice(indexOfObject, 1);
|
|
196
|
+
}
|
|
197
|
+
removeExcludedQuestionsFromPlaceholder(placeHolder) {
|
|
198
|
+
if (Array.isArray(placeHolder.reference.excludeQuestions)) {
|
|
199
|
+
_.each(placeHolder.reference.excludeQuestions, (excludedQuestionId) => {
|
|
200
|
+
const questionsArray = this.getQuestionsArrayByQuestionIdInSchema(placeHolder, excludedQuestionId);
|
|
201
|
+
if (!Array.isArray(questionsArray)) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
const question = this.getQuestionByIdInSchema(questionsArray, excludedQuestionId);
|
|
205
|
+
this.removeObjectFromArray(questionsArray, question);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return placeHolder;
|
|
209
|
+
}
|
|
210
|
+
getReferencedObject(referenceData, keyValReferencedForms) {
|
|
211
|
+
if (_.isEmpty(referenceData.form)) {
|
|
212
|
+
console.error('Form compile: reference missing form attribute', referenceData);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if (_.isEmpty(keyValReferencedForms[referenceData.form])) {
|
|
216
|
+
console.error('Form compile: referenced form alias not found', referenceData);
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (!_.isEmpty(referenceData.questionId)) {
|
|
220
|
+
return this.getQuestionByIdInSchema(keyValReferencedForms[referenceData.form], referenceData.questionId);
|
|
221
|
+
}
|
|
222
|
+
if (!_.isEmpty(referenceData.page) && !_.isEmpty(referenceData.section)) {
|
|
223
|
+
return this.getSectionInSchemaByPageLabelBySectionLabel(keyValReferencedForms[referenceData.form], referenceData.page, referenceData.section);
|
|
224
|
+
}
|
|
225
|
+
if (!_.isEmpty(referenceData.page)) {
|
|
226
|
+
return this.getPageInSchemaByLabel(keyValReferencedForms[referenceData.form], referenceData.page);
|
|
227
|
+
}
|
|
228
|
+
console.error('Form compile: Unsupported reference type', referenceData.reference);
|
|
229
|
+
}
|
|
230
|
+
getReferencedForms(formSchema, formSchemasLookupArray) {
|
|
231
|
+
const referencedForms = formSchema.referencedForms;
|
|
232
|
+
if (_.isEmpty(referencedForms)) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const keyValReferencedForms = {};
|
|
236
|
+
_.each(referencedForms, (reference) => {
|
|
237
|
+
keyValReferencedForms[reference.alias] = this.findSchemaByName(formSchemasLookupArray, reference.formName);
|
|
238
|
+
});
|
|
239
|
+
return keyValReferencedForms;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
FormSchemaCompiler.decorators = [
|
|
243
|
+
{ type: Injectable },
|
|
244
|
+
];
|
|
245
|
+
FormSchemaCompiler.ctorParameters = () => [];
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zY2hlbWEtY29tcGlsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9zZXJ2aWNlcy9mb3JtLXNjaGVtYS1jb21waWxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFHNUIsTUFBTTtJQUNKLGdCQUFlLENBQUM7SUFFVCxpQkFBaUIsQ0FDdEIsVUFBa0IsRUFDbEIsb0JBQWdDO1FBRWhDLDJCQUEyQjtRQUMzQixNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsa0JBQWtCLENBQzlDLFVBQVUsRUFDVixvQkFBb0IsQ0FDckIsQ0FBQztRQUNGLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDckUsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLFdBQXVCLEVBQ3ZCLFlBQW9CO1FBRXBCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxD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LENBQUMsS0FBSyxDQUNYLDBDQUEwQyxFQUMxQyxhQUFhLENBQUMsU0FBUyxDQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVPLGtCQUFrQixDQUN4QixVQUFlLEVBQ2Ysc0JBQWtDO1FBRWxDLE1BQU0sZUFBZSxHQUFlLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFFL0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDO1FBQ1QsQ0FBQztRQUVELE1BQU0scUJBQXFCLEdBQVcsRUFBRSxDQUFDO1FBRXpDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBYyxFQUFFLEVBQUU7WUFDekMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FDNUQsc0JBQXNCLEVBQ3RCLFNBQVMsQ0FBQyxRQUFRLENBQ25CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDOzs7WUEvVUYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1TY2hlbWFDb21waWxlciB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgY29tcGlsZUZvcm1TY2hlbWEoXG4gICAgZm9ybVNjaGVtYTogT2JqZWN0LFxuICAgIHJlZmVyZW5jZWRDb21wb25lbnRzOiBBcnJheTxhbnk+XG4gICk6IE9iamVjdCB7XG4gICAgLy8gZ2V0IGFsbCByZWZlcmVuY2VkIGZvcm1zXG4gICAgY29uc3QgcmVmRm9ybXM6IE9iamVjdCA9IHRoaXMuZ2V0UmVmZXJlbmNlZEZvcm1zKFxuICAgICAgZm9ybVNjaGVtYSxcbiAgICAgIHJlZmVyZW5jZWRDb21wb25lbnRzXG4gICAgKTtcbiAgICBpZiAoXy5pc0VtcHR5KHJlZkZvcm1zKSkge1xuICAgICAgcmV0dXJuIGZvcm1TY2hlbWE7XG4gICAgfVxuXG4gICAgLy8gZ2V0IGFsbCBwbGFjZS1ob2xkZXJzIGZyb20gdGhlIGZvcm0gc2NoZW1hXG4gICAgY29uc3QgcGxhY2VIb2xkZXJzID0gdGhpcy5nZXRBbGxQbGFjZWhvbGRlck9iamVjdHMoZm9ybVNjaGVtYSk7XG4gICAgaWYgKF8uaXNFbXB0eShwbGFjZUhvbGRlcnMpKSB7XG4gICAgICByZXR1cm4gZm9ybVNjaGVtYTtcbiAgICB9XG5cbiAgICAvLyByZXBsYWNlIGFsbCBwbGFjZUhvbGRlcnNcbiAgICB0aGlzLnJlcGxhY2VBbGxQbGFjZWhvbGRlcnNXaXRoQWN0dWFsT2JqZWN0cyhyZWZGb3JtcywgcGxhY2VIb2xkZXJzKTtcbiAgICByZXR1cm4gZm9ybVNjaGVtYTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNjaGVtYUJ5TmFtZShcbiAgICBzY2hlbWFBcnJheTogQXJyYXk8YW55PixcbiAgICBuYW1lT2ZTY2hlbWE6IHN0cmluZ1xuICApOiBPYmplY3Qge1xuICAgIGlmIChfLmlzRW1wdHkoc2NoZW1hQXJyYXkpIHx8IF8uaXNFbXB0eShuYW1lT2ZTY2hlbWEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBmb3VuZFNjaGVtYTogYW55ID0ge307XG4gICAgXy5lYWNoKHNjaGVtYUFycmF5LCAoc2NoZW1hOiBhbnkpID0+IHtcbiAgICAgIGlmIChzY2hlbWEubmFtZSA9PT0gbmFtZU9mU2NoZW1hKSB7XG4gICAgICAgIGZvdW5kU2NoZW1hID0gc2NoZW1hO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmb3VuZFNjaGVtYTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFnZUluU2NoZW1hQnlMYWJlbChzY2hlbWE6IGFueSwgcGFnZUxhYmVsOiBzdHJpbmcpOiBPYmplY3Qge1xuICAgIGlmIChfLmlzRW1wdHkoc2NoZW1hKSB8fCBfLmlzRW1wdHkocGFnZUxhYmVsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZm91bmRQYWdlOiBPYmplY3QgPSB7fTtcbiAgICBfLmVhY2goc2NoZW1hLnBhZ2VzLCAocGFnZSkgPT4ge1xuICAgICAgaWYgKHBhZ2UubGFiZWwgPT09IHBhZ2VMYWJlbCkge1xuICAgICAgICBmb3VuZFBhZ2UgPSBwYWdlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmb3VuZFBhZ2U7XG4gIH1cblxuICBwcml2YXRlIGdldFNlY3Rpb25JblNjaGVtYUJ5UGFnZUxhYmVsQnlTZWN0aW9uTGFiZWwoXG4gICAgc2NoZW1hOiBPYmplY3QsXG4gICAgcGFnZUxhYmVsOiBzdHJpbmcsXG4gICAgc2VjdGlvbkxhYmVsOiBzdHJpbmdcbiAgKTogT2JqZWN0IHtcbiAgICBpZiAoXy5pc0VtcHR5KHNjaGVtYSkgfHwgXy5pc0VtcHR5KHBhZ2VMYWJlbCkgfHwgXy5pc0VtcHR5KHNlY3Rpb25MYWJlbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZm91bmRQYWdlOiBhbnkgPSB0aGlzLmdldFBhZ2VJblNjaGVtYUJ5TGFiZWwoc2NoZW1hLCBwYWdlTGFiZWwpO1xuICAgIGlmIChfLmlzRW1wdHkoZm91bmRQYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZm91bmRTZWN0aW9uOiBPYmplY3QgPSB7fTtcbiAgICBfLmVhY2goZm91bmRQYWdlLnNlY3Rpb25zLCAoc2VjdGlvbikgPT4ge1xuICAgICAgaWYgKHNlY3Rpb24ubGFiZWwgPT09IHNlY3Rpb25MYWJlbCkge1xuICAgICAgICBmb3VuZFNlY3Rpb24gPSBzZWN0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmb3VuZFNlY3Rpb247XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXN0aW9uQnlJZEluU2NoZW1hKHNjaGVtYTogYW55LCBxdWVzdGlvbklkOiBzdHJpbmcpOiBBcnJheTxhbnk+IHtcbiAgICBpZiAoXy5pc0VtcHR5KHNjaGVtYSkgfHwgXy5pc0VtcHR5KHF1ZXN0aW9uSWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHNjaGVtYSkpIHtcbiAgICAgIGxldCBxdWVzdGlvbjogQXJyYXk8YW55PjtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2NoZW1hLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICghXy5pc0VtcHR5KHNjaGVtYVtpXSkpIHtcbiAgICAgICAgICBxdWVzdGlvbiA9IHRoaXMuZ2V0UXVlc3Rpb25CeUlkSW5TY2hlbWEoc2NoZW1hW2ldLCBxdWVzdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNFbXB0eShxdWVzdGlvbikpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHF1ZXN0aW9uO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHNjaGVtYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICh0aGlzLmlzUXVlc3Rpb25PYmplY3RXaXRoSWQoc2NoZW1hLCBxdWVzdGlvbklkKSkge1xuICAgICAgICByZXR1cm4gc2NoZW1hO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2NoZW1hU3ViT2JqZWN0RXhwYW5kYWJsZShzY2hlbWEpKSB7XG4gICAgICAgIGNvbnN0IHRvRXhwYW5kID0gc2NoZW1hLnBhZ2VzIHx8IHNjaGVtYS5zZWN0aW9ucyB8fCBzY2hlbWEucXVlc3Rpb25zO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWVzdGlvbkJ5SWRJblNjaGVtYSh0b0V4cGFuZCwgcXVlc3Rpb25JZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXN0aW9uc0FycmF5QnlRdWVzdGlvbklkSW5TY2hlbWEoXG4gICAgc2NoZW1hOiBhbnksXG4gICAgcXVlc3Rpb25JZDogc3RyaW5nXG4gICk6IEFycmF5PGFueT4ge1xuICAgIGlmIChfLmlzRW1wdHkoc2NoZW1hKSB8fCBfLmlzRW1wdHkocXVlc3Rpb25JZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0UXVlc3Rpb25zQXJyYXlCeVF1ZXN0aW9uSWQoc2NoZW1hLCBzY2hlbWEsIHF1ZXN0aW9uSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRRdWVzdGlvbnNBcnJheUJ5UXVlc3Rpb25JZChcbiAgICBwYXJlbnQ6IGFueSxcbiAgICBvYmplY3Q6IGFueSxcbiAgICBxdWVzdGlvbklkOiBzdHJpbmdcbiAgKTogQXJyYXk8YW55PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSkge1xuICAgICAgbGV0IHJldHVybmVkVmFsdWU6IEFycmF5PGFueT47XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9iamVjdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIV8uaXNFbXB0eShvYmplY3RbaV0pKSB7XG4gICAgICAgICAgcmV0dXJuZWRWYWx1ZSA9IHRoaXMuZ2V0UXVlc3Rpb25zQXJyYXlCeVF1ZXN0aW9uSWQoXG4gICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICBvYmplY3RbaV0sXG4gICAgICAgICAgICBxdWVzdGlvbklkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIV8uaXNFbXB0eShyZXR1cm5lZFZhbHVlKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXR1cm5lZFZhbHVlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICh0aGlzLmlzUXVlc3Rpb25PYmplY3RXaXRoSWQob2JqZWN0LCBxdWVzdGlvbklkKSkge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2NoZW1hU3ViT2JqZWN0RXhwYW5kYWJsZShvYmplY3QpKSB7XG4gICAgICAgIGNvbnN0IHRvRXhwYW5kID0gb2JqZWN0LnBhZ2VzIHx8IG9iamVjdC5zZWN0aW9ucyB8fCBvYmplY3QucXVlc3Rpb25zO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWVzdGlvbnNBcnJheUJ5UXVlc3Rpb25JZChcbiAgICAgICAgICB0b0V4cGFuZCxcbiAgICAgICAgICB0b0V4cGFuZCxcbiAgICAgICAgICBxdWVzdGlvbklkXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICAvLyBvYmplY3QgaXMgcGFnZSBvciBzZWN0aW9uIG9yIHF1ZXN0aW9uXG4gIHByaXZhdGUgaXNTY2hlbWFTdWJPYmplY3RFeHBhbmRhYmxlKG9iamVjdDogT2JqZWN0KTogQm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcbiAgICAgIGlmIChcbiAgICAgICAgXy5pbmNsdWRlcyhvYmplY3RLZXlzLCAncGFnZXMnKSB8fFxuICAgICAgICBfLmluY2x1ZGVzKG9iamVjdEtleXMsICdzZWN0aW9ucycpIHx8XG4gICAgICAgIF8uaW5jbHVkZXMob2JqZWN0S2V5cywgJ3F1ZXN0aW9ucycpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNRdWVzdGlvbk9iamVjdFdpdGhJZChvYmplY3Q6IE9iamVjdCwgaWQ6IGFueSk6IEJvb2xlYW4ge1xuICAgIHJldHVybiBvYmplY3RbJ2lkJ10gPT09IGlkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxQbGFjZWhvbGRlck9iamVjdHMoc2NoZW1hOiBPYmplY3QpOiBBcnJheTxhbnk+IHtcbiAgICBjb25zdCByZWZlcmVuY2VkT2JqZWN0czogQXJyYXk8YW55PiA9IFtdO1xuICAgIHRoaXMuZXh0cmFjdFBsYWNlaG9sZGVyT2JqZWN0cyhzY2hlbWEsIHJlZmVyZW5jZWRPYmplY3RzKTtcbiAgICByZXR1cm4gcmVmZXJlbmNlZE9iamVjdHM7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQbGFjZWhvbGRlck9iamVjdHMoXG4gICAgc3ViU2NoZW1hOiBhbnksXG4gICAgb2JqZWN0c0FycmF5OiBBcnJheTxPYmplY3Q+XG4gICk6IHZvaWQge1xuICAgIGlmIChfLmlzRW1wdHkoc3ViU2NoZW1hKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzdWJTY2hlbWEpKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1YlNjaGVtYS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIV8uaXNFbXB0eShzdWJTY2hlbWFbaV0pKSB7XG4gICAgICAgICAgdGhpcy5leHRyYWN0UGxhY2Vob2xkZXJPYmplY3RzKHN1YlNjaGVtYVtpXSwgb2JqZWN0c0FycmF5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHN1YlNjaGVtYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICghXy5pc0VtcHR5KHN1YlNjaGVtYS5yZWZlcmVuY2UpKSB7XG4gICAgICAgIG9iamVjdHNBcnJheS5wdXNoKHN1YlNjaGVtYSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNTY2hlbWFTdWJPYmplY3RFeHBhbmRhYmxlKHN1YlNjaGVtYSkpIHtcbiAgICAgICAgY29uc3QgdG9FeHBhbmQgPVxuICAgICAgICAgIHN1YlNjaGVtYS5wYWdlcyB8fCBzdWJTY2hlbWEuc2VjdGlvbnMgfHwgc3ViU2NoZW1hLnF1ZXN0aW9ucztcbiAgICAgICAgdGhpcy5leHRyYWN0UGxhY2Vob2xkZXJPYmplY3RzKHRvRXhwYW5kLCBvYmplY3RzQXJyYXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsbFBsYWNlaG9sZGVyT2JqZWN0KFxuICAgIHBsYWNlSG9sZGVyT2JqZWN0OiBPYmplY3QsXG4gICAgcmVmZXJlbmNlT2JqZWN0OiBPYmplY3RcbiAgKTogT2JqZWN0IHtcbiAgICBmb3IgKGNvbnN0IG1lbWJlciBpbiByZWZlcmVuY2VPYmplY3QpIHtcbiAgICAgIGlmIChfLmlzRW1wdHkocGxhY2VIb2xkZXJPYmplY3RbbWVtYmVyXSkpIHtcbiAgICAgICAgcGxhY2VIb2xkZXJPYmplY3RbbWVtYmVyXSA9IHJlZmVyZW5jZU9iamVjdFttZW1iZXJdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGxhY2VIb2xkZXJPYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VBbGxQbGFjZWhvbGRlcnNXaXRoQWN0dWFsT2JqZWN0cyhcbiAgICBrZXlWYWxSZWZlcmVuY2VkRm9ybXM6IE9iamVjdCxcbiAgICBwbGFjZUhvbGRlcnNBcnJheTogQXJyYXk8YW55PlxuICApOiBBcnJheTxhbnk+IHtcbiAgICBfLmVhY2gocGxhY2VIb2xkZXJzQXJyYXksIChwbGFjZUhvbGRlcikgPT4ge1xuICAgICAgY29uc3QgcmVmZXJlbmNlZE9iamVjdDogT2JqZWN0ID0gdGhpcy5nZXRSZWZlcmVuY2VkT2JqZWN0KFxuICAgICAgICBwbGFjZUhvbGRlci5yZWZlcmVuY2UsXG4gICAgICAgIGtleVZhbFJlZmVyZW5jZWRGb3Jtc1xuICAgICAgKTtcblxuICAgICAgaWYgKF8uaXNFbXB0eShyZWZlcmVuY2VkT2JqZWN0KSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICdGb3JtIGNvbXBpbGU6IEVycm9yIGZpbmRpbmcgcmVmZXJlbmNlZCBvYmplY3QnLFxuICAgICAgICAgIHBsYWNlSG9sZGVyLnJlZmVyZW5jZVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGxhY2VIb2xkZXIgPSB0aGlzLmZpbGxQbGFjZWhvbGRlck9iamVjdChwbGFjZUhvbGRlciwgcmVmZXJlbmNlZE9iamVjdCk7XG4gICAgICAgIHBsYWNlSG9sZGVyID0gdGhpcy5yZW1vdmVFeGNsdWRlZFF1ZXN0aW9uc0Zyb21QbGFjZWhvbGRlcihwbGFjZUhvbGRlcik7XG4gICAgICAgIGRlbGV0ZSBwbGFjZUhvbGRlclsncmVmZXJlbmNlJ107XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBsYWNlSG9sZGVyc0FycmF5O1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVPYmplY3RGcm9tQXJyYXkoYXJyYXk6IEFycmF5PGFueT4sIG9iamVjdDogT2JqZWN0KTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXhPZk9iamVjdCA9IGFycmF5LmluZGV4T2Yob2JqZWN0KTtcbiAgICBpZiAoaW5kZXhPZk9iamVjdCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhcnJheS5zcGxpY2UoaW5kZXhPZk9iamVjdCwgMSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUV4Y2x1ZGVkUXVlc3Rpb25zRnJvbVBsYWNlaG9sZGVyKHBsYWNlSG9sZGVyOiBhbnkpOiBPYmplY3Qge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBsYWNlSG9sZGVyLnJlZmVyZW5jZS5leGNsdWRlUXVlc3Rpb25zKSkge1xuICAgICAgXy5lYWNoKHBsYWNlSG9sZGVyLnJlZmVyZW5jZS5leGNsdWRlUXVlc3Rpb25zLCAoZXhjbHVkZWRRdWVzdGlvbklkKSA9PiB7XG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uc0FycmF5OiBBcnJheTxhbnk+ID0gdGhpcy5nZXRRdWVzdGlvbnNBcnJheUJ5UXVlc3Rpb25JZEluU2NoZW1hKFxuICAgICAgICAgIHBsYWNlSG9sZGVyLFxuICAgICAgICAgIGV4Y2x1ZGVkUXVlc3Rpb25JZFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShxdWVzdGlvbnNBcnJheSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLmdldFF1ZXN0aW9uQnlJZEluU2NoZW1hKFxuICAgICAgICAgIHF1ZXN0aW9uc0FycmF5LFxuICAgICAgICAgIGV4Y2x1ZGVkUXVlc3Rpb25JZFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucmVtb3ZlT2JqZWN0RnJvbUFycmF5KHF1ZXN0aW9uc0FycmF5LCBxdWVzdGlvbik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBsYWNlSG9sZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWZlcmVuY2VkT2JqZWN0KFxuICAgIHJlZmVyZW5jZURhdGE6IGFueSxcbiAgICBrZXlWYWxSZWZlcmVuY2VkRm9ybXM6IE9iamVjdFxuICApOiBPYmplY3Qge1xuICAgIGlmIChfLmlzRW1wdHkocmVmZXJlbmNlRGF0YS5mb3JtKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ0Zvcm0gY29tcGlsZTogcmVmZXJlbmNlIG1pc3NpbmcgZm9ybSBhdHRyaWJ1dGUnLFxuICAgICAgICByZWZlcmVuY2VEYXRhXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXy5pc0VtcHR5KGtleVZhbFJlZmVyZW5jZWRGb3Jtc1tyZWZlcmVuY2VEYXRhLmZvcm1dKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ0Zvcm0gY29tcGlsZTogcmVmZXJlbmNlZCBmb3JtIGFsaWFzIG5vdCBmb3VuZCcsXG4gICAgICAgIHJlZmVyZW5jZURhdGFcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghXy5pc0VtcHR5KHJlZmVyZW5jZURhdGEucXVlc3Rpb25JZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFF1ZXN0aW9uQnlJZEluU2NoZW1hKFxuICAgICAgICBrZXlWYWxSZWZlcmVuY2VkRm9ybXNbcmVmZXJlbmNlRGF0YS5mb3JtXSxcbiAgICAgICAgcmVmZXJlbmNlRGF0YS5xdWVzdGlvbklkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghXy5pc0VtcHR5KHJlZmVyZW5jZURhdGEucGFnZSkgJiYgIV8uaXNFbXB0eShyZWZlcmVuY2VEYXRhLnNlY3Rpb24pKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uSW5TY2hlbWFCeVBhZ2VMYWJlbEJ5U2VjdGlvbkxhYmVsKFxuICAgICAgICBrZXlWYWxSZWZlcmVuY2VkRm9ybXNbcmVmZXJlbmNlRGF0YS5mb3JtXSxcbiAgICAgICAgcmVmZXJlbmNlRGF0YS5wYWdlLFxuICAgICAgICByZWZlcmVuY2VEYXRhLnNlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghXy5pc0VtcHR5KHJlZmVyZW5jZURhdGEucGFnZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VJblNjaGVtYUJ5TGFiZWwoXG4gICAgICAgIGtleVZhbFJlZmVyZW5jZWRGb3Jtc1tyZWZlcmVuY2VEYXRhLmZvcm1dLFxuICAgICAgICByZWZlcmVuY2VEYXRhLnBhZ2VcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAnRm9ybSBjb21waWxlOiBVbnN1cHBvcnRlZCByZWZlcmVuY2UgdHlwZScsXG4gICAgICByZWZlcmVuY2VEYXRhLnJlZmVyZW5jZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlZmVyZW5jZWRGb3JtcyhcbiAgICBmb3JtU2NoZW1hOiBhbnksXG4gICAgZm9ybVNjaGVtYXNMb29rdXBBcnJheTogQXJyYXk8YW55PlxuICApOiBPYmplY3Qge1xuICAgIGNvbnN0IHJlZmVyZW5jZWRGb3JtczogQXJyYXk8YW55PiA9IGZvcm1TY2hlbWEucmVmZXJlbmNlZEZvcm1zO1xuXG4gICAgaWYgKF8uaXNFbXB0eShyZWZlcmVuY2VkRm9ybXMpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5VmFsUmVmZXJlbmNlZEZvcm1zOiBPYmplY3QgPSB7fTtcblxuICAgIF8uZWFjaChyZWZlcmVuY2VkRm9ybXMsIChyZWZlcmVuY2U6IGFueSkgPT4ge1xuICAgICAga2V5VmFsUmVmZXJlbmNlZEZvcm1zW3JlZmVyZW5jZS5hbGlhc10gPSB0aGlzLmZpbmRTY2hlbWFCeU5hbWUoXG4gICAgICAgIGZvcm1TY2hlbWFzTG9va3VwQXJyYXksXG4gICAgICAgIHJlZmVyZW5jZS5mb3JtTmFtZVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4ga2V5VmFsUmVmZXJlbmNlZEZvcm1zO1xuICB9XG59XG4iXX0=
|