@ampath-kenya/ngx-openmrs-formentry 2.12.11 → 2.12.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-control-type.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-array.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-control.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-group.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/control-extensions.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/index.d.ts +0 -0
- package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/value-change.listener.d.ts +0 -0
- package/{dist/ngx-formentry/ngx-openmrs-formentry.d.ts → ampath-kenya-ngx-openmrs-formentry.d.ts} +0 -0
- package/{dist/ngx-formentry/ngx-openmrs-formentry.metadata.json → ampath-kenya-ngx-openmrs-formentry.metadata.json} +1 -1
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +10706 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +2 -0
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -0
- package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relation.d.ts +0 -0
- package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relations.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/afe-ng-select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/appointments-overview/appointments-overview.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/check-box/checkbox.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/check-box/checkbox.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/file-upload.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/file-upload.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/file-upload/secure.pipe.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/remote-select/remote-select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/remote-select/remote-select.module.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/diacritics.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/option-list.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/option.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.style.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.component.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.component.style.d.ts +0 -0
- package/{dist/ngx-formentry/components → components}/select/select.module.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/file-preview.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/question-control.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/remote-answer.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-container/encounter-container.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-pdf-viewer.service.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-view/encounter-viewer.component.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.module.d.ts +0 -0
- package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.service.d.ts +0 -0
- package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
- package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
- package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
- package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
- package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
- package/esm2015/abstract-controls-extension/index.js +5 -0
- package/esm2015/abstract-controls-extension/value-change.listener.js +1 -0
- package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +42 -0
- package/esm2015/change-tracking/control-relation.js +44 -0
- package/esm2015/change-tracking/control-relations.js +32 -0
- package/esm2015/components/afe-ng-select.component.js +87 -0
- package/esm2015/components/appointments-overview/appointments-overview.component.js +161 -0
- package/esm2015/components/check-box/checkbox.component.js +97 -0
- package/esm2015/components/check-box/checkbox.module.js +14 -0
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +270 -0
- package/esm2015/components/date-time-picker/date-time-picker.component.js +207 -0
- package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
- package/esm2015/components/date-time-picker/picker-modal/modal.component.js +36 -0
- package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
- package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +160 -0
- package/esm2015/components/file-upload/file-upload.component.js +128 -0
- package/esm2015/components/file-upload/file-upload.module.js +27 -0
- package/esm2015/components/file-upload/secure.pipe.js +102 -0
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +191 -0
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +41 -0
- package/esm2015/components/remote-select/remote-select.component.js +169 -0
- package/esm2015/components/remote-select/remote-select.module.js +17 -0
- package/esm2015/components/select/diacritics.js +855 -0
- package/esm2015/components/select/option-list.js +179 -0
- package/esm2015/components/select/option.js +29 -0
- package/esm2015/components/select/select-dropdown.component.js +161 -0
- package/esm2015/components/select/select-dropdown.component.style.js +58 -0
- package/esm2015/components/select/select.component.js +514 -0
- package/esm2015/components/select/select.component.style.js +101 -0
- package/esm2015/components/select/select.module.js +15 -0
- package/esm2015/encounter-viewer/display-controls/file-preview.component.js +109 -0
- package/esm2015/encounter-viewer/display-controls/question-control.component.js +92 -0
- package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +79 -0
- package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +48 -0
- package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +435 -0
- package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +299 -0
- package/esm2015/encounter-viewer/encounter-viewer.module.js +35 -0
- package/esm2015/encounter-viewer/encounter-viewer.service.js +160 -0
- package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
- package/esm2015/form-entry/control-alerts/can-generate-alert.js +1 -0
- package/esm2015/form-entry/control-calculators/can-calculate.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/can-disable.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/can-hide.js +1 -0
- package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
- package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
- package/esm2015/form-entry/data-sources/data-sources.js +30 -0
- package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
- package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +69 -0
- package/esm2015/form-entry/expression-runner/expression-runner.js +152 -0
- package/esm2015/form-entry/form-entry.module.js +103 -0
- package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
- package/esm2015/form-entry/form-factory/form-control.service.js +117 -0
- package/esm2015/form-entry/form-factory/form-node.js +78 -0
- package/esm2015/form-entry/form-factory/form.factory.js +132 -0
- package/esm2015/form-entry/form-factory/form.js +193 -0
- package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
- package/esm2015/form-entry/form-factory/question.factory.js +834 -0
- package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
- package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +156 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +632 -0
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
- package/esm2015/form-entry/helpers/historical-field-helper-service.js +32 -0
- package/esm2015/form-entry/helpers/js-expression-helper.js +234 -0
- package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
- package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/date-question.js +12 -0
- package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
- package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
- package/esm2015/form-entry/question-models/group-question.js +12 -0
- package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/data-source.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/group-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
- package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/select-option.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/select-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/text-question-options.js +1 -0
- package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
- package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
- package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/models.js +12 -0
- package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
- package/esm2015/form-entry/question-models/pair.model.js +7 -0
- package/esm2015/form-entry/question-models/question-base.js +24 -0
- package/{dist/ngx-formentry/esm2015 → esm2015}/form-entry/question-models/rendering-type.js +1 -1
- package/esm2015/form-entry/question-models/repeating-question.js +11 -0
- package/esm2015/form-entry/question-models/select-option.js +7 -0
- package/esm2015/form-entry/question-models/select-question.js +12 -0
- package/esm2015/form-entry/question-models/test-order-question.js +15 -0
- package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
- package/esm2015/form-entry/question-models/text-input-question.js +10 -0
- package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
- package/esm2015/form-entry/question-models/validation.model.js +7 -0
- package/esm2015/form-entry/services/debug-mode.service.js +22 -0
- package/esm2015/form-entry/services/form-errors.service.js +18 -0
- package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
- package/esm2015/form-entry/services/historical-encounter-data.service.js +171 -0
- package/esm2015/form-entry/utils/messages.js +12 -0
- package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
- package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
- package/esm2015/form-entry/validators/date.validator.js +18 -0
- package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
- package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
- package/esm2015/form-entry/validators/max-date.validator.js +23 -0
- package/esm2015/form-entry/validators/max.validator.js +17 -0
- package/esm2015/form-entry/validators/min-date.validator.js +23 -0
- package/esm2015/form-entry/validators/min.validator.js +17 -0
- package/esm2015/form-entry/validators/required.validator.js +11 -0
- package/esm2015/form-entry/validators/validations.js +5 -0
- package/esm2015/form-entry/value-adapters/encounter.adapter.js +173 -0
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +490 -0
- package/esm2015/form-entry/value-adapters/obs.adapter.js +542 -0
- package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
- package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
- package/esm2015/form-entry/value-adapters/value.adapter.js +1 -0
- package/esm2015/public_api.js +51 -0
- package/esm2015/shared.module.js +15 -0
- package/esm5/abstract-controls-extension/afe-control-type.js +8 -0
- package/esm5/abstract-controls-extension/afe-form-array.js +98 -0
- package/esm5/abstract-controls-extension/afe-form-control.js +96 -0
- package/esm5/abstract-controls-extension/afe-form-group.js +70 -0
- package/esm5/abstract-controls-extension/control-extensions.js +5 -0
- package/esm5/abstract-controls-extension/index.js +5 -0
- package/esm5/abstract-controls-extension/value-change.listener.js +1 -0
- package/esm5/ampath-kenya-ngx-openmrs-formentry.js +42 -0
- package/esm5/change-tracking/control-relation.js +59 -0
- package/esm5/change-tracking/control-relations.js +46 -0
- package/esm5/components/afe-ng-select.component.js +87 -0
- package/esm5/components/appointments-overview/appointments-overview.component.js +123 -0
- package/esm5/components/check-box/checkbox.component.js +88 -0
- package/esm5/components/check-box/checkbox.module.js +18 -0
- package/esm5/components/date-time-picker/date-picker/date-picker.component.js +186 -0
- package/esm5/components/date-time-picker/date-time-picker.component.js +111 -0
- package/esm5/components/date-time-picker/date-time-picker.module.js +38 -0
- package/esm5/components/date-time-picker/picker-modal/modal.component.js +32 -0
- package/esm5/components/date-time-picker/pipes/moment.pipe.js +17 -0
- package/esm5/components/date-time-picker/time-picker/time-picker.component.js +117 -0
- package/esm5/components/file-upload/file-upload.component.js +126 -0
- package/esm5/components/file-upload/file-upload.module.js +31 -0
- package/esm5/components/file-upload/secure.pipe.js +105 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +140 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +45 -0
- package/esm5/components/remote-select/remote-select.component.js +163 -0
- package/esm5/components/remote-select/remote-select.module.js +21 -0
- package/esm5/components/select/diacritics.js +860 -0
- package/esm5/components/select/option-list.js +224 -0
- package/esm5/components/select/option.js +31 -0
- package/esm5/components/select/select-dropdown.component.js +131 -0
- package/esm5/components/select/select-dropdown.component.style.js +2 -0
- package/esm5/components/select/select.component.js +456 -0
- package/esm5/components/select/select.component.style.js +2 -0
- package/esm5/components/select/select.module.js +19 -0
- package/{dist/ngx-formentry/esm2015 → esm5}/encounter-viewer/display-controls/file-preview.component.js +70 -70
- package/esm5/encounter-viewer/display-controls/question-control.component.js +104 -0
- package/esm5/encounter-viewer/display-controls/remote-answer.component.js +86 -0
- package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +45 -0
- package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +521 -0
- package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +185 -0
- package/esm5/encounter-viewer/encounter-viewer.module.js +39 -0
- package/esm5/encounter-viewer/encounter-viewer.service.js +165 -0
- package/esm5/form-entry/control-alerts/alert-helpers.js +44 -0
- package/esm5/form-entry/control-alerts/can-generate-alert.js +1 -0
- package/esm5/form-entry/control-calculators/can-calculate.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/can-disable.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/can-hide.js +1 -0
- package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +37 -0
- package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +44 -0
- package/esm5/form-entry/data-sources/data-sources.js +37 -0
- package/esm5/form-entry/data-sources/dummy-data-source.js +106 -0
- package/esm5/form-entry/directives/historical-value-directive.js +72 -0
- package/esm5/form-entry/error-renderer/error-renderer.component.js +62 -0
- package/esm5/form-entry/expression-runner/expression-runner.js +158 -0
- package/esm5/form-entry/form-entry.module.js +107 -0
- package/{dist/ngx-formentry/esm2015 → esm5}/form-entry/form-factory/control-relations.factory.js +94 -87
- package/esm5/form-entry/form-factory/form-control.service.js +120 -0
- package/esm5/form-entry/form-factory/form-node.js +116 -0
- package/esm5/form-entry/form-factory/form.factory.js +136 -0
- package/esm5/form-entry/form-factory/form.js +213 -0
- package/esm5/form-entry/form-factory/hiders-disablers.factory.js +68 -0
- package/esm5/form-entry/form-factory/question.factory.js +838 -0
- package/esm5/form-entry/form-factory/show-messages.factory.js +32 -0
- package/esm5/form-entry/form-factory/validation.factory.js +189 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.css.js +2 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.js +211 -0
- package/esm5/form-entry/helpers/historical-expression-helper-service.js +41 -0
- package/esm5/form-entry/helpers/historical-field-helper-service.js +36 -0
- package/esm5/form-entry/helpers/js-expression-helper.js +242 -0
- package/esm5/form-entry/question-models/checkbox.model.js +16 -0
- package/esm5/form-entry/question-models/conditional-validation.model.js +14 -0
- package/esm5/form-entry/question-models/date-question.js +17 -0
- package/esm5/form-entry/question-models/date-validation.model.js +15 -0
- package/esm5/form-entry/question-models/file-upload-question.js +18 -0
- package/esm5/form-entry/question-models/group-question.js +17 -0
- package/esm5/form-entry/question-models/interfaces/base-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/checkbox-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/data-source.js +1 -0
- package/esm5/form-entry/question-models/interfaces/date-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/group-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/multi-select-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/nested-questions.js +11 -0
- package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/select-option.js +1 -0
- package/esm5/form-entry/question-models/interfaces/select-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/text-question-options.js +1 -0
- package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
- package/esm5/form-entry/question-models/js-expression-validation.model.js +13 -0
- package/esm5/form-entry/question-models/max-validation.model.js +14 -0
- package/esm5/form-entry/question-models/min-validation.model.js +14 -0
- package/esm5/form-entry/question-models/models.js +12 -0
- package/esm5/form-entry/question-models/multi-select-question.js +16 -0
- package/esm5/form-entry/question-models/pair.model.js +9 -0
- package/esm5/form-entry/question-models/question-base.js +26 -0
- package/{dist/ngx-formentry/esm5 → esm5}/form-entry/question-models/rendering-type.js +1 -1
- package/esm5/form-entry/question-models/repeating-question.js +16 -0
- package/esm5/form-entry/question-models/select-option.js +9 -0
- package/esm5/form-entry/question-models/select-question.js +17 -0
- package/esm5/form-entry/question-models/test-order-question.js +20 -0
- package/esm5/form-entry/question-models/text-area-input-question.js +18 -0
- package/esm5/form-entry/question-models/text-input-question.js +15 -0
- package/esm5/form-entry/question-models/ui-select-question.js +16 -0
- package/esm5/form-entry/question-models/validation.model.js +9 -0
- package/esm5/form-entry/services/debug-mode.service.js +24 -0
- package/esm5/form-entry/services/form-errors.service.js +20 -0
- package/esm5/form-entry/services/form-schema-compiler.service.js +252 -0
- package/esm5/form-entry/services/historical-encounter-data.service.js +178 -0
- package/esm5/form-entry/utils/messages.js +16 -0
- package/esm5/form-entry/validators/conditional-answered.validator.js +49 -0
- package/esm5/form-entry/validators/conditional-required.validator.js +43 -0
- package/esm5/form-entry/validators/date.validator.js +21 -0
- package/esm5/form-entry/validators/future-date-restriction.validator.js +24 -0
- package/esm5/form-entry/validators/js-expression.validator.js +29 -0
- package/esm5/form-entry/validators/max-date.validator.js +27 -0
- package/esm5/form-entry/validators/max.validator.js +21 -0
- package/esm5/form-entry/validators/min-date.validator.js +27 -0
- package/esm5/form-entry/validators/min.validator.js +21 -0
- package/esm5/form-entry/validators/required.validator.js +15 -0
- package/esm5/form-entry/validators/validations.js +8 -0
- package/esm5/form-entry/value-adapters/encounter.adapter.js +176 -0
- package/esm5/form-entry/value-adapters/obs-adapter-helper.js +508 -0
- package/esm5/form-entry/value-adapters/obs.adapter.js +735 -0
- package/esm5/form-entry/value-adapters/order.adapter.js +226 -0
- package/esm5/form-entry/value-adapters/person-attribute.adapter.js +91 -0
- package/esm5/form-entry/value-adapters/value.adapter.js +1 -0
- package/esm5/public_api.js +51 -0
- package/esm5/shared.module.js +19 -0
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +10919 -0
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10359 -0
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/alert-helpers.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-calculators/can-calculate.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/data-sources.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/dummy-data-source.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/directives/historical-value-directive.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/expression-runner/expression-runner.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-entry.module.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/control-relations.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-control.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-node.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/question.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/show-messages.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/validation.factory.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.css.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/helpers/js-expression-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/checkbox.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/conditional-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/file-upload-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/group-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/base-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/data-source.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/file-upload-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/group-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/multi-select-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/nested-questions.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-option.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/models.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/multi-select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/pair.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/question-base.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/rendering-type.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/repeating-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-option.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/test-order-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-area-input-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-input-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/ui-select-question.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/question-models/validation.model.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/debug-mode.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/form-errors.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/form-schema-compiler.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/services/historical-encounter-data.service.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/utils/messages.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-answered.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-required.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/js-expression.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/max.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-date.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/min.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/required.validator.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/validators/validations.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/order.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
- package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/value.adapter.d.ts +0 -0
- package/package.json +21 -83
- package/{dist/ngx-formentry/public_api.d.ts → public_api.d.ts} +0 -0
- package/{dist/ngx-formentry/shared.module.d.ts → shared.module.d.ts} +0 -0
- package/.editorconfig +0 -13
- package/.prettierignore +0 -40
- package/.prettierrc +0 -6
- package/.travis.yml +0 -17
- package/README.md +0 -34
- package/angular.json +0 -143
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js +0 -10706
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js.map +0 -1
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js +0 -2
- package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js.map +0 -1
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-control-type.js +0 -8
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-array.js +0 -85
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-control.js +0 -88
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-group.js +0 -61
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/control-extensions.js +0 -5
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/index.js +0 -5
- package/dist/ngx-formentry/esm2015/abstract-controls-extension/value-change.listener.js +0 -1
- package/dist/ngx-formentry/esm2015/change-tracking/control-relation.js +0 -44
- package/dist/ngx-formentry/esm2015/change-tracking/control-relations.js +0 -32
- package/dist/ngx-formentry/esm2015/components/afe-ng-select.component.js +0 -87
- package/dist/ngx-formentry/esm2015/components/appointments-overview/appointments-overview.component.js +0 -161
- package/dist/ngx-formentry/esm2015/components/check-box/checkbox.component.js +0 -97
- package/dist/ngx-formentry/esm2015/components/check-box/checkbox.module.js +0 -14
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-picker/date-picker.component.js +0 -270
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.component.js +0 -207
- package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.module.js +0 -34
- package/dist/ngx-formentry/esm2015/components/date-time-picker/picker-modal/modal.component.js +0 -36
- package/dist/ngx-formentry/esm2015/components/date-time-picker/pipes/moment.pipe.js +0 -13
- package/dist/ngx-formentry/esm2015/components/date-time-picker/time-picker/time-picker.component.js +0 -160
- package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.component.js +0 -128
- package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.module.js +0 -27
- package/dist/ngx-formentry/esm2015/components/file-upload/secure.pipe.js +0 -102
- package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -191
- package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -41
- package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.component.js +0 -169
- package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.module.js +0 -17
- package/dist/ngx-formentry/esm2015/components/select/diacritics.js +0 -855
- package/dist/ngx-formentry/esm2015/components/select/option-list.js +0 -179
- package/dist/ngx-formentry/esm2015/components/select/option.js +0 -29
- package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.js +0 -161
- package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.style.js +0 -58
- package/dist/ngx-formentry/esm2015/components/select/select.component.js +0 -514
- package/dist/ngx-formentry/esm2015/components/select/select.component.style.js +0 -101
- package/dist/ngx-formentry/esm2015/components/select/select.module.js +0 -15
- package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/question-control.component.js +0 -92
- package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/remote-answer.component.js +0 -79
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +0 -48
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +0 -435
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -299
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.module.js +0 -35
- package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.service.js +0 -160
- package/dist/ngx-formentry/esm2015/form-entry/control-alerts/alert-helpers.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/control-alerts/can-generate-alert.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-calculators/can-calculate.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-disable.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-hide.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +0 -33
- package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/data-sources/data-sources.js +0 -30
- package/dist/ngx-formentry/esm2015/form-entry/data-sources/dummy-data-source.js +0 -104
- package/dist/ngx-formentry/esm2015/form-entry/directives/historical-value-directive.js +0 -66
- package/dist/ngx-formentry/esm2015/form-entry/error-renderer/error-renderer.component.js +0 -69
- package/dist/ngx-formentry/esm2015/form-entry/expression-runner/expression-runner.js +0 -152
- package/dist/ngx-formentry/esm2015/form-entry/form-entry.module.js +0 -103
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-control.service.js +0 -117
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-node.js +0 -78
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.factory.js +0 -132
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.js +0 -193
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/hiders-disablers.factory.js +0 -66
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/question.factory.js +0 -834
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/show-messages.factory.js +0 -30
- package/dist/ngx-formentry/esm2015/form-entry/form-factory/validation.factory.js +0 -145
- package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -156
- package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.js +0 -632
- package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-expression-helper-service.js +0 -38
- package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-field-helper-service.js +0 -32
- package/dist/ngx-formentry/esm2015/form-entry/helpers/js-expression-helper.js +0 -234
- package/dist/ngx-formentry/esm2015/form-entry/question-models/checkbox.model.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/conditional-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/date-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/date-validation.model.js +0 -10
- package/dist/ngx-formentry/esm2015/form-entry/question-models/file-upload-question.js +0 -13
- package/dist/ngx-formentry/esm2015/form-entry/question-models/group-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/base-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/checkbox-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/data-source.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/date-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/group-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/multi-select-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/nested-questions.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-option.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
- package/dist/ngx-formentry/esm2015/form-entry/question-models/js-expression-validation.model.js +0 -8
- package/dist/ngx-formentry/esm2015/form-entry/question-models/max-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/min-validation.model.js +0 -9
- package/dist/ngx-formentry/esm2015/form-entry/question-models/models.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/multi-select-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/pair.model.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/question-base.js +0 -24
- package/dist/ngx-formentry/esm2015/form-entry/question-models/repeating-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/select-option.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/question-models/select-question.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/question-models/test-order-question.js +0 -15
- package/dist/ngx-formentry/esm2015/form-entry/question-models/text-area-input-question.js +0 -13
- package/dist/ngx-formentry/esm2015/form-entry/question-models/text-input-question.js +0 -10
- package/dist/ngx-formentry/esm2015/form-entry/question-models/ui-select-question.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/question-models/validation.model.js +0 -7
- package/dist/ngx-formentry/esm2015/form-entry/services/debug-mode.service.js +0 -22
- package/dist/ngx-formentry/esm2015/form-entry/services/form-errors.service.js +0 -18
- package/dist/ngx-formentry/esm2015/form-entry/services/form-schema-compiler.service.js +0 -246
- package/dist/ngx-formentry/esm2015/form-entry/services/historical-encounter-data.service.js +0 -171
- package/dist/ngx-formentry/esm2015/form-entry/utils/messages.js +0 -12
- package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-answered.validator.js +0 -46
- package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-required.validator.js +0 -40
- package/dist/ngx-formentry/esm2015/form-entry/validators/date.validator.js +0 -18
- package/dist/ngx-formentry/esm2015/form-entry/validators/future-date-restriction.validator.js +0 -21
- package/dist/ngx-formentry/esm2015/form-entry/validators/js-expression.validator.js +0 -26
- package/dist/ngx-formentry/esm2015/form-entry/validators/max-date.validator.js +0 -23
- package/dist/ngx-formentry/esm2015/form-entry/validators/max.validator.js +0 -17
- package/dist/ngx-formentry/esm2015/form-entry/validators/min-date.validator.js +0 -23
- package/dist/ngx-formentry/esm2015/form-entry/validators/min.validator.js +0 -17
- package/dist/ngx-formentry/esm2015/form-entry/validators/required.validator.js +0 -11
- package/dist/ngx-formentry/esm2015/form-entry/validators/validations.js +0 -5
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/encounter.adapter.js +0 -173
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs-adapter-helper.js +0 -490
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs.adapter.js +0 -542
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/order.adapter.js +0 -186
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/person-attribute.adapter.js +0 -87
- package/dist/ngx-formentry/esm2015/form-entry/value-adapters/value.adapter.js +0 -1
- package/dist/ngx-formentry/esm2015/ngx-openmrs-formentry.js +0 -42
- package/dist/ngx-formentry/esm2015/public_api.js +0 -51
- package/dist/ngx-formentry/esm2015/shared.module.js +0 -15
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-control-type.js +0 -8
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-array.js +0 -98
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-control.js +0 -96
- package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-group.js +0 -70
- package/dist/ngx-formentry/esm5/abstract-controls-extension/control-extensions.js +0 -5
- package/dist/ngx-formentry/esm5/abstract-controls-extension/index.js +0 -5
- package/dist/ngx-formentry/esm5/abstract-controls-extension/value-change.listener.js +0 -1
- package/dist/ngx-formentry/esm5/change-tracking/control-relation.js +0 -59
- package/dist/ngx-formentry/esm5/change-tracking/control-relations.js +0 -46
- package/dist/ngx-formentry/esm5/components/afe-ng-select.component.js +0 -87
- package/dist/ngx-formentry/esm5/components/appointments-overview/appointments-overview.component.js +0 -123
- package/dist/ngx-formentry/esm5/components/check-box/checkbox.component.js +0 -88
- package/dist/ngx-formentry/esm5/components/check-box/checkbox.module.js +0 -18
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-picker/date-picker.component.js +0 -186
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.component.js +0 -111
- package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.module.js +0 -38
- package/dist/ngx-formentry/esm5/components/date-time-picker/picker-modal/modal.component.js +0 -32
- package/dist/ngx-formentry/esm5/components/date-time-picker/pipes/moment.pipe.js +0 -17
- package/dist/ngx-formentry/esm5/components/date-time-picker/time-picker/time-picker.component.js +0 -117
- package/dist/ngx-formentry/esm5/components/file-upload/file-upload.component.js +0 -126
- package/dist/ngx-formentry/esm5/components/file-upload/file-upload.module.js +0 -31
- package/dist/ngx-formentry/esm5/components/file-upload/secure.pipe.js +0 -105
- package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -140
- package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -45
- package/dist/ngx-formentry/esm5/components/remote-select/remote-select.component.js +0 -163
- package/dist/ngx-formentry/esm5/components/remote-select/remote-select.module.js +0 -21
- package/dist/ngx-formentry/esm5/components/select/diacritics.js +0 -860
- package/dist/ngx-formentry/esm5/components/select/option-list.js +0 -224
- package/dist/ngx-formentry/esm5/components/select/option.js +0 -31
- package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.js +0 -131
- package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.style.js +0 -2
- package/dist/ngx-formentry/esm5/components/select/select.component.js +0 -456
- package/dist/ngx-formentry/esm5/components/select/select.component.style.js +0 -2
- package/dist/ngx-formentry/esm5/components/select/select.module.js +0 -19
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/file-preview.component.js +0 -109
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/question-control.component.js +0 -104
- package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/remote-answer.component.js +0 -86
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-container/encounter-container.component.js +0 -45
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-pdf-viewer.service.js +0 -521
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -185
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.module.js +0 -39
- package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.service.js +0 -165
- package/dist/ngx-formentry/esm5/form-entry/control-alerts/alert-helpers.js +0 -44
- package/dist/ngx-formentry/esm5/form-entry/control-alerts/can-generate-alert.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-calculators/can-calculate.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-disable.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-hide.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/disabler-helper.js +0 -37
- package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/hider-helpers.js +0 -44
- package/dist/ngx-formentry/esm5/form-entry/data-sources/data-sources.js +0 -37
- package/dist/ngx-formentry/esm5/form-entry/data-sources/dummy-data-source.js +0 -106
- package/dist/ngx-formentry/esm5/form-entry/directives/historical-value-directive.js +0 -72
- package/dist/ngx-formentry/esm5/form-entry/error-renderer/error-renderer.component.js +0 -62
- package/dist/ngx-formentry/esm5/form-entry/expression-runner/expression-runner.js +0 -158
- package/dist/ngx-formentry/esm5/form-entry/form-entry.module.js +0 -107
- package/dist/ngx-formentry/esm5/form-entry/form-factory/control-relations.factory.js +0 -243
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form-control.service.js +0 -120
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form-node.js +0 -116
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form.factory.js +0 -136
- package/dist/ngx-formentry/esm5/form-entry/form-factory/form.js +0 -213
- package/dist/ngx-formentry/esm5/form-entry/form-factory/hiders-disablers.factory.js +0 -68
- package/dist/ngx-formentry/esm5/form-entry/form-factory/question.factory.js +0 -838
- package/dist/ngx-formentry/esm5/form-entry/form-factory/show-messages.factory.js +0 -32
- package/dist/ngx-formentry/esm5/form-entry/form-factory/validation.factory.js +0 -189
- package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.css.js +0 -2
- package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.js +0 -211
- package/dist/ngx-formentry/esm5/form-entry/helpers/historical-expression-helper-service.js +0 -41
- package/dist/ngx-formentry/esm5/form-entry/helpers/historical-field-helper-service.js +0 -36
- package/dist/ngx-formentry/esm5/form-entry/helpers/js-expression-helper.js +0 -242
- package/dist/ngx-formentry/esm5/form-entry/question-models/checkbox.model.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/conditional-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/date-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/date-validation.model.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/question-models/file-upload-question.js +0 -18
- package/dist/ngx-formentry/esm5/form-entry/question-models/group-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/base-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/checkbox-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/data-source.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/date-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/group-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/multi-select-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/nested-questions.js +0 -11
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-option.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
- package/dist/ngx-formentry/esm5/form-entry/question-models/js-expression-validation.model.js +0 -13
- package/dist/ngx-formentry/esm5/form-entry/question-models/max-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/min-validation.model.js +0 -14
- package/dist/ngx-formentry/esm5/form-entry/question-models/models.js +0 -12
- package/dist/ngx-formentry/esm5/form-entry/question-models/multi-select-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/pair.model.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/question-models/question-base.js +0 -26
- package/dist/ngx-formentry/esm5/form-entry/question-models/repeating-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/select-option.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/question-models/select-question.js +0 -17
- package/dist/ngx-formentry/esm5/form-entry/question-models/test-order-question.js +0 -20
- package/dist/ngx-formentry/esm5/form-entry/question-models/text-area-input-question.js +0 -18
- package/dist/ngx-formentry/esm5/form-entry/question-models/text-input-question.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/question-models/ui-select-question.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/question-models/validation.model.js +0 -9
- package/dist/ngx-formentry/esm5/form-entry/services/debug-mode.service.js +0 -24
- package/dist/ngx-formentry/esm5/form-entry/services/form-errors.service.js +0 -20
- package/dist/ngx-formentry/esm5/form-entry/services/form-schema-compiler.service.js +0 -252
- package/dist/ngx-formentry/esm5/form-entry/services/historical-encounter-data.service.js +0 -178
- package/dist/ngx-formentry/esm5/form-entry/utils/messages.js +0 -16
- package/dist/ngx-formentry/esm5/form-entry/validators/conditional-answered.validator.js +0 -49
- package/dist/ngx-formentry/esm5/form-entry/validators/conditional-required.validator.js +0 -43
- package/dist/ngx-formentry/esm5/form-entry/validators/date.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/future-date-restriction.validator.js +0 -24
- package/dist/ngx-formentry/esm5/form-entry/validators/js-expression.validator.js +0 -29
- package/dist/ngx-formentry/esm5/form-entry/validators/max-date.validator.js +0 -27
- package/dist/ngx-formentry/esm5/form-entry/validators/max.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/min-date.validator.js +0 -27
- package/dist/ngx-formentry/esm5/form-entry/validators/min.validator.js +0 -21
- package/dist/ngx-formentry/esm5/form-entry/validators/required.validator.js +0 -15
- package/dist/ngx-formentry/esm5/form-entry/validators/validations.js +0 -8
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/encounter.adapter.js +0 -176
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs-adapter-helper.js +0 -508
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs.adapter.js +0 -735
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/order.adapter.js +0 -226
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/person-attribute.adapter.js +0 -91
- package/dist/ngx-formentry/esm5/form-entry/value-adapters/value.adapter.js +0 -1
- package/dist/ngx-formentry/esm5/ngx-openmrs-formentry.js +0 -42
- package/dist/ngx-formentry/esm5/public_api.js +0 -51
- package/dist/ngx-formentry/esm5/shared.module.js +0 -19
- package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js +0 -10919
- package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js.map +0 -1
- package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js +0 -10359
- package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js.map +0 -1
- package/dist/ngx-formentry/package.json +0 -35
- package/scripts/build.sh +0 -2
- package/tsconfig.json +0 -20
- package/tslint.json +0 -96
package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.component.js
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as moment_ from 'moment';
|
|
4
|
-
const Moment = moment_;
|
|
5
|
-
export class DateTimePickerComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.showDate = true;
|
|
8
|
-
this.showTime = false;
|
|
9
|
-
this.showWeeks = false;
|
|
10
|
-
this.weeks = [2, 4, 6, 8, 12, 16, 24];
|
|
11
|
-
this.onDateChange = new EventEmitter();
|
|
12
|
-
this.showDatePicker = false;
|
|
13
|
-
this.showTimePicker = false;
|
|
14
|
-
this.onChange = () => { };
|
|
15
|
-
this.onTouched = () => { };
|
|
16
|
-
}
|
|
17
|
-
ngOnInit() { }
|
|
18
|
-
weeksSelected(count) {
|
|
19
|
-
const now = new Date();
|
|
20
|
-
const nextDate = now.setDate(now.getDate() + count * 7);
|
|
21
|
-
this.value = Moment(nextDate).format();
|
|
22
|
-
}
|
|
23
|
-
setDate(date) {
|
|
24
|
-
if (date && date !== '') {
|
|
25
|
-
this.value = Moment(date).format();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.value = date;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
setTime(time) {
|
|
32
|
-
if (time && time !== '') {
|
|
33
|
-
this.value = Moment(time).format();
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.value = time;
|
|
37
|
-
}
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
toggleDatePicker(status) {
|
|
41
|
-
this.showDatePicker = status;
|
|
42
|
-
/*setTimeout(function() {
|
|
43
|
-
let _body = document.getElementById('content-wrapper').getBoundingClientRect(),
|
|
44
|
-
elem = document.getElementById('section-modal-main');
|
|
45
|
-
if (elem) {
|
|
46
|
-
let elemBox = elem.getBoundingClientRect();
|
|
47
|
-
if (elemBox.bottom > _body.bottom) {
|
|
48
|
-
elem.style.bottom = '36px';
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}, 0);*/
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
toggleTimePicker(status) {
|
|
55
|
-
this.showTimePicker = status;
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
get value() {
|
|
59
|
-
return this.modelValue;
|
|
60
|
-
}
|
|
61
|
-
set value(val) {
|
|
62
|
-
this.modelValue = val;
|
|
63
|
-
this.onDateChange.emit(val);
|
|
64
|
-
this.onChange(val);
|
|
65
|
-
this.onTouched();
|
|
66
|
-
}
|
|
67
|
-
registerOnChange(fn) {
|
|
68
|
-
this.onChange = fn;
|
|
69
|
-
}
|
|
70
|
-
registerOnTouched(fn) {
|
|
71
|
-
this.onTouched = fn;
|
|
72
|
-
}
|
|
73
|
-
writeValue(value) {
|
|
74
|
-
if (value instanceof Date) {
|
|
75
|
-
this.value = Moment(value).format();
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
this.value = value;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
DateTimePickerComponent.decorators = [
|
|
83
|
-
{ type: Component, args: [{
|
|
84
|
-
selector: 'date-time-picker',
|
|
85
|
-
template: `<div class="row">
|
|
86
|
-
<div *ngIf="!showTime" class="col-xs-12 col-md-12">
|
|
87
|
-
<input
|
|
88
|
-
*ngIf="!showWeeks"
|
|
89
|
-
type="text"
|
|
90
|
-
class="form-control"
|
|
91
|
-
[value]="value | date: 'mediumDate'"
|
|
92
|
-
(focus)="toggleDatePicker(true)"
|
|
93
|
-
readonly
|
|
94
|
-
placeholder="Select Date"
|
|
95
|
-
/>
|
|
96
|
-
<div *ngIf="showWeeks" class="input-group">
|
|
97
|
-
<input
|
|
98
|
-
type="text"
|
|
99
|
-
class="form-control"
|
|
100
|
-
class="form-control"
|
|
101
|
-
[value]="value | date: 'mediumDate'"
|
|
102
|
-
(focus)="toggleDatePicker(true)"
|
|
103
|
-
readonly
|
|
104
|
-
placeholder="Select Date"
|
|
105
|
-
/>
|
|
106
|
-
<div class="input-group-btn">
|
|
107
|
-
<button
|
|
108
|
-
type="button"
|
|
109
|
-
class="btn btn-default dropdown-toggle"
|
|
110
|
-
data-toggle="dropdown"
|
|
111
|
-
aria-haspopup="true"
|
|
112
|
-
aria-expanded="false"
|
|
113
|
-
>
|
|
114
|
-
Weeks <span class="caret"></span>
|
|
115
|
-
</button>
|
|
116
|
-
<ul class="dropdown-menu up">
|
|
117
|
-
<li (click)="weeksSelected(count)" *ngFor="let count of weeks">
|
|
118
|
-
<span> {{ count }} Weeks</span>
|
|
119
|
-
</li>
|
|
120
|
-
</ul>
|
|
121
|
-
</div>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
<div *ngIf="showTime" class="col-xs-8 col-md-8">
|
|
125
|
-
<input
|
|
126
|
-
*ngIf="!showWeeks"
|
|
127
|
-
type="text"
|
|
128
|
-
class="form-control"
|
|
129
|
-
[value]="value | date: 'mediumDate'"
|
|
130
|
-
(focus)="toggleDatePicker(true)"
|
|
131
|
-
readonly
|
|
132
|
-
placeholder="Select Date"
|
|
133
|
-
/>
|
|
134
|
-
<div *ngIf="showWeeks" class="input-group">
|
|
135
|
-
<input
|
|
136
|
-
type="text"
|
|
137
|
-
class="form-control"
|
|
138
|
-
class="form-control"
|
|
139
|
-
[value]="value | date: 'mediumDate'"
|
|
140
|
-
(focus)="toggleDatePicker(true)"
|
|
141
|
-
readonly
|
|
142
|
-
placeholder="Select Date"
|
|
143
|
-
/>
|
|
144
|
-
<div class="input-group-btn">
|
|
145
|
-
<button
|
|
146
|
-
type="button"
|
|
147
|
-
class="btn btn-default dropdown-toggle"
|
|
148
|
-
data-toggle="dropdown"
|
|
149
|
-
aria-haspopup="true"
|
|
150
|
-
aria-expanded="false"
|
|
151
|
-
>
|
|
152
|
-
Weeks <span class="caret"></span>
|
|
153
|
-
</button>
|
|
154
|
-
<ul class="dropdown-menu up">
|
|
155
|
-
<li (click)="weeksSelected(count)" *ngFor="let count of weeks">
|
|
156
|
-
<span> {{ count }} Weeks</span>
|
|
157
|
-
</li>
|
|
158
|
-
</ul>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
<div *ngIf="showTime" class="col-xs-4 col-md-4">
|
|
163
|
-
<input
|
|
164
|
-
type="text"
|
|
165
|
-
class="form-control"
|
|
166
|
-
[value]="value | date: 'shortTime'"
|
|
167
|
-
(focus)="toggleTimePicker(true)"
|
|
168
|
-
readonly
|
|
169
|
-
placeholder="Select Time"
|
|
170
|
-
/>
|
|
171
|
-
</div>
|
|
172
|
-
</div>
|
|
173
|
-
<date-picker
|
|
174
|
-
*ngIf="showDatePicker"
|
|
175
|
-
[initDate]="value"
|
|
176
|
-
(onSelectDate)="setDate($event)"
|
|
177
|
-
(onDatePickerCancel)="toggleDatePicker($event)"
|
|
178
|
-
></date-picker>
|
|
179
|
-
|
|
180
|
-
<time-picker
|
|
181
|
-
*ngIf="showTimePicker"
|
|
182
|
-
[initTime]="value"
|
|
183
|
-
[use12Hour]="true"
|
|
184
|
-
(onSelectTime)="setTime($event)"
|
|
185
|
-
(onTimePickerCancel)="toggleTimePicker($event)"
|
|
186
|
-
></time-picker>
|
|
187
|
-
`,
|
|
188
|
-
styles: [`input[readonly]{background-color:#fff}.up{bottom:100%!important;top:auto!important}.glyphicon{top:1px}`],
|
|
189
|
-
providers: [
|
|
190
|
-
{
|
|
191
|
-
provide: NG_VALUE_ACCESSOR,
|
|
192
|
-
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
193
|
-
multi: true
|
|
194
|
-
}
|
|
195
|
-
]
|
|
196
|
-
},] },
|
|
197
|
-
];
|
|
198
|
-
DateTimePickerComponent.ctorParameters = () => [];
|
|
199
|
-
DateTimePickerComponent.propDecorators = {
|
|
200
|
-
modelValue: [{ type: Input }],
|
|
201
|
-
showDate: [{ type: Input }],
|
|
202
|
-
showTime: [{ type: Input }],
|
|
203
|
-
showWeeks: [{ type: Input }],
|
|
204
|
-
weeks: [{ type: Input }],
|
|
205
|
-
onDateChange: [{ type: Output }]
|
|
206
|
-
};
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQW9IdkIsTUFBTTtJQVlKO1FBVlMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsVUFBSyxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVYLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixhQUFhLENBQUMsS0FBSztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxH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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbmNvbnN0IE1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiAqbmdJZj1cIiFzaG93VGltZVwiIGNsYXNzPVwiY29sLXhzLTEyIGNvbC1tZC0xMlwiPlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCIhc2hvd1dlZWtzXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ICdtZWRpdW1EYXRlJ1wiXG4gICAgICAoZm9jdXMpPVwidG9nZ2xlRGF0ZVBpY2tlcih0cnVlKVwiXG4gICAgICByZWFkb25seVxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGF0ZVwiXG4gICAgLz5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1dlZWtzXCIgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ICdtZWRpdW1EYXRlJ1wiXG4gICAgICAgIChmb2N1cyk9XCJ0b2dnbGVEYXRlUGlja2VyKHRydWUpXCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGF0ZVwiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIFdlZWtzIDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IHVwXCI+XG4gICAgICAgICAgPGxpIChjbGljayk9XCJ3ZWVrc1NlbGVjdGVkKGNvdW50KVwiICpuZ0Zvcj1cImxldCBjb3VudCBvZiB3ZWVrc1wiPlxuICAgICAgICAgICAgPHNwYW4+IHt7IGNvdW50IH19IFdlZWtzPC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93VGltZVwiIGNsYXNzPVwiY29sLXhzLTggY29sLW1kLThcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIXNob3dXZWVrc1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgKGZvY3VzKT1cInRvZ2dsZURhdGVQaWNrZXIodHJ1ZSlcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgIC8+XG4gICAgPGRpdiAqbmdJZj1cInNob3dXZWVrc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgICAoZm9jdXMpPVwidG9nZ2xlRGF0ZVBpY2tlcih0cnVlKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBXZWVrcyA8c3BhbiBjbGFzcz1cImNhcmV0XCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSB1cFwiPlxuICAgICAgICAgIDxsaSAoY2xpY2spPVwid2Vla3NTZWxlY3RlZChjb3VudClcIiAqbmdGb3I9XCJsZXQgY291bnQgb2Ygd2Vla3NcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBjb3VudCB9fSBXZWVrczwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd1RpbWVcIiBjbGFzcz1cImNvbC14cy00IGNvbC1tZC00XCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnc2hvcnRUaW1lJ1wiXG4gICAgICAoZm9jdXMpPVwidG9nZ2xlVGltZVBpY2tlcih0cnVlKVwiXG4gICAgICByZWFkb25seVxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiXG4gICAgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkYXRlLXBpY2tlclxuICAqbmdJZj1cInNob3dEYXRlUGlja2VyXCJcbiAgW2luaXREYXRlXT1cInZhbHVlXCJcbiAgKG9uU2VsZWN0RGF0ZSk9XCJzZXREYXRlKCRldmVudClcIlxuICAob25EYXRlUGlja2VyQ2FuY2VsKT1cInRvZ2dsZURhdGVQaWNrZXIoJGV2ZW50KVwiXG4+PC9kYXRlLXBpY2tlcj5cblxuPHRpbWUtcGlja2VyXG4gICpuZ0lmPVwic2hvd1RpbWVQaWNrZXJcIlxuICBbaW5pdFRpbWVdPVwidmFsdWVcIlxuICBbdXNlMTJIb3VyXT1cInRydWVcIlxuICAob25TZWxlY3RUaW1lKT1cInNldFRpbWUoJGV2ZW50KVwiXG4gIChvblRpbWVQaWNrZXJDYW5jZWwpPVwidG9nZ2xlVGltZVBpY2tlcigkZXZlbnQpXCJcbj48L3RpbWUtcGlja2VyPlxuYCxcbiAgc3R5bGVzOiBbYGlucHV0W3JlYWRvbmx5XXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnVwe2JvdHRvbToxMDAlIWltcG9ydGFudDt0b3A6YXV0byFpbXBvcnRhbnR9LmdseXBoaWNvbnt0b3A6MXB4fWBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG1vZGVsVmFsdWU6IGFueTtcbiAgQElucHV0KCkgc2hvd0RhdGUgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VGltZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSBmYWxzZTtcbiAgQElucHV0KCkgd2Vla3M6IG51bWJlcltdID0gWzIsIDQsIDYsIDgsIDEyLCAxNiwgMjRdO1xuICBAT3V0cHV0KCkgb25EYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBzaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1RpbWVQaWNrZXIgPSBmYWxzZTtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgd2Vla3NTZWxlY3RlZChjb3VudCkge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgbmV4dERhdGUgPSBub3cuc2V0RGF0ZShub3cuZ2V0RGF0ZSgpICsgY291bnQgKiA3KTtcbiAgICB0aGlzLnZhbHVlID0gTW9tZW50KG5leHREYXRlKS5mb3JtYXQoKTtcbiAgfVxuICBzZXREYXRlKGRhdGU6IGFueSk6IHZvaWQge1xuICAgIGlmIChkYXRlICYmIGRhdGUgIT09ICcnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gTW9tZW50KGRhdGUpLmZvcm1hdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lKHRpbWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aW1lICYmIHRpbWUgIT09ICcnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gTW9tZW50KHRpbWUpLmZvcm1hdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGltZTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdG9nZ2xlRGF0ZVBpY2tlcihzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEYXRlUGlja2VyID0gc3RhdHVzO1xuICAgIC8qc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgbGV0IF9ib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQtd3JhcHBlcicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdGlvbi1tb2RhbC1tYWluJyk7XG4gICAgICAgIGlmIChlbGVtKSB7XG4gICAgICAgICAgbGV0IGVsZW1Cb3ggPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGlmIChlbGVtQm94LmJvdHRvbSA+IF9ib2R5LmJvdHRvbSkge1xuICAgICAgICAgICAgZWxlbS5zdHlsZS5ib3R0b20gPSAnMzZweCc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCAwKTsqL1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRvZ2dsZVRpbWVQaWNrZXIoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93VGltZVBpY2tlciA9IHN0YXR1cztcbiAgICByZXR1cm47XG4gIH1cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsVmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsKSB7XG4gICAgdGhpcy5tb2RlbFZhbHVlID0gdmFsO1xuICAgIHRoaXMub25EYXRlQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IE1vbWVudCh2YWx1ZSkuZm9ybWF0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* date-time-picker.module
|
|
3
|
-
*/
|
|
4
|
-
import { NgModule } from '@angular/core';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
|
-
import { FormsModule } from '@angular/forms';
|
|
7
|
-
import { DatePickerComponent } from './date-picker/date-picker.component';
|
|
8
|
-
import { TimePickerComponent } from './time-picker/time-picker.component';
|
|
9
|
-
import { ModalComponent } from './picker-modal/modal.component';
|
|
10
|
-
import { MomentPipe } from './pipes/moment.pipe';
|
|
11
|
-
import { DateTimePickerComponent } from './date-time-picker.component';
|
|
12
|
-
export class DateTimePickerModule {
|
|
13
|
-
}
|
|
14
|
-
DateTimePickerModule.decorators = [
|
|
15
|
-
{ type: NgModule, args: [{
|
|
16
|
-
imports: [CommonModule, FormsModule],
|
|
17
|
-
declarations: [
|
|
18
|
-
DatePickerComponent,
|
|
19
|
-
TimePickerComponent,
|
|
20
|
-
ModalComponent,
|
|
21
|
-
MomentPipe,
|
|
22
|
-
DateTimePickerComponent
|
|
23
|
-
],
|
|
24
|
-
exports: [
|
|
25
|
-
DatePickerComponent,
|
|
26
|
-
TimePickerComponent,
|
|
27
|
-
ModalComponent,
|
|
28
|
-
MomentPipe,
|
|
29
|
-
DateTimePickerComponent
|
|
30
|
-
],
|
|
31
|
-
providers: []
|
|
32
|
-
},] },
|
|
33
|
-
];
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQW9CdkUsTUFBTTs7O1lBbEJMLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2dCQUNwQyxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxVQUFVO29CQUNWLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLW1vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb21lbnRQaXBlIH0gZnJvbSAnLi9waXBlcy9tb21lbnQucGlwZSc7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBNb21lbnRQaXBlLFxuICAgIERhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTW9tZW50UGlwZSxcbiAgICBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=
|
package/dist/ngx-formentry/esm2015/components/date-time-picker/picker-modal/modal.component.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* modal.component
|
|
3
|
-
*/
|
|
4
|
-
import { Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
|
|
5
|
-
// const myDpStyles: string = require('./modal.component.css');
|
|
6
|
-
// const myDpTpl: string = require('./modal.component.html');
|
|
7
|
-
// webpack2_
|
|
8
|
-
export class ModalComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.onOverlayClick = new EventEmitter();
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() { }
|
|
13
|
-
closeModal() {
|
|
14
|
-
this.onOverlayClick.emit(false);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ModalComponent.decorators = [
|
|
18
|
-
{ type: Component, args: [{
|
|
19
|
-
selector: 'picker-modal',
|
|
20
|
-
template: `<section class="x-modal">
|
|
21
|
-
<section class="modal-overlay" (click)="closeModal()"></section>
|
|
22
|
-
<section class="modal-main" id="section-modal-main">
|
|
23
|
-
<ng-content></ng-content>
|
|
24
|
-
</section>
|
|
25
|
-
</section>
|
|
26
|
-
`,
|
|
27
|
-
styles: [`:host{z-index:9999999999}*,::after,::before{box-sizing:border-box}.modal-main{position:absolute;left:19.6%;right:auto;top:auto;z-index:111;background-color:#fff;border:1px solid #d7dad7;border-radius:6px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);box-shadow:0 5px 15px rgba(0,0,0,.3)}`],
|
|
28
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
|
-
animations: []
|
|
30
|
-
},] },
|
|
31
|
-
];
|
|
32
|
-
ModalComponent.ctorParameters = () => [];
|
|
33
|
-
ModalComponent.propDecorators = {
|
|
34
|
-
onOverlayClick: [{ type: Output }]
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3BpY2tlci1tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLCtEQUErRDtBQUMvRCw2REFBNkQ7QUFDN0QsWUFBWTtBQWVaLE1BQU07SUFHSjtRQUZVLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV4QyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTs7Ozs7O0NBTVg7Z0JBQ0MsTUFBTSxFQUFFLENBQUMsbVRBQW1ULENBQUM7Z0JBQzdULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsRUFBRTthQUNmOzs7OzZCQUVFLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG1vZGFsLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT3V0cHV0LFxuICBPbkluaXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIHdlYnBhY2sxX1xuZGVjbGFyZSBsZXQgcmVxdWlyZTogYW55O1xuLy8gY29uc3QgbXlEcFN0eWxlczogc3RyaW5nID0gcmVxdWlyZSgnLi9tb2RhbC5jb21wb25lbnQuY3NzJyk7XG4vLyBjb25zdCBteURwVHBsOiBzdHJpbmcgPSByZXF1aXJlKCcuL21vZGFsLmNvbXBvbmVudC5odG1sJyk7XG4vLyB3ZWJwYWNrMl9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGlja2VyLW1vZGFsJyxcbiAgdGVtcGxhdGU6IGA8c2VjdGlvbiBjbGFzcz1cIngtbW9kYWxcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJtb2RhbC1vdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPjwvc2VjdGlvbj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJtb2RhbC1tYWluXCIgaWQ9XCJzZWN0aW9uLW1vZGFsLW1haW5cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cbmAsXG4gIHN0eWxlczogW2A6aG9zdHt6LWluZGV4Ojk5OTk5OTk5OTl9Kiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubW9kYWwtbWFpbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjE5LjYlO3JpZ2h0OmF1dG87dG9wOmF1dG87ei1pbmRleDoxMTE7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2Q3ZGFkNztib3JkZXItcmFkaXVzOjZweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7Ym94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjMpfWBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW11cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgb25PdmVybGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* moment.pipe
|
|
3
|
-
*/
|
|
4
|
-
import { Pipe } from '@angular/core';
|
|
5
|
-
export class MomentPipe {
|
|
6
|
-
transform(moment, format) {
|
|
7
|
-
return format ? moment.format(format) : moment.format('MMM DD, YYYY');
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
MomentPipe.decorators = [
|
|
11
|
-
{ type: Pipe, args: [{ name: 'moment' },] },
|
|
12
|
-
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvcGlwZXMvbW9tZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUlwRCxNQUFNO0lBQ0osU0FBUyxDQUFDLE1BQWMsRUFBRSxNQUFlO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7O1lBSkYsSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbW9tZW50LnBpcGVcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQvbW9tZW50JztcblxuQFBpcGUoeyBuYW1lOiAnbW9tZW50JyB9KVxuZXhwb3J0IGNsYXNzIE1vbWVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKG1vbWVudDogTW9tZW50LCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPyBtb21lbnQuZm9ybWF0KGZvcm1hdCkgOiBtb21lbnQuZm9ybWF0KCdNTU0gREQsIFlZWVknKTtcbiAgfVxufVxuIl19
|
package/dist/ngx-formentry/esm2015/components/date-time-picker/time-picker/time-picker.component.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* time-picker.component
|
|
3
|
-
*/
|
|
4
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
5
|
-
import * as moment_ from 'moment';
|
|
6
|
-
const moment = moment_;
|
|
7
|
-
// const myDpStyles: string = require('./time-picker.component.css');
|
|
8
|
-
// const myDpTpl: string = require('./time-picker.component.html');
|
|
9
|
-
// webpack2_
|
|
10
|
-
export class TimePickerComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.showSecond = true;
|
|
13
|
-
this.viewFormat = 'hh:mm A';
|
|
14
|
-
this.use12Hour = false;
|
|
15
|
-
this.returnObject = 'js';
|
|
16
|
-
this.onSelectTime = new EventEmitter();
|
|
17
|
-
this.onTimePickerCancel = new EventEmitter();
|
|
18
|
-
this.hourFormat = 'HH';
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
if (this.use12Hour) {
|
|
22
|
-
this.hourFormat = 'hh';
|
|
23
|
-
}
|
|
24
|
-
this.time = this.initTime
|
|
25
|
-
? moment(this.initTime, this.viewFormat)
|
|
26
|
-
: moment();
|
|
27
|
-
// check if the input initDate has value
|
|
28
|
-
if (this.initTime) {
|
|
29
|
-
this.time =
|
|
30
|
-
this.returnObject === 'string'
|
|
31
|
-
? moment(this.initTime, this.viewFormat)
|
|
32
|
-
: moment(this.initTime);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this.time = moment();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
increaseHour() {
|
|
39
|
-
this.time = this.time.clone().add(1, 'h');
|
|
40
|
-
}
|
|
41
|
-
decreaseHour() {
|
|
42
|
-
this.time = this.time.clone().subtract(1, 'h');
|
|
43
|
-
}
|
|
44
|
-
increaseMinute() {
|
|
45
|
-
this.time = this.time.clone().add(1, 'm');
|
|
46
|
-
}
|
|
47
|
-
decreaseMinute() {
|
|
48
|
-
this.time = this.time.clone().subtract(1, 'm');
|
|
49
|
-
}
|
|
50
|
-
increaseSecond() {
|
|
51
|
-
this.time = this.time.clone().add(1, 's');
|
|
52
|
-
}
|
|
53
|
-
decreaseSecond() {
|
|
54
|
-
this.time = this.time.clone().subtract(1, 's');
|
|
55
|
-
}
|
|
56
|
-
selectTime() {
|
|
57
|
-
const selectTime = this.parseToReturnObjectType(this.time);
|
|
58
|
-
this.onSelectTime.emit(selectTime);
|
|
59
|
-
this.cancelTimePicker();
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
selectNow() {
|
|
63
|
-
const selectTime = this.parseToReturnObjectType(moment());
|
|
64
|
-
this.onSelectTime.emit(selectTime);
|
|
65
|
-
this.cancelTimePicker();
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
clearTime() {
|
|
69
|
-
this.onSelectTime.emit(null);
|
|
70
|
-
this.cancelTimePicker();
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
cancelTimePicker() {
|
|
74
|
-
this.onTimePickerCancel.emit(false);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
parseToReturnObjectType(time) {
|
|
78
|
-
switch (this.returnObject) {
|
|
79
|
-
case 'js':
|
|
80
|
-
return time.toDate();
|
|
81
|
-
case 'string':
|
|
82
|
-
return time.format(this.viewFormat);
|
|
83
|
-
case 'moment':
|
|
84
|
-
return time;
|
|
85
|
-
case 'json':
|
|
86
|
-
return time.toJSON();
|
|
87
|
-
case 'array':
|
|
88
|
-
return time.toArray();
|
|
89
|
-
case 'iso':
|
|
90
|
-
return time.toISOString();
|
|
91
|
-
case 'object':
|
|
92
|
-
return time.toObject();
|
|
93
|
-
default:
|
|
94
|
-
return time;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
TimePickerComponent.decorators = [
|
|
99
|
-
{ type: Component, args: [{
|
|
100
|
-
selector: 'time-picker',
|
|
101
|
-
template: `<picker-modal (onOverlayClick)="cancelTimePicker()">
|
|
102
|
-
<div class="picker-wrap">
|
|
103
|
-
<div class="picker-box">
|
|
104
|
-
<div class="picker-header">Time Picker</div>
|
|
105
|
-
<div class="picker-table">
|
|
106
|
-
<ul class="picker-table-time">
|
|
107
|
-
<li class="picker-table-number hour">
|
|
108
|
-
<span class="arrow up" (click)="increaseHour()"></span>
|
|
109
|
-
{{ time | moment: hourFormat }}
|
|
110
|
-
<span class="arrow down" (click)="decreaseHour()"></span>
|
|
111
|
-
</li>
|
|
112
|
-
<li class="picker-table-separator">:</li>
|
|
113
|
-
<li class="picker-table-number minute">
|
|
114
|
-
<span class="arrow up" (click)="increaseMinute()"></span>
|
|
115
|
-
{{ time | moment: 'mm' }}
|
|
116
|
-
<span class="arrow down" (click)="decreaseMinute()"></span>
|
|
117
|
-
</li>
|
|
118
|
-
<li *ngIf="showSecond" class="picker-table-separator">:</li>
|
|
119
|
-
<li *ngIf="showSecond" class="picker-table-number second">
|
|
120
|
-
<span class="arrow up" (click)="increaseSecond()"></span>
|
|
121
|
-
{{ time | moment: 'ss' }}
|
|
122
|
-
<span class="arrow down" (click)="decreaseSecond()"></span>
|
|
123
|
-
</li>
|
|
124
|
-
<li *ngIf="use12Hour" class="picker-table-meridiem meridiem">
|
|
125
|
-
{{ time | moment: 'A' }}
|
|
126
|
-
</li>
|
|
127
|
-
</ul>
|
|
128
|
-
</div>
|
|
129
|
-
<div class="picker-footer">
|
|
130
|
-
<div class="picker-action action-now" (click)="selectNow()">
|
|
131
|
-
<span class="text">Now</span>
|
|
132
|
-
</div>
|
|
133
|
-
<div class="picker-action action-confirm" (click)="selectTime()">
|
|
134
|
-
<span class="text">Confirm</span>
|
|
135
|
-
</div>
|
|
136
|
-
<div class="picker-action action-clear" (click)="clearTime()">
|
|
137
|
-
<span class="text">Clear</span>
|
|
138
|
-
</div>
|
|
139
|
-
<div class="picker-action action-close" (click)="cancelTimePicker()">
|
|
140
|
-
<span class="text">Close</span>
|
|
141
|
-
</div>
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
</picker-modal>
|
|
146
|
-
`,
|
|
147
|
-
styles: [`*,::after,::before{box-sizing:border-box}.picker-wrap{width:95vw;max-width:40rem;font-family:'Open Sans'}.picker-box{width:100%;padding:.625rem 1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker-footer,.picker-header{font-size:1.333rem;line-height:2.5rem;height:2.5rem;width:100%}.picker-header{text-align:center}.picker-table{width:100%;margin:2.5rem 0}.picker-table-time{font-size:2.37rem;line-height:2.5rem;list-style:none;margin:0;padding:0;display:flex;justify-content:center;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker-table-meridiem,.picker-table-number,.picker-table-separator{text-align:center}.picker-table-meridiem,.picker-table-number{position:relative;width:20%}.arrow{position:absolute;left:50%;border:solid #777;border-width:0 .2rem .2rem 0;display:inline-block;padding:.25rem;cursor:pointer}.arrow.up{top:-1rem;-webkit-transform:translateX(-50%) rotate(-135deg);transform:translateX(-50%) rotate(-135deg)}.arrow.down{bottom:-1rem;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg)}.arrow:hover{border-color:#1975d2}.picker-table-separator{width:calc(20% / 3)}.picker-footer{display:flex;justify-content:center;width:100%;cursor:pointer}.picker-footer .picker-action{width:25%;text-align:center}.picker-footer .picker-action:hover{background-color:#b1dcfb}.picker-footer .picker-action .text{padding-left:.8rem}.picker-footer .action-clear::before,.picker-footer .action-close::before,.picker-footer .action-confirm::before,.picker-footer .action-now::before{content:' ';position:relative;display:inline-block;height:0;width:0}.picker-footer .action-now::before{border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker-footer .action-confirm::before{width:1rem;height:1rem;border-radius:100%;background-color:#00b5ad}.picker-footer .action-clear::before{top:-.5rem;width:1rem;border-top:3px solid #e20}.picker-footer .action-close::before{width:1rem;height:1rem;background:linear-gradient(to bottom,transparent 35%,#777 35%,#777 65%,transparent 65%),linear-gradient(to right,transparent 35%,#777 35%,#777 65%,transparent 65%);-webkit-transform:rotate(45deg);transform:rotate(45deg)}`]
|
|
148
|
-
},] },
|
|
149
|
-
];
|
|
150
|
-
TimePickerComponent.ctorParameters = () => [];
|
|
151
|
-
TimePickerComponent.propDecorators = {
|
|
152
|
-
initTime: [{ type: Input }],
|
|
153
|
-
showSecond: [{ type: Input }],
|
|
154
|
-
viewFormat: [{ type: Input }],
|
|
155
|
-
use12Hour: [{ type: Input }],
|
|
156
|
-
returnObject: [{ type: Input }],
|
|
157
|
-
onSelectTime: [{ type: Output }],
|
|
158
|
-
onTimePickerCancel: [{ type: Output }]
|
|
159
|
-
};
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFFbEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBS3ZCLHFFQUFxRTtBQUNyRSxtRUFBbUU7QUFDbkUsWUFBWTtBQW9EWixNQUFNO0lBV0o7UUFUUyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCxlQUFVLEdBQUcsSUFBSSxDQUFDO0lBR0gsQ0FBQztJQUVoQixRQUFRO1FBQ04sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDeEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWIsd0NBQXdDO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFR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QztZQUVkLEtBQUssTUFBTTtnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRXZCLEtBQUssT0FBTztnQkFDVixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXhCLEtBQUssS0FBSztnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRTVCLEtBQUssUUFBUTtnQkFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXpCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OztZQTdKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkNYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLHV0RUFBdXRFLENBQUM7YUFDbHVFOzs7O3VCQUVFLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxNQUFNO2lDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHRpbWUtcGlja2VyLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC9tb21lbnQnO1xuXG4vLyB3ZWJwYWNrMV9cbmRlY2xhcmUgbGV0IHJlcXVpcmU6IGFueTtcbi8vIGNvbnN0IG15RHBTdHlsZXM6IHN0cmluZyA9IHJlcXVpcmUoJy4vdGltZS1waWNrZXIuY29tcG9uZW50LmNzcycpO1xuLy8gY29uc3QgbXlEcFRwbDogc3RyaW5nID0gcmVxdWlyZSgnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcpO1xuLy8gd2VicGFjazJfXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGA8cGlja2VyLW1vZGFsIChvbk92ZXJsYXlDbGljayk9XCJjYW5jZWxUaW1lUGlja2VyKClcIj5cbiAgPGRpdiBjbGFzcz1cInBpY2tlci13cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cInBpY2tlci1ib3hcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItaGVhZGVyXCI+VGltZSBQaWNrZXI8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItdGFibGVcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwicGlja2VyLXRhYmxlLXRpbWVcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwaWNrZXItdGFibGUtbnVtYmVyIGhvdXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgdXBcIiAoY2xpY2spPVwiaW5jcmVhc2VIb3VyKClcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiBob3VyRm9ybWF0IH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IGRvd25cIiAoY2xpY2spPVwiZGVjcmVhc2VIb3VyKClcIj48L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwaWNrZXItdGFibGUtc2VwYXJhdG9yXCI+OjwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGlja2VyLXRhYmxlLW51bWJlciBtaW51dGVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgdXBcIiAoY2xpY2spPVwiaW5jcmVhc2VNaW51dGUoKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7IHRpbWUgfCBtb21lbnQ6ICdtbScgfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgZG93blwiIChjbGljayk9XCJkZWNyZWFzZU1pbnV0ZSgpXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwic2hvd1NlY29uZFwiIGNsYXNzPVwicGlja2VyLXRhYmxlLXNlcGFyYXRvclwiPjo8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cInNob3dTZWNvbmRcIiBjbGFzcz1cInBpY2tlci10YWJsZS1udW1iZXIgc2Vjb25kXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IHVwXCIgKGNsaWNrKT1cImluY3JlYXNlU2Vjb25kKClcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiAnc3MnIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IGRvd25cIiAoY2xpY2spPVwiZGVjcmVhc2VTZWNvbmQoKVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cInVzZTEySG91clwiIGNsYXNzPVwicGlja2VyLXRhYmxlLW1lcmlkaWVtIG1lcmlkaWVtXCI+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiAnQScgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWFjdGlvbiBhY3Rpb24tbm93XCIgKGNsaWNrKT1cInNlbGVjdE5vdygpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+Tm93PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1hY3Rpb24gYWN0aW9uLWNvbmZpcm1cIiAoY2xpY2spPVwic2VsZWN0VGltZSgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+Q29uZmlybTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItYWN0aW9uIGFjdGlvbi1jbGVhclwiIChjbGljayk9XCJjbGVhclRpbWUoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkNsZWFyPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1hY3Rpb24gYWN0aW9uLWNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbFRpbWVQaWNrZXIoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkNsb3NlPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcGlja2VyLW1vZGFsPlxuYCxcbiAgc3R5bGVzOiBbYCosOjphZnRlciw6OmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnBpY2tlci13cmFwe3dpZHRoOjk1dnc7bWF4LXdpZHRoOjQwcmVtO2ZvbnQtZmFtaWx5OidPcGVuIFNhbnMnfS5waWNrZXItYm94e3dpZHRoOjEwMCU7cGFkZGluZzouNjI1cmVtIDFyZW07LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5waWNrZXItZm9vdGVyLC5waWNrZXItaGVhZGVye2ZvbnQtc2l6ZToxLjMzM3JlbTtsaW5lLWhlaWdodDoyLjVyZW07aGVpZ2h0OjIuNXJlbTt3aWR0aDoxMDAlfS5waWNrZXItaGVhZGVye3RleHQtYWxpZ246Y2VudGVyfS5waWNrZXItdGFibGV7d2lkdGg6MTAwJTttYXJnaW46Mi41cmVtIDB9LnBpY2tlci10YWJsZS10aW1le2ZvbnQtc2l6ZToyLjM3cmVtO2xpbmUtaGVpZ2h0OjIuNXJlbTtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5waWNrZXItdGFibGUtbWVyaWRpZW0sLnBpY2tlci10YWJsZS1udW1iZXIsLnBpY2tlci10YWJsZS1zZXBhcmF0b3J7dGV4dC1hbGlnbjpjZW50ZXJ9LnBpY2tlci10YWJsZS1tZXJpZGllbSwucGlja2VyLXRhYmxlLW51bWJlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMCV9LmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO2JvcmRlcjpzb2xpZCAjNzc3O2JvcmRlci13aWR0aDowIC4ycmVtIC4ycmVtIDA7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMjVyZW07Y3Vyc29yOnBvaW50ZXJ9LmFycm93LnVwe3RvcDotMXJlbTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyl9LmFycm93LmRvd257Ym90dG9tOi0xcmVtOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpfS5hcnJvdzpob3Zlcntib3JkZXItY29sb3I6IzE5NzVkMn0ucGlja2VyLXRhYmxlLXNlcGFyYXRvcnt3aWR0aDpjYWxjKDIwJSAvIDMpfS5waWNrZXItZm9vdGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXJ9LnBpY2tlci1mb290ZXIgLnBpY2tlci1hY3Rpb257d2lkdGg6MjUlO3RleHQtYWxpZ246Y2VudGVyfS5waWNrZXItZm9vdGVyIC5waWNrZXItYWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2IxZGNmYn0ucGlja2VyLWZvb3RlciAucGlja2VyLWFjdGlvbiAudGV4dHtwYWRkaW5nLWxlZnQ6LjhyZW19LnBpY2tlci1mb290ZXIgLmFjdGlvbi1jbGVhcjo6YmVmb3JlLC5waWNrZXItZm9vdGVyIC5hY3Rpb24tY2xvc2U6OmJlZm9yZSwucGlja2VyLWZvb3RlciAuYWN0aW9uLWNvbmZpcm06OmJlZm9yZSwucGlja2VyLWZvb3RlciAuYWN0aW9uLW5vdzo6YmVmb3Jle2NvbnRlbnQ6JyAnO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDowO3dpZHRoOjB9LnBpY2tlci1mb290ZXIgLmFjdGlvbi1ub3c6OmJlZm9yZXtib3JkZXItdG9wOi42NmVtIHNvbGlkICMwMDU5YmM7Ym9yZGVyLWxlZnQ6LjY2ZW0gc29saWQgdHJhbnNwYXJlbnR9LnBpY2tlci1mb290ZXIgLmFjdGlvbi1jb25maXJtOjpiZWZvcmV7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtib3JkZXItcmFkaXVzOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDBiNWFkfS5waWNrZXItZm9vdGVyIC5hY3Rpb24tY2xlYXI6OmJlZm9yZXt0b3A6LS41cmVtO3dpZHRoOjFyZW07Ym9yZGVyLXRvcDozcHggc29saWQgI2UyMH0ucGlja2VyLWZvb3RlciAuYWN0aW9uLWNsb3NlOjpiZWZvcmV7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgMzUlLCM3NzcgMzUlLCM3NzcgNjUlLHRyYW5zcGFyZW50IDY1JSksbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHRyYW5zcGFyZW50IDM1JSwjNzc3IDM1JSwjNzc3IDY1JSx0cmFuc3BhcmVudCA2NSUpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9YF1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGluaXRUaW1lOiBhbnk7XG4gIEBJbnB1dCgpIHNob3dTZWNvbmQgPSB0cnVlO1xuICBASW5wdXQoKSB2aWV3Rm9ybWF0ID0gJ2hoOm1tIEEnO1xuICBASW5wdXQoKSB1c2UxMkhvdXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcmV0dXJuT2JqZWN0ID0gJ2pzJztcbiAgQE91dHB1dCgpIG9uU2VsZWN0VGltZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25UaW1lUGlja2VyQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBob3VyRm9ybWF0ID0gJ0hIJztcbiAgcHVibGljIHRpbWU6IE1vbWVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXNlMTJIb3VyKSB7XG4gICAgICB0aGlzLmhvdXJGb3JtYXQgPSAnaGgnO1xuICAgIH1cbiAgICB0aGlzLnRpbWUgPSB0aGlzLmluaXRUaW1lXG4gICAgICA/IG1vbWVudCh0aGlzLmluaXRUaW1lLCB0aGlzLnZpZXdGb3JtYXQpXG4gICAgICA6IG1vbWVudCgpO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGlucHV0IGluaXREYXRlIGhhcyB2YWx1ZVxuICAgIGlmICh0aGlzLmluaXRUaW1lKSB7XG4gICAgICB0aGlzLnRpbWUgPVxuICAgICAgICB0aGlzLnJldHVybk9iamVjdCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IG1vbWVudCh0aGlzLmluaXRUaW1lLCB0aGlzLnZpZXdGb3JtYXQpXG4gICAgICAgICAgOiBtb21lbnQodGhpcy5pbml0VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGltZSA9IG1vbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIGluY3JlYXNlSG91cigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5hZGQoMSwgJ2gnKTtcbiAgfVxuXG4gIGRlY3JlYXNlSG91cigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAnaCcpO1xuICB9XG5cbiAgaW5jcmVhc2VNaW51dGUoKSB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuYWRkKDEsICdtJyk7XG4gIH1cblxuICBkZWNyZWFzZU1pbnV0ZSgpIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAnbScpO1xuICB9XG5cbiAgaW5jcmVhc2VTZWNvbmQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuYWRkKDEsICdzJyk7XG4gIH1cblxuICBkZWNyZWFzZVNlY29uZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAncycpO1xuICB9XG5cbiAgc2VsZWN0VGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RUaW1lID0gdGhpcy5wYXJzZVRvUmV0dXJuT2JqZWN0VHlwZSh0aGlzLnRpbWUpO1xuICAgIHRoaXMub25TZWxlY3RUaW1lLmVtaXQoc2VsZWN0VGltZSk7XG4gICAgdGhpcy5jYW5jZWxUaW1lUGlja2VyKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc2VsZWN0Tm93KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdFRpbWUgPSB0aGlzLnBhcnNlVG9SZXR1cm5PYmplY3RUeXBlKG1vbWVudCgpKTtcbiAgICB0aGlzLm9uU2VsZWN0VGltZS5lbWl0KHNlbGVjdFRpbWUpO1xuICAgIHRoaXMuY2FuY2VsVGltZVBpY2tlcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNsZWFyVGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VsZWN0VGltZS5lbWl0KG51bGwpO1xuICAgIHRoaXMuY2FuY2VsVGltZVBpY2tlcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNhbmNlbFRpbWVQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRpbWVQaWNrZXJDYW5jZWwuZW1pdChmYWxzZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVG9SZXR1cm5PYmplY3RUeXBlKHRpbWU6IE1vbWVudCk6IGFueSB7XG4gICAgc3dpdGNoICh0aGlzLnJldHVybk9iamVjdCkge1xuICAgICAgY2FzZSAnanMnOlxuICAgICAgICByZXR1cm4gdGltZS50b0RhdGUoKTtcblxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIHRpbWUuZm9ybWF0KHRoaXMudmlld0Zvcm1hdCk7XG5cbiAgICAgIGNhc2UgJ21vbWVudCc6XG4gICAgICAgIHJldHVybiB0aW1lO1xuXG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9KU09OKCk7XG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9BcnJheSgpO1xuXG4gICAgICBjYXNlICdpc28nOlxuICAgICAgICByZXR1cm4gdGltZS50b0lTT1N0cmluZygpO1xuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICByZXR1cm4gdGltZS50b09iamVjdCgpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { Component, Input, forwardRef, Renderer2 } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
export class FileUploadComponent {
|
|
4
|
-
constructor(renderer) {
|
|
5
|
-
this.renderer = renderer;
|
|
6
|
-
this.uploading = false;
|
|
7
|
-
this.fileUuid = null;
|
|
8
|
-
this.pdfUploaded = false;
|
|
9
|
-
this.formEntryMode = true;
|
|
10
|
-
// the method set in registerOnChange, it is just
|
|
11
|
-
// a placeholder for a method that takes one parameter,
|
|
12
|
-
// we use it to emit changes back to the form
|
|
13
|
-
this.propagateChange = (_) => { };
|
|
14
|
-
}
|
|
15
|
-
get dataSource() {
|
|
16
|
-
return this._dataSource;
|
|
17
|
-
}
|
|
18
|
-
set dataSource(v) {
|
|
19
|
-
this._dataSource = v;
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
if (this.fileUuid) {
|
|
23
|
-
this.checkFileType();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
onFileChange(fileList) {
|
|
27
|
-
for (const file of fileList) {
|
|
28
|
-
this.upload(file);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
upload(data) {
|
|
32
|
-
if (this.dataSource) {
|
|
33
|
-
this.uploading = true;
|
|
34
|
-
this.dataSource.fileUpload(data).subscribe((result) => {
|
|
35
|
-
this.fileUuid = result.image;
|
|
36
|
-
this.checkFileType();
|
|
37
|
-
this.propagateChange(this.fileUuid);
|
|
38
|
-
this.uploading = false;
|
|
39
|
-
}, (error) => {
|
|
40
|
-
this.uploading = false;
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// this is the initial value set to the component
|
|
45
|
-
writeValue(value) {
|
|
46
|
-
if (value !== this.fileUuid) {
|
|
47
|
-
this.fileUuid = value;
|
|
48
|
-
this.checkFileType();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// registers 'fn' that will be fired when changes are made
|
|
52
|
-
// this is how we emit the changes back to the form
|
|
53
|
-
registerOnChange(fn) {
|
|
54
|
-
this.propagateChange = fn;
|
|
55
|
-
}
|
|
56
|
-
// not used, used for touch input
|
|
57
|
-
registerOnTouched() { }
|
|
58
|
-
// change events from the textarea
|
|
59
|
-
onChange(event) {
|
|
60
|
-
this.propagateChange(event.id);
|
|
61
|
-
// .....
|
|
62
|
-
// update the form
|
|
63
|
-
// this.propagateChange(this.data);
|
|
64
|
-
}
|
|
65
|
-
clearValue() {
|
|
66
|
-
this.fileUuid = null;
|
|
67
|
-
this.pdfUploaded = false;
|
|
68
|
-
this.pdfUrl = null;
|
|
69
|
-
this.propagateChange(this.fileUuid);
|
|
70
|
-
}
|
|
71
|
-
getPdfUrl(fileUuid) {
|
|
72
|
-
this.dataSource.fetchFile(fileUuid, 'pdf').subscribe((file) => {
|
|
73
|
-
this.pdfUploaded = true;
|
|
74
|
-
this.pdfUrl = file.changingThisBreaksApplicationSecurity;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
checkFileType() {
|
|
78
|
-
const re = /pdf/gi;
|
|
79
|
-
if (this.fileUuid.search(re) !== -1) {
|
|
80
|
-
this.getPdfUrl(this.fileUuid);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
FileUploadComponent.decorators = [
|
|
85
|
-
{ type: Component, args: [{
|
|
86
|
-
selector: 'app-file-upload',
|
|
87
|
-
template: `<lib-file-uploader
|
|
88
|
-
[srcUrl]="pdfUrl"
|
|
89
|
-
[formEntry]="formEntryMode"
|
|
90
|
-
[(ngModel)]="fileUuid"
|
|
91
|
-
(_onClear)="clearValue()"
|
|
92
|
-
(uploadData)="onFileChange($event)"
|
|
93
|
-
>
|
|
94
|
-
</lib-file-uploader>
|
|
95
|
-
<div *ngIf="fileUuid">
|
|
96
|
-
<img
|
|
97
|
-
*ngIf="!pdfUploaded"
|
|
98
|
-
class="img-responsive"
|
|
99
|
-
[src]="fileUuid | secure: this.dataSource.fetchFile"
|
|
100
|
-
alt=""
|
|
101
|
-
/>
|
|
102
|
-
</div>
|
|
103
|
-
`,
|
|
104
|
-
providers: [
|
|
105
|
-
{
|
|
106
|
-
provide: NG_VALUE_ACCESSOR,
|
|
107
|
-
useExisting: forwardRef(() => FileUploadComponent),
|
|
108
|
-
multi: true
|
|
109
|
-
}
|
|
110
|
-
],
|
|
111
|
-
styles: [
|
|
112
|
-
`
|
|
113
|
-
img {
|
|
114
|
-
margin-left: auto;
|
|
115
|
-
margin-right: auto;
|
|
116
|
-
display: block;
|
|
117
|
-
}
|
|
118
|
-
`
|
|
119
|
-
]
|
|
120
|
-
},] },
|
|
121
|
-
];
|
|
122
|
-
FileUploadComponent.ctorParameters = () => [
|
|
123
|
-
{ type: Renderer2 }
|
|
124
|
-
];
|
|
125
|
-
FileUploadComponent.propDecorators = {
|
|
126
|
-
dataSource: [{ type: Input }]
|
|
127
|
-
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF3Q3pFLE1BQU07SUFlSixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZHZDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQStEckIsaURBQWlEO1FBQ2pELHVEQUF1RDtRQUN2RCw2Q0FBNkM7UUFDckMsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBdkRDLENBQUM7SUFSM0MsSUFDVyxVQUFVO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxRQUFRO1FBQ04sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ00sWUFBWSxDQUFDLFFBQVE7UUFDMUIsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxD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S0FNQztpQkFDRjthQUNGOzs7WUExQ0MsU0FBUzs7O3lCQWtEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBSZW5kZXJlcjIsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBTZWN1cmVQaXBlIH0gZnJvbSAnLi9zZWN1cmUucGlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZTogYDxsaWItZmlsZS11cGxvYWRlclxuICBbc3JjVXJsXT1cInBkZlVybFwiXG4gIFtmb3JtRW50cnldPVwiZm9ybUVudHJ5TW9kZVwiXG4gIFsobmdNb2RlbCldPVwiZmlsZVV1aWRcIlxuICAoX29uQ2xlYXIpPVwiY2xlYXJWYWx1ZSgpXCJcbiAgKHVwbG9hZERhdGEpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuPlxuPC9saWItZmlsZS11cGxvYWRlcj5cbjxkaXYgKm5nSWY9XCJmaWxlVXVpZFwiPlxuICA8aW1nXG4gICAgKm5nSWY9XCIhcGRmVXBsb2FkZWRcIlxuICAgIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmVcIlxuICAgIFtzcmNdPVwiZmlsZVV1aWQgfCBzZWN1cmU6IHRoaXMuZGF0YVNvdXJjZS5mZXRjaEZpbGVcIlxuICAgIGFsdD1cIlwiXG4gIC8+XG48L2Rpdj5cbmAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVVwbG9hZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgdXBsb2FkaW5nID0gZmFsc2U7XG4gIGZpbGVVdWlkID0gbnVsbDtcbiAgcGRmVXBsb2FkZWQgPSBmYWxzZTtcbiAgZm9ybUVudHJ5TW9kZSA9IHRydWU7XG4gIHBkZlVybDogc3RyaW5nO1xuICBwcml2YXRlIF9kYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cbiAgcHVibGljIHNldCBkYXRhU291cmNlKHY6IERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWxlVXVpZCkge1xuICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBvbkZpbGVDaGFuZ2UoZmlsZUxpc3QpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZUxpc3QpIHtcbiAgICAgIHRoaXMudXBsb2FkKGZpbGUpO1xuICAgIH1cbiAgfVxuICB1cGxvYWQoZGF0YSkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWxlVXBsb2FkKGRhdGEpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsZVV1aWQgPSByZXN1bHQuaW1hZ2U7XG4gICAgICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5maWxlVXVpZCk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuZmlsZVV1aWQpIHtcbiAgICAgIHRoaXMuZmlsZVV1aWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hlY2tGaWxlVHlwZSgpO1xuICAgIH1cbiAgfVxuICAvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXG4gIC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7fVxuICAvLyBjaGFuZ2UgZXZlbnRzIGZyb20gdGhlIHRleHRhcmVhXG4gIG9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaWQpO1xuICAgIC8vIC4uLi4uXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgLy8gdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRhKTtcbiAgfVxuXG4gIC8vIHRoZSBtZXRob2Qgc2V0IGluIHJlZ2lzdGVyT25DaGFuZ2UsIGl0IGlzIGp1c3RcbiAgLy8gYSBwbGFjZWhvbGRlciBmb3IgYSBtZXRob2QgdGhhdCB0YWtlcyBvbmUgcGFyYW1ldGVyLFxuICAvLyB3ZSB1c2UgaXQgdG8gZW1pdCBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBwdWJsaWMgY2xlYXJWYWx1ZSgpIHtcbiAgICB0aGlzLmZpbGVVdWlkID0gbnVsbDtcbiAgICB0aGlzLnBkZlVwbG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5wZGZVcmwgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZmlsZVV1aWQpO1xuICB9XG5cbiAgcHVibGljIGdldFBkZlVybChmaWxlVXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLmZldGNoRmlsZShmaWxlVXVpZCwgJ3BkZicpLnN1YnNjcmliZSgoZmlsZSkgPT4ge1xuICAgICAgdGhpcy5wZGZVcGxvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLnBkZlVybCA9IGZpbGUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTtcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgY2hlY2tGaWxlVHlwZSgpIHtcbiAgICBjb25zdCByZSA9IC9wZGYvZ2k7XG4gICAgaWYgKHRoaXMuZmlsZVV1aWQuc2VhcmNoKHJlKSAhPT0gLTEpIHtcbiAgICAgIHRoaXMuZ2V0UGRmVXJsKHRoaXMuZmlsZVV1aWQpO1xuICAgIH1cbiAgfVxufVxuIl19
|