@ampath-kenya/ngx-openmrs-formentry 3.0.0-alpha9 → 3.0.0-ampath.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract-controls-extension/afe-control-type.d.ts +1 -1
- package/abstract-controls-extension/afe-form-array.d.ts +2 -3
- package/abstract-controls-extension/afe-form-control.d.ts +1 -1
- package/abstract-controls-extension/afe-form-group.d.ts +1 -1
- package/ampath-kenya-ngx-openmrs-formentry.d.ts +48 -74
- package/ampath-kenya-ngx-openmrs-formentry.metadata.json +1 -1
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +5729 -9376
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -1
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +1 -16
- package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -1
- package/change-tracking/control-relation.d.ts +4 -4
- package/change-tracking/control-relations.d.ts +3 -3
- package/components/check-box/checkbox.component.d.ts +1 -2
- package/components/date-time-picker/date-time-picker.component.d.ts +1 -2
- package/components/date-time-picker/date-time-picker.module.d.ts +0 -3
- package/components/file-upload/file-upload.component.d.ts +25 -0
- package/components/file-upload/file-upload.module.d.ts +2 -0
- package/components/file-upload/secure.pipe.d.ts +5 -5
- package/components/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +52 -0
- package/components/{ngx-datetime-picker/ngx-datetime-picker.module.d.ts → ngx-date-time-picker/ngx-date-time-picker.module.d.ts} +0 -3
- package/components/ngx-time-picker/ngx-time-picker.component.d.ts +13 -0
- package/components/ngx-time-picker/ngx-time-picker.module.d.ts +2 -0
- package/components/{ngx-remote-select/ngx-remote-select.component.d.ts → remote-select/remote-select.component.d.ts} +8 -12
- package/components/remote-select/remote-select.module.d.ts +2 -0
- package/components/select/diacritics.d.ts +844 -0
- package/components/select/option-list.d.ts +36 -0
- package/components/select/option.d.ts +17 -0
- package/components/select/select-dropdown.component.d.ts +40 -0
- package/components/select/select-dropdown.component.style.d.ts +1 -0
- package/components/select/select.component.d.ts +96 -108
- package/components/select/select.component.style.d.ts +1 -0
- package/encounter-viewer/display-controls/file-preview.component.d.ts +25 -0
- package/encounter-viewer/display-controls/question-control.component.d.ts +15 -0
- package/encounter-viewer/display-controls/remote-answer.component.d.ts +17 -0
- package/encounter-viewer/encounter-container/encounter-container.component.d.ts +15 -0
- package/encounter-viewer/encounter-pdf-viewer.service.d.ts +27 -0
- package/encounter-viewer/encounter-view/encounter-viewer.component.d.ts +30 -0
- package/encounter-viewer/encounter-viewer.module.d.ts +2 -0
- package/encounter-viewer/encounter-viewer.service.d.ts +16 -0
- package/esm2015/abstract-controls-extension/afe-control-type.js +2 -1
- package/esm2015/abstract-controls-extension/afe-form-array.js +2 -1
- package/esm2015/abstract-controls-extension/afe-form-control.js +2 -1
- package/esm2015/abstract-controls-extension/afe-form-group.js +2 -1
- package/esm2015/abstract-controls-extension/control-extensions.js +2 -1
- package/esm2015/abstract-controls-extension/index.js +2 -1
- package/esm2015/abstract-controls-extension/value-change.listener.js +2 -2
- package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +40 -65
- package/esm2015/change-tracking/control-relation.js +2 -1
- package/esm2015/change-tracking/control-relations.js +2 -1
- package/esm2015/components/afe-ng-select.component.js +3 -2
- package/esm2015/components/appointments-overview/appointments-overview.component.js +78 -33
- package/esm2015/components/check-box/checkbox.component.js +24 -3
- package/esm2015/components/check-box/checkbox.module.js +3 -2
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +93 -4
- package/esm2015/components/date-time-picker/date-time-picker.component.js +109 -5
- package/esm2015/components/date-time-picker/date-time-picker.module.js +3 -2
- package/esm2015/components/date-time-picker/picker-modal/modal.component.js +13 -5
- package/esm2015/components/date-time-picker/pipes/moment.pipe.js +3 -2
- package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +51 -4
- package/esm2015/components/file-upload/file-upload.component.js +130 -0
- package/esm2015/components/file-upload/file-upload.module.js +28 -0
- package/esm2015/components/file-upload/secure.pipe.js +5 -3
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +259 -0
- package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +43 -0
- package/esm2015/components/ngx-time-picker/ngx-time-picker.component.js +78 -0
- package/esm2015/components/ngx-time-picker/ngx-time-picker.module.js +16 -0
- package/esm2015/components/remote-select/remote-select.component.js +171 -0
- package/esm2015/components/remote-select/remote-select.module.js +18 -0
- package/esm2015/components/select/diacritics.js +856 -0
- package/esm2015/components/select/option-list.js +180 -0
- package/esm2015/components/select/option.js +30 -0
- package/esm2015/components/select/select-dropdown.component.js +162 -0
- package/esm2015/components/select/select-dropdown.component.style.js +59 -0
- package/esm2015/components/select/select.component.js +493 -216
- package/esm2015/components/select/select.component.style.js +102 -0
- package/esm2015/components/select/select.module.js +11 -24
- package/esm2015/encounter-viewer/display-controls/file-preview.component.js +111 -0
- package/esm2015/encounter-viewer/display-controls/question-control.component.js +94 -0
- package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +81 -0
- package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +50 -0
- package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +437 -0
- package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +301 -0
- package/esm2015/encounter-viewer/encounter-viewer.module.js +36 -0
- package/esm2015/encounter-viewer/encounter-viewer.service.js +162 -0
- package/esm2015/form-entry/control-alerts/alert-helpers.js +2 -1
- package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -2
- package/esm2015/form-entry/control-calculators/can-calculate.js +2 -2
- package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -2
- package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -2
- package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +2 -1
- package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +2 -1
- package/esm2015/form-entry/data-sources/data-sources.js +5 -3
- package/esm2015/form-entry/data-sources/dummy-data-source.js +2 -1
- package/esm2015/form-entry/directives/historical-value-directive.js +4 -2
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +20 -4
- package/esm2015/form-entry/expression-runner/expression-runner.js +13 -16
- package/esm2015/form-entry/form-entry.module.js +29 -25
- package/esm2015/form-entry/form-factory/control-relations.factory.js +4 -2
- package/esm2015/form-entry/form-factory/form-control.service.js +4 -2
- package/esm2015/form-entry/form-factory/form-node.js +2 -4
- package/esm2015/form-entry/form-factory/form.factory.js +4 -2
- package/esm2015/form-entry/form-factory/form.js +2 -1
- package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +4 -2
- package/esm2015/form-entry/form-factory/question.factory.js +158 -23
- package/esm2015/form-entry/form-factory/show-messages.factory.js +4 -2
- package/esm2015/form-entry/form-factory/validation.factory.js +4 -2
- package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +8 -12
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +458 -9
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +4 -2
- package/esm2015/form-entry/helpers/historical-field-helper-service.js +2 -5
- package/esm2015/form-entry/helpers/js-expression-helper.js +2 -5
- package/esm2015/form-entry/question-models/checkbox.model.js +2 -1
- package/esm2015/form-entry/question-models/conditional-validation.model.js +2 -1
- package/esm2015/form-entry/question-models/date-question.js +3 -1
- package/esm2015/form-entry/question-models/date-validation.model.js +2 -1
- package/esm2015/form-entry/question-models/decimal-point-validation.model.js +20 -0
- package/esm2015/form-entry/question-models/file-upload-question.js +2 -1
- package/esm2015/form-entry/question-models/group-question.js +2 -1
- package/esm2015/form-entry/question-models/interfaces/base-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/nested-questions.js +2 -1
- package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -2
- package/esm2015/form-entry/question-models/interfaces/time-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -2
- package/esm2015/form-entry/question-models/js-expression-validation.model.js +2 -1
- package/esm2015/form-entry/question-models/max-validation.model.js +2 -1
- package/esm2015/form-entry/question-models/min-validation.model.js +2 -1
- package/esm2015/form-entry/question-models/models.js +2 -1
- package/esm2015/form-entry/question-models/multi-select-question.js +2 -1
- package/esm2015/form-entry/question-models/pair.model.js +2 -1
- package/esm2015/form-entry/question-models/question-base.js +2 -1
- package/esm2015/form-entry/question-models/rendering-type.js +2 -1
- package/esm2015/form-entry/question-models/repeating-question.js +2 -1
- package/esm2015/form-entry/question-models/select-option.js +2 -1
- package/esm2015/form-entry/question-models/select-question.js +2 -1
- package/esm2015/form-entry/question-models/test-order-question.js +2 -1
- package/esm2015/form-entry/question-models/text-area-input-question.js +2 -1
- package/esm2015/form-entry/question-models/text-input-question.js +2 -1
- package/esm2015/form-entry/question-models/time-question.js +11 -0
- package/esm2015/form-entry/question-models/ui-select-question.js +2 -1
- package/esm2015/form-entry/question-models/validation.model.js +2 -1
- package/esm2015/form-entry/services/debug-mode.service.js +4 -2
- package/esm2015/form-entry/services/form-errors.service.js +3 -2
- package/esm2015/form-entry/services/form-schema-compiler.service.js +4 -2
- package/esm2015/form-entry/services/historical-encounter-data.service.js +4 -2
- package/esm2015/form-entry/utils/messages.js +2 -1
- package/esm2015/form-entry/validators/conditional-answered.validator.js +2 -1
- package/esm2015/form-entry/validators/conditional-required.validator.js +2 -1
- package/esm2015/form-entry/validators/date.validator.js +2 -1
- package/esm2015/form-entry/validators/future-date-restriction.validator.js +2 -1
- package/esm2015/form-entry/validators/js-expression.validator.js +2 -1
- package/esm2015/form-entry/validators/max-date.validator.js +2 -1
- package/esm2015/form-entry/validators/max.validator.js +2 -1
- package/esm2015/form-entry/validators/min-date.validator.js +2 -1
- package/esm2015/form-entry/validators/min.validator.js +2 -1
- package/esm2015/form-entry/validators/required.validator.js +2 -1
- package/esm2015/form-entry/validators/validations.js +2 -1
- package/esm2015/form-entry/value-adapters/encounter.adapter.js +5 -3
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +5 -11
- package/esm2015/form-entry/value-adapters/obs.adapter.js +5 -6
- package/esm2015/form-entry/value-adapters/order.adapter.js +3 -2
- package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +8 -3
- package/esm2015/form-entry/value-adapters/value.adapter.js +2 -2
- package/esm2015/public_api.js +52 -2
- package/esm2015/shared.module.js +3 -2
- package/esm5/abstract-controls-extension/afe-control-type.js +9 -0
- package/esm5/abstract-controls-extension/afe-form-array.js +99 -0
- package/esm5/abstract-controls-extension/afe-form-control.js +97 -0
- package/esm5/abstract-controls-extension/afe-form-group.js +71 -0
- package/esm5/abstract-controls-extension/control-extensions.js +6 -0
- package/esm5/abstract-controls-extension/index.js +6 -0
- package/esm5/abstract-controls-extension/value-change.listener.js +2 -0
- package/esm5/ampath-kenya-ngx-openmrs-formentry.js +45 -0
- package/esm5/change-tracking/control-relation.js +60 -0
- package/esm5/change-tracking/control-relations.js +47 -0
- package/esm5/components/afe-ng-select.component.js +88 -0
- package/esm5/components/appointments-overview/appointments-overview.component.js +127 -0
- package/esm5/components/check-box/checkbox.component.js +89 -0
- package/esm5/components/check-box/checkbox.module.js +19 -0
- package/esm5/components/date-time-picker/date-picker/date-picker.component.js +188 -0
- package/esm5/components/date-time-picker/date-time-picker.component.js +113 -0
- package/esm5/components/date-time-picker/date-time-picker.module.js +39 -0
- package/esm5/components/date-time-picker/picker-modal/modal.component.js +34 -0
- package/esm5/components/date-time-picker/pipes/moment.pipe.js +18 -0
- package/esm5/components/date-time-picker/time-picker/time-picker.component.js +119 -0
- package/esm5/components/file-upload/file-upload.component.js +128 -0
- package/esm5/components/file-upload/file-upload.module.js +32 -0
- package/esm5/components/file-upload/secure.pipe.js +107 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +221 -0
- package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +47 -0
- package/esm5/components/ngx-time-picker/ngx-time-picker.component.js +74 -0
- package/esm5/components/ngx-time-picker/ngx-time-picker.module.js +20 -0
- package/esm5/components/remote-select/remote-select.component.js +165 -0
- package/esm5/components/remote-select/remote-select.module.js +22 -0
- package/esm5/components/select/diacritics.js +861 -0
- package/esm5/components/select/option-list.js +225 -0
- package/esm5/components/select/option.js +32 -0
- package/esm5/components/select/select-dropdown.component.js +132 -0
- package/esm5/components/select/select-dropdown.component.style.js +3 -0
- package/esm5/components/select/select.component.js +457 -0
- package/esm5/components/select/select.component.style.js +3 -0
- package/esm5/components/select/select.module.js +20 -0
- package/esm5/encounter-viewer/display-controls/file-preview.component.js +111 -0
- package/esm5/encounter-viewer/display-controls/question-control.component.js +106 -0
- package/esm5/encounter-viewer/display-controls/remote-answer.component.js +88 -0
- package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +47 -0
- package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +523 -0
- package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +187 -0
- package/esm5/encounter-viewer/encounter-viewer.module.js +40 -0
- package/esm5/encounter-viewer/encounter-viewer.service.js +167 -0
- package/esm5/form-entry/control-alerts/alert-helpers.js +45 -0
- package/esm5/form-entry/control-alerts/can-generate-alert.js +2 -0
- package/esm5/form-entry/control-calculators/can-calculate.js +2 -0
- package/esm5/form-entry/control-hiders-disablers/can-disable.js +2 -0
- package/esm5/form-entry/control-hiders-disablers/can-hide.js +2 -0
- package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +38 -0
- package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +45 -0
- package/esm5/form-entry/data-sources/data-sources.js +39 -0
- package/esm5/form-entry/data-sources/dummy-data-source.js +107 -0
- package/esm5/form-entry/directives/historical-value-directive.js +74 -0
- package/esm5/form-entry/error-renderer/error-renderer.component.js +64 -0
- package/esm5/form-entry/expression-runner/expression-runner.js +159 -0
- package/esm5/form-entry/form-entry.module.js +111 -0
- package/esm5/form-entry/form-factory/control-relations.factory.js +245 -0
- package/esm5/form-entry/form-factory/form-control.service.js +122 -0
- package/esm5/form-entry/form-factory/form-node.js +117 -0
- package/esm5/form-entry/form-factory/form.factory.js +138 -0
- package/esm5/form-entry/form-factory/form.js +214 -0
- package/esm5/form-entry/form-factory/hiders-disablers.factory.js +70 -0
- package/esm5/form-entry/form-factory/question.factory.js +980 -0
- package/esm5/form-entry/form-factory/show-messages.factory.js +34 -0
- package/esm5/form-entry/form-factory/validation.factory.js +191 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.css.js +3 -0
- package/esm5/form-entry/form-renderer/form-renderer.component.js +219 -0
- package/esm5/form-entry/helpers/historical-expression-helper-service.js +43 -0
- package/esm5/form-entry/helpers/historical-field-helper-service.js +37 -0
- package/esm5/form-entry/helpers/js-expression-helper.js +243 -0
- package/esm5/form-entry/question-models/checkbox.model.js +17 -0
- package/esm5/form-entry/question-models/conditional-validation.model.js +15 -0
- package/esm5/form-entry/question-models/date-question.js +19 -0
- package/esm5/form-entry/question-models/date-validation.model.js +16 -0
- package/esm5/form-entry/question-models/decimal-point-validation.model.js +22 -0
- package/esm5/form-entry/question-models/file-upload-question.js +19 -0
- package/esm5/form-entry/question-models/group-question.js +18 -0
- package/esm5/form-entry/question-models/interfaces/base-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/checkbox-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/data-source.js +2 -0
- package/esm5/form-entry/question-models/interfaces/date-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/group-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/multi-select-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/nested-questions.js +12 -0
- package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/select-option.js +2 -0
- package/esm5/form-entry/question-models/interfaces/select-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/text-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/time-question-options.js +2 -0
- package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +2 -0
- package/esm5/form-entry/question-models/js-expression-validation.model.js +14 -0
- package/esm5/form-entry/question-models/max-validation.model.js +15 -0
- package/esm5/form-entry/question-models/min-validation.model.js +15 -0
- package/esm5/form-entry/question-models/models.js +13 -0
- package/esm5/form-entry/question-models/multi-select-question.js +17 -0
- package/esm5/form-entry/question-models/pair.model.js +10 -0
- package/esm5/form-entry/question-models/question-base.js +27 -0
- package/esm5/form-entry/question-models/rendering-type.js +10 -0
- package/esm5/form-entry/question-models/repeating-question.js +17 -0
- package/esm5/form-entry/question-models/select-option.js +10 -0
- package/esm5/form-entry/question-models/select-question.js +18 -0
- package/esm5/form-entry/question-models/test-order-question.js +21 -0
- package/esm5/form-entry/question-models/text-area-input-question.js +19 -0
- package/esm5/form-entry/question-models/text-input-question.js +16 -0
- package/esm5/form-entry/question-models/time-question.js +16 -0
- package/esm5/form-entry/question-models/ui-select-question.js +17 -0
- package/esm5/form-entry/question-models/validation.model.js +10 -0
- package/esm5/form-entry/services/debug-mode.service.js +26 -0
- package/esm5/form-entry/services/form-errors.service.js +21 -0
- package/esm5/form-entry/services/form-schema-compiler.service.js +254 -0
- package/esm5/form-entry/services/historical-encounter-data.service.js +180 -0
- package/esm5/form-entry/utils/messages.js +17 -0
- package/esm5/form-entry/validators/conditional-answered.validator.js +50 -0
- package/esm5/form-entry/validators/conditional-required.validator.js +44 -0
- package/esm5/form-entry/validators/date.validator.js +22 -0
- package/esm5/form-entry/validators/future-date-restriction.validator.js +25 -0
- package/esm5/form-entry/validators/js-expression.validator.js +30 -0
- package/esm5/form-entry/validators/max-date.validator.js +28 -0
- package/esm5/form-entry/validators/max.validator.js +22 -0
- package/esm5/form-entry/validators/min-date.validator.js +28 -0
- package/esm5/form-entry/validators/min.validator.js +22 -0
- package/esm5/form-entry/validators/required.validator.js +16 -0
- package/esm5/form-entry/validators/validations.js +9 -0
- package/esm5/form-entry/value-adapters/encounter.adapter.js +178 -0
- package/esm5/form-entry/value-adapters/obs-adapter-helper.js +509 -0
- package/esm5/form-entry/value-adapters/obs.adapter.js +737 -0
- package/esm5/form-entry/value-adapters/order.adapter.js +227 -0
- package/esm5/form-entry/value-adapters/person-attribute.adapter.js +96 -0
- package/esm5/form-entry/value-adapters/value.adapter.js +2 -0
- package/esm5/public_api.js +52 -0
- package/esm5/shared.module.js +20 -0
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +5093 -6889
- package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -1
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10737 -0
- package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
- package/form-entry/data-sources/data-sources.d.ts +1 -1
- package/form-entry/directives/historical-value-directive.d.ts +2 -2
- package/form-entry/error-renderer/error-renderer.component.d.ts +1 -1
- package/form-entry/expression-runner/expression-runner.d.ts +6 -6
- package/form-entry/form-factory/form-control.service.d.ts +3 -3
- package/form-entry/form-factory/form-node.d.ts +9 -10
- package/form-entry/form-factory/form.d.ts +6 -7
- package/form-entry/form-factory/question.factory.d.ts +7 -1
- package/form-entry/form-factory/validation.factory.d.ts +10 -10
- package/form-entry/form-renderer/form-renderer.component.css.d.ts +1 -1
- package/form-entry/form-renderer/form-renderer.component.d.ts +4 -6
- package/form-entry/helpers/js-expression-helper.d.ts +1 -1
- package/form-entry/question-models/date-question.d.ts +2 -0
- package/form-entry/question-models/decimal-point-validation.model.d.ts +10 -0
- package/form-entry/question-models/interfaces/base-options.d.ts +1 -0
- package/form-entry/question-models/interfaces/time-question-options.d.ts +3 -0
- package/form-entry/question-models/question-base.d.ts +4 -0
- package/form-entry/question-models/rendering-type.d.ts +1 -1
- package/form-entry/question-models/time-question.d.ts +5 -0
- package/form-entry/services/form-errors.service.d.ts +2 -1
- package/form-entry/services/form-schema-compiler.service.d.ts +16 -16
- package/form-entry/services/historical-encounter-data.service.d.ts +3 -3
- package/form-entry/utils/messages.d.ts +9 -9
- package/form-entry/value-adapters/encounter.adapter.d.ts +2 -2
- package/form-entry/value-adapters/order.adapter.d.ts +9 -9
- package/form-entry/value-adapters/person-attribute.adapter.d.ts +1 -1
- package/package.json +18 -16
- package/public_api.d.ts +50 -1
- package/components/input/input.directive.d.ts +0 -28
- package/components/input/input.module.d.ts +0 -2
- package/components/input/label.component.d.ts +0 -87
- package/components/input/text-area.directive.d.ts +0 -21
- package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +0 -13
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +0 -189
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +0 -15
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +0 -73
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +0 -5
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +0 -7
- package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +0 -77
- package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +0 -139
- package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +0 -109
- package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +0 -120
- package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +0 -141
- package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +0 -90
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +0 -122
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +0 -152
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +0 -51
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +0 -21
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +0 -8
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +0 -157
- package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +0 -86
- package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +0 -5
- package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +0 -7
- package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +0 -35
- package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +0 -129
- package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +0 -93
- package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +0 -56
- package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +0 -49
- package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +0 -5
- package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +0 -70
- package/components/ngx-pick-datetime/lib/utils/index.d.ts +0 -4
- package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +0 -11
- package/components/ngx-remote-select/ngx-remote-select.module.d.ts +0 -2
- package/components/ngx-tabset/components/tab-set.d.ts +0 -15
- package/components/ngx-tabset/components/tab.d.ts +0 -10
- package/components/ngx-tabset/directives/hover-class.directive.d.ts +0 -8
- package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +0 -11
- package/components/number-input/number-input.component.d.ts +0 -148
- package/components/number-input/number-input.module.d.ts +0 -2
- package/components/select/optgroup.directive.d.ts +0 -3
- package/components/select/option.directive.d.ts +0 -3
- package/esm2015/components/input/input.directive.js +0 -55
- package/esm2015/components/input/input.module.js +0 -29
- package/esm2015/components/input/label.component.js +0 -139
- package/esm2015/components/input/text-area.directive.js +0 -40
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +0 -52
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +0 -28
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +0 -115
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +0 -7
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +0 -346
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +0 -10
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +0 -30
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +0 -149
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +0 -432
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +0 -353
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +0 -362
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +0 -337
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +0 -252
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +0 -379
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +0 -601
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +0 -60
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +0 -69
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +0 -21
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +0 -515
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +0 -154
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +0 -63
- package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +0 -24
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +0 -83
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +0 -293
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +0 -56
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +0 -208
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +0 -113
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +0 -29
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +0 -228
- package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +0 -5
- package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +0 -26
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +0 -119
- package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +0 -18
- package/esm2015/components/ngx-tabset/components/tab-set.js +0 -67
- package/esm2015/components/ngx-tabset/components/tab.js +0 -38
- package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +0 -26
- package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +0 -40
- package/esm2015/components/number-input/number-input.component.js +0 -203
- package/esm2015/components/number-input/number-input.module.js +0 -15
- package/esm2015/components/select/optgroup.directive.js +0 -17
- package/esm2015/components/select/option.directive.js +0 -17
- package/esm2015/form-entry/directives/collapse-animations.js +0 -11
- package/esm2015/form-entry/directives/collapse.directive.js +0 -157
- package/esm2015/form-entry/pipes/time-ago.pipe.js +0 -107
- package/esm2015/lib/index.js +0 -49
- package/form-entry/directives/collapse-animations.d.ts +0 -4
- package/form-entry/directives/collapse.directive.d.ts +0 -42
- package/form-entry/pipes/time-ago.pipe.d.ts +0 -11
- package/lib/index.d.ts +0 -49
- package/styles/ngx-formentry.css +0 -317
- package/styles/picker.min.css +0 -1
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
/** @nocollapse */
|
|
123
|
+
FileUploadComponent.ctorParameters = () => [
|
|
124
|
+
{ type: Renderer2 }
|
|
125
|
+
];
|
|
126
|
+
FileUploadComponent.propDecorators = {
|
|
127
|
+
dataSource: [{ type: Input }]
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxVQUFVLEVBQ1YsU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdDekUsTUFBTTtJQWVKLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFkdkMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBK0RyQixpREFBaUQ7UUFDakQsdURBQXVEO1FBQ3ZELDZDQUE2QztRQUNyQyxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUF2REMsQ0FBQztJQVIzQyxJQUNXLFVBQVU7UUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsVUFBVSxDQUFDLENBQWE7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUlELFFBQVE7UUFDTixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDTSxZQUFZLENBQUMsUUFBUTtRQUMxQixHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElB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QUU7b0JBQ047Ozs7OztLQU1DO2lCQUNGO2FBQ0Y7Ozs7WUExQ0MsU0FBUzs7O3lCQWtEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBSZW5kZXJlcjIsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBTZWN1cmVQaXBlIH0gZnJvbSAnLi9zZWN1cmUucGlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZTogYDxsaWItZmlsZS11cGxvYWRlclxuICBbc3JjVXJsXT1cInBkZlVybFwiXG4gIFtmb3JtRW50cnldPVwiZm9ybUVudHJ5TW9kZVwiXG4gIFsobmdNb2RlbCldPVwiZmlsZVV1aWRcIlxuICAoX29uQ2xlYXIpPVwiY2xlYXJWYWx1ZSgpXCJcbiAgKHVwbG9hZERhdGEpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuPlxuPC9saWItZmlsZS11cGxvYWRlcj5cbjxkaXYgKm5nSWY9XCJmaWxlVXVpZFwiPlxuICA8aW1nXG4gICAgKm5nSWY9XCIhcGRmVXBsb2FkZWRcIlxuICAgIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmVcIlxuICAgIFtzcmNdPVwiZmlsZVV1aWQgfCBzZWN1cmU6IHRoaXMuZGF0YVNvdXJjZS5mZXRjaEZpbGVcIlxuICAgIGFsdD1cIlwiXG4gIC8+XG48L2Rpdj5cbmAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVVwbG9hZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgdXBsb2FkaW5nID0gZmFsc2U7XG4gIGZpbGVVdWlkID0gbnVsbDtcbiAgcGRmVXBsb2FkZWQgPSBmYWxzZTtcbiAgZm9ybUVudHJ5TW9kZSA9IHRydWU7XG4gIHBkZlVybDogc3RyaW5nO1xuICBwcml2YXRlIF9kYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cbiAgcHVibGljIHNldCBkYXRhU291cmNlKHY6IERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWxlVXVpZCkge1xuICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBvbkZpbGVDaGFuZ2UoZmlsZUxpc3QpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZUxpc3QpIHtcbiAgICAgIHRoaXMudXBsb2FkKGZpbGUpO1xuICAgIH1cbiAgfVxuICB1cGxvYWQoZGF0YSkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWxlVXBsb2FkKGRhdGEpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsZVV1aWQgPSByZXN1bHQuaW1hZ2U7XG4gICAgICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5maWxlVXVpZCk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuZmlsZVV1aWQpIHtcbiAgICAgIHRoaXMuZmlsZVV1aWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hlY2tGaWxlVHlwZSgpO1xuICAgIH1cbiAgfVxuICAvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXG4gIC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7fVxuICAvLyBjaGFuZ2UgZXZlbnRzIGZyb20gdGhlIHRleHRhcmVhXG4gIG9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaWQpO1xuICAgIC8vIC4uLi4uXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgLy8gdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRhKTtcbiAgfVxuXG4gIC8vIHRoZSBtZXRob2Qgc2V0IGluIHJlZ2lzdGVyT25DaGFuZ2UsIGl0IGlzIGp1c3RcbiAgLy8gYSBwbGFjZWhvbGRlciBmb3IgYSBtZXRob2QgdGhhdCB0YWtlcyBvbmUgcGFyYW1ldGVyLFxuICAvLyB3ZSB1c2UgaXQgdG8gZW1pdCBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBwdWJsaWMgY2xlYXJWYWx1ZSgpIHtcbiAgICB0aGlzLmZpbGVVdWlkID0gbnVsbDtcbiAgICB0aGlzLnBkZlVwbG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5wZGZVcmwgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZmlsZVV1aWQpO1xuICB9XG5cbiAgcHVibGljIGdldFBkZlVybChmaWxlVXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLmZldGNoRmlsZShmaWxlVXVpZCwgJ3BkZicpLnN1YnNjcmliZSgoZmlsZSkgPT4ge1xuICAgICAgdGhpcy5wZGZVcGxvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLnBkZlVybCA9IGZpbGUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTtcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgY2hlY2tGaWxlVHlwZSgpIHtcbiAgICBjb25zdCByZSA9IC9wZGYvZ2k7XG4gICAgaWYgKHRoaXMuZmlsZVV1aWQuc2VhcmNoKHJlKSAhPT0gLTEpIHtcbiAgICAgIHRoaXMuZ2V0UGRmVXJsKHRoaXMuZmlsZVV1aWQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { NgxFileUploaderModule } from 'ngx-file-uploader';
|
|
5
|
+
import { SharedModule } from '../../shared.module';
|
|
6
|
+
// import { SelectModule } from 'ng2-select/ng2-select';
|
|
7
|
+
import { SelectModule } from '../../components/select/select.module';
|
|
8
|
+
import { FileUploadComponent } from './file-upload.component';
|
|
9
|
+
import { WebcamModule } from 'ngx-webcam';
|
|
10
|
+
export class RemoteFileUploadModule {
|
|
11
|
+
}
|
|
12
|
+
RemoteFileUploadModule.decorators = [
|
|
13
|
+
{ type: NgModule, args: [{
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
SelectModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
SharedModule,
|
|
19
|
+
WebcamModule,
|
|
20
|
+
NgxFileUploaderModule
|
|
21
|
+
],
|
|
22
|
+
exports: [FileUploadComponent],
|
|
23
|
+
declarations: [FileUploadComponent],
|
|
24
|
+
providers: []
|
|
25
|
+
},] },
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQWUxQyxNQUFNOzs7WUFiTCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixXQUFXO29CQUNYLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbkMsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5neEZpbGVVcGxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1maWxlLXVwbG9hZGVyJztcblxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG4vLyBpbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICduZzItc2VsZWN0L25nMi1zZWxlY3QnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2ViY2FtTW9kdWxlIH0gZnJvbSAnbmd4LXdlYmNhbSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBXZWJjYW1Nb2R1bGUsXG4gICAgTmd4RmlsZVVwbG9hZGVyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtGaWxlVXBsb2FkQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbRmlsZVVwbG9hZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgUmVtb3RlRmlsZVVwbG9hZE1vZHVsZSB7fVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/* tslint:disable:component-class-suffix */
|
|
2
1
|
import { Pipe, WrappedValue, ChangeDetectorRef } from '@angular/core';
|
|
3
2
|
import { BehaviorSubject } from 'rxjs';
|
|
4
3
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
+
// import { FileUploadResourceService } from '../../etl-api/file-upload-resource.service';
|
|
5
5
|
// Using similarity from AsyncPipe to avoid having to pipe |secure|async in HTML.
|
|
6
6
|
// tslint:disable-next-line:use-pipe-transform-interface
|
|
7
7
|
export class SecurePipe {
|
|
@@ -93,10 +93,12 @@ SecurePipe.decorators = [
|
|
|
93
93
|
{ type: Pipe, args: [{
|
|
94
94
|
name: 'secure',
|
|
95
95
|
pure: false
|
|
96
|
-
},] }
|
|
96
|
+
},] },
|
|
97
97
|
];
|
|
98
|
+
/** @nocollapse */
|
|
98
99
|
SecurePipe.ctorParameters = () => [
|
|
99
100
|
{ type: ChangeDetectorRef },
|
|
100
101
|
{ type: DomSanitizer }
|
|
101
102
|
];
|
|
102
|
-
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZmlsZS11cGxvYWQvc2VjdXJlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLElBQUksRUFHSixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELDBGQUEwRjtBQUUxRixpRkFBaUY7QUFDakYsd0RBQXdEO0FBS3hELE1BQU07SUFXSixZQUNVLElBQXVCLEVBQ3ZCLFNBQXVCO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFaekIsaUJBQVksR0FBUSxJQUFJLENBQUM7UUFDekIseUJBQW9CLEdBQVEsSUFBSSxDQUFDO1FBQ2pDLGtCQUFhLEdBQWlCLElBQUksQ0FBQztRQUNuQyxTQUFJLEdBQW9CLElBQUksQ0FBQztRQUc3QixZQUFPLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELFdBQU0sR0FBb0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0RCwwQkFBcUIsR0FBaUIsSUFBSSxDQUFDO0lBS2hELENBQUM7SUFFSixXQUFXO1FBQ1QsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUks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LElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQWE7UUFDbEQsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7OztZQXJHRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLEtBQUs7YUFDWjs7OztZQWhCQyxpQkFBaUI7WUFRVixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUGlwZSxcbiAgUGlwZVRyYW5zZm9ybSxcbiAgT25EZXN0cm95LFxuICBXcmFwcGVkVmFsdWUsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG4vLyBpbXBvcnQgeyBGaWxlVXBsb2FkUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXRsLWFwaS9maWxlLXVwbG9hZC1yZXNvdXJjZS5zZXJ2aWNlJztcblxuLy8gVXNpbmcgc2ltaWxhcml0eSBmcm9tIEFzeW5jUGlwZSB0byBhdm9pZCBoYXZpbmcgdG8gcGlwZSB8c2VjdXJlfGFzeW5jIGluIEhUTUwuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuQFBpcGUoe1xuICBuYW1lOiAnc2VjdXJlJyxcbiAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgU2VjdXJlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2xhdGVzdFZhbHVlOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIF9sYXRlc3RSZXR1cm5lZFZhbHVlOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gIHByaXZhdGUgX29iajogT2JzZXJ2YWJsZTxhbnk+ID0gbnVsbDtcbiAgcHJpdmF0ZSBnZXRmaWxlO1xuICBwcml2YXRlIHByZXZpb3VzVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgX3Jlc3VsdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHJlc3VsdDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fcmVzdWx0LmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIF9pbnRlcm5hbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgICB9XG4gIH1cblxuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcsIGdldGZpbGUpOiBhbnkge1xuICAgIHRoaXMuZ2V0ZmlsZSA9IGdldGZpbGU7XG4gICAgY29uc3Qgb2JqID0gdGhpcy5pbnRlcm5hbFRyYW5zZm9ybSh1cmwpO1xuICAgIHJldHVybiB0aGlzLmFzeW5jVHJhc25mb3JtKG9iaik7XG4gIH1cblxuICBwcml2YXRlIGludGVybmFsVHJhbnNmb3JtKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXVybCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzdWx0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByZXZpb3VzVXJsICE9PSB1cmwpIHtcbiAgICAgIHRoaXMucHJldmlvdXNVcmwgPSB1cmw7XG4gICAgICB0aGlzLl9pbnRlcm5hbFN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0ZmlsZSh1cmwpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgICBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKG0pO1xuICAgICAgICB0aGlzLl9yZXN1bHQubmV4dChzYW5pdGl6ZWQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luY1RyYXNuZm9ybShvYmo6IE9ic2VydmFibGU8YW55Pik6IGFueSB7XG4gICAgaWYgKCF0aGlzLl9vYmopIHtcbiAgICAgIGlmIChvYmopIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlKG9iaik7XG4gICAgICB9XG4gICAgICB0aGlzLl9sYXRlc3RSZXR1cm5lZFZhbHVlID0gdGhpcy5fbGF0ZXN0VmFsdWU7XG4gICAgICByZXR1cm4gdGhpcy5fbGF0ZXN0VmFsdWU7XG4gICAgfVxuICAgIGlmIChvYmogIT09IHRoaXMuX29iaikge1xuICAgICAgdGhpcy5fZGlzcG9zZSgpO1xuICAgICAgcmV0dXJuIHRoaXMuYXN5bmNUcmFzbmZvcm0ob2JqKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhdGVzdFZhbHVlID09PSB0aGlzLl9sYXRlc3RSZXR1cm5lZFZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbGF0ZXN0UmV0dXJuZWRWYWx1ZTtcbiAgICB9XG4gICAgdGhpcy5fbGF0ZXN0UmV0dXJuZWRWYWx1ZSA9IHRoaXMuX2xhdGVzdFZhbHVlO1xuICAgIHJldHVybiBXcmFwcGVkVmFsdWUud3JhcCh0aGlzLl9sYXRlc3RWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUob2JqOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgdGhpcy5fb2JqID0gb2JqO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gb2JqLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLl91cGRhdGVMYXRlc3RWYWx1ZShvYmosIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGU6IGFueSkgPT4ge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ludGVybmFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9pbnRlcm5hbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuX2ludGVybmFsU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9sYXRlc3RWYWx1ZSA9IG51bGw7XG4gICAgdGhpcy5fbGF0ZXN0UmV0dXJuZWRWYWx1ZSA9IG51bGw7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9vYmogPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGF0ZXN0VmFsdWUoYXN5bmM6IGFueSwgdmFsdWU6IE9iamVjdCkge1xuICAgIGlmIChhc3luYyA9PT0gdGhpcy5fb2JqKSB7XG4gICAgICB0aGlzLl9sYXRlc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { Component, Input, forwardRef, EventEmitter, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
4
|
+
import { MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
import * as moment_ from 'moment';
|
|
6
|
+
import { MatDatepicker } from '@angular/material/datepicker';
|
|
7
|
+
const moment = moment_;
|
|
8
|
+
export const MY_FORMATS = {
|
|
9
|
+
parse: {
|
|
10
|
+
dateInput: 'LL'
|
|
11
|
+
},
|
|
12
|
+
display: {
|
|
13
|
+
dateInput: 'MMMM DD, YYYY (dddd)',
|
|
14
|
+
monthYearLabel: 'MMM YYYY',
|
|
15
|
+
dateA11yLabel: 'LL',
|
|
16
|
+
monthYearA11yLabel: 'MMMM YYYY'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export class NgxDateTimePickerComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
// public date = new FormControl(moment());
|
|
22
|
+
this.selectedTime = moment().format();
|
|
23
|
+
this.selectedDate = moment().format();
|
|
24
|
+
this.loadInitial = false;
|
|
25
|
+
this.showTimePicker = false;
|
|
26
|
+
this.weeks = [0, 2, 4, 6, 8, 12, 16, 24];
|
|
27
|
+
this.showTime = false;
|
|
28
|
+
this.showWeeks = true;
|
|
29
|
+
this.dateFormat = 'MMMM DD, YYYY (dddd)';
|
|
30
|
+
this._showHolidays = true;
|
|
31
|
+
this.observer = null;
|
|
32
|
+
this.onDateChange = new EventEmitter();
|
|
33
|
+
this.onChange = () => { };
|
|
34
|
+
this.onTouched = () => { };
|
|
35
|
+
}
|
|
36
|
+
set showHolidays(v) {
|
|
37
|
+
this._showHolidays = v === true || v === 'true';
|
|
38
|
+
}
|
|
39
|
+
get dataSource() {
|
|
40
|
+
return this._dataSource;
|
|
41
|
+
}
|
|
42
|
+
set dataSource(v) {
|
|
43
|
+
this._dataSource = v;
|
|
44
|
+
}
|
|
45
|
+
ngOnInit() { }
|
|
46
|
+
writeValue(value) {
|
|
47
|
+
this.value = value;
|
|
48
|
+
}
|
|
49
|
+
registerOnChange(fn) {
|
|
50
|
+
this.onChange = fn;
|
|
51
|
+
}
|
|
52
|
+
registerOnTouched(fn) { }
|
|
53
|
+
onTimeSelect($event) {
|
|
54
|
+
const setDate = moment(this.selectedDate);
|
|
55
|
+
const setTime = $event;
|
|
56
|
+
this.setDateTime(setDate, setTime);
|
|
57
|
+
}
|
|
58
|
+
onDateSelect($event) {
|
|
59
|
+
const setDate = moment($event.value);
|
|
60
|
+
const setTime = this.selectedTime;
|
|
61
|
+
const dateString = this.setDateTime(setDate, setTime);
|
|
62
|
+
const selectedDate = $event.value;
|
|
63
|
+
this.value = dateString;
|
|
64
|
+
}
|
|
65
|
+
toggleTimePicker(status) {
|
|
66
|
+
this.showTimePicker = status;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
setCurrentTime() {
|
|
70
|
+
const setDate = moment(this.selectedDate);
|
|
71
|
+
const currentTime = moment().format('HH:mm:ss');
|
|
72
|
+
this.setDateTime(setDate, currentTime);
|
|
73
|
+
}
|
|
74
|
+
weekSelect($event) {
|
|
75
|
+
const dateToUse = moment().format();
|
|
76
|
+
const nextWeekDate = moment(dateToUse).add($event.value, 'weeks');
|
|
77
|
+
const nextWeekTime = dateToUse;
|
|
78
|
+
this.setDateTime(nextWeekDate, nextWeekTime);
|
|
79
|
+
}
|
|
80
|
+
selectionChange($event) {
|
|
81
|
+
console.log('Week selected', $event);
|
|
82
|
+
}
|
|
83
|
+
getWeekPickerCssClass() {
|
|
84
|
+
if (this.showTime) {
|
|
85
|
+
return 'col-sm-2 form-group';
|
|
86
|
+
}
|
|
87
|
+
return 'col-sm-3 form-group';
|
|
88
|
+
}
|
|
89
|
+
getDatePickerCssClass() {
|
|
90
|
+
if (this.showTime && this.showWeeks) {
|
|
91
|
+
return 'col-sm-5 form-group';
|
|
92
|
+
}
|
|
93
|
+
if (this.showWeeks === true) {
|
|
94
|
+
return 'col-sm-9 form-group';
|
|
95
|
+
}
|
|
96
|
+
if (this.showTime === true) {
|
|
97
|
+
return 'col-sm-8 form-group';
|
|
98
|
+
}
|
|
99
|
+
return 'col-sm-12 form-group';
|
|
100
|
+
}
|
|
101
|
+
getTimePickerCssClass() {
|
|
102
|
+
if (this.showTime && this.showWeeks) {
|
|
103
|
+
return 'col-sm-5 form-group';
|
|
104
|
+
}
|
|
105
|
+
if (this.showWeeks === true) {
|
|
106
|
+
return 'col-sm-9 form-group';
|
|
107
|
+
}
|
|
108
|
+
return 'col-sm-4 form-group';
|
|
109
|
+
}
|
|
110
|
+
setDateTime(setDate, setTime) {
|
|
111
|
+
const newDate = moment(setDate).format('DD-MM-YYYY');
|
|
112
|
+
let newTime;
|
|
113
|
+
if (this.showTime) {
|
|
114
|
+
newTime = moment(setTime).format('HH:mm:ss');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
newTime = '00:00:00';
|
|
118
|
+
}
|
|
119
|
+
const newDateTime = moment(newDate + '' + newTime, 'DD-MM-YYYY HH:mm:ss');
|
|
120
|
+
const dateTimeString = moment(newDateTime).format();
|
|
121
|
+
this.selectedDate = dateTimeString;
|
|
122
|
+
this.selectedTime = dateTimeString;
|
|
123
|
+
this.value = dateTimeString;
|
|
124
|
+
this.onChange(this.value);
|
|
125
|
+
return dateTimeString;
|
|
126
|
+
}
|
|
127
|
+
onOpen() {
|
|
128
|
+
if (this._showHolidays) {
|
|
129
|
+
const calendarBody = document.querySelector('.mat-calendar-content');
|
|
130
|
+
if (calendarBody) {
|
|
131
|
+
this.observer = new MutationObserver(() => {
|
|
132
|
+
this.highlightHolidays();
|
|
133
|
+
});
|
|
134
|
+
this.observer.observe(calendarBody, {
|
|
135
|
+
childList: true,
|
|
136
|
+
subtree: true
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
onClose() {
|
|
142
|
+
if (this.observer) {
|
|
143
|
+
this.observer.disconnect();
|
|
144
|
+
this.observer = null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
highlightHolidays() {
|
|
148
|
+
const isMonthView = !!document.querySelector('mat-month-view');
|
|
149
|
+
if (!isMonthView) {
|
|
150
|
+
const calendarCells = document.querySelectorAll('.mat-calendar-body-cell');
|
|
151
|
+
for (let i = 0; i < calendarCells.length; i++) {
|
|
152
|
+
calendarCells[i].classList.remove('highlight-date');
|
|
153
|
+
calendarCells[i].removeAttribute('data-tooltip');
|
|
154
|
+
}
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
const cells = document.querySelectorAll('.mat-calendar-body-cell');
|
|
158
|
+
for (let i = 0; i < cells.length; i++) {
|
|
159
|
+
const cell = cells[i];
|
|
160
|
+
const date = new Date(cell.getAttribute('aria-label'));
|
|
161
|
+
const cellDate = moment(date).format('YYYY-MM-DD');
|
|
162
|
+
const holidays = this.dataSource.filter((v) => v.date === cellDate);
|
|
163
|
+
if (holidays.length > 0) {
|
|
164
|
+
const holidayName = holidays
|
|
165
|
+
.map((h) => h.name)
|
|
166
|
+
.sort()
|
|
167
|
+
.join('\n\n');
|
|
168
|
+
cell.classList.add('highlight-date');
|
|
169
|
+
cell.setAttribute('data-tooltip', holidayName);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
cell.classList.remove('highlight-date');
|
|
173
|
+
cell.removeAttribute('data-tooltip');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
NgxDateTimePickerComponent.decorators = [
|
|
179
|
+
{ type: Component, args: [{
|
|
180
|
+
selector: 'ngx-date-time-picker',
|
|
181
|
+
template: `<div>
|
|
182
|
+
<div class="row">
|
|
183
|
+
<div [class]="getDatePickerCssClass()">
|
|
184
|
+
<div class="input-group">
|
|
185
|
+
<input
|
|
186
|
+
matInput
|
|
187
|
+
[matDatepicker]="picker"
|
|
188
|
+
class="form-control"
|
|
189
|
+
[value]="value"
|
|
190
|
+
placeholder="Choose a date"
|
|
191
|
+
(dateChange)="onDateSelect($event)"
|
|
192
|
+
(click)="picker.open()"
|
|
193
|
+
readonly
|
|
194
|
+
/>
|
|
195
|
+
<mat-datepicker #picker (opened)="onOpen()" (closed)="onClose()"></mat-datepicker>
|
|
196
|
+
<mat-datepicker-toggle
|
|
197
|
+
matSuffix
|
|
198
|
+
[for]="picker"
|
|
199
|
+
class="input-group-btn"
|
|
200
|
+
></mat-datepicker-toggle>
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
<div [class]="getWeekPickerCssClass()" *ngIf="showWeeks">
|
|
204
|
+
<mat-select
|
|
205
|
+
placeholder="Select Weeks"
|
|
206
|
+
class="form-control"
|
|
207
|
+
name="weeks"
|
|
208
|
+
(selectionChange)="weekSelect($event)"
|
|
209
|
+
>
|
|
210
|
+
<mat-option *ngFor="let count of weeks" [value]="count">
|
|
211
|
+
{{ count }} Weeks
|
|
212
|
+
</mat-option>
|
|
213
|
+
</mat-select>
|
|
214
|
+
</div>
|
|
215
|
+
<div [class]="getTimePickerCssClass()" *ngIf="showTime">
|
|
216
|
+
<input
|
|
217
|
+
type="text"
|
|
218
|
+
class="form-control"
|
|
219
|
+
[value]="value | date: 'shortTime'"
|
|
220
|
+
(focus)="toggleTimePicker(true)"
|
|
221
|
+
readonly
|
|
222
|
+
placeholder="Select Time"
|
|
223
|
+
/>
|
|
224
|
+
<time-picker
|
|
225
|
+
*ngIf="showTimePicker"
|
|
226
|
+
[initTime]="value"
|
|
227
|
+
[use12Hour]="true"
|
|
228
|
+
(onSelectTime)="onTimeSelect($event)"
|
|
229
|
+
(onTimePickerCancel)="toggleTimePicker($event)"
|
|
230
|
+
></time-picker>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
`,
|
|
235
|
+
styles: [`#time-section{display:inline-block}#ngx-atp-time-picker,#ngx-mat-form-field{width:100%}.up{bottom:100%!important;top:auto!important}.time-btn{margin-top:-20px}::ng-deep .highlight-date{border-radius:999px;background-color:#90ee90!important}::ng-deep .highlight-date[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;top:-40px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#333;color:#fff;padding:9px 10px;border-radius:4px;font-size:12px;line-height:6px;white-space:pre-wrap;z-index:1000;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-max-content;width:-moz-max-content;width:max-content;text-align:start}::ng-deep .highlight-date[data-tooltip]:hover::before{content:'';position:absolute;top:-8px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:4px solid transparent;border-top-color:#333;z-index:1000}`],
|
|
236
|
+
providers: [
|
|
237
|
+
{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
|
|
238
|
+
{ provide: DateAdapter, useClass: MomentDateAdapter },
|
|
239
|
+
{
|
|
240
|
+
provide: NG_VALUE_ACCESSOR,
|
|
241
|
+
useExisting: forwardRef(() => NgxDateTimePickerComponent),
|
|
242
|
+
multi: true
|
|
243
|
+
}
|
|
244
|
+
]
|
|
245
|
+
},] },
|
|
246
|
+
];
|
|
247
|
+
NgxDateTimePickerComponent.propDecorators = {
|
|
248
|
+
weeks: [{ type: Input }],
|
|
249
|
+
modelValue: [{ type: Input }],
|
|
250
|
+
showTime: [{ type: Input }],
|
|
251
|
+
showWeeks: [{ type: Input }],
|
|
252
|
+
dateFormat: [{ type: Input }],
|
|
253
|
+
showHolidays: [{ type: Input }],
|
|
254
|
+
picker: [{ type: ViewChild, args: ['picker',] }],
|
|
255
|
+
dataSource: [{ type: Input }],
|
|
256
|
+
onDateChange: [{ type: Output }]
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25neC1kYXRlLXRpbWUtcGlja2VyL25neC1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBRXZCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsSUFBSTtLQUNoQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxzQkFBc0I7UUFDakMsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUM7QUFxRUYsTUFBTTtJQW5FTjtRQXFFRSwyQ0FBMkM7UUFDcEMsaUJBQVksR0FBRyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxD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QUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7b0JBQ25ELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7b0JBQ3JEO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUM7d0JBQ3pELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7OztvQkFTRSxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBR0wsS0FBSztxQkFLTCxTQUFTLFNBQUMsUUFBUTt5QkFLbEIsS0FBSzsyQkFRTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50L21vbWVudCc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgRm9ybUNvbnRyb2xcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuZXhwb3J0IGNvbnN0IE1ZX0ZPUk1BVFMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnXG4gIH0sXG4gIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdNTU1NIERELCBZWVlZIChkZGRkKScsIC8vIEF1Z3VzdCAxOCwgMjAyNSAoTW9uZGF5KVxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJ1xuICB9XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtZGF0ZS10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgPGRpdj5cbiAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgW2NsYXNzXT1cImdldERhdGVQaWNrZXJDc3NDbGFzcygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZSBhIGRhdGVcIlxuICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIlxuICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIChvcGVuZWQpPVwib25PcGVuKClcIiAoY2xvc2VkKT1cIm9uQ2xvc2UoKVwiPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxuICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgIFtmb3JdPVwicGlja2VyXCJcbiAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiXG4gICAgICAgID48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW2NsYXNzXT1cImdldFdlZWtQaWNrZXJDc3NDbGFzcygpXCIgKm5nSWY9XCJzaG93V2Vla3NcIj5cbiAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFdlZWtzXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBuYW1lPVwid2Vla3NcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIndlZWtTZWxlY3QoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudCBvZiB3ZWVrc1wiIFt2YWx1ZV09XCJjb3VudFwiPlxuICAgICAgICAgIHt7IGNvdW50IH19IFdlZWtzXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtjbGFzc109XCJnZXRUaW1lUGlja2VyQ3NzQ2xhc3MoKVwiICpuZ0lmPVwic2hvd1RpbWVcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlIHwgZGF0ZTogJ3Nob3J0VGltZSdcIlxuICAgICAgICAoZm9jdXMpPVwidG9nZ2xlVGltZVBpY2tlcih0cnVlKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRpbWVcIlxuICAgICAgLz5cbiAgICAgIDx0aW1lLXBpY2tlclxuICAgICAgICAqbmdJZj1cInNob3dUaW1lUGlja2VyXCJcbiAgICAgICAgW2luaXRUaW1lXT1cInZhbHVlXCJcbiAgICAgICAgW3VzZTEySG91cl09XCJ0cnVlXCJcbiAgICAgICAgKG9uU2VsZWN0VGltZSk9XCJvblRpbWVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIChvblRpbWVQaWNrZXJDYW5jZWwpPVwidG9nZ2xlVGltZVBpY2tlcigkZXZlbnQpXCJcbiAgICAgID48L3RpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYCxcbiAgc3R5bGVzOiBbYCN0aW1lLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2t9I25neC1hdHAtdGltZS1waWNrZXIsI25neC1tYXQtZm9ybS1maWVsZHt3aWR0aDoxMDAlfS51cHtib3R0b206MTAwJSFpbXBvcnRhbnQ7dG9wOmF1dG8haW1wb3J0YW50fS50aW1lLWJ0bnttYXJnaW4tdG9wOi0yMHB4fTo6bmctZGVlcCAuaGlnaGxpZ2h0LWRhdGV7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kLWNvbG9yOiM5MGVlOTAhaW1wb3J0YW50fTo6bmctZGVlcCAuaGlnaGxpZ2h0LWRhdGVbZGF0YS10b29sdGlwXTpob3Zlcjo6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdG9vbHRpcCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00MHB4O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO2NvbG9yOiNmZmY7cGFkZGluZzo5cHggMTBweDtib3JkZXItcmFkaXVzOjRweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDo2cHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7ei1pbmRleDoxMDAwO2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7dGV4dC1hbGlnbjpzdGFydH06Om5nLWRlZXAgLmhpZ2hsaWdodC1kYXRlW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOHB4O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wLWNvbG9yOiMzMzM7ei1pbmRleDoxMDAwfWBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9GT1JNQVRTIH0sXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ3hEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvLyBwdWJsaWMgZGF0ZSA9IG5ldyBGb3JtQ29udHJvbChtb21lbnQoKSk7XG4gIHB1YmxpYyBzZWxlY3RlZFRpbWUgPSBtb21lbnQoKS5mb3JtYXQoKTtcbiAgcHVibGljIHNlbGVjdGVkRGF0ZSA9IG1vbWVudCgpLmZvcm1hdCgpO1xuICBwdWJsaWMgbG9hZEluaXRpYWwgPSBmYWxzZTtcbiAgcHVibGljIHZhbHVlO1xuICBwdWJsaWMgc2hvd1RpbWVQaWNrZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgd2Vla3M6IG51bWJlcltdID0gWzAsIDIsIDQsIDYsIDgsIDEyLCAxNiwgMjRdO1xuICBASW5wdXQoKSBtb2RlbFZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIHNob3dUaW1lID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dXZWVrcyA9IHRydWU7XG4gIEBJbnB1dCgpIGRhdGVGb3JtYXQgPSAnTU1NTSBERCwgWVlZWSAoZGRkZCknO1xuXG4gIHByaXZhdGUgX3Nob3dIb2xpZGF5cyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2hvd0hvbGlkYXlzKHY6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaG93SG9saWRheXMgPSB2ID09PSB0cnVlIHx8IHYgPT09ICd0cnVlJztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlcicpIHBpY2tlcjogTWF0RGF0ZXBpY2tlcjxEYXRlPjtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogYW55O1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuICBwdWJsaWMgc2V0IGRhdGFTb3VyY2UodjogYW55KSB7XG4gICAgdGhpcy5fZGF0YVNvdXJjZSA9IHY7XG4gIH1cblxuICBAT3V0cHV0KCkgb25EYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm4pIHt9XG5cbiAgcHVibGljIG9uVGltZVNlbGVjdCgkZXZlbnQpIHtcbiAgICBjb25zdCBzZXREYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgICBjb25zdCBzZXRUaW1lID0gJGV2ZW50O1xuICAgIHRoaXMuc2V0RGF0ZVRpbWUoc2V0RGF0ZSwgc2V0VGltZSk7XG4gIH1cblxuICBwdWJsaWMgb25EYXRlU2VsZWN0KCRldmVudCkge1xuICAgIGNvbnN0IHNldERhdGUgPSBtb21lbnQoJGV2ZW50LnZhbHVlKTtcbiAgICBjb25zdCBzZXRUaW1lID0gdGhpcy5zZWxlY3RlZFRpbWU7XG4gICAgY29uc3QgZGF0ZVN0cmluZyA9IHRoaXMuc2V0RGF0ZVRpbWUoc2V0RGF0ZSwgc2V0VGltZSk7XG5cbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSAkZXZlbnQudmFsdWU7XG4gICAgdGhpcy52YWx1ZSA9IGRhdGVTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlVGltZVBpY2tlcihzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dUaW1lUGlja2VyID0gc3RhdHVzO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDdXJyZW50VGltZSgpIHtcbiAgICBjb25zdCBzZXREYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKTtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG1vbWVudCgpLmZvcm1hdCgnSEg6bW06c3MnKTtcbiAgICB0aGlzLnNldERhdGVUaW1lKHNldERhdGUsIGN1cnJlbnRUaW1lKTtcbiAgfVxuXG4gIHB1YmxpYyB3ZWVrU2VsZWN0KCRldmVudCkge1xuICAgIGNvbnN0IGRhdGVUb1VzZSA9IG1vbWVudCgpLmZvcm1hdCgpO1xuICAgIGNvbnN0IG5leHRXZWVrRGF0ZSA9IG1vbWVudChkYXRlVG9Vc2UpLmFkZCgkZXZlbnQudmFsdWUsICd3ZWVrcycpO1xuICAgIGNvbnN0IG5leHRXZWVrVGltZSA9IGRhdGVUb1VzZTtcbiAgICB0aGlzLnNldERhdGVUaW1lKG5leHRXZWVrRGF0ZSwgbmV4dFdlZWtUaW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KSB7XG4gICAgY29uc29sZS5sb2coJ1dlZWsgc2VsZWN0ZWQnLCAkZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldFdlZWtQaWNrZXJDc3NDbGFzcygpIHtcbiAgICBpZiAodGhpcy5zaG93VGltZSkge1xuICAgICAgcmV0dXJuICdjb2wtc20tMiBmb3JtLWdyb3VwJztcbiAgICB9XG4gICAgcmV0dXJuICdjb2wtc20tMyBmb3JtLWdyb3VwJztcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRlUGlja2VyQ3NzQ2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgdGhpcy5zaG93V2Vla3MpIHtcbiAgICAgIHJldHVybiAnY29sLXNtLTUgZm9ybS1ncm91cCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd1dlZWtzID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gJ2NvbC1zbS05IGZvcm0tZ3JvdXAnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3dUaW1lID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gJ2NvbC1zbS04IGZvcm0tZ3JvdXAnO1xuICAgIH1cbiAgICByZXR1cm4gJ2NvbC1zbS0xMiBmb3JtLWdyb3VwJztcbiAgfVxuXG4gIHB1YmxpYyBnZXRUaW1lUGlja2VyQ3NzQ2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgdGhpcy5zaG93V2Vla3MpIHtcbiAgICAgIHJldHVybiAnY29sLXNtLTUgZm9ybS1ncm91cCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd1dlZWtzID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gJ2NvbC1zbS05IGZvcm0tZ3JvdXAnO1xuICAgIH1cbiAgICByZXR1cm4gJ2NvbC1zbS00IGZvcm0tZ3JvdXAnO1xuICB9XG5cbiAgcHVibGljIHNldERhdGVUaW1lKHNldERhdGUsIHNldFRpbWUpIHtcbiAgICBjb25zdCBuZXdEYXRlID0gbW9tZW50KHNldERhdGUpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xuICAgIGxldCBuZXdUaW1lO1xuICAgIGlmICh0aGlzLnNob3dUaW1lKSB7XG4gICAgICBuZXdUaW1lID0gbW9tZW50KHNldFRpbWUpLmZvcm1hdCgnSEg6bW06c3MnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3VGltZSA9ICcwMDowMDowMCc7XG4gICAgfVxuICAgIGNvbnN0IG5ld0RhdGVUaW1lID0gbW9tZW50KG5ld0RhdGUgKyAnJyArIG5ld1RpbWUsICdERC1NTS1ZWVlZIEhIOm1tOnNzJyk7XG4gICAgY29uc3QgZGF0ZVRpbWVTdHJpbmcgPSBtb21lbnQobmV3RGF0ZVRpbWUpLmZvcm1hdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZVRpbWVTdHJpbmc7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSBkYXRlVGltZVN0cmluZztcbiAgICB0aGlzLnZhbHVlID0gZGF0ZVRpbWVTdHJpbmc7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcblxuICAgIHJldHVybiBkYXRlVGltZVN0cmluZztcbiAgfVxuXG4gIG9uT3BlbigpIHtcbiAgICBpZiAodGhpcy5fc2hvd0hvbGlkYXlzKSB7XG4gICAgICBjb25zdCBjYWxlbmRhckJvZHkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LWNhbGVuZGFyLWNvbnRlbnQnKTtcbiAgICAgIGlmIChjYWxlbmRhckJvZHkpIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmhpZ2hsaWdodEhvbGlkYXlzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoY2FsZW5kYXJCb2R5LCB7XG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLm9ic2VydmVyID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlnaGxpZ2h0SG9saWRheXMoKSB7XG4gICAgY29uc3QgaXNNb250aFZpZXcgPSAhIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21hdC1tb250aC12aWV3Jyk7XG4gICAgaWYgKCFpc01vbnRoVmlldykge1xuICAgICAgY29uc3QgY2FsZW5kYXJDZWxscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICcubWF0LWNhbGVuZGFyLWJvZHktY2VsbCdcbiAgICAgICk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGVuZGFyQ2VsbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2FsZW5kYXJDZWxsc1tpXS5jbGFzc0xpc3QucmVtb3ZlKCdoaWdobGlnaHQtZGF0ZScpO1xuICAgICAgICBjYWxlbmRhckNlbGxzW2ldLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS10b29sdGlwJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2VsbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LWNhbGVuZGFyLWJvZHktY2VsbCcpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2VsbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNlbGwgPSBjZWxsc1tpXTtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShjZWxsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKTtcbiAgICAgIGNvbnN0IGNlbGxEYXRlID0gbW9tZW50KGRhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuXG4gICAgICBjb25zdCBob2xpZGF5cyA9IHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoKHYpID0+IHYuZGF0ZSA9PT0gY2VsbERhdGUpO1xuICAgICAgaWYgKGhvbGlkYXlzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgaG9saWRheU5hbWUgPSBob2xpZGF5c1xuICAgICAgICAgIC5tYXAoKGgpID0+IGgubmFtZSlcbiAgICAgICAgICAuc29ydCgpXG4gICAgICAgICAgLmpvaW4oJ1xcblxcbicpO1xuICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoJ2hpZ2hsaWdodC1kYXRlJyk7XG4gICAgICAgIGNlbGwuc2V0QXR0cmlidXRlKCdkYXRhLXRvb2x0aXAnLCBob2xpZGF5TmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjZWxsLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZ2hsaWdodC1kYXRlJyk7XG4gICAgICAgIGNlbGwucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXRvb2x0aXAnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* date-time-picker.module
|
|
3
|
+
*/
|
|
4
|
+
import { NgModule } from '@angular/core';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
8
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
|
+
import { MatNativeDateModule, MatInputModule, MatTooltipModule } from '@angular/material';
|
|
10
|
+
import { NgxDateTimePickerComponent } from './ngx-date-time-picker.component';
|
|
11
|
+
// import { AmazingTimePickerModule } from 'amazing-time-picker';
|
|
12
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
13
|
+
import { DateTimePickerModule } from '../date-time-picker/date-time-picker.module';
|
|
14
|
+
export class NgxDateTimePickerModule {
|
|
15
|
+
}
|
|
16
|
+
NgxDateTimePickerModule.decorators = [
|
|
17
|
+
{ type: NgModule, args: [{
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
FormsModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
MatDatepickerModule,
|
|
23
|
+
MatFormFieldModule,
|
|
24
|
+
MatNativeDateModule,
|
|
25
|
+
MatInputModule,
|
|
26
|
+
DateTimePickerModule,
|
|
27
|
+
// AmazingTimePickerModule,
|
|
28
|
+
MatSelectModule,
|
|
29
|
+
MatTooltipModule
|
|
30
|
+
],
|
|
31
|
+
declarations: [NgxDateTimePickerComponent],
|
|
32
|
+
exports: [
|
|
33
|
+
MatDatepickerModule,
|
|
34
|
+
MatFormFieldModule,
|
|
35
|
+
MatNativeDateModule,
|
|
36
|
+
MatInputModule,
|
|
37
|
+
NgxDateTimePickerComponent
|
|
38
|
+
],
|
|
39
|
+
providers: []
|
|
40
|
+
},] },
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGUtdGltZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL25neC1kYXRlLXRpbWUtcGlja2VyL25neC1kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxnQkFBZ0IsRUFDakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxpRUFBaUU7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBMEJuRixNQUFNOzs7WUF4QkwsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsMkJBQTJCO29CQUMzQixlQUFlO29CQUNmLGdCQUFnQjtpQkFDakI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQzFDLE9BQU8sRUFBRTtvQkFDUCxtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge1xuICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICBNYXRJbnB1dE1vZHVsZSxcbiAgTWF0VG9vbHRpcE1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQgeyBOZ3hEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vbmd4LWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IEFtYXppbmdUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnYW1hemluZy10aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgRGF0ZVRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICcuLi9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRGF0ZVRpbWVQaWNrZXJNb2R1bGUsXG4gICAgLy8gQW1hemluZ1RpbWVQaWNrZXJNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbTmd4RGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBOZ3hEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=
|