@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,81 @@
|
|
|
1
|
+
export class NodeBase {
|
|
2
|
+
constructor(question, control, form, parentPath) {
|
|
3
|
+
this._control = control;
|
|
4
|
+
this._questionModel = question;
|
|
5
|
+
this._form = form;
|
|
6
|
+
this._path = parentPath ? parentPath + '.' + question.key : question.key;
|
|
7
|
+
}
|
|
8
|
+
get question() {
|
|
9
|
+
return this._questionModel;
|
|
10
|
+
}
|
|
11
|
+
get control() {
|
|
12
|
+
return this._control;
|
|
13
|
+
}
|
|
14
|
+
get form() {
|
|
15
|
+
return this._form;
|
|
16
|
+
}
|
|
17
|
+
get path() {
|
|
18
|
+
return this._path;
|
|
19
|
+
}
|
|
20
|
+
removeAt(index) { }
|
|
21
|
+
createChildNode() { }
|
|
22
|
+
removeChildNode() { }
|
|
23
|
+
}
|
|
24
|
+
export class LeafNode extends NodeBase {
|
|
25
|
+
get children() {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
constructor(question, control, parentControl, form, parentPath) {
|
|
29
|
+
super(question, control, form, parentPath);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class GroupNode extends NodeBase {
|
|
33
|
+
constructor(question, control, parentControl, form, parentPath) {
|
|
34
|
+
super(question, control, form, parentPath);
|
|
35
|
+
this._children = {};
|
|
36
|
+
}
|
|
37
|
+
get children() {
|
|
38
|
+
return this._children;
|
|
39
|
+
}
|
|
40
|
+
setChild(key, node) {
|
|
41
|
+
this.children[key] = node;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export class ArrayNode extends NodeBase {
|
|
45
|
+
constructor(question, control, parentControl, formFactory, form, parentPath) {
|
|
46
|
+
super(question, control, form, parentPath);
|
|
47
|
+
this.formFactory = formFactory;
|
|
48
|
+
this.childNodeCreatedEvents = [];
|
|
49
|
+
this._children = [];
|
|
50
|
+
this.childNodeCreatedEvents = [];
|
|
51
|
+
}
|
|
52
|
+
get children() {
|
|
53
|
+
return this._children;
|
|
54
|
+
}
|
|
55
|
+
createChildNode() {
|
|
56
|
+
if (this.createChildFunc) {
|
|
57
|
+
const g = this.createChildFunc(this.question, this, this.formFactory);
|
|
58
|
+
this.fireChildNodeCreatedListener(g);
|
|
59
|
+
return g;
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
removeAt(index) {
|
|
64
|
+
const removePrompt = confirm('Are you sure you want to remove?');
|
|
65
|
+
if (removePrompt) {
|
|
66
|
+
if (this.removeChildFunc) {
|
|
67
|
+
this.removeChildFunc(index, this);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
addChildNodeCreatedListener(func) {
|
|
72
|
+
this.childNodeCreatedEvents.push(func);
|
|
73
|
+
}
|
|
74
|
+
fireChildNodeCreatedListener(node) {
|
|
75
|
+
for (let i = 0; i < this.childNodeCreatedEvents.length; i++) {
|
|
76
|
+
const func = this.childNodeCreatedEvents[i];
|
|
77
|
+
func(node);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQSxNQUFNLE9BQWdCLFFBQVE7SUFTNUIsWUFDRSxRQUFzQixFQUN0QixPQUFzRCxFQUN0RCxJQUFXLEVBQ1gsVUFBbUI7UUFFbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLElBQUcsQ0FBQztJQUUxQixlQUFlLEtBQUksQ0FBQztJQUNwQixlQUFlLEtBQUksQ0FBQztDQUNyQjtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBUTtJQUNwQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQzVELElBQVcsRUFDWCxVQUFtQjtRQUVuQixLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxRQUFRO0lBRXJDLFlBQ0UsUUFBc0IsRUFDdEIsT0FBc0QsRUFDdEQsYUFBNEQsRUFDNUQsSUFBVyxFQUNYLFVBQW1CO1FBRW5CLEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFjO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBUTtJQU1yQyxZQUNFLFFBQXNCLEVBQ3RCLE9BQXNELEVBQ3RELGFBQTRELEVBQ3BELFdBQXlCLEVBQ2pDLElBQVcsRUFDWCxVQUFtQjtRQUVuQixLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFKbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFUM0IsMkJBQXNCLEdBQVUsRUFBRSxDQUFDO1FBY3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFjLElBQUksQ0FBQyxlQUFlLENBQ3ZDLElBQUksQ0FBQyxRQUE2QixFQUNsQyxJQUFJLEVBQ0osSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztZQUNGLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDakUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLElBQVM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsNEJBQTRCLENBQUMsSUFBZTtRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS5mYWN0b3J5JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG4vLyBpbXBvcnQgeyBBZmVDb250cm9sVHlwZSwgQWZlRm9ybUFycmF5LCBBZmVGb3JtR3JvdXAsIEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSwgUmVwZWF0aW5nUXVlc3Rpb24gfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuZXhwb3J0IGludGVyZmFjZSBDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIge1xuICBhZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZnVuYzogYW55KTtcblxuICBmaXJlQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKG5vZGU6IEdyb3VwTm9kZSk7XG59XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb24gPSAoXG4gIHF1ZXN0aW9uOiBSZXBlYXRpbmdRdWVzdGlvbixcbiAgbm9kZTogQXJyYXlOb2RlLFxuICBmYWN0b3J5PzogRm9ybUZhY3RvcnlcbikgPT4gR3JvdXBOb2RlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb24ge1xuICAoaW5kZXg6IG51bWJlciwgbm9kZTogQXJyYXlOb2RlKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5vZGVCYXNlIHtcbiAgcHVibGljIGFic3RyYWN0IGNoaWxkcmVuPzogYW55O1xuICBwcml2YXRlIF9jb250cm9sOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cDtcbiAgcHJpdmF0ZSBfcXVlc3Rpb25Nb2RlbDogUXVlc3Rpb25CYXNlO1xuICBwcml2YXRlIF9mb3JtOiBGb3JtO1xuICBwcml2YXRlIF9wYXRoOiBzdHJpbmc7XG5cbiAgcHVibGljIGluaXRpYWxWYWx1ZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbkJhc2UsXG4gICAgY29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtLFxuICAgIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5fY29udHJvbCA9IGNvbnRyb2w7XG4gICAgdGhpcy5fcXVlc3Rpb25Nb2RlbCA9IHF1ZXN0aW9uO1xuICAgIHRoaXMuX2Zvcm0gPSBmb3JtO1xuICAgIHRoaXMuX3BhdGggPSBwYXJlbnRQYXRoID8gcGFyZW50UGF0aCArICcuJyArIHF1ZXN0aW9uLmtleSA6IHF1ZXN0aW9uLmtleTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlc3Rpb24oKTogUXVlc3Rpb25CYXNlIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlc3Rpb25Nb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udHJvbCgpOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvcm0oKTogRm9ybSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGF0aDtcbiAgfVxuICBcbiAgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge31cblxuICBjcmVhdGVDaGlsZE5vZGUoKSB7fVxuICByZW1vdmVDaGlsZE5vZGUoKSB7fVxufVxuXG5leHBvcnQgY2xhc3MgTGVhZk5vZGUgZXh0ZW5kcyBOb2RlQmFzZSB7XG4gIGdldCBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdHJ1Y3RvcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w/OiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm0sXG4gICAgcGFyZW50UGF0aD86IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihxdWVzdGlvbiwgY29udHJvbCwgZm9ybSwgcGFyZW50UGF0aCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdyb3VwTm9kZSBleHRlbmRzIE5vZGVCYXNlIHtcbiAgcHJpdmF0ZSBfY2hpbGRyZW46IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtLFxuICAgIHBhcmVudFBhdGg/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIocXVlc3Rpb24sIGNvbnRyb2wsIGZvcm0sIHBhcmVudFBhdGgpO1xuICAgIHRoaXMuX2NoaWxkcmVuID0ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIHNldENoaWxkKGtleTogc3RyaW5nLCBub2RlOiBOb2RlQmFzZSkge1xuICAgIHRoaXMuY2hpbGRyZW5ba2V5XSA9IG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFycmF5Tm9kZSBleHRlbmRzIE5vZGVCYXNlIGltcGxlbWVudHMgQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyIHtcbiAgcHJpdmF0ZSBjaGlsZE5vZGVDcmVhdGVkRXZlbnRzOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIF9jaGlsZHJlbjogR3JvdXBOb2RlW107XG4gIHB1YmxpYyBjcmVhdGVDaGlsZEZ1bmM6IENyZWF0ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG4gIHB1YmxpYyByZW1vdmVDaGlsZEZ1bmM6IFJlbW92ZUFycmF5Q2hpbGROb2RlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sPzogQWZlRm9ybUNvbnRyb2wgfCBBZmVGb3JtQXJyYXkgfCBBZmVGb3JtR3JvdXAsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIHByaXZhdGUgZm9ybUZhY3Rvcnk/OiBGb3JtRmFjdG9yeSxcbiAgICBmb3JtPzogRm9ybSxcbiAgICBwYXJlbnRQYXRoPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKHF1ZXN0aW9uLCBjb250cm9sLCBmb3JtLCBwYXJlbnRQYXRoKTtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IFtdO1xuICAgIHRoaXMuY2hpbGROb2RlQ3JlYXRlZEV2ZW50cyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZHJlbigpOiBHcm91cE5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUNoaWxkTm9kZSgpOiBHcm91cE5vZGUge1xuICAgIGlmICh0aGlzLmNyZWF0ZUNoaWxkRnVuYykge1xuICAgICAgY29uc3QgZzogR3JvdXBOb2RlID0gdGhpcy5jcmVhdGVDaGlsZEZ1bmMoXG4gICAgICAgIHRoaXMucXVlc3Rpb24gYXMgUmVwZWF0aW5nUXVlc3Rpb24sXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMuZm9ybUZhY3RvcnlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpcmVDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZyk7XG4gICAgICByZXR1cm4gZztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHJlbW92ZVByb21wdCA9IGNvbmZpcm0oJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmU/Jyk7XG4gICAgaWYgKHJlbW92ZVByb21wdCkge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlQ2hpbGRGdW5jKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGRGdW5jKGluZGV4LCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhZGRDaGlsZE5vZGVDcmVhdGVkTGlzdGVuZXIoZnVuYzogYW55KSB7XG4gICAgdGhpcy5jaGlsZE5vZGVDcmVhdGVkRXZlbnRzLnB1c2goZnVuYyk7XG4gIH1cblxuICBmaXJlQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKG5vZGU6IEdyb3VwTm9kZSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jaGlsZE5vZGVDcmVhdGVkRXZlbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBmdW5jOiBhbnkgPSB0aGlzLmNoaWxkTm9kZUNyZWF0ZWRFdmVudHNbaV07XG4gICAgICBmdW5jKG5vZGUpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
// import { AbstractControl } from '@angular/forms';
|
|
3
|
+
import { LeafNode, GroupNode, ArrayNode } from './form-node';
|
|
4
|
+
import { NestedQuestion, RepeatingQuestion, QuestionGroup } from '../question-models/models';
|
|
5
|
+
import { FormControlService } from './form-control.service';
|
|
6
|
+
import { QuestionFactory } from './question.factory';
|
|
7
|
+
import { AfeControlType, AfeFormArray } from '../../abstract-controls-extension';
|
|
8
|
+
import { ControlRelationsFactory } from './control-relations.factory';
|
|
9
|
+
import { Validations } from '../validators/validations';
|
|
10
|
+
import { Form } from './form';
|
|
11
|
+
export class FormFactory {
|
|
12
|
+
constructor(controlService, questionFactroy, controlRelationsFactory) {
|
|
13
|
+
this.controlService = controlService;
|
|
14
|
+
this.questionFactroy = questionFactroy;
|
|
15
|
+
this.controlRelationsFactory = controlRelationsFactory;
|
|
16
|
+
this.hd = {
|
|
17
|
+
getValue: () => {
|
|
18
|
+
return 20;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
createForm(schema, dataSource) {
|
|
23
|
+
const form = new Form(schema, this, this.questionFactroy);
|
|
24
|
+
if (dataSource) {
|
|
25
|
+
for (const key in dataSource) {
|
|
26
|
+
if (dataSource.hasOwnProperty(key)) {
|
|
27
|
+
form.dataSourcesContainer.registerDataSource(key, dataSource[key], false);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const question = this.questionFactroy.createQuestionModel(schema, form);
|
|
32
|
+
form.rootNode = this.createNode(question, null, null, form);
|
|
33
|
+
this.buildRelations(form.rootNode);
|
|
34
|
+
form.updateHiddenDisabledStateForAllControls();
|
|
35
|
+
form.updateAlertsForAllControls();
|
|
36
|
+
return form;
|
|
37
|
+
}
|
|
38
|
+
buildRelations(rootNode) {
|
|
39
|
+
Validations.JSExpressionValidatorsEnabled = false;
|
|
40
|
+
this.controlRelationsFactory.buildRelations(rootNode);
|
|
41
|
+
// enable js expression validations
|
|
42
|
+
Validations.JSExpressionValidatorsEnabled = true;
|
|
43
|
+
}
|
|
44
|
+
createNode(question, parentNode, parentControl, form) {
|
|
45
|
+
let node = null;
|
|
46
|
+
if (question instanceof NestedQuestion) {
|
|
47
|
+
if (question instanceof RepeatingQuestion) {
|
|
48
|
+
node = this.createArrayNode(question, parentNode, parentControl, form);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
node = this.createGroupNode(question, parentNode, parentControl, form);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
node = this.createLeafNode(question, parentNode, parentControl, form);
|
|
56
|
+
}
|
|
57
|
+
return node;
|
|
58
|
+
}
|
|
59
|
+
createLeafNode(question, parentNode, parentControl, form) {
|
|
60
|
+
const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
|
|
61
|
+
return new LeafNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
|
|
62
|
+
}
|
|
63
|
+
createGroupNode(question, parentNode, parentControl, form) {
|
|
64
|
+
const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
|
|
65
|
+
const groupNode = new GroupNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
|
|
66
|
+
this.createNodeChildren(question, groupNode, controlModel || parentControl, form);
|
|
67
|
+
return groupNode;
|
|
68
|
+
}
|
|
69
|
+
createArrayNode(question, parentNode, parentControl, form) {
|
|
70
|
+
const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
|
|
71
|
+
const arrayNode = new ArrayNode(question, controlModel, parentControl, this, form, parentNode ? parentNode.path : undefined);
|
|
72
|
+
arrayNode.createChildFunc = this.createArrayNodeChild;
|
|
73
|
+
arrayNode.removeChildFunc = this.removeArrayNodeChild;
|
|
74
|
+
arrayNode.addChildNodeCreatedListener((node) => {
|
|
75
|
+
Validations.JSExpressionValidatorsEnabled = false;
|
|
76
|
+
this.controlRelationsFactory.buildArrayNodeRelations(node);
|
|
77
|
+
Validations.JSExpressionValidatorsEnabled = true;
|
|
78
|
+
});
|
|
79
|
+
return arrayNode;
|
|
80
|
+
}
|
|
81
|
+
createNodeChildren(question, node, parentControl, form) {
|
|
82
|
+
question.questions.forEach((element) => {
|
|
83
|
+
const child = this.createNode(element, node, parentControl, form);
|
|
84
|
+
node.setChild(element.key, child);
|
|
85
|
+
});
|
|
86
|
+
return node.children;
|
|
87
|
+
}
|
|
88
|
+
createArrayNodeChild(question, node, factory) {
|
|
89
|
+
if (factory === null || factory === undefined) {
|
|
90
|
+
factory = this;
|
|
91
|
+
}
|
|
92
|
+
const groupQuestion = new QuestionGroup({
|
|
93
|
+
key: node.path + '.' + node.children.length + '',
|
|
94
|
+
type: 'group',
|
|
95
|
+
extras: question.extras,
|
|
96
|
+
label: '',
|
|
97
|
+
questions: question.questions
|
|
98
|
+
});
|
|
99
|
+
if (question.controlType === AfeControlType.None) {
|
|
100
|
+
groupQuestion.controlType = question.controlType;
|
|
101
|
+
}
|
|
102
|
+
const group = factory.createGroupNode(groupQuestion, null, null, node.form);
|
|
103
|
+
node.children.push(group);
|
|
104
|
+
if (node.control instanceof AfeFormArray) {
|
|
105
|
+
const nodeControl = node.control;
|
|
106
|
+
nodeControl.setControl(nodeControl.controls.length, group.control);
|
|
107
|
+
}
|
|
108
|
+
return group;
|
|
109
|
+
}
|
|
110
|
+
removeArrayNodeChild(index, node) {
|
|
111
|
+
const nodeToRemove = node.children[index];
|
|
112
|
+
node.children.splice(index, 1);
|
|
113
|
+
if (node.control !== null || node.control !== undefined) {
|
|
114
|
+
if (node.control instanceof AfeFormArray) {
|
|
115
|
+
const control = node.control;
|
|
116
|
+
const controlIndexToRemove = control.controls.indexOf(nodeToRemove.control);
|
|
117
|
+
if (controlIndexToRemove >= 0) {
|
|
118
|
+
control.removeAt(controlIndexToRemove);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
FormFactory.decorators = [
|
|
125
|
+
{ type: Injectable }
|
|
126
|
+
];
|
|
127
|
+
FormFactory.ctorParameters = () => [
|
|
128
|
+
{ type: FormControlService },
|
|
129
|
+
{ type: QuestionFactory },
|
|
130
|
+
{ type: ControlRelationsFactory }
|
|
131
|
+
];
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0Msb0RBQW9EO0FBRXBELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBWSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBRUwsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixhQUFhLEVBQ2QsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUVMLGNBQWMsRUFDZCxZQUFZLEVBQ2IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUc5QixNQUFNLE9BQU8sV0FBVztJQU90QixZQUNTLGNBQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLHVCQUFnRDtRQUZoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFUbEQsT0FBRSxHQUFRO1lBQ2YsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFDO0lBTUMsQ0FBQztJQUVKLFVBQVUsQ0FBQyxNQUFXLEVBQUUsVUFBZ0I7UUFD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QUFXLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxJQUFlO1FBQ2pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDdkQsSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLFlBQVksRUFBRTtnQkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQXVCLENBQUM7Z0JBQzdDLE1BQU0sb0JBQW9CLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ25ELFlBQVksQ0FBQyxPQUFPLENBQ3JCLENBQUM7Z0JBQ0YsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLEVBQUU7b0JBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7O1lBMU1GLFVBQVU7OztZQVpGLGtCQUFrQjtZQUNsQixlQUFlO1lBTWYsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBMZWFmTm9kZSwgR3JvdXBOb2RlLCBBcnJheU5vZGUsIE5vZGVCYXNlIH0gZnJvbSAnLi9mb3JtLW5vZGUnO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb25CYXNlLFxuICBOZXN0ZWRRdWVzdGlvbixcbiAgUmVwZWF0aW5nUXVlc3Rpb24sXG4gIFF1ZXN0aW9uR3JvdXBcbn0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL21vZGVscyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7IFF1ZXN0aW9uRmFjdG9yeSB9IGZyb20gJy4vcXVlc3Rpb24uZmFjdG9yeSc7XG5pbXBvcnQge1xuICBBZmVGb3JtR3JvdXAsXG4gIEFmZUNvbnRyb2xUeXBlLFxuICBBZmVGb3JtQXJyYXlcbn0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uJztcbmltcG9ydCB7IENvbnRyb2xSZWxhdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi9jb250cm9sLXJlbGF0aW9ucy5mYWN0b3J5JztcbmltcG9ydCB7IFZhbGlkYXRpb25zIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUZhY3Rvcnkge1xuICBwdWJsaWMgaGQ6IGFueSA9IHtcbiAgICBnZXRWYWx1ZTogKCkgPT4ge1xuICAgICAgcmV0dXJuIDIwO1xuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbFNlcnZpY2U6IEZvcm1Db250cm9sU2VydmljZSxcbiAgICBwdWJsaWMgcXVlc3Rpb25GYWN0cm95OiBRdWVzdGlvbkZhY3RvcnksXG4gICAgcHVibGljIGNvbnRyb2xSZWxhdGlvbnNGYWN0b3J5OiBDb250cm9sUmVsYXRpb25zRmFjdG9yeVxuICApIHt9XG5cbiAgY3JlYXRlRm9ybShzY2hlbWE6IGFueSwgZGF0YVNvdXJjZT86IGFueSk6IEZvcm0ge1xuICAgIGNvbnN0IGZvcm06IEZvcm0gPSBuZXcgRm9ybShzY2hlbWEsIHRoaXMsIHRoaXMucXVlc3Rpb25GYWN0cm95KTtcbiAgICBpZiAoZGF0YVNvdXJjZSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YVNvdXJjZSkge1xuICAgICAgICBpZiAoZGF0YVNvdXJjZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgZm9ybS5kYXRhU291cmNlc0NvbnRhaW5lci5yZWdpc3RlckRhdGFTb3VyY2UoXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBkYXRhU291cmNlW2tleV0sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLnF1ZXN0aW9uRmFjdHJveS5jcmVhdGVRdWVzdGlvbk1vZGVsKHNjaGVtYSwgZm9ybSk7XG4gICAgZm9ybS5yb290Tm9kZSA9IHRoaXMuY3JlYXRlTm9kZShxdWVzdGlvbiwgbnVsbCwgbnVsbCwgZm9ybSkgYXMgR3JvdXBOb2RlO1xuXG4gICAgdGhpcy5idWlsZFJlbGF0aW9ucyhmb3JtLnJvb3ROb2RlKTtcbiAgICBmb3JtLnVwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scygpO1xuICAgIGZvcm0udXBkYXRlQWxlcnRzRm9yQWxsQ29udHJvbHMoKTtcbiAgICByZXR1cm4gZm9ybTtcbiAgfVxuXG4gIGJ1aWxkUmVsYXRpb25zKHJvb3ROb2RlOiBHcm91cE5vZGUpIHtcbiAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuY29udHJvbFJlbGF0aW9uc0ZhY3RvcnkuYnVpbGRSZWxhdGlvbnMocm9vdE5vZGUpO1xuXG4gICAgLy8gZW5hYmxlIGpzIGV4cHJlc3Npb24gdmFsaWRhdGlvbnNcbiAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IHRydWU7XG4gIH1cblxuICBjcmVhdGVOb2RlKFxuICAgIHF1ZXN0aW9uOiBRdWVzdGlvbkJhc2UgfCBOZXN0ZWRRdWVzdGlvbixcbiAgICBwYXJlbnROb2RlPzogR3JvdXBOb2RlLFxuICAgIHBhcmVudENvbnRyb2w/OiBBZmVGb3JtR3JvdXAsXG4gICAgZm9ybT86IEZvcm1cbiAgKTogTm9kZUJhc2Uge1xuICAgIGxldCBub2RlOiBOb2RlQmFzZSA9IG51bGw7XG4gICAgaWYgKHF1ZXN0aW9uIGluc3RhbmNlb2YgTmVzdGVkUXVlc3Rpb24pIHtcbiAgICAgIGlmIChxdWVzdGlvbiBpbnN0YW5jZW9mIFJlcGVhdGluZ1F1ZXN0aW9uKSB7XG4gICAgICAgIG5vZGUgPSB0aGlzLmNyZWF0ZUFycmF5Tm9kZShxdWVzdGlvbiwgcGFyZW50Tm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlID0gdGhpcy5jcmVhdGVHcm91cE5vZGUocXVlc3Rpb24sIHBhcmVudE5vZGUsIHBhcmVudENvbnRyb2wsIGZvcm0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlID0gdGhpcy5jcmVhdGVMZWFmTm9kZShxdWVzdGlvbiwgcGFyZW50Tm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY3JlYXRlTGVhZk5vZGUoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBwYXJlbnROb2RlOiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBMZWFmTm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBMZWFmTm9kZShcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgY29udHJvbE1vZGVsLFxuICAgICAgbnVsbCxcbiAgICAgIGZvcm0sXG4gICAgICBwYXJlbnROb2RlID8gcGFyZW50Tm9kZS5wYXRoIDogdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUdyb3VwTm9kZShcbiAgICBxdWVzdGlvbjogTmVzdGVkUXVlc3Rpb24sXG4gICAgcGFyZW50Tm9kZT86IEdyb3VwTm9kZSxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEdyb3VwTm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICkgYXMgQWZlRm9ybUdyb3VwO1xuICAgIGNvbnN0IGdyb3VwTm9kZSA9IG5ldyBHcm91cE5vZGUoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGNvbnRyb2xNb2RlbCxcbiAgICAgIG51bGwsXG4gICAgICBmb3JtLFxuICAgICAgcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUucGF0aCA6IHVuZGVmaW5lZFxuICAgICk7XG4gICAgdGhpcy5jcmVhdGVOb2RlQ2hpbGRyZW4oXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGdyb3VwTm9kZSxcbiAgICAgIGNvbnRyb2xNb2RlbCB8fCBwYXJlbnRDb250cm9sLFxuICAgICAgZm9ybVxuICAgICk7XG4gICAgcmV0dXJuIGdyb3VwTm9kZTtcbiAgfVxuXG4gIGNyZWF0ZUFycmF5Tm9kZShcbiAgICBxdWVzdGlvbjogTmVzdGVkUXVlc3Rpb24sXG4gICAgcGFyZW50Tm9kZT86IEdyb3VwTm9kZSxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEFycmF5Tm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICkgYXMgQWZlRm9ybUdyb3VwO1xuICAgIGNvbnN0IGFycmF5Tm9kZSA9IG5ldyBBcnJheU5vZGUoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGNvbnRyb2xNb2RlbCxcbiAgICAgIHBhcmVudENvbnRyb2wsXG4gICAgICB0aGlzLFxuICAgICAgZm9ybSxcbiAgICAgIHBhcmVudE5vZGUgPyBwYXJlbnROb2RlLnBhdGggOiB1bmRlZmluZWRcbiAgICApO1xuICAgIGFycmF5Tm9kZS5jcmVhdGVDaGlsZEZ1bmMgPSB0aGlzLmNyZWF0ZUFycmF5Tm9kZUNoaWxkO1xuICAgIGFycmF5Tm9kZS5yZW1vdmVDaGlsZEZ1bmMgPSB0aGlzLnJlbW92ZUFycmF5Tm9kZUNoaWxkO1xuXG4gICAgYXJyYXlOb2RlLmFkZENoaWxkTm9kZUNyZWF0ZWRMaXN0ZW5lcigobm9kZTogR3JvdXBOb2RlKSA9PiB7XG4gICAgICBWYWxpZGF0aW9ucy5KU0V4cHJlc3Npb25WYWxpZGF0b3JzRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jb250cm9sUmVsYXRpb25zRmFjdG9yeS5idWlsZEFycmF5Tm9kZVJlbGF0aW9ucyhub2RlKTtcbiAgICAgIFZhbGlkYXRpb25zLkpTRXhwcmVzc2lvblZhbGlkYXRvcnNFbmFibGVkID0gdHJ1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gYXJyYXlOb2RlO1xuICB9XG5cbiAgY3JlYXRlTm9kZUNoaWxkcmVuKFxuICAgIHF1ZXN0aW9uOiBOZXN0ZWRRdWVzdGlvbixcbiAgICBub2RlOiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBhbnkge1xuICAgIHF1ZXN0aW9uLnF1ZXN0aW9ucy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMuY3JlYXRlTm9kZShlbGVtZW50LCBub2RlLCBwYXJlbnRDb250cm9sLCBmb3JtKTtcbiAgICAgIG5vZGUuc2V0Q2hpbGQoZWxlbWVudC5rZXksIGNoaWxkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbjtcbiAgfVxuXG4gIGNyZWF0ZUFycmF5Tm9kZUNoaWxkKFxuICAgIHF1ZXN0aW9uOiBSZXBlYXRpbmdRdWVzdGlvbixcbiAgICBub2RlOiBBcnJheU5vZGUsXG4gICAgZmFjdG9yeT86IEZvcm1GYWN0b3J5XG4gICk6IEdyb3VwTm9kZSB7XG4gICAgaWYgKGZhY3RvcnkgPT09IG51bGwgfHwgZmFjdG9yeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmYWN0b3J5ID0gdGhpcztcbiAgICB9XG4gICAgY29uc3QgZ3JvdXBRdWVzdGlvbjogUXVlc3Rpb25Hcm91cCA9IG5ldyBRdWVzdGlvbkdyb3VwKHtcbiAgICAgIGtleTogbm9kZS5wYXRoICsgJy4nICsgbm9kZS5jaGlsZHJlbi5sZW5ndGggKyAnJyxcbiAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICBleHRyYXM6IHF1ZXN0aW9uLmV4dHJhcyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHF1ZXN0aW9uczogcXVlc3Rpb24ucXVlc3Rpb25zXG4gICAgfSk7XG5cbiAgICBpZiAocXVlc3Rpb24uY29udHJvbFR5cGUgPT09IEFmZUNvbnRyb2xUeXBlLk5vbmUpIHtcbiAgICAgIGdyb3VwUXVlc3Rpb24uY29udHJvbFR5cGUgPSBxdWVzdGlvbi5jb250cm9sVHlwZTtcbiAgICB9XG5cbiAgICBjb25zdCBncm91cCA9IGZhY3RvcnkuY3JlYXRlR3JvdXBOb2RlKGdyb3VwUXVlc3Rpb24sIG51bGwsIG51bGwsIG5vZGUuZm9ybSk7XG4gICAgbm9kZS5jaGlsZHJlbi5wdXNoKGdyb3VwKTtcblxuICAgIGlmIChub2RlLmNvbnRyb2wgaW5zdGFuY2VvZiBBZmVGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnN0IG5vZGVDb250cm9sID0gbm9kZS5jb250cm9sIGFzIEFmZUZvcm1BcnJheTtcbiAgICAgIG5vZGVDb250cm9sLnNldENvbnRyb2wobm9kZUNvbnRyb2wuY29udHJvbHMubGVuZ3RoLCBncm91cC5jb250cm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JvdXA7XG4gIH1cblxuICByZW1vdmVBcnJheU5vZGVDaGlsZChpbmRleDogbnVtYmVyLCBub2RlOiBBcnJheU5vZGUpIHtcbiAgICBjb25zdCBub2RlVG9SZW1vdmUgPSBub2RlLmNoaWxkcmVuW2luZGV4XTtcblxuICAgIG5vZGUuY2hpbGRyZW4uc3BsaWNlKGluZGV4LCAxKTtcbiAgICBpZiAobm9kZS5jb250cm9sICE9PSBudWxsIHx8IG5vZGUuY29udHJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAobm9kZS5jb250cm9sIGluc3RhbmNlb2YgQWZlRm9ybUFycmF5KSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBub2RlLmNvbnRyb2wgYXMgQWZlRm9ybUFycmF5O1xuICAgICAgICBjb25zdCBjb250cm9sSW5kZXhUb1JlbW92ZSA9IGNvbnRyb2wuY29udHJvbHMuaW5kZXhPZihcbiAgICAgICAgICBub2RlVG9SZW1vdmUuY29udHJvbFxuICAgICAgICApO1xuICAgICAgICBpZiAoY29udHJvbEluZGV4VG9SZW1vdmUgPj0gMCkge1xuICAgICAgICAgIGNvbnRyb2wucmVtb3ZlQXQoY29udHJvbEluZGV4VG9SZW1vdmUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import * as _ from 'lodash';
|
|
2
|
+
import { DataSources } from '../data-sources/data-sources';
|
|
3
|
+
import { GroupNode, LeafNode, ArrayNode } from './form-node';
|
|
4
|
+
export class Form {
|
|
5
|
+
constructor(schema, formFactory, questionFactory) {
|
|
6
|
+
this.schema = schema;
|
|
7
|
+
this.formFactory = formFactory;
|
|
8
|
+
this.questionFactory = questionFactory;
|
|
9
|
+
this.valueProcessingInfo = {};
|
|
10
|
+
this.existingOrders = {};
|
|
11
|
+
this._showErrors = false;
|
|
12
|
+
this._dataSourcesContainer = new DataSources();
|
|
13
|
+
}
|
|
14
|
+
get dataSourcesContainer() {
|
|
15
|
+
return this._dataSourcesContainer;
|
|
16
|
+
}
|
|
17
|
+
searchNodeByPath(node, path, found) {
|
|
18
|
+
const children = node.children;
|
|
19
|
+
for (const key in children) {
|
|
20
|
+
if (children.hasOwnProperty(key)) {
|
|
21
|
+
const child = children[key];
|
|
22
|
+
if (child instanceof GroupNode) {
|
|
23
|
+
if (path === child.path) {
|
|
24
|
+
found.push(child);
|
|
25
|
+
return found;
|
|
26
|
+
}
|
|
27
|
+
this.searchNodeByPath(child, path, found);
|
|
28
|
+
}
|
|
29
|
+
else if (child instanceof LeafNode) {
|
|
30
|
+
if (path === child.path) {
|
|
31
|
+
found.push(child);
|
|
32
|
+
return found;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (child instanceof ArrayNode) {
|
|
36
|
+
if (path === child.path) {
|
|
37
|
+
found.push(child);
|
|
38
|
+
return found;
|
|
39
|
+
}
|
|
40
|
+
const aChild = child;
|
|
41
|
+
aChild.children.forEach((aChildNode) => {
|
|
42
|
+
this.searchNodeByPath(aChildNode, path, found);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return found;
|
|
48
|
+
}
|
|
49
|
+
searchNodeByQuestionId(questionId, questionType) {
|
|
50
|
+
const found = [];
|
|
51
|
+
if (questionType) {
|
|
52
|
+
this.searchNodeByQuestionType(this.rootNode, questionType, found);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.findNodesByQuestionId(this.rootNode, questionId, found);
|
|
56
|
+
}
|
|
57
|
+
return found;
|
|
58
|
+
}
|
|
59
|
+
searchNodeByQuestionType(rootNode, questionType, found) {
|
|
60
|
+
if (rootNode instanceof GroupNode) {
|
|
61
|
+
const nodeAsGroup = rootNode;
|
|
62
|
+
// eslint-disable-next-line guard-for-in
|
|
63
|
+
for (const o in nodeAsGroup.children) {
|
|
64
|
+
this.searchNodeByQuestionType(nodeAsGroup.children[o], questionType, found);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (rootNode instanceof ArrayNode) {
|
|
68
|
+
const nodeAsArray = rootNode;
|
|
69
|
+
nodeAsArray.children.forEach((node) => {
|
|
70
|
+
this.searchNodeByQuestionType(node, questionType, found);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (rootNode instanceof LeafNode) {
|
|
74
|
+
const questionBase = rootNode.question;
|
|
75
|
+
if (questionBase.extras &&
|
|
76
|
+
questionBase.extras.type &&
|
|
77
|
+
questionBase.extras.type === questionType) {
|
|
78
|
+
found.push(rootNode);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
findNodesByQuestionId(rootNode, questionId, results) {
|
|
83
|
+
if (rootNode.question.key === questionId) {
|
|
84
|
+
results.push(rootNode);
|
|
85
|
+
}
|
|
86
|
+
if (rootNode instanceof GroupNode) {
|
|
87
|
+
const nodeAsGroup = rootNode;
|
|
88
|
+
// eslint-disable-next-line guard-for-in
|
|
89
|
+
for (const o in nodeAsGroup.children) {
|
|
90
|
+
this.findNodesByQuestionId(nodeAsGroup.children[o], questionId, results);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (rootNode instanceof ArrayNode) {
|
|
94
|
+
const nodeAsArray = rootNode;
|
|
95
|
+
nodeAsArray.children.forEach((node) => {
|
|
96
|
+
this.findNodesByQuestionId(node, questionId, results);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
get valid() {
|
|
101
|
+
return this.rootNode.control.valid;
|
|
102
|
+
}
|
|
103
|
+
set showErrors(show) {
|
|
104
|
+
this._showErrors = show;
|
|
105
|
+
}
|
|
106
|
+
get showErrors() {
|
|
107
|
+
return this._showErrors;
|
|
108
|
+
}
|
|
109
|
+
markInvalidControls(node, invalidControlNodes) {
|
|
110
|
+
const children = node.children;
|
|
111
|
+
for (const key in children) {
|
|
112
|
+
if (children.hasOwnProperty(key)) {
|
|
113
|
+
const child = children[key];
|
|
114
|
+
if (child instanceof GroupNode) {
|
|
115
|
+
this.markInvalidControls(child, invalidControlNodes);
|
|
116
|
+
}
|
|
117
|
+
else if (child instanceof LeafNode) {
|
|
118
|
+
const questionBase = child.question;
|
|
119
|
+
if (questionBase.key && questionBase.key.length > 0) {
|
|
120
|
+
const c = child.control;
|
|
121
|
+
if (!c.valid && !c.disabled) {
|
|
122
|
+
if (invalidControlNodes) {
|
|
123
|
+
invalidControlNodes.push(child);
|
|
124
|
+
}
|
|
125
|
+
c.markAsTouched();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if (child instanceof ArrayNode) {
|
|
130
|
+
const arrayNode = child;
|
|
131
|
+
if (arrayNode &&
|
|
132
|
+
arrayNode.children &&
|
|
133
|
+
arrayNode.children.length > 0) {
|
|
134
|
+
_.forEach(arrayNode.children, (groupNode) => {
|
|
135
|
+
this.markInvalidControls(groupNode, invalidControlNodes);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return invalidControlNodes;
|
|
142
|
+
}
|
|
143
|
+
updateHiddenDisabledStateForAllControls() {
|
|
144
|
+
this._updateHiddenDisabledStateForAllControls(this.rootNode);
|
|
145
|
+
}
|
|
146
|
+
updateAlertsForAllControls() {
|
|
147
|
+
this._updateAlertsForAllControls(this.rootNode);
|
|
148
|
+
}
|
|
149
|
+
_updateAlertsForAllControls(rootNode) {
|
|
150
|
+
if (rootNode.control) {
|
|
151
|
+
if (rootNode.control.updateAlert) {
|
|
152
|
+
rootNode.control.updateAlert();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (rootNode instanceof GroupNode) {
|
|
156
|
+
const nodeAsGroup = rootNode;
|
|
157
|
+
// eslint-disable-next-line guard-for-in
|
|
158
|
+
for (const o in nodeAsGroup.children) {
|
|
159
|
+
this._updateAlertsForAllControls(nodeAsGroup.children[o]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
if (rootNode instanceof ArrayNode) {
|
|
163
|
+
const nodeAsArray = rootNode;
|
|
164
|
+
nodeAsArray.children.forEach((node) => {
|
|
165
|
+
this._updateAlertsForAllControls(node);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
_updateHiddenDisabledStateForAllControls(rootNode) {
|
|
170
|
+
if (rootNode.control) {
|
|
171
|
+
if (rootNode.control.updateDisabledState) {
|
|
172
|
+
rootNode.control.updateDisabledState();
|
|
173
|
+
}
|
|
174
|
+
if (rootNode.control.updateHiddenState) {
|
|
175
|
+
rootNode.control.updateHiddenState();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (rootNode instanceof GroupNode) {
|
|
179
|
+
const nodeAsGroup = rootNode;
|
|
180
|
+
// eslint-disable-next-line guard-for-in
|
|
181
|
+
for (const o in nodeAsGroup.children) {
|
|
182
|
+
this._updateHiddenDisabledStateForAllControls(nodeAsGroup.children[o]);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (rootNode instanceof ArrayNode) {
|
|
186
|
+
const nodeAsArray = rootNode;
|
|
187
|
+
nodeAsArray.children.forEach((node) => {
|
|
188
|
+
this._updateHiddenDisabledStateForAllControls(node);
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBWSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUt2RSxNQUFNLE9BQU8sSUFBSTtJQU1mLFlBQ1MsTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLGVBQWdDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDWCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFQbEMsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBTTFCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBZSxFQUFFLElBQUksRUFBRSxLQUFzQjtRQUM1RCxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXpDLEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFO1lBQzFCLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEMsTUFBTSxLQUFLLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV0QyxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUU7b0JBQzlCLElBQUksSUFBSSxL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LHdDQUF3QztZQUN4QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEU7U0FDRjtRQUVELElBQUksUUFBUSxZQUFZLFNBQVMsRUFBRTtZQUNqQyxNQUFNLFdBQVcsR0FBRyxRQUFxQixDQUFDO1lBRTFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS5mYWN0b3J5JztcbmltcG9ydCB7IFF1ZXN0aW9uRmFjdG9yeSB9IGZyb20gJy4vcXVlc3Rpb24uZmFjdG9yeSc7XG5pbXBvcnQgeyBEYXRhU291cmNlcyB9IGZyb20gJy4uL2RhdGEtc291cmNlcy9kYXRhLXNvdXJjZXMnO1xuaW1wb3J0IHsgTm9kZUJhc2UsIEdyb3VwTm9kZSwgTGVhZk5vZGUsIEFycmF5Tm9kZSB9IGZyb20gJy4vZm9ybS1ub2RlJztcbmltcG9ydCB7IFF1ZXN0aW9uQmFzZSB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9xdWVzdGlvbi1iYXNlJztcbmltcG9ydCB7IEFmZUZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHsgQWZlRm9ybUFycmF5IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1mb3JtLWFycmF5JztcblxuZXhwb3J0IGNsYXNzIEZvcm0ge1xuICBwdWJsaWMgcm9vdE5vZGU6IEdyb3VwTm9kZTtcbiAgcHVibGljIHZhbHVlUHJvY2Vzc2luZ0luZm86IGFueSA9IHt9O1xuICBwdWJsaWMgZXhpc3RpbmdPcmRlcnM6IGFueSA9IHt9O1xuICBwcml2YXRlIF9kYXRhU291cmNlc0NvbnRhaW5lcjogRGF0YVNvdXJjZXM7XG4gIHByaXZhdGUgX3Nob3dFcnJvcnMgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNjaGVtYTogYW55LFxuICAgIHB1YmxpYyBmb3JtRmFjdG9yeTogRm9ybUZhY3RvcnksXG4gICAgcHVibGljIHF1ZXN0aW9uRmFjdG9yeTogUXVlc3Rpb25GYWN0b3J5XG4gICkge1xuICAgIHRoaXMuX2RhdGFTb3VyY2VzQ29udGFpbmVyID0gbmV3IERhdGFTb3VyY2VzKCk7XG4gIH1cblxuICBnZXQgZGF0YVNvdXJjZXNDb250YWluZXIoKTogRGF0YVNvdXJjZXMge1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlc0NvbnRhaW5lcjtcbiAgfVxuXG4gIHNlYXJjaE5vZGVCeVBhdGgobm9kZTogR3JvdXBOb2RlLCBwYXRoLCBmb3VuZDogQXJyYXk8Tm9kZUJhc2U+KSB7XG4gICAgY29uc3QgY2hpbGRyZW46IE5vZGVCYXNlID0gbm9kZS5jaGlsZHJlbjtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGNoaWxkcmVuKSB7XG4gICAgICBpZiAoY2hpbGRyZW4uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb25zdCBjaGlsZDogTm9kZUJhc2UgPSBjaGlsZHJlbltrZXldO1xuXG4gICAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIEdyb3VwTm9kZSkge1xuICAgICAgICAgIGlmIChwYXRoID09PSBjaGlsZC5wYXRoKSB7XG4gICAgICAgICAgICBmb3VuZC5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNlYXJjaE5vZGVCeVBhdGgoY2hpbGQsIHBhdGgsIGZvdW5kKTtcbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIExlYWZOb2RlKSB7XG4gICAgICAgICAgaWYgKHBhdGggPT09IGNoaWxkLnBhdGgpIHtcbiAgICAgICAgICAgIGZvdW5kLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgICAgIGlmIChwYXRoID09PSBjaGlsZC5wYXRoKSB7XG4gICAgICAgICAgICBmb3VuZC5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBhQ2hpbGQ6IEFycmF5Tm9kZSA9IGNoaWxkIGFzIEFycmF5Tm9kZTtcblxuICAgICAgICAgIGFDaGlsZC5jaGlsZHJlbi5mb3JFYWNoKChhQ2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaE5vZGVCeVBhdGgoYUNoaWxkTm9kZSwgcGF0aCwgZm91bmQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG5cbiAgc2VhcmNoTm9kZUJ5UXVlc3Rpb25JZChcbiAgICBxdWVzdGlvbklkOiBzdHJpbmcsXG4gICAgcXVlc3Rpb25UeXBlPzogc3RyaW5nXG4gICk6IEFycmF5PE5vZGVCYXNlPiB7XG4gICAgY29uc3QgZm91bmQgPSBbXTtcbiAgICBpZiAocXVlc3Rpb25UeXBlKSB7XG4gICAgICB0aGlzLnNlYXJjaE5vZGVCeVF1ZXN0aW9uVHlwZSh0aGlzLnJvb3ROb2RlLCBxdWVzdGlvblR5cGUsIGZvdW5kKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5kTm9kZXNCeVF1ZXN0aW9uSWQodGhpcy5yb290Tm9kZSwgcXVlc3Rpb25JZCwgZm91bmQpO1xuICAgIH1cbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cblxuICBzZWFyY2hOb2RlQnlRdWVzdGlvblR5cGUoXG4gICAgcm9vdE5vZGU6IGFueSxcbiAgICBxdWVzdGlvblR5cGU6IHN0cmluZyxcbiAgICBmb3VuZDogQXJyYXk8Tm9kZUJhc2U+XG4gICkge1xuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEdyb3VwTm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzR3JvdXAgPSByb290Tm9kZSBhcyBHcm91cE5vZGU7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZ3VhcmQtZm9yLWluXG4gICAgICBmb3IgKGNvbnN0IG8gaW4gbm9kZUFzR3JvdXAuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5zZWFyY2hOb2RlQnlRdWVzdGlvblR5cGUoXG4gICAgICAgICAgbm9kZUFzR3JvdXAuY2hpbGRyZW5bb10sXG4gICAgICAgICAgcXVlc3Rpb25UeXBlLFxuICAgICAgICAgIGZvdW5kXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNBcnJheSA9IHJvb3ROb2RlIGFzIEFycmF5Tm9kZTtcblxuICAgICAgbm9kZUFzQXJyYXkuY2hpbGRyZW4uZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaE5vZGVCeVF1ZXN0aW9uVHlwZShub2RlLCBxdWVzdGlvblR5cGUsIGZvdW5kKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIExlYWZOb2RlKSB7XG4gICAgICBjb25zdCBxdWVzdGlvbkJhc2U6IFF1ZXN0aW9uQmFzZSA9IHJvb3ROb2RlLnF1ZXN0aW9uO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHF1ZXN0aW9uQmFzZS5leHRyYXMgJiZcbiAgICAgICAgcXVlc3Rpb25CYXNlLmV4dHJhcy50eXBlICYmXG4gICAgICAgIHF1ZXN0aW9uQmFzZS5leHRyYXMudHlwZSA9PT0gcXVlc3Rpb25UeXBlXG4gICAgICApIHtcbiAgICAgICAgZm91bmQucHVzaChyb290Tm9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTm9kZXNCeVF1ZXN0aW9uSWQoXG4gICAgcm9vdE5vZGU6IE5vZGVCYXNlLFxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZyxcbiAgICByZXN1bHRzOiBBcnJheTxOb2RlQmFzZT5cbiAgKSB7XG4gICAgaWYgKHJvb3ROb2RlLnF1ZXN0aW9uLmtleSA9PT0gcXVlc3Rpb25JZCkge1xuICAgICAgcmVzdWx0cy5wdXNoKHJvb3ROb2RlKTtcbiAgICB9XG5cbiAgICBpZiAocm9vdE5vZGUgaW5zdGFuY2VvZiBHcm91cE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vZGVBc0dyb3VwID0gcm9vdE5vZGUgYXMgR3JvdXBOb2RlO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGVBc0dyb3VwLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuZmluZE5vZGVzQnlRdWVzdGlvbklkKFxuICAgICAgICAgIG5vZGVBc0dyb3VwLmNoaWxkcmVuW29dLFxuICAgICAgICAgIHF1ZXN0aW9uSWQsXG4gICAgICAgICAgcmVzdWx0c1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzQXJyYXkgPSByb290Tm9kZSBhcyBBcnJheU5vZGU7XG5cbiAgICAgIG5vZGVBc0FycmF5LmNoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgdGhpcy5maW5kTm9kZXNCeVF1ZXN0aW9uSWQobm9kZSwgcXVlc3Rpb25JZCwgcmVzdWx0cyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdE5vZGUuY29udHJvbC52YWxpZDtcbiAgfVxuXG4gIHNldCBzaG93RXJyb3JzKHNob3c6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RXJyb3JzID0gc2hvdztcbiAgfVxuXG4gIGdldCBzaG93RXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93RXJyb3JzO1xuICB9XG5cbiAgbWFya0ludmFsaWRDb250cm9scyhub2RlOiBHcm91cE5vZGUsIGludmFsaWRDb250cm9sTm9kZXM/OiBhbnkpIHtcbiAgICBjb25zdCBjaGlsZHJlbjogTm9kZUJhc2UgPSBub2RlLmNoaWxkcmVuO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2hpbGRyZW4pIHtcbiAgICAgIGlmIChjaGlsZHJlbi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBOb2RlQmFzZSA9IGNoaWxkcmVuW2tleV07XG5cbiAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICAgICAgdGhpcy5tYXJrSW52YWxpZENvbnRyb2xzKGNoaWxkLCBpbnZhbGlkQ29udHJvbE5vZGVzKTtcbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIExlYWZOb2RlKSB7XG4gICAgICAgICAgY29uc3QgcXVlc3Rpb25CYXNlOiBRdWVzdGlvbkJhc2UgPSAoY2hpbGQgYXMgTGVhZk5vZGUpLnF1ZXN0aW9uO1xuXG4gICAgICAgICAgaWYgKHF1ZXN0aW9uQmFzZS5rZXkgJiYgcXVlc3Rpb25CYXNlLmtleS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSA9IGNoaWxkLmNvbnRyb2wgYXNcbiAgICAgICAgICAgICAgfCBBZmVGb3JtQ29udHJvbFxuICAgICAgICAgICAgICB8IEFmZUZvcm1BcnJheTtcblxuICAgICAgICAgICAgaWYgKCFjLnZhbGlkICYmICFjLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIGlmIChpbnZhbGlkQ29udHJvbE5vZGVzKSB7XG4gICAgICAgICAgICAgICAgaW52YWxpZENvbnRyb2xOb2Rlcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgICAgIGNvbnN0IGFycmF5Tm9kZTogQXJyYXlOb2RlID0gY2hpbGQgYXMgQXJyYXlOb2RlO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgYXJyYXlOb2RlICYmXG4gICAgICAgICAgICBhcnJheU5vZGUuY2hpbGRyZW4gJiZcbiAgICAgICAgICAgIGFycmF5Tm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBfLmZvckVhY2goYXJyYXlOb2RlLmNoaWxkcmVuLCAoZ3JvdXBOb2RlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrSW52YWxpZENvbnRyb2xzKGdyb3VwTm9kZSwgaW52YWxpZENvbnRyb2xOb2Rlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaW52YWxpZENvbnRyb2xOb2RlcztcbiAgfVxuXG4gIHVwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scygpIHtcbiAgICB0aGlzLl91cGRhdGVIaWRkZW5EaXNhYmxlZFN0YXRlRm9yQWxsQ29udHJvbHModGhpcy5yb290Tm9kZSk7XG4gIH1cblxuICB1cGRhdGVBbGVydHNGb3JBbGxDb250cm9scygpIHtcbiAgICB0aGlzLl91cGRhdGVBbGVydHNGb3JBbGxDb250cm9scyh0aGlzLnJvb3ROb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFsZXJ0c0ZvckFsbENvbnRyb2xzKHJvb3ROb2RlOiBOb2RlQmFzZSkge1xuICAgIGlmIChyb290Tm9kZS5jb250cm9sKSB7XG4gICAgICBpZiAoKHJvb3ROb2RlLmNvbnRyb2wgYXMgYW55KS51cGRhdGVBbGVydCkge1xuICAgICAgICAocm9vdE5vZGUuY29udHJvbCBhcyBhbnkpLnVwZGF0ZUFsZXJ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNHcm91cCA9IHJvb3ROb2RlIGFzIEdyb3VwTm9kZTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBndWFyZC1mb3ItaW5cbiAgICAgIGZvciAoY29uc3QgbyBpbiBub2RlQXNHcm91cC5jaGlsZHJlbikge1xuICAgICAgICB0aGlzLl91cGRhdGVBbGVydHNGb3JBbGxDb250cm9scyhub2RlQXNHcm91cC5jaGlsZHJlbltvXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNBcnJheSA9IHJvb3ROb2RlIGFzIEFycmF5Tm9kZTtcblxuICAgICAgbm9kZUFzQXJyYXkuY2hpbGRyZW4uZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVBbGVydHNGb3JBbGxDb250cm9scyhub2RlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF91cGRhdGVIaWRkZW5EaXNhYmxlZFN0YXRlRm9yQWxsQ29udHJvbHMocm9vdE5vZGU6IE5vZGVCYXNlKSB7XG4gICAgaWYgKHJvb3ROb2RlLmNvbnRyb2wpIHtcbiAgICAgIGlmICgocm9vdE5vZGUuY29udHJvbCBhcyBhbnkpLnVwZGF0ZURpc2FibGVkU3RhdGUpIHtcbiAgICAgICAgKHJvb3ROb2RlLmNvbnRyb2wgYXMgYW55KS51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICgocm9vdE5vZGUuY29udHJvbCBhcyBhbnkpLnVwZGF0ZUhpZGRlblN0YXRlKSB7XG4gICAgICAgIChyb290Tm9kZS5jb250cm9sIGFzIGFueSkudXBkYXRlSGlkZGVuU3RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocm9vdE5vZGUgaW5zdGFuY2VvZiBHcm91cE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vZGVBc0dyb3VwID0gcm9vdE5vZGUgYXMgR3JvdXBOb2RlO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGVBc0dyb3VwLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scyhub2RlQXNHcm91cC5jaGlsZHJlbltvXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNBcnJheSA9IHJvb3ROb2RlIGFzIEFycmF5Tm9kZTtcblxuICAgICAgbm9kZUFzQXJyYXkuY2hpbGRyZW4uZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVIaWRkZW5EaXNhYmxlZFN0YXRlRm9yQWxsQ29udHJvbHMobm9kZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ExpressionRunner } from '../expression-runner/expression-runner';
|
|
3
|
+
import { JsExpressionHelper } from '../helpers/js-expression-helper';
|
|
4
|
+
// Add ability to display all fields for debugging
|
|
5
|
+
import { DebugModeService } from './../services/debug-mode.service';
|
|
6
|
+
export class HidersDisablersFactory {
|
|
7
|
+
constructor(expressionRunner, expressionHelper, _debugModeService) {
|
|
8
|
+
this.expressionRunner = expressionRunner;
|
|
9
|
+
this.expressionHelper = expressionHelper;
|
|
10
|
+
this._debugModeService = _debugModeService;
|
|
11
|
+
}
|
|
12
|
+
getJsExpressionDisabler(question, control, form) {
|
|
13
|
+
const runnable = this.expressionRunner.getRunnable(question.disable, control, this.expressionHelper.helperFunctions, {}, form);
|
|
14
|
+
const disabler = {
|
|
15
|
+
toDisable: false,
|
|
16
|
+
disableWhenExpression: question.disable,
|
|
17
|
+
reEvaluateDisablingExpression: () => {
|
|
18
|
+
const result = runnable.run();
|
|
19
|
+
disabler.toDisable = result;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return disabler;
|
|
23
|
+
}
|
|
24
|
+
getJsExpressionHider(question, control, form) {
|
|
25
|
+
const hide = question.hide;
|
|
26
|
+
const value = typeof hide === 'object'
|
|
27
|
+
? this.convertHideObjectToString(hide)
|
|
28
|
+
: question.hide;
|
|
29
|
+
// check if debugging has been enabled
|
|
30
|
+
const debugEnabled = this._debugModeService.debugEnabled();
|
|
31
|
+
const runnable = this.expressionRunner.getRunnable(value, control, this.expressionHelper.helperFunctions, {}, form);
|
|
32
|
+
const hider = {
|
|
33
|
+
toHide: false,
|
|
34
|
+
hideWhenExpression: value,
|
|
35
|
+
reEvaluateHidingExpression: () => {
|
|
36
|
+
/* if debug is enabled then hiders to be false
|
|
37
|
+
else run the normal eveluator i.e runnable.run()
|
|
38
|
+
*/
|
|
39
|
+
if (debugEnabled === true) {
|
|
40
|
+
hider.toHide = false;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
hider.toHide = runnable.run();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return hider;
|
|
48
|
+
}
|
|
49
|
+
convertHideObjectToString(hide) {
|
|
50
|
+
if (hide.value instanceof Array) {
|
|
51
|
+
const arrayStr = "'" + hide.value.join("','") + "'";
|
|
52
|
+
const exp = '!arrayContains([' + arrayStr + '],' + hide.field + ')';
|
|
53
|
+
return exp;
|
|
54
|
+
}
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
HidersDisablersFactory.decorators = [
|
|
59
|
+
{ type: Injectable }
|
|
60
|
+
];
|
|
61
|
+
HidersDisablersFactory.ctorParameters = () => [
|
|
62
|
+
{ type: ExpressionRunner },
|
|
63
|
+
{ type: JsExpressionHelper },
|
|
64
|
+
{ type: DebugModeService }
|
|
65
|
+
];
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUNMLGdCQUFnQixFQUVqQixNQUFNLHdDQUF3QyxDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdwRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1UsZ0JBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxpQkFBbUM7UUFGbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7SUFDMUMsQ0FBQztJQUVKLHVCQUF1QixDQUNyQixRQUFzQixFQUN0QixPQUFxRCxFQUNyRCxJQUFXO1FBRVgsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUQsUUFBUSxDQUFDLE9BQWlCLEVBQzFCLE9BQU8sRUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUNyQyxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBYTtZQUN6QixTQUFTLEVBQUUsS0FBSztZQUNoQixxQkFBcUIsRUFBRSxRQUFRLENBQUMsT0FBaUI7WUFDakQsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzlCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELG9CQUFvQixDQUNsQixRQUFzQixFQUN0QixPQUFxRCxFQUNyRCxJQUFXO1FBRVgsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FDVCxPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQ3RDLENBQUMsQ0FBRSxRQUFRLENBQUMsSUFBZSxDQUFDO1FBRWhDLHNDQUFzQztRQUV0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0QsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUQsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUNyQyxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFFRixNQUFNLEtBQUssR0FBVTtZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQjs7MkJBRVc7Z0JBQ1gsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO29CQUN6QixLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDdEI7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQztTQUNGLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFTO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDL0IsTUFBTSxRQUFRLEdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1RCxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ3BFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OztZQS9FRixVQUFVOzs7WUFkVCxnQkFBZ0I7WUFTVCxrQkFBa0I7WUFHbEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaXNhYmxlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4tZGlzYWJsZSc7XG5pbXBvcnQgeyBIaWRlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4taGlkZSc7XG5cbmltcG9ydCB7XG4gIEV4cHJlc3Npb25SdW5uZXIsXG4gIFJ1bm5hYmxlXG59IGZyb20gJy4uL2V4cHJlc3Npb24tcnVubmVyL2V4cHJlc3Npb24tcnVubmVyJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuaW1wb3J0IHsgUXVlc3Rpb25CYXNlIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9qcy1leHByZXNzaW9uLWhlbHBlcic7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi9mb3JtJztcbi8vIEFkZCBhYmlsaXR5IHRvIGRpc3BsYXkgYWxsIGZpZWxkcyBmb3IgZGVidWdnaW5nXG5pbXBvcnQgeyBEZWJ1Z01vZGVTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9kZWJ1Zy1tb2RlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGlkZXJzRGlzYWJsZXJzRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXhwcmVzc2lvblJ1bm5lcjogRXhwcmVzc2lvblJ1bm5lcixcbiAgICBwcml2YXRlIGV4cHJlc3Npb25IZWxwZXI6IEpzRXhwcmVzc2lvbkhlbHBlcixcbiAgICBwcml2YXRlIF9kZWJ1Z01vZGVTZXJ2aWNlOiBEZWJ1Z01vZGVTZXJ2aWNlXG4gICkge31cblxuICBnZXRKc0V4cHJlc3Npb25EaXNhYmxlcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w6IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IERpc2FibGVyIHtcbiAgICBjb25zdCBydW5uYWJsZTogUnVubmFibGUgPSB0aGlzLmV4cHJlc3Npb25SdW5uZXIuZ2V0UnVubmFibGUoXG4gICAgICBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIGNvbnRyb2wsXG4gICAgICB0aGlzLmV4cHJlc3Npb25IZWxwZXIuaGVscGVyRnVuY3Rpb25zLFxuICAgICAge30sXG4gICAgICBmb3JtXG4gICAgKTtcbiAgICBjb25zdCBkaXNhYmxlcjogRGlzYWJsZXIgPSB7XG4gICAgICB0b0Rpc2FibGU6IGZhbHNlLFxuICAgICAgZGlzYWJsZVdoZW5FeHByZXNzaW9uOiBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIHJlRXZhbHVhdGVEaXNhYmxpbmdFeHByZXNzaW9uOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bm5hYmxlLnJ1bigpO1xuICAgICAgICBkaXNhYmxlci50b0Rpc2FibGUgPSByZXN1bHQ7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gZGlzYWJsZXI7XG4gIH1cblxuICBnZXRKc0V4cHJlc3Npb25IaWRlcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w6IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEhpZGVyIHtcbiAgICBjb25zdCBoaWRlOiBhbnkgPSBxdWVzdGlvbi5oaWRlO1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPVxuICAgICAgdHlwZW9mIGhpZGUgPT09ICdvYmplY3QnXG4gICAgICAgID8gdGhpcy5jb252ZXJ0SGlkZU9iamVjdFRvU3RyaW5nKGhpZGUpXG4gICAgICAgIDogKHF1ZXN0aW9uLmhpZGUgYXMgc3RyaW5nKTtcblxuICAgIC8vIGNoZWNrIGlmIGRlYnVnZ2luZyBoYXMgYmVlbiBlbmFibGVkXG5cbiAgICBjb25zdCBkZWJ1Z0VuYWJsZWQgPSB0aGlzLl9kZWJ1Z01vZGVTZXJ2aWNlLmRlYnVnRW5hYmxlZCgpO1xuXG4gICAgY29uc3QgcnVubmFibGU6IFJ1bm5hYmxlID0gdGhpcy5leHByZXNzaW9uUnVubmVyLmdldFJ1bm5hYmxlKFxuICAgICAgdmFsdWUsXG4gICAgICBjb250cm9sLFxuICAgICAgdGhpcy5leHByZXNzaW9uSGVscGVyLmhlbHBlckZ1bmN0aW9ucyxcbiAgICAgIHt9LFxuICAgICAgZm9ybVxuICAgICk7XG5cbiAgICBjb25zdCBoaWRlcjogSGlkZXIgPSB7XG4gICAgICB0b0hpZGU6IGZhbHNlLFxuICAgICAgaGlkZVdoZW5FeHByZXNzaW9uOiB2YWx1ZSxcbiAgICAgIHJlRXZhbHVhdGVIaWRpbmdFeHByZXNzaW9uOiAoKSA9PiB7XG4gICAgICAgIC8qIGlmIGRlYnVnIGlzIGVuYWJsZWQgdGhlbiBoaWRlcnMgdG8gYmUgZmFsc2VcbiAgICAgICAgICAgICAgICAgZWxzZSBydW4gdGhlIG5vcm1hbCBldmVsdWF0b3IgaS5lIHJ1bm5hYmxlLnJ1bigpXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgIGlmIChkZWJ1Z0VuYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICBoaWRlci50b0hpZGUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWRlci50b0hpZGUgPSBydW5uYWJsZS5ydW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGhpZGVyO1xuICB9XG5cbiAgY29udmVydEhpZGVPYmplY3RUb1N0cmluZyhoaWRlOiBhbnkpIHtcbiAgICBpZiAoaGlkZS52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBjb25zdCBhcnJheVN0cjogc3RyaW5nID0gXCInXCIgKyBoaWRlLnZhbHVlLmpvaW4oXCInLCdcIikgKyBcIidcIjtcbiAgICAgIGNvbnN0IGV4cCA9ICchYXJyYXlDb250YWlucyhbJyArIGFycmF5U3RyICsgJ10sJyArIGhpZGUuZmllbGQgKyAnKSc7XG4gICAgICByZXR1cm4gZXhwO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
|