@openmrs/ngx-formentry 3.0.1-pre.8
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/abstract-controls-extension/afe-control-type.d.ts +6 -0
- package/abstract-controls-extension/afe-form-array.d.ts +43 -0
- package/abstract-controls-extension/afe-form-control.d.ts +46 -0
- package/abstract-controls-extension/afe-form-group.d.ts +38 -0
- package/abstract-controls-extension/control-extensions.d.ts +4 -0
- package/abstract-controls-extension/index.d.ts +4 -0
- package/abstract-controls-extension/value-change.listener.d.ts +4 -0
- package/bundles/openmrs-ngx-formentry.umd.js +15020 -0
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -0
- package/bundles/openmrs-ngx-formentry.umd.min.js +2 -0
- package/bundles/openmrs-ngx-formentry.umd.min.js.map +1 -0
- package/change-tracking/control-relation.d.ts +12 -0
- package/change-tracking/control-relations.d.ts +12 -0
- package/components/afe-ng-select.component.d.ts +26 -0
- package/components/appointments-overview/appointments-overview.component.d.ts +15 -0
- package/components/check-box/checkbox.component.d.ts +16 -0
- package/components/check-box/checkbox.module.d.ts +2 -0
- package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -0
- package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +11 -0
- package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -0
- package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +25 -0
- package/components/date-time-picker/date-picker/date-picker.component.d.ts +42 -0
- package/components/date-time-picker/date-time-picker.component.d.ts +26 -0
- package/components/date-time-picker/date-time-picker.module.d.ts +5 -0
- package/components/date-time-picker/picker-modal/modal.component.d.ts +10 -0
- package/components/date-time-picker/pipes/moment.pipe.d.ts +8 -0
- package/components/date-time-picker/time-picker/time-picker.component.d.ts +29 -0
- package/components/file-upload/file-upload.component.d.ts +26 -0
- package/components/file-upload/file-upload.module.d.ts +2 -0
- package/components/file-upload/secure.pipe.d.ts +23 -0
- package/components/input/input.directive.d.ts +28 -0
- package/components/input/input.module.d.ts +2 -0
- package/components/input/label.component.d.ts +87 -0
- package/components/input/text-area.directive.d.ts +21 -0
- package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +17 -0
- package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +5 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +189 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +15 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +73 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +5 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +7 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +77 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +139 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +109 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +120 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +141 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +90 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +122 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +152 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +51 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +21 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +8 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +157 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +86 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +5 -0
- package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +7 -0
- package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +35 -0
- package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +129 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +93 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +56 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +49 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +5 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +70 -0
- package/components/ngx-pick-datetime/lib/utils/index.d.ts +4 -0
- package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +11 -0
- package/components/ngx-remote-select/ngx-remote-select.component.d.ts +37 -0
- package/components/ngx-remote-select/ngx-remote-select.module.d.ts +2 -0
- package/components/ngx-tabset/components/tab-set.d.ts +16 -0
- package/components/ngx-tabset/components/tab.d.ts +10 -0
- package/components/ngx-tabset/directives/hover-class.directive.d.ts +8 -0
- package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +11 -0
- package/components/number-input/number-input.component.d.ts +148 -0
- package/components/number-input/number-input.module.d.ts +2 -0
- package/components/select/optgroup.directive.d.ts +3 -0
- package/components/select/option.directive.d.ts +3 -0
- package/components/select/select.component.d.ts +112 -0
- package/components/select/select.module.d.ts +2 -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 +2 -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 +119 -0
- package/esm2015/components/check-box/checkbox.component.js +77 -0
- package/esm2015/components/check-box/checkbox.module.js +14 -0
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +16 -0
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +18 -0
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +17 -0
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +63 -0
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +182 -0
- package/esm2015/components/date-time-picker/date-time-picker.component.js +104 -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 +30 -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 +114 -0
- package/esm2015/components/file-upload/file-upload.component.js +110 -0
- package/esm2015/components/file-upload/file-upload.module.js +24 -0
- package/esm2015/components/file-upload/secure.pipe.js +102 -0
- package/esm2015/components/input/input.directive.js +55 -0
- package/esm2015/components/input/input.module.js +18 -0
- package/esm2015/components/input/label.component.js +177 -0
- package/esm2015/components/input/text-area.directive.js +40 -0
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +60 -0
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +26 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +114 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +7 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +344 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +16 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +30 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +149 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +429 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +367 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +359 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +334 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +251 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +380 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +590 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +60 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +71 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +21 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +512 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +153 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +58 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +24 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +85 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +292 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +56 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +208 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +119 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +22 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +222 -0
- package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +5 -0
- package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +26 -0
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +121 -0
- package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +16 -0
- package/esm2015/components/ngx-tabset/components/tab-set.js +67 -0
- package/esm2015/components/ngx-tabset/components/tab.js +35 -0
- package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +26 -0
- package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +33 -0
- package/esm2015/components/number-input/number-input.component.js +203 -0
- package/esm2015/components/number-input/number-input.module.js +15 -0
- package/esm2015/components/select/optgroup.directive.js +17 -0
- package/esm2015/components/select/option.directive.js +17 -0
- package/esm2015/components/select/select.component.js +293 -0
- package/esm2015/components/select/select.module.js +18 -0
- package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
- package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -0
- package/esm2015/form-entry/control-calculators/can-calculate.js +2 -0
- package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -0
- package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -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/collapse-animations.js +11 -0
- package/esm2015/form-entry/directives/collapse.directive.js +157 -0
- package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +55 -0
- package/esm2015/form-entry/expression-runner/expression-runner.js +168 -0
- package/esm2015/form-entry/form-entry.module.js +107 -0
- package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
- package/esm2015/form-entry/form-factory/form-control.service.js +118 -0
- package/esm2015/form-entry/form-factory/form-node.js +81 -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 +864 -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 +179 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +231 -0
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
- package/esm2015/form-entry/helpers/historical-field-helper-service.js +36 -0
- package/esm2015/form-entry/helpers/js-expression-helper.js +238 -0
- package/esm2015/form-entry/pipes/time-ago.pipe.js +107 -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/custom-control-question.model.js +10 -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 +2 -0
- package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
- package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -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 +25 -0
- package/esm2015/form-entry/question-models/rendering-type.js +9 -0
- 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 +170 -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 +172 -0
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +496 -0
- package/esm2015/form-entry/value-adapters/obs.adapter.js +545 -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 +2 -0
- package/esm2015/lib/index.js +49 -0
- package/esm2015/openmrs-ngx-formentry.js +76 -0
- package/esm2015/public_api.js +2 -0
- package/esm2015/shared.module.js +15 -0
- package/fesm2015/openmrs-ngx-formentry.js +13458 -0
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -0
- package/form-entry/control-alerts/alert-helpers.d.ts +9 -0
- package/form-entry/control-alerts/can-generate-alert.d.ts +18 -0
- package/form-entry/control-calculators/can-calculate.d.ts +5 -0
- package/form-entry/control-hiders-disablers/can-disable.d.ts +19 -0
- package/form-entry/control-hiders-disablers/can-hide.d.ts +20 -0
- package/form-entry/control-hiders-disablers/disabler-helper.d.ts +7 -0
- package/form-entry/control-hiders-disablers/hider-helpers.d.ts +9 -0
- package/form-entry/data-sources/data-sources.d.ts +7 -0
- package/form-entry/data-sources/dummy-data-source.d.ts +18 -0
- package/form-entry/directives/collapse-animations.d.ts +4 -0
- package/form-entry/directives/collapse.directive.d.ts +42 -0
- package/form-entry/directives/historical-value-directive.d.ts +13 -0
- package/form-entry/error-renderer/error-renderer.component.d.ts +17 -0
- package/form-entry/expression-runner/expression-runner.d.ts +15 -0
- package/form-entry/form-entry.module.d.ts +2 -0
- package/form-entry/form-factory/control-relations.factory.d.ts +15 -0
- package/form-entry/form-factory/form-control.service.d.ts +22 -0
- package/form-entry/form-factory/form-node.d.ts +51 -0
- package/form-entry/form-factory/form.d.ts +28 -0
- package/form-entry/form-factory/form.factory.d.ts +23 -0
- package/form-entry/form-factory/hiders-disablers.factory.d.ts +17 -0
- package/form-entry/form-factory/question.factory.d.ts +56 -0
- package/form-entry/form-factory/show-messages.factory.d.ts +12 -0
- package/form-entry/form-factory/validation.factory.d.ts +22 -0
- package/form-entry/form-renderer/form-renderer.component.css.d.ts +1 -0
- package/form-entry/form-renderer/form-renderer.component.d.ts +52 -0
- package/form-entry/helpers/historical-expression-helper-service.d.ts +5 -0
- package/form-entry/helpers/historical-field-helper-service.d.ts +4 -0
- package/form-entry/helpers/js-expression-helper.d.ts +22 -0
- package/form-entry/pipes/time-ago.pipe.d.ts +11 -0
- package/form-entry/question-models/checkbox.model.d.ts +9 -0
- package/form-entry/question-models/conditional-validation.model.d.ts +6 -0
- package/form-entry/question-models/custom-control-question.model.d.ts +6 -0
- package/form-entry/question-models/date-question.d.ts +7 -0
- package/form-entry/question-models/date-validation.model.d.ts +5 -0
- package/form-entry/question-models/file-upload-question.d.ts +8 -0
- package/form-entry/question-models/group-question.d.ts +8 -0
- package/form-entry/question-models/interfaces/base-options.d.ts +28 -0
- package/form-entry/question-models/interfaces/checkbox-options.d.ts +7 -0
- package/form-entry/question-models/interfaces/data-source.d.ts +10 -0
- package/form-entry/question-models/interfaces/date-question-options.d.ts +3 -0
- package/form-entry/question-models/interfaces/file-upload-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/group-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/multi-select-options.d.ts +4 -0
- package/form-entry/question-models/interfaces/nested-questions.d.ts +6 -0
- package/form-entry/question-models/interfaces/repeating-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/select-option.d.ts +4 -0
- package/form-entry/question-models/interfaces/select-question-options.d.ts +9 -0
- package/form-entry/question-models/interfaces/test-order-question-options.d.ts +14 -0
- package/form-entry/question-models/interfaces/text-area-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/text-question-options.d.ts +4 -0
- package/form-entry/question-models/interfaces/ui-select-question-options.d.ts +9 -0
- package/form-entry/question-models/js-expression-validation.model.d.ts +5 -0
- package/form-entry/question-models/max-validation.model.d.ts +5 -0
- package/form-entry/question-models/min-validation.model.d.ts +5 -0
- package/form-entry/question-models/models.d.ts +15 -0
- package/form-entry/question-models/multi-select-question.d.ts +9 -0
- package/form-entry/question-models/pair.model.d.ts +5 -0
- package/form-entry/question-models/question-base.d.ts +40 -0
- package/form-entry/question-models/rendering-type.d.ts +7 -0
- package/form-entry/question-models/repeating-question.d.ts +7 -0
- package/form-entry/question-models/select-option.d.ts +6 -0
- package/form-entry/question-models/select-question.d.ts +10 -0
- package/form-entry/question-models/test-order-question.d.ts +13 -0
- package/form-entry/question-models/text-area-input-question.d.ts +7 -0
- package/form-entry/question-models/text-input-question.d.ts +6 -0
- package/form-entry/question-models/ui-select-question.d.ts +11 -0
- package/form-entry/question-models/validation.model.d.ts +5 -0
- package/form-entry/services/debug-mode.service.d.ts +5 -0
- package/form-entry/services/form-errors.service.d.ts +10 -0
- package/form-entry/services/form-schema-compiler.service.d.ts +20 -0
- package/form-entry/services/historical-encounter-data.service.d.ts +12 -0
- package/form-entry/utils/messages.d.ts +11 -0
- package/form-entry/validators/conditional-answered.validator.d.ts +8 -0
- package/form-entry/validators/conditional-required.validator.d.ts +8 -0
- package/form-entry/validators/date.validator.d.ts +7 -0
- package/form-entry/validators/future-date-restriction.validator.d.ts +7 -0
- package/form-entry/validators/js-expression.validator.d.ts +8 -0
- package/form-entry/validators/max-date.validator.d.ts +6 -0
- package/form-entry/validators/max.validator.d.ts +6 -0
- package/form-entry/validators/min-date.validator.d.ts +6 -0
- package/form-entry/validators/min.validator.d.ts +6 -0
- package/form-entry/validators/required.validator.d.ts +6 -0
- package/form-entry/validators/validations.d.ts +4 -0
- package/form-entry/value-adapters/encounter.adapter.d.ts +23 -0
- package/form-entry/value-adapters/obs-adapter-helper.d.ts +27 -0
- package/form-entry/value-adapters/obs.adapter.d.ts +35 -0
- package/form-entry/value-adapters/order.adapter.d.ts +17 -0
- package/form-entry/value-adapters/person-attribute.adapter.d.ts +12 -0
- package/form-entry/value-adapters/value.adapter.d.ts +5 -0
- package/lib/index.d.ts +49 -0
- package/openmrs-ngx-formentry.d.ts +85 -0
- package/openmrs-ngx-formentry.metadata.json +1 -0
- package/package.json +35 -0
- package/public_api.d.ts +1 -0
- package/shared.module.d.ts +2 -0
- package/styles/ngx-formentry.css +374 -0
- package/styles/picker.min.css +770 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-class-suffix */
|
|
2
|
+
import { Component, ElementRef, Input, Output, HostListener, EventEmitter, TemplateRef, ViewChild } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
/**
|
|
5
|
+
* `ibm-select` provides a styled `select` component.
|
|
6
|
+
*
|
|
7
|
+
* [See demo](../../?path=/story/select--basic)
|
|
8
|
+
*
|
|
9
|
+
* Example:
|
|
10
|
+
*
|
|
11
|
+
* ```
|
|
12
|
+
* <ibm-select [(ngModel)]="model">
|
|
13
|
+
* <option value="default" disabled selected hidden>Choose an option</option>
|
|
14
|
+
* <option value="option1">Option 1</option>
|
|
15
|
+
* <option value="option2">Option 2</option>
|
|
16
|
+
* <option value="option3">Option 3</option>
|
|
17
|
+
* </ibm-select>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* <example-url>../../iframe.html?id=select--basic</example-url>
|
|
21
|
+
*/
|
|
22
|
+
export class Select {
|
|
23
|
+
constructor() {
|
|
24
|
+
/**
|
|
25
|
+
* `inline` or `default` select displays
|
|
26
|
+
*/
|
|
27
|
+
this.display = 'default';
|
|
28
|
+
/**
|
|
29
|
+
* Set to `true` to show a warning (contents set by warningText)
|
|
30
|
+
*/
|
|
31
|
+
this.warn = false;
|
|
32
|
+
/**
|
|
33
|
+
* Sets the unique ID. Defaults to `select-${total count of selects instantiated}`
|
|
34
|
+
*/
|
|
35
|
+
this.id = `select-${Select.selectCount++}`;
|
|
36
|
+
/**
|
|
37
|
+
* Number input field render size
|
|
38
|
+
*/
|
|
39
|
+
this.size = 'md';
|
|
40
|
+
/**
|
|
41
|
+
* Set to true to disable component.
|
|
42
|
+
*/
|
|
43
|
+
this.disabled = false;
|
|
44
|
+
/**
|
|
45
|
+
* Set to true for a loading select.
|
|
46
|
+
*/
|
|
47
|
+
this.skeleton = false;
|
|
48
|
+
/**
|
|
49
|
+
* Set to `true` for an invalid select component.
|
|
50
|
+
*/
|
|
51
|
+
this.invalid = false;
|
|
52
|
+
/**
|
|
53
|
+
* `light` or `dark` select theme
|
|
54
|
+
*/
|
|
55
|
+
this.theme = 'dark';
|
|
56
|
+
this.valueChange = new EventEmitter();
|
|
57
|
+
/**
|
|
58
|
+
* placeholder declarations. Replaced by the functions provided to `registerOnChange` and `registerOnTouched`
|
|
59
|
+
*/
|
|
60
|
+
this.onChangeHandler = (_) => { };
|
|
61
|
+
this.onTouchedHandler = () => { };
|
|
62
|
+
}
|
|
63
|
+
set value(v) {
|
|
64
|
+
this._value = v;
|
|
65
|
+
if (this.select) {
|
|
66
|
+
this.select.nativeElement.value = this._value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
get value() {
|
|
70
|
+
return this._value;
|
|
71
|
+
}
|
|
72
|
+
ngAfterViewInit() {
|
|
73
|
+
if (this.value !== undefined &&
|
|
74
|
+
this.value !== null &&
|
|
75
|
+
this.select &&
|
|
76
|
+
this.select.nativeElement.value !== this.value) {
|
|
77
|
+
this.select.nativeElement.value = this.value;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Receives a value from the model.
|
|
82
|
+
*/
|
|
83
|
+
writeValue(obj) {
|
|
84
|
+
this.value = obj;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Registers a listener that notifies the model when the control updates
|
|
88
|
+
*/
|
|
89
|
+
registerOnChange(fn) {
|
|
90
|
+
this.onChangeHandler = fn;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Registers a listener that notifies the model when the control is blurred
|
|
94
|
+
*/
|
|
95
|
+
registerOnTouched(fn) {
|
|
96
|
+
this.onTouchedHandler = fn;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Sets the disabled state through the model
|
|
100
|
+
*/
|
|
101
|
+
setDisabledState(isDisabled) {
|
|
102
|
+
this.disabled = isDisabled;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Handles the change event from the `select`.
|
|
106
|
+
* Sends events to the change handler and emits a `selected` event.
|
|
107
|
+
*/
|
|
108
|
+
onChange(event) {
|
|
109
|
+
this.value = event.target.value;
|
|
110
|
+
this.onChangeHandler(event.target.value);
|
|
111
|
+
this.valueChange.emit(event.target.value);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Listens for the host blurring, and notifies the model
|
|
115
|
+
*/
|
|
116
|
+
focusOut() {
|
|
117
|
+
this.onTouchedHandler();
|
|
118
|
+
}
|
|
119
|
+
isTemplate(value) {
|
|
120
|
+
return value instanceof TemplateRef;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Tracks the total number of selects instantiated. Used to generate unique IDs
|
|
125
|
+
*/
|
|
126
|
+
Select.selectCount = 0;
|
|
127
|
+
Select.decorators = [
|
|
128
|
+
{ type: Component, args: [{
|
|
129
|
+
selector: 'ibm-select',
|
|
130
|
+
template: `
|
|
131
|
+
<div class="bx--form-item">
|
|
132
|
+
<ng-template [ngIf]="skeleton">
|
|
133
|
+
<div *ngIf="label" class="bx--label bx--skeleton"></div>
|
|
134
|
+
<div class="bx--select bx--skeleton"></div>
|
|
135
|
+
</ng-template>
|
|
136
|
+
<div
|
|
137
|
+
*ngIf="!skeleton"
|
|
138
|
+
class="bx--select"
|
|
139
|
+
[ngClass]="{
|
|
140
|
+
'bx--select--inline': display === 'inline',
|
|
141
|
+
'bx--select--light': theme === 'light',
|
|
142
|
+
'bx--select--invalid': invalid,
|
|
143
|
+
'bx--select--warning': warn,
|
|
144
|
+
'bx--select--disabled': disabled
|
|
145
|
+
}"
|
|
146
|
+
>
|
|
147
|
+
<label *ngIf="label" [for]="id" class="bx--label">
|
|
148
|
+
<ng-container *ngIf="!isTemplate(label)">{{ label }}</ng-container>
|
|
149
|
+
<ng-template
|
|
150
|
+
*ngIf="isTemplate(label)"
|
|
151
|
+
[ngTemplateOutlet]="label"
|
|
152
|
+
></ng-template>
|
|
153
|
+
</label>
|
|
154
|
+
<div *ngIf="helperText" class="bx--form__helper-text">
|
|
155
|
+
<ng-container *ngIf="!isTemplate(helperText)">{{
|
|
156
|
+
helperText
|
|
157
|
+
}}</ng-container>
|
|
158
|
+
<ng-template
|
|
159
|
+
*ngIf="isTemplate(helperText)"
|
|
160
|
+
[ngTemplateOutlet]="helperText"
|
|
161
|
+
></ng-template>
|
|
162
|
+
</div>
|
|
163
|
+
<div
|
|
164
|
+
*ngIf="display === 'inline'; else noInline"
|
|
165
|
+
class="bx--select-input--inline__wrapper"
|
|
166
|
+
>
|
|
167
|
+
<ng-container *ngTemplateOutlet="noInline"></ng-container>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<!-- select element: dynamically projected based on 'display' variant -->
|
|
173
|
+
<ng-template #noInline>
|
|
174
|
+
<div
|
|
175
|
+
class="bx--select-input__wrapper extend"
|
|
176
|
+
[attr.data-invalid]="invalid ? true : null"
|
|
177
|
+
>
|
|
178
|
+
<select
|
|
179
|
+
#select
|
|
180
|
+
[attr.id]="id"
|
|
181
|
+
[attr.aria-label]="ariaLabel"
|
|
182
|
+
[disabled]="disabled"
|
|
183
|
+
(change)="onChange($event)"
|
|
184
|
+
[attr.aria-invalid]="invalid ? 'true' : null"
|
|
185
|
+
class="bx--select-input"
|
|
186
|
+
[ngClass]="{
|
|
187
|
+
'bx--select-input--xl': size === 'xl',
|
|
188
|
+
'bx--select-input--sm': size === 'sm'
|
|
189
|
+
}"
|
|
190
|
+
>
|
|
191
|
+
<ng-content></ng-content>
|
|
192
|
+
</select>
|
|
193
|
+
<svg
|
|
194
|
+
focusable="false"
|
|
195
|
+
preserveAspectRatio="xMidYMid meet"
|
|
196
|
+
style="will-change: transform;"
|
|
197
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
198
|
+
class="bx--select__arrow"
|
|
199
|
+
width="16"
|
|
200
|
+
height="16"
|
|
201
|
+
viewBox="0 0 16 16"
|
|
202
|
+
aria-hidden="true"
|
|
203
|
+
>
|
|
204
|
+
<path d="M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z"></path>
|
|
205
|
+
</svg>
|
|
206
|
+
<svg
|
|
207
|
+
*ngIf="invalid"
|
|
208
|
+
focusable="false"
|
|
209
|
+
preserveAspectRatio="xMidYMid meet"
|
|
210
|
+
style="will-change: transform;"
|
|
211
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
212
|
+
class="bx--text-input__invalid-icon"
|
|
213
|
+
width="16"
|
|
214
|
+
height="16"
|
|
215
|
+
viewBox="0 0 16 16"
|
|
216
|
+
aria-hidden="true"
|
|
217
|
+
>
|
|
218
|
+
<path
|
|
219
|
+
d="M8,1C4.2,1,1,4.2,1,8s3.2,7,7,7s7-3.1,7-7S11.9,1,8,1z M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2 c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
220
|
+
></path>
|
|
221
|
+
<path
|
|
222
|
+
d="M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8 c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
223
|
+
data-icon-path="inner-path"
|
|
224
|
+
opacity="0"
|
|
225
|
+
></path>
|
|
226
|
+
</svg>
|
|
227
|
+
</div>
|
|
228
|
+
<div
|
|
229
|
+
*ngIf="invalid && invalidText && !warn"
|
|
230
|
+
role="alert"
|
|
231
|
+
class="bx--form-requirement"
|
|
232
|
+
aria-live="polite"
|
|
233
|
+
>
|
|
234
|
+
<ng-container *ngIf="!isTemplate(invalidText)">{{
|
|
235
|
+
invalidText
|
|
236
|
+
}}</ng-container>
|
|
237
|
+
<ng-template
|
|
238
|
+
*ngIf="isTemplate(invalidText)"
|
|
239
|
+
[ngTemplateOutlet]="invalidText"
|
|
240
|
+
></ng-template>
|
|
241
|
+
</div>
|
|
242
|
+
<div *ngIf="!invalid && warn" class="bx--form-requirement">
|
|
243
|
+
<ng-container *ngIf="!isTemplate(warnText)">{{
|
|
244
|
+
warnText
|
|
245
|
+
}}</ng-container>
|
|
246
|
+
<ng-template
|
|
247
|
+
*ngIf="isTemplate(warnText)"
|
|
248
|
+
[ngTemplateOutlet]="warnText"
|
|
249
|
+
></ng-template>
|
|
250
|
+
</div>
|
|
251
|
+
</ng-template>
|
|
252
|
+
`,
|
|
253
|
+
providers: [
|
|
254
|
+
{
|
|
255
|
+
provide: NG_VALUE_ACCESSOR,
|
|
256
|
+
useExisting: Select,
|
|
257
|
+
multi: true
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
styles: [`
|
|
261
|
+
.bx--select--inline .bx--form__helper-text {
|
|
262
|
+
order: 4;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
.bx--select--inline:not(.bx--select--invalid) .bx--form__helper-text {
|
|
266
|
+
margin-top: 0;
|
|
267
|
+
}
|
|
268
|
+
.bx--select-input__wrapper {
|
|
269
|
+
min-width: 16rem;
|
|
270
|
+
}
|
|
271
|
+
`]
|
|
272
|
+
},] }
|
|
273
|
+
];
|
|
274
|
+
Select.propDecorators = {
|
|
275
|
+
display: [{ type: Input }],
|
|
276
|
+
label: [{ type: Input }],
|
|
277
|
+
helperText: [{ type: Input }],
|
|
278
|
+
invalidText: [{ type: Input }],
|
|
279
|
+
warn: [{ type: Input }],
|
|
280
|
+
warnText: [{ type: Input }],
|
|
281
|
+
id: [{ type: Input }],
|
|
282
|
+
size: [{ type: Input }],
|
|
283
|
+
disabled: [{ type: Input }],
|
|
284
|
+
skeleton: [{ type: Input }],
|
|
285
|
+
invalid: [{ type: Input }],
|
|
286
|
+
theme: [{ type: Input }],
|
|
287
|
+
ariaLabel: [{ type: Input }],
|
|
288
|
+
valueChange: [{ type: Output }],
|
|
289
|
+
select: [{ type: ViewChild, args: ['select', { static: false },] }],
|
|
290
|
+
value: [{ type: Input }],
|
|
291
|
+
focusOut: [{ type: HostListener, args: ['focusout',] }]
|
|
292
|
+
};
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFvSkgsTUFBTSxPQUFPLE1BQU07SUFuSm5CO1FBeUpFOztXQUVHO1FBQ00sWUFBTyxHQUF5QixTQUFTLENBQUM7UUFhbkQ7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBS3RCOztXQUVHO1FBQ00sT0FBRSxHQUFHLFVBQVUsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDL0M7O1dBRUc7UUFDTSxTQUFJLEdBQXVCLElBQUksQ0FBQztRQUN6Qzs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzFCOztXQUVHO1FBQ00sWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV6Qjs7V0FFRztRQUNNLFVBQUssR0FBcUIsTUFBTSxDQUFDO1FBR2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQStFM0M7O1dBRUc7UUFDTyxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDakMscUJBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUEvRUMsSUFBYSxLQUFLLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUlELGVBQWU7UUFDYixJQUNFLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUztZQUN4QixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUk7WUFDbkIsSUFBSSxDQUFDLE1BQU07WUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFDOUM7WUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBSztRQUNyQixPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7SUFDdEMsQ0FBQzs7QUFySUQ7O0dBRUc7QUFDSSxrQkFBVyxHQUFHLENBQUMsQ0FBQzs7WUF2SnhCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBIVDtnQkFlRCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLE1BQU07d0JBQ25CLEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO3lCQW5CQzs7Ozs7Ozs7Ozs7S0FXQzthQVNKOzs7c0JBVUUsS0FBSztvQkFJTCxLQUFLO3lCQUlMLEtBQUs7MEJBSUwsS0FBSzttQkFJTCxLQUFLO3VCQUlMLEtBQUs7aUJBSUwsS0FBSzttQkFJTCxLQUFLO3VCQUlMLEtBQUs7dUJBSUwsS0FBSztzQkFJTCxLQUFLO29CQUtMLEtBQUs7d0JBQ0wsS0FBSzswQkFFTCxNQUFNO3FCQUdOLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQUVyQyxLQUFLO3VCQWlFTCxZQUFZLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4ICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgRXZlbnRFbWl0dGVyLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIGBpYm0tc2VsZWN0YCBwcm92aWRlcyBhIHN0eWxlZCBgc2VsZWN0YCBjb21wb25lbnQuXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3Rvcnkvc2VsZWN0LS1iYXNpYylcbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYFxuICogPGlibS1zZWxlY3QgWyhuZ01vZGVsKV09XCJtb2RlbFwiPlxuICogICAgIDxvcHRpb24gdmFsdWU9XCJkZWZhdWx0XCIgZGlzYWJsZWQgc2VsZWN0ZWQgaGlkZGVuPkNob29zZSBhbiBvcHRpb248L29wdGlvbj5cbiAqICAgICA8b3B0aW9uIHZhbHVlPVwib3B0aW9uMVwiPk9wdGlvbiAxPC9vcHRpb24+XG4gKiAgICA8b3B0aW9uIHZhbHVlPVwib3B0aW9uMlwiPk9wdGlvbiAyPC9vcHRpb24+XG4gKiAgICAgPG9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5PcHRpb24gMzwvb3B0aW9uPlxuICogPC9pYm0tc2VsZWN0PlxuICogICAgYGBgXG4gKlxuICogPGV4YW1wbGUtdXJsPi4uLy4uL2lmcmFtZS5odG1sP2lkPXNlbGVjdC0tYmFzaWM8L2V4YW1wbGUtdXJsPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpYm0tc2VsZWN0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYngtLWZvcm0taXRlbVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNrZWxldG9uXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwiYngtLWxhYmVsIGJ4LS1za2VsZXRvblwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYngtLXNlbGVjdCBieC0tc2tlbGV0b25cIj48L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiIXNrZWxldG9uXCJcbiAgICAgICAgY2xhc3M9XCJieC0tc2VsZWN0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdieC0tc2VsZWN0LS1pbmxpbmUnOiBkaXNwbGF5ID09PSAnaW5saW5lJyxcbiAgICAgICAgICAnYngtLXNlbGVjdC0tbGlnaHQnOiB0aGVtZSA9PT0gJ2xpZ2h0JyxcbiAgICAgICAgICAnYngtLXNlbGVjdC0taW52YWxpZCc6IGludmFsaWQsXG4gICAgICAgICAgJ2J4LS1zZWxlY3QtLXdhcm5pbmcnOiB3YXJuLFxuICAgICAgICAgICdieC0tc2VsZWN0LS1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtmb3JdPVwiaWRcIiBjbGFzcz1cImJ4LS1sYWJlbFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShsYWJlbClcIj57eyBsYWJlbCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlKGxhYmVsKVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWxwZXJUZXh0XCIgY2xhc3M9XCJieC0tZm9ybV9faGVscGVyLXRleHRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaGVscGVyVGV4dClcIj57e1xuICAgICAgICAgICAgaGVscGVyVGV4dFxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGUoaGVscGVyVGV4dClcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJkaXNwbGF5ID09PSAnaW5saW5lJzsgZWxzZSBub0lubGluZVwiXG4gICAgICAgICAgY2xhc3M9XCJieC0tc2VsZWN0LWlucHV0LS1pbmxpbmVfX3dyYXBwZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vSW5saW5lXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIHNlbGVjdCBlbGVtZW50OiBkeW5hbWljYWxseSBwcm9qZWN0ZWQgYmFzZWQgb24gJ2Rpc3BsYXknIHZhcmlhbnQgLS0+XG4gICAgPG5nLXRlbXBsYXRlICNub0lubGluZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJieC0tc2VsZWN0LWlucHV0X193cmFwcGVyIGV4dGVuZFwiXG4gICAgICAgIFthdHRyLmRhdGEtaW52YWxpZF09XCJpbnZhbGlkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgPlxuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgI3NlbGVjdFxuICAgICAgICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgICAgY2xhc3M9XCJieC0tc2VsZWN0LWlucHV0XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnYngtLXNlbGVjdC1pbnB1dC0teGwnOiBzaXplID09PSAneGwnLFxuICAgICAgICAgICAgJ2J4LS1zZWxlY3QtaW5wdXQtLXNtJzogc2l6ZSA9PT0gJ3NtJ1xuICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgICAgc3R5bGU9XCJ3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1wiXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgY2xhc3M9XCJieC0tc2VsZWN0X19hcnJvd1wiXG4gICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aCBkPVwiTTggMTFMMyA2IDMuNyA1LjMgOCA5LjYgMTIuMyA1LjMgMTMgNnpcIj48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgKm5nSWY9XCJpbnZhbGlkXCJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICAgIHN0eWxlPVwid2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcIlxuICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgIGNsYXNzPVwiYngtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvblwiXG4gICAgICAgICAgd2lkdGg9XCIxNlwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTZcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk04LDFDNC4yLDEsMSw0LjIsMSw4czMuMiw3LDcsN3M3LTMuMSw3LTdTMTEuOSwxLDgsMXogTTcuNSw0aDF2NWgtMUM3LjUsOSw3LjUsNCw3LjUsNHogTTgsMTIuMiAgICBjLTAuNCwwLTAuOC0wLjQtMC44LTAuOHMwLjMtMC44LDAuOC0wLjhjMC40LDAsMC44LDAuNCwwLjgsMC44UzguNCwxMi4yLDgsMTIuMnpcIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNNy41LDRoMXY1aC0xQzcuNSw5LDcuNSw0LDcuNSw0eiBNOCwxMi4yYy0wLjQsMC0wLjgtMC40LTAuOC0wLjhzMC4zLTAuOCwwLjgtMC44ICAgIGMwLjQsMCwwLjgsMC40LDAuOCwwLjhTOC40LDEyLjIsOCwxMi4yelwiXG4gICAgICAgICAgICBkYXRhLWljb24tcGF0aD1cImlubmVyLXBhdGhcIlxuICAgICAgICAgICAgb3BhY2l0eT1cIjBcIlxuICAgICAgICAgID48L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaW52YWxpZCAmJiBpbnZhbGlkVGV4dCAmJiAhd2FyblwiXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgIGNsYXNzPVwiYngtLWZvcm0tcmVxdWlyZW1lbnRcIlxuICAgICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCI+e3tcbiAgICAgICAgICBpbnZhbGlkVGV4dFxuICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAqbmdJZj1cImlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnZhbGlkVGV4dFwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiIWludmFsaWQgJiYgd2FyblwiIGNsYXNzPVwiYngtLWZvcm0tcmVxdWlyZW1lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlKHdhcm5UZXh0KVwiPnt7XG4gICAgICAgICAgd2FyblRleHRcbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlKHdhcm5UZXh0KVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5ieC0tc2VsZWN0LS1pbmxpbmUgLmJ4LS1mb3JtX19oZWxwZXItdGV4dCB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgfVxuXG4gICAgICAuYngtLXNlbGVjdC0taW5saW5lOm5vdCguYngtLXNlbGVjdC0taW52YWxpZCkgLmJ4LS1mb3JtX19oZWxwZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICAuYngtLXNlbGVjdC1pbnB1dF9fd3JhcHBlciB7XG4gICAgICAgIG1pbi13aWR0aDogMTZyZW07XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTZWxlY3QsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3QgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBUcmFja3MgdGhlIHRvdGFsIG51bWJlciBvZiBzZWxlY3RzIGluc3RhbnRpYXRlZC4gVXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgSURzXG4gICAqL1xuICBzdGF0aWMgc2VsZWN0Q291bnQgPSAwO1xuXG4gIC8qKlxuICAgKiBgaW5saW5lYCBvciBgZGVmYXVsdGAgc2VsZWN0IGRpc3BsYXlzXG4gICAqL1xuICBASW5wdXQoKSBkaXNwbGF5OiAnaW5saW5lJyB8ICdkZWZhdWx0JyA9ICdkZWZhdWx0JztcbiAgLyoqXG4gICAqIExhYmVsIGZvciB0aGUgc2VsZWN0LiBBcHBlYXJzIGFib3ZlIHRoZSBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICAvKipcbiAgICogT3B0aW9uYWwgaGVscGVyIHRleHQgdGhhdCBhcHBlYXJzIHVuZGVyIHRoZSBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGhlbHBlclRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbnZhbGlkIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBpbnZhbGlkVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFNldCB0byBgdHJ1ZWAgdG8gc2hvdyBhIHdhcm5pbmcgKGNvbnRlbnRzIHNldCBieSB3YXJuaW5nVGV4dClcbiAgICovXG4gIEBJbnB1dCgpIHdhcm4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIHdhcm5pbmcgdGV4dFxuICAgKi9cbiAgQElucHV0KCkgd2FyblRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1bmlxdWUgSUQuIERlZmF1bHRzIHRvIGBzZWxlY3QtJHt0b3RhbCBjb3VudCBvZiBzZWxlY3RzIGluc3RhbnRpYXRlZH1gXG4gICAqL1xuICBASW5wdXQoKSBpZCA9IGBzZWxlY3QtJHtTZWxlY3Quc2VsZWN0Q291bnQrK31gO1xuICAvKipcbiAgICogTnVtYmVyIGlucHV0IGZpZWxkIHJlbmRlciBzaXplXG4gICAqL1xuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyB8ICd4bCcgPSAnbWQnO1xuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gZGlzYWJsZSBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0IHRvIHRydWUgZm9yIGEgbG9hZGluZyBzZWxlY3QuXG4gICAqL1xuICBASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCBmb3IgYW4gaW52YWxpZCBzZWxlY3QgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBgbGlnaHRgIG9yIGBkYXJrYCBzZWxlY3QgdGhlbWVcbiAgICovXG4gIEBJbnB1dCgpIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnID0gJ2RhcmsnO1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHNldCB2YWx1ZSh2KSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgIGlmICh0aGlzLnNlbGVjdCkge1xuICAgICAgdGhpcy5zZWxlY3QubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbHVlO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMudmFsdWUgIT09IG51bGwgJiZcbiAgICAgIHRoaXMuc2VsZWN0ICYmXG4gICAgICB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50LnZhbHVlICE9PSB0aGlzLnZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVjZWl2ZXMgYSB2YWx1ZSBmcm9tIHRoZSBtb2RlbC5cbiAgICovXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGxpc3RlbmVyIHRoYXQgbm90aWZpZXMgdGhlIG1vZGVsIHdoZW4gdGhlIGNvbnRyb2wgdXBkYXRlc1xuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZUhhbmRsZXIgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBsaXN0ZW5lciB0aGF0IG5vdGlmaWVzIHRoZSBtb2RlbCB3aGVuIHRoZSBjb250cm9sIGlzIGJsdXJyZWRcbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZEhhbmRsZXIgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSB0aHJvdWdoIHRoZSBtb2RlbFxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgY2hhbmdlIGV2ZW50IGZyb20gdGhlIGBzZWxlY3RgLlxuICAgKiBTZW5kcyBldmVudHMgdG8gdGhlIGNoYW5nZSBoYW5kbGVyIGFuZCBlbWl0cyBhIGBzZWxlY3RlZGAgZXZlbnQuXG4gICAqL1xuICBvbkNoYW5nZShldmVudCkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUhhbmRsZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIGZvciB0aGUgaG9zdCBibHVycmluZywgYW5kIG5vdGlmaWVzIHRoZSBtb2RlbFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICBmb2N1c091dCgpIHtcbiAgICB0aGlzLm9uVG91Y2hlZEhhbmRsZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gIH1cblxuICAvKipcbiAgICogcGxhY2Vob2xkZXIgZGVjbGFyYXRpb25zLiBSZXBsYWNlZCBieSB0aGUgZnVuY3Rpb25zIHByb3ZpZGVkIHRvIGByZWdpc3Rlck9uQ2hhbmdlYCBhbmQgYHJlZ2lzdGVyT25Ub3VjaGVkYFxuICAgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlSGFuZGxlciA9IChfOiBhbnkpID0+IHt9O1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkSGFuZGxlciA9ICgpID0+IHt9O1xufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// modules
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
// imports
|
|
6
|
+
import { Select } from './select.component';
|
|
7
|
+
import { Option } from './option.directive';
|
|
8
|
+
import { OptGroup } from './optgroup.directive';
|
|
9
|
+
export class SelectModule {
|
|
10
|
+
}
|
|
11
|
+
SelectModule.decorators = [
|
|
12
|
+
{ type: NgModule, args: [{
|
|
13
|
+
declarations: [Select, Option, OptGroup],
|
|
14
|
+
exports: [Select, Option, OptGroup],
|
|
15
|
+
imports: [CommonModule, FormsModule]
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPaEQsTUFBTSxPQUFPLFlBQVk7OztZQUx4QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO2dCQUNuQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2FBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbW9kdWxlc1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy8gaW1wb3J0c1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4vb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPcHRHcm91cCB9IGZyb20gJy4vb3B0Z3JvdXAuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2VsZWN0LCBPcHRpb24sIE9wdEdyb3VwXSxcbiAgZXhwb3J0czogW1NlbGVjdCwgT3B0aW9uLCBPcHRHcm91cF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class AlertHelper {
|
|
2
|
+
hideAlert(control) {
|
|
3
|
+
control.shown = false;
|
|
4
|
+
}
|
|
5
|
+
showAlert(control) {
|
|
6
|
+
control.shown = true;
|
|
7
|
+
}
|
|
8
|
+
setAlertsForControl(control, alert) {
|
|
9
|
+
control.alerts.push(alert);
|
|
10
|
+
}
|
|
11
|
+
clearAlertsForControl(control) {
|
|
12
|
+
control.alerts.splice(0);
|
|
13
|
+
control.alert = '';
|
|
14
|
+
}
|
|
15
|
+
evaluateControlAlerts(control) {
|
|
16
|
+
let messageValue = '';
|
|
17
|
+
control.alerts.forEach((message) => {
|
|
18
|
+
message.reEvaluateAlertExpression();
|
|
19
|
+
if (message.shown === true) {
|
|
20
|
+
messageValue = message.alertMessage;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
messageValue = '';
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
control.alert = messageValue;
|
|
27
|
+
// if (control.message && control.disable) {
|
|
28
|
+
// control.disable();
|
|
29
|
+
// // control.setValue(null);
|
|
30
|
+
// }
|
|
31
|
+
}
|
|
32
|
+
setUpReEvaluationWhenValueChanges(control) {
|
|
33
|
+
if (control.updateAlert) {
|
|
34
|
+
control.valueChanges.subscribe((val) => {
|
|
35
|
+
control.updateAlert();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvYWxlcnQtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sV0FBVztJQUNmLFNBQVMsQ0FBQyxPQUFjO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBYztRQUM3QixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsT0FBeUIsRUFBRSxLQUFZO1FBQ2hFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxPQUF5QjtRQUNwRCxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0scUJBQXFCLENBQUMsT0FBeUI7UUFDcEQsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDMUIsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsWUFBWSxHQUFHLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDN0IsNENBQTRDO1FBQzVDLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsSUFBSTtJQUNOLENBQUM7SUFFTSxpQ0FBaUMsQ0FBQyxPQUF5QjtRQUNoRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW5HZW5lcmF0ZUFsZXJ0LCBBbGVydCB9IGZyb20gJy4vY2FuLWdlbmVyYXRlLWFsZXJ0JztcbmV4cG9ydCBjbGFzcyBBbGVydEhlbHBlciB7XG4gIHB1YmxpYyBoaWRlQWxlcnQoY29udHJvbDogQWxlcnQpIHtcbiAgICBjb250cm9sLnNob3duID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FsZXJ0KGNvbnRyb2w6IEFsZXJ0KSB7XG4gICAgY29udHJvbC5zaG93biA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgc2V0QWxlcnRzRm9yQ29udHJvbChjb250cm9sOiBDYW5HZW5lcmF0ZUFsZXJ0LCBhbGVydDogQWxlcnQpIHtcbiAgICBjb250cm9sLmFsZXJ0cy5wdXNoKGFsZXJ0KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsZXJ0c0ZvckNvbnRyb2woY29udHJvbDogQ2FuR2VuZXJhdGVBbGVydCkge1xuICAgIGNvbnRyb2wuYWxlcnRzLnNwbGljZSgwKTtcbiAgICBjb250cm9sLmFsZXJ0ID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZXZhbHVhdGVDb250cm9sQWxlcnRzKGNvbnRyb2w6IENhbkdlbmVyYXRlQWxlcnQpIHtcbiAgICBsZXQgbWVzc2FnZVZhbHVlID0gJyc7XG4gICAgY29udHJvbC5hbGVydHMuZm9yRWFjaCgobWVzc2FnZSkgPT4ge1xuICAgICAgbWVzc2FnZS5yZUV2YWx1YXRlQWxlcnRFeHByZXNzaW9uKCk7XG4gICAgICBpZiAobWVzc2FnZS5zaG93biA9PT0gdHJ1ZSkge1xuICAgICAgICBtZXNzYWdlVmFsdWUgPSBtZXNzYWdlLmFsZXJ0TWVzc2FnZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2VWYWx1ZSA9ICcnO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udHJvbC5hbGVydCA9IG1lc3NhZ2VWYWx1ZTtcbiAgICAvLyBpZiAoY29udHJvbC5tZXNzYWdlICYmIGNvbnRyb2wuZGlzYWJsZSkge1xuICAgIC8vICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAvLyAgICAgLy8gY29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICAvLyB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXBSZUV2YWx1YXRpb25XaGVuVmFsdWVDaGFuZ2VzKGNvbnRyb2w6IENhbkdlbmVyYXRlQWxlcnQpIHtcbiAgICBpZiAoY29udHJvbC51cGRhdGVBbGVydCkge1xuICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IHtcbiAgICAgICAgY29udHJvbC51cGRhdGVBbGVydCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWdlbmVyYXRlLWFsZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9jb250cm9sLWFsZXJ0cy9jYW4tZ2VuZXJhdGUtYWxlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDYW5HZW5lcmF0ZUFsZXJ0IHtcbiAgYWxlcnRzOiBBbGVydFtdO1xuICBhbGVydDogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZXM/OiBPYnNlcnZhYmxlPGFueT47XG4gIHNldEFsZXJ0Rm4obmV3TWVzc2FnZTogQWxlcnQpO1xuICBjbGVhck1lc3NhZ2VGbnMoKTtcbiAgdXBkYXRlQWxlcnQoKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGVydCB7XG4gIHNob3duOiBib29sZWFuO1xuICBhbGVydFdoZW5FeHByZXNzaW9uOiBzdHJpbmc7XG4gIGFsZXJ0TWVzc2FnZTogc3RyaW5nO1xuICByZUV2YWx1YXRlQWxlcnRFeHByZXNzaW9uOiBFdmFsdWF0ZUV4cHJlc3Npb25Gbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0ZUV4cHJlc3Npb25GbiB7XG4gICgpO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbGN1bGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvY29udHJvbC1jYWxjdWxhdG9ycy9jYW4tY2FsY3VsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENhbkNhbGN1bGF0ZSB7XG4gIGNhbGN1bGF0b3I6IEZ1bmN0aW9uO1xuICBzZXRDYWxjdWxhdG9yRm4obmV3Q2FsY3VsYXRvcjogRnVuY3Rpb24pO1xuICB1cGRhdGVDYWxjdWxhdGVkVmFsdWUoKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc2FibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4tZGlzYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbkRpc2FibGUge1xuICBkaXNhYmxlcnM6IERpc2FibGVyW107XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICB2YWx1ZUNoYW5nZXM/OiBPYnNlcnZhYmxlPGFueT47XG4gIGRpc2FibGUoKTtcbiAgZW5hYmxlKCk7XG4gIHNldERpc2FibGluZ0ZuKG5ld0hpZGVyOiBEaXNhYmxlcik7XG4gIGNsZWFyRGlzYWJsaW5nRm5zKCk7XG4gIHVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNhYmxlciB7XG4gIHRvRGlzYWJsZTogYm9vbGVhbjtcbiAgZGlzYWJsZVdoZW5FeHByZXNzaW9uOiBzdHJpbmc7XG4gIHJlRXZhbHVhdGVEaXNhYmxpbmdFeHByZXNzaW9uOiBFdmFsdWF0ZUV4cHJlc3Npb25Gbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0ZUV4cHJlc3Npb25GbiB7XG4gICgpO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWhpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4taGlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFdmFsdWF0ZUV4cHJlc3Npb25GbiB9IGZyb20gJy4vY2FuLWRpc2FibGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbkhpZGUge1xuICBoaWRlcnM6IEhpZGVyW107XG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB2YWx1ZUNoYW5nZXM/OiBPYnNlcnZhYmxlPGFueT47XG4gIGRpc2FibGU/KCk7XG4gIGhpZGUoKTtcbiAgc2hvdygpO1xuICBzZXRIaWRpbmdGbihuZXdIaWRlcjogSGlkZXIpO1xuICBjbGVhckhpZGluZ0ZucygpO1xuICB1cGRhdGVIaWRkZW5TdGF0ZSgpO1xuICBzZXRWYWx1ZT8odmFsdWU6IGFueSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlkZXIge1xuICB0b0hpZGU6IGJvb2xlYW47XG4gIGhpZGVXaGVuRXhwcmVzc2lvbjogc3RyaW5nO1xuICByZUV2YWx1YXRlSGlkaW5nRXhwcmVzc2lvbjogRXZhbHVhdGVFeHByZXNzaW9uRm47XG59XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export class DisablerHelper {
|
|
2
|
+
setDisablerForControl(control, disabler) {
|
|
3
|
+
control.disablers.push(disabler);
|
|
4
|
+
}
|
|
5
|
+
clearDisablersForControl(control) {
|
|
6
|
+
control.disablers.splice(0);
|
|
7
|
+
control.disable();
|
|
8
|
+
}
|
|
9
|
+
evaluateControlDisablers(control) {
|
|
10
|
+
let toDisable = false;
|
|
11
|
+
control.disablers.forEach((hider) => {
|
|
12
|
+
hider.reEvaluateDisablingExpression();
|
|
13
|
+
if (hider.toDisable === true) {
|
|
14
|
+
toDisable = true;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
// console.log('Control', control);
|
|
18
|
+
if (toDisable) {
|
|
19
|
+
control.disable();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
control.enable();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
setUpReEvaluationWhenValueChanges(control) {
|
|
26
|
+
if (control.updateDisabledState) {
|
|
27
|
+
control.valueChanges.subscribe((val) => {
|
|
28
|
+
control.updateDisabledState();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZXItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvZGlzYWJsZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxjQUFjO0lBQ2xCLHFCQUFxQixDQUFDLE9BQW1CLEVBQUUsUUFBa0I7UUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQW1CO1FBQ2pELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sd0JBQXdCLENBQUMsT0FBbUI7UUFDakQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdEMsSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtnQkFDNUIsU0FBUyxHQUFHLElBQUksQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBRW5DLElBQUksU0FBUyxFQUFFO1lBQ2IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ25CO2FBQU07WUFDTCxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU0saUNBQWlDLENBQUMsT0FBbUI7UUFDMUQsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEVBQUU7WUFDL0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkRpc2FibGUsIERpc2FibGVyIH0gZnJvbSAnLi9jYW4tZGlzYWJsZSc7XG5leHBvcnQgY2xhc3MgRGlzYWJsZXJIZWxwZXIge1xuICBwdWJsaWMgc2V0RGlzYWJsZXJGb3JDb250cm9sKGNvbnRyb2w6IENhbkRpc2FibGUsIGRpc2FibGVyOiBEaXNhYmxlcikge1xuICAgIGNvbnRyb2wuZGlzYWJsZXJzLnB1c2goZGlzYWJsZXIpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRGlzYWJsZXJzRm9yQ29udHJvbChjb250cm9sOiBDYW5EaXNhYmxlKSB7XG4gICAgY29udHJvbC5kaXNhYmxlcnMuc3BsaWNlKDApO1xuICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGV2YWx1YXRlQ29udHJvbERpc2FibGVycyhjb250cm9sOiBDYW5EaXNhYmxlKSB7XG4gICAgbGV0IHRvRGlzYWJsZSA9IGZhbHNlO1xuICAgIGNvbnRyb2wuZGlzYWJsZXJzLmZvckVhY2goKGhpZGVyKSA9PiB7XG4gICAgICBoaWRlci5yZUV2YWx1YXRlRGlzYWJsaW5nRXhwcmVzc2lvbigpO1xuICAgICAgaWYgKGhpZGVyLnRvRGlzYWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICB0b0Rpc2FibGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gY29uc29sZS5sb2coJ0NvbnRyb2wnLCBjb250cm9sKTtcblxuICAgIGlmICh0b0Rpc2FibGUpIHtcbiAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRVcFJlRXZhbHVhdGlvbldoZW5WYWx1ZUNoYW5nZXMoY29udHJvbDogQ2FuRGlzYWJsZSkge1xuICAgIGlmIChjb250cm9sLnVwZGF0ZURpc2FibGVkU3RhdGUpIHtcbiAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class HiderHelper {
|
|
2
|
+
hideControl(control) {
|
|
3
|
+
control.hidden = true;
|
|
4
|
+
if (control.disable) {
|
|
5
|
+
control.disable();
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
showControl(control) {
|
|
9
|
+
control.hidden = false;
|
|
10
|
+
}
|
|
11
|
+
setHiderForControl(control, hider) {
|
|
12
|
+
control.hiders.push(hider);
|
|
13
|
+
}
|
|
14
|
+
clearHidersForControl(control) {
|
|
15
|
+
control.hiders.splice(0);
|
|
16
|
+
control.hidden = false;
|
|
17
|
+
}
|
|
18
|
+
evaluateControlHiders(control) {
|
|
19
|
+
let hiddenValue = false;
|
|
20
|
+
control.hiders.forEach((hider) => {
|
|
21
|
+
hider.reEvaluateHidingExpression();
|
|
22
|
+
if (hider.toHide === true) {
|
|
23
|
+
hiddenValue = true;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
control.hidden = hiddenValue;
|
|
27
|
+
if (control.hidden && control.disable) {
|
|
28
|
+
control.disable();
|
|
29
|
+
// control.setValue(null);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
setUpReEvaluationWhenValueChanges(control) {
|
|
33
|
+
if (control.updateHiddenState) {
|
|
34
|
+
control.valueChanges.subscribe((val) => {
|
|
35
|
+
control.updateHiddenState();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXItaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2hpZGVyLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLFdBQVc7SUFDZixXQUFXLENBQUMsT0FBZ0I7UUFDakMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZ0I7UUFDakMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQWdCLEVBQUUsS0FBWTtRQUN0RCxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0scUJBQXFCLENBQUMsT0FBZ0I7UUFDM0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE9BQWdCO1FBQzNDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ25DLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQzdCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQiwwQkFBMEI7U0FDM0I7SUFDSCxDQUFDO0lBRU0saUNBQWlDLENBQUMsT0FBZ0I7UUFDdkQsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7WUFDN0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkhpZGUsIEhpZGVyIH0gZnJvbSAnLi9jYW4taGlkZSc7XG5leHBvcnQgY2xhc3MgSGlkZXJIZWxwZXIge1xuICBwdWJsaWMgaGlkZUNvbnRyb2woY29udHJvbDogQ2FuSGlkZSkge1xuICAgIGNvbnRyb2wuaGlkZGVuID0gdHJ1ZTtcbiAgICBpZiAoY29udHJvbC5kaXNhYmxlKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbnRyb2woY29udHJvbDogQ2FuSGlkZSkge1xuICAgIGNvbnRyb2wuaGlkZGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0SGlkZXJGb3JDb250cm9sKGNvbnRyb2w6IENhbkhpZGUsIGhpZGVyOiBIaWRlcikge1xuICAgIGNvbnRyb2wuaGlkZXJzLnB1c2goaGlkZXIpO1xuICB9XG5cbiAgcHVibGljIGNsZWFySGlkZXJzRm9yQ29udHJvbChjb250cm9sOiBDYW5IaWRlKSB7XG4gICAgY29udHJvbC5oaWRlcnMuc3BsaWNlKDApO1xuICAgIGNvbnRyb2wuaGlkZGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZXZhbHVhdGVDb250cm9sSGlkZXJzKGNvbnRyb2w6IENhbkhpZGUpIHtcbiAgICBsZXQgaGlkZGVuVmFsdWUgPSBmYWxzZTtcbiAgICBjb250cm9sLmhpZGVycy5mb3JFYWNoKChoaWRlcikgPT4ge1xuICAgICAgaGlkZXIucmVFdmFsdWF0ZUhpZGluZ0V4cHJlc3Npb24oKTtcbiAgICAgIGlmIChoaWRlci50b0hpZGUgPT09IHRydWUpIHtcbiAgICAgICAgaGlkZGVuVmFsdWUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udHJvbC5oaWRkZW4gPSBoaWRkZW5WYWx1ZTtcbiAgICBpZiAoY29udHJvbC5oaWRkZW4gJiYgY29udHJvbC5kaXNhYmxlKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIC8vIGNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVwUmVFdmFsdWF0aW9uV2hlblZhbHVlQ2hhbmdlcyhjb250cm9sOiBDYW5IaWRlKSB7XG4gICAgaWYgKGNvbnRyb2wudXBkYXRlSGlkZGVuU3RhdGUpIHtcbiAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlSGlkZGVuU3RhdGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
export class DataSources {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._dataSources = {};
|
|
5
|
+
}
|
|
6
|
+
get dataSources() {
|
|
7
|
+
return this._dataSources;
|
|
8
|
+
}
|
|
9
|
+
registerDataSource(key, dataSource, unWrap = false) {
|
|
10
|
+
if (unWrap) {
|
|
11
|
+
// eslint-disable-next-line guard-for-in
|
|
12
|
+
for (const o in dataSource) {
|
|
13
|
+
// console.log('registering', o, dataSource[o]);
|
|
14
|
+
this.registerDataSource(o, dataSource[o], false);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (this.dataSources[key]) {
|
|
18
|
+
console.warn('Overriding registered data source', key);
|
|
19
|
+
}
|
|
20
|
+
this._dataSources[key] = dataSource;
|
|
21
|
+
}
|
|
22
|
+
clearDataSource(key) {
|
|
23
|
+
delete this._dataSources[key];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
DataSources.decorators = [
|
|
27
|
+
{ type: Injectable }
|
|
28
|
+
];
|
|
29
|
+
DataSources.ctorParameters = () => [];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9kYXRhLXNvdXJjZXMvZGF0YS1zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFFdEI7UUFEUSxpQkFBWSxHQUFRLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRWhCLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBVyxFQUFFLFVBQWUsRUFBRSxNQUFNLEdBQUcsS0FBSztRQUM3RCxJQUFJLE1BQU0sRUFBRTtZQUNWLHdDQUF3QztZQUN4QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTtnQkFDMUIsZ0RBQWdEO2dCQUNoRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNsRDtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OztZQXpCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZXMge1xuICBwcml2YXRlIF9kYXRhU291cmNlczogYW55ID0ge307XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXQgZGF0YVNvdXJjZXMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZXM7XG4gIH1cblxuICByZWdpc3RlckRhdGFTb3VyY2Uoa2V5OiBzdHJpbmcsIGRhdGFTb3VyY2U6IGFueSwgdW5XcmFwID0gZmFsc2UpIHtcbiAgICBpZiAodW5XcmFwKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZ3VhcmQtZm9yLWluXG4gICAgICBmb3IgKGNvbnN0IG8gaW4gZGF0YVNvdXJjZSkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygncmVnaXN0ZXJpbmcnLCBvLCBkYXRhU291cmNlW29dKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRhdGFTb3VyY2UobywgZGF0YVNvdXJjZVtvXSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5kYXRhU291cmNlc1trZXldKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ092ZXJyaWRpbmcgcmVnaXN0ZXJlZCBkYXRhIHNvdXJjZScsIGtleSk7XG4gICAgfVxuICAgIHRoaXMuX2RhdGFTb3VyY2VzW2tleV0gPSBkYXRhU291cmNlO1xuICB9XG5cbiAgY2xlYXJEYXRhU291cmNlKGtleTogc3RyaW5nKSB7XG4gICAgZGVsZXRlIHRoaXMuX2RhdGFTb3VyY2VzW2tleV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Option } from '../question-models/select-option';
|
|
2
|
+
import { BehaviorSubject, of } from 'rxjs';
|
|
3
|
+
export class DummyDataSource {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.returnErrorOnNext = false;
|
|
6
|
+
}
|
|
7
|
+
resolveSelectedValue(value) {
|
|
8
|
+
let selectOptions = this.sampleData();
|
|
9
|
+
selectOptions = selectOptions.map(function (obj) {
|
|
10
|
+
const option = new Option({
|
|
11
|
+
label: obj.label,
|
|
12
|
+
value: obj.concept
|
|
13
|
+
});
|
|
14
|
+
return option;
|
|
15
|
+
});
|
|
16
|
+
selectOptions = selectOptions.filter((option) => option.value === value);
|
|
17
|
+
const test = new BehaviorSubject([]);
|
|
18
|
+
if (!this.returnErrorOnNext) {
|
|
19
|
+
test.next(selectOptions[0]);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
test.error(new Error('Error loading Options'));
|
|
23
|
+
}
|
|
24
|
+
return test.asObservable();
|
|
25
|
+
}
|
|
26
|
+
fileUpload(url) {
|
|
27
|
+
return of({ image: '' });
|
|
28
|
+
}
|
|
29
|
+
fetchFile(url) {
|
|
30
|
+
return of({ image: '' });
|
|
31
|
+
}
|
|
32
|
+
searchOptions(searchText) {
|
|
33
|
+
let selectOptions = this.sampleData();
|
|
34
|
+
selectOptions = selectOptions.map(function (obj) {
|
|
35
|
+
const option = new Option({
|
|
36
|
+
label: obj.label,
|
|
37
|
+
value: obj.concept
|
|
38
|
+
});
|
|
39
|
+
return option;
|
|
40
|
+
});
|
|
41
|
+
selectOptions = selectOptions.filter((option) => option.label.indexOf(searchText) !== -1);
|
|
42
|
+
const test = new BehaviorSubject([]);
|
|
43
|
+
if (!this.returnErrorOnNext) {
|
|
44
|
+
test.next(selectOptions);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
test.error(new Error('Error loading Options'));
|
|
48
|
+
}
|
|
49
|
+
return test.asObservable();
|
|
50
|
+
}
|
|
51
|
+
sampleData() {
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
concept: 'a899e0ac-1350-11df-a1f1-0026b9348838',
|
|
55
|
+
label: 'None'
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
concept: 'a8ad1276-1350-11df-a1f1-0026b9348838',
|
|
59
|
+
label: 'Breathlessness'
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
concept: 'a892e4b4-1350-11df-a1f1-0026b9348838',
|
|
63
|
+
label: 'Chest pain'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
concept: 'a8afc8b8-1350-11df-a1f1-0026b9348838',
|
|
67
|
+
label: 'Cough = 2 weeks'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
concept: 'd7adae14-c386-49cc-8f7c-765d8ceec566',
|
|
71
|
+
label: 'Fever for = 2 weeks'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
concept: '3f57aafc-7162-41da-a51b-6a804cb6f5e8',
|
|
75
|
+
label: 'New exposure to household contact with TB'
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
concept: 'a89807f0-1350-11df-a1f1-0026b9348838',
|
|
79
|
+
label: 'Noticeable Weight loss'
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
concept: 'e1862fef-68ed-4df4-90dd-a00152f719aa',
|
|
83
|
+
label: 'Night sweats = 2 weeks'
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
concept: 'a8ad462e-1350-11df-a1f1-0026b9348838',
|
|
87
|
+
label: 'Abdomen'
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
concept: 'f218c60e-4b54-475a-a4fa-facab9216da8',
|
|
91
|
+
label: 'Groin'
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
concept: 'a8a774b0-1350-11df-a1f1-0026b9348838',
|
|
95
|
+
label: 'Joints'
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
concept: '4639388c-ee31-4dcf-abb4-ad71253493bb',
|
|
99
|
+
label: 'Neck Kw'
|
|
100
|
+
}
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXktZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2RhdGEtc291cmNlcy9kdW1teS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUQsT0FBTyxFQUFjLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsTUFBTSxPQUFPLGVBQWU7SUFLMUI7UUFGQSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFFWCxDQUFDO0lBRWhCLG9CQUFvQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXRDLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRztZQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQztnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU87YUFDbkIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLElBQUksR0FBeUIsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxVQUFVLENBQUMsR0FBRztRQUNaLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELFNBQVMsQ0FBQyxHQUFHO1FBQ1gsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsYUFBYSxDQUFDLFVBQVU7UUFDdEIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXRDLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRztZQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQztnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU87YUFDbkIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwRCxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQXlCLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7U0FDaEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU87WUFDTDtnQkFDRSxPQUFPLEVBQUUsc0NBQXNDO2dCQUMvQyxLQUFLLEVBQUUsTUFBTTthQUNkO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHNDQUFzQztnQkFDL0MsS0FBSyxFQUFFLGdCQUFnQjthQUN4QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQ0FBc0M7Z0JBQy9DLEtBQUssRUFBRSxZQUFZO2FBQ3BCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHNDQUFzQztnQkFDL0MsS0FBSyxFQUFFLGlCQUFpQjthQUN6QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQ0FBc0M7Z0JBQy9DLEtBQUssRUFBRSxxQkFBcUI7YUFDN0I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0NBQXNDO2dCQUMvQyxLQUFLLEVBQUUsMkNBQTJDO2FBQ25EO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHNDQUFzQztnQkFDL0MsS0FBSyxFQUFFLHdCQUF3QjthQUNoQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQ0FBc0M7Z0JBQy9DLEtBQUssRUFBRSx3QkFBd0I7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0NBQXNDO2dCQUMvQyxLQUFLLEVBQUUsU0FBUzthQUNqQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQ0FBc0M7Z0JBQy9DLEtBQUssRUFBRSxPQUFPO2FBQ2Y7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0NBQXNDO2dCQUMvQyxLQUFLLEVBQUUsUUFBUTthQUNoQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQ0FBc0M7Z0JBQy9DLEtBQUssRUFBRSxTQUFTO2FBQ2pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBEdW1teURhdGFTb3VyY2UgaW1wbGVtZW50cyBEYXRhU291cmNlIHtcbiAgb3B0aW9uczogT2JzZXJ2YWJsZTxPcHRpb25bXT47XG4gIG9wdGlvbjogT2JzZXJ2YWJsZTxPcHRpb24+O1xuICByZXR1cm5FcnJvck9uTmV4dCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICByZXNvbHZlU2VsZWN0ZWRWYWx1ZSh2YWx1ZSk6IE9ic2VydmFibGU8T3B0aW9uPiB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbnMgPSB0aGlzLnNhbXBsZURhdGEoKTtcblxuICAgIHNlbGVjdE9wdGlvbnMgPSBzZWxlY3RPcHRpb25zLm1hcChmdW5jdGlvbiAob2JqKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSBuZXcgT3B0aW9uKHtcbiAgICAgICAgbGFiZWw6IG9iai5sYWJlbCxcbiAgICAgICAgdmFsdWU6IG9iai5jb25jZXB0XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSk7XG5cbiAgICBzZWxlY3RPcHRpb25zID0gc2VsZWN0T3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG5cbiAgICBjb25zdCB0ZXN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihbXSk7XG4gICAgaWYgKCF0aGlzLnJldHVybkVycm9yT25OZXh0KSB7XG4gICAgICB0ZXN0Lm5leHQoc2VsZWN0T3B0aW9uc1swXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRlc3QuZXJyb3IobmV3IEVycm9yKCdFcnJvciBsb2FkaW5nIE9wdGlvbnMnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlc3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgZmlsZVVwbG9hZCh1cmwpIHtcbiAgICByZXR1cm4gb2YoeyBpbWFnZTogJycgfSk7XG4gIH1cbiAgZmV0Y2hGaWxlKHVybCkge1xuICAgIHJldHVybiBvZih7IGltYWdlOiAnJyB9KTtcbiAgfVxuICBzZWFyY2hPcHRpb25zKHNlYXJjaFRleHQpOiBPYnNlcnZhYmxlPE9wdGlvbltdPiB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbnMgPSB0aGlzLnNhbXBsZURhdGEoKTtcblxuICAgIHNlbGVjdE9wdGlvbnMgPSBzZWxlY3RPcHRpb25zLm1hcChmdW5jdGlvbiAob2JqKSB7XG4gICAgICBjb25zdCBvcHRpb24gPSBuZXcgT3B0aW9uKHtcbiAgICAgICAgbGFiZWw6IG9iai5sYWJlbCxcbiAgICAgICAgdmFsdWU6IG9iai5jb25jZXB0XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSk7XG5cbiAgICBzZWxlY3RPcHRpb25zID0gc2VsZWN0T3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24ubGFiZWwuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTFcbiAgICApO1xuXG4gICAgY29uc3QgdGVzdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oW10pO1xuICAgIGlmICghdGhpcy5yZXR1cm5FcnJvck9uTmV4dCkge1xuICAgICAgdGVzdC5uZXh0KHNlbGVjdE9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXN0LmVycm9yKG5ldyBFcnJvcignRXJyb3IgbG9hZGluZyBPcHRpb25zJykpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2FtcGxlRGF0YSgpOiBhbnkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGNvbmNlcHQ6ICdhODk5ZTBhYy0xMzUwLTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnLFxuICAgICAgICBsYWJlbDogJ05vbmUnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25jZXB0OiAnYThhZDEyNzYtMTM1MC0xMWRmLWExZjEtMDAyNmI5MzQ4ODM4JyxcbiAgICAgICAgbGFiZWw6ICdCcmVhdGhsZXNzbmVzcydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmNlcHQ6ICdhODkyZTRiNC0xMzUwLTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnLFxuICAgICAgICBsYWJlbDogJ0NoZXN0IHBhaW4nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25jZXB0OiAnYThhZmM4YjgtMTM1MC0xMWRmLWExZjEtMDAyNmI5MzQ4ODM4JyxcbiAgICAgICAgbGFiZWw6ICdDb3VnaCA9IDIgd2Vla3MnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25jZXB0OiAnZDdhZGFlMTQtYzM4Ni00OWNjLThmN2MtNzY1ZDhjZWVjNTY2JyxcbiAgICAgICAgbGFiZWw6ICdGZXZlciBmb3IgPSAyIHdlZWtzJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uY2VwdDogJzNmNTdhYWZjLTcxNjItNDFkYS1hNTFiLTZhODA0Y2I2ZjVlOCcsXG4gICAgICAgIGxhYmVsOiAnTmV3IGV4cG9zdXJlIHRvIGhvdXNlaG9sZCBjb250YWN0IHdpdGggVEInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25jZXB0OiAnYTg5ODA3ZjAtMTM1MC0xMWRmLWExZjEtMDAyNmI5MzQ4ODM4JyxcbiAgICAgICAgbGFiZWw6ICdOb3RpY2VhYmxlIFdlaWdodCBsb3NzJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uY2VwdDogJ2UxODYyZmVmLTY4ZWQtNGRmNC05MGRkLWEwMDE1MmY3MTlhYScsXG4gICAgICAgIGxhYmVsOiAnTmlnaHQgc3dlYXRzID0gMiB3ZWVrcydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmNlcHQ6ICdhOGFkNDYyZS0xMzUwLTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnLFxuICAgICAgICBsYWJlbDogJ0FiZG9tZW4nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25jZXB0OiAnZjIxOGM2MGUtNGI1NC00NzVhLWE0ZmEtZmFjYWI5MjE2ZGE4JyxcbiAgICAgICAgbGFiZWw6ICdHcm9pbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmNlcHQ6ICdhOGE3NzRiMC0xMzUwLTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnLFxuICAgICAgICBsYWJlbDogJ0pvaW50cydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbmNlcHQ6ICc0NjM5Mzg4Yy1lZTMxLTRkY2YtYWJiNC1hZDcxMjUzNDkzYmInLFxuICAgICAgICBsYWJlbDogJ05lY2sgS3cnXG4gICAgICB9XG4gICAgXTtcbiAgfVxufVxuIl19
|