@openmrs/ngx-formentry 3.0.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 +6 -0
- package/abstract-controls-extension/afe-form-array.d.ts +43 -0
- package/abstract-controls-extension/afe-form-control.d.ts +46 -0
- package/abstract-controls-extension/afe-form-group.d.ts +38 -0
- package/abstract-controls-extension/control-extensions.d.ts +4 -0
- package/abstract-controls-extension/index.d.ts +4 -0
- package/abstract-controls-extension/value-change.listener.d.ts +4 -0
- package/bundles/openmrs-ngx-formentry.umd.js +16104 -0
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -0
- package/change-tracking/control-relation.d.ts +12 -0
- package/change-tracking/control-relations.d.ts +12 -0
- package/components/afe-ng-select.component.d.ts +28 -0
- package/components/appointments-overview/appointments-overview.component.d.ts +17 -0
- package/components/check-box/checkbox.component.d.ts +19 -0
- package/components/check-box/checkbox.module.d.ts +9 -0
- package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +9 -0
- package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +12 -0
- package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +10 -0
- package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +28 -0
- package/components/date-time-picker/date-picker/date-picker.component.d.ts +45 -0
- package/components/date-time-picker/date-time-picker.component.d.ts +28 -0
- package/components/date-time-picker/date-time-picker.module.d.ts +13 -0
- package/components/date-time-picker/index.d.ts +8 -0
- package/components/date-time-picker/picker-modal/modal.component.d.ts +12 -0
- package/components/date-time-picker/pipes/moment.pipe.d.ts +11 -0
- package/components/date-time-picker/time-picker/time-picker.component.d.ts +32 -0
- package/components/file-upload/file-upload.component.d.ts +29 -0
- package/components/file-upload/file-upload.module.d.ts +12 -0
- package/components/file-upload/secure.pipe.d.ts +26 -0
- package/components/input/input.directive.d.ts +31 -0
- package/components/input/input.module.d.ts +11 -0
- package/components/input/label.component.d.ts +90 -0
- package/components/input/text-area.directive.d.ts +24 -0
- package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +21 -0
- package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +11 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +189 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +15 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +73 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +5 -0
- package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +12 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +76 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +139 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +108 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +120 -0
- package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +137 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +92 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +121 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +149 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +51 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +20 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +8 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +156 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +89 -0
- package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +23 -0
- package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +10 -0
- package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +35 -0
- package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +128 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +93 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +58 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +49 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +11 -0
- package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +73 -0
- package/components/ngx-pick-datetime/lib/utils/index.d.ts +4 -0
- package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +11 -0
- package/components/ngx-remote-select/ngx-remote-select.component.d.ts +40 -0
- package/components/ngx-remote-select/ngx-remote-select.module.d.ts +10 -0
- package/components/ngx-tabset/components/ngx-tab-set.component.d.ts +19 -0
- package/components/ngx-tabset/components/tab.component.d.ts +13 -0
- package/components/ngx-tabset/directives/hover-class.directive.d.ts +11 -0
- package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +19 -0
- package/components/number-input/number-input.component.d.ts +151 -0
- package/components/number-input/number-input.module.d.ts +9 -0
- package/components/radio-button/radio.component.d.ts +22 -0
- package/components/radio-button/radio.module.d.ts +9 -0
- package/components/select/optgroup.directive.d.ts +6 -0
- package/components/select/option.directive.d.ts +6 -0
- package/components/select/select.component.d.ts +115 -0
- package/components/select/select.module.d.ts +11 -0
- package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
- package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
- package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
- package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
- package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
- package/esm2015/abstract-controls-extension/index.js +5 -0
- package/esm2015/abstract-controls-extension/value-change.listener.js +2 -0
- package/esm2015/change-tracking/control-relation.js +44 -0
- package/esm2015/change-tracking/control-relations.js +32 -0
- package/esm2015/components/afe-ng-select.component.js +101 -0
- package/esm2015/components/appointments-overview/appointments-overview.component.js +121 -0
- package/esm2015/components/check-box/checkbox.component.js +90 -0
- package/esm2015/components/check-box/checkbox.module.js +19 -0
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +21 -0
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +23 -0
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +22 -0
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +73 -0
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +192 -0
- package/esm2015/components/date-time-picker/date-time-picker.component.js +119 -0
- package/esm2015/components/date-time-picker/date-time-picker.module.js +47 -0
- package/esm2015/components/date-time-picker/index.js +9 -0
- package/esm2015/components/date-time-picker/picker-modal/modal.component.js +31 -0
- package/esm2015/components/date-time-picker/pipes/moment.pipe.js +17 -0
- package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +125 -0
- package/esm2015/components/file-upload/file-upload.component.js +122 -0
- package/esm2015/components/file-upload/file-upload.module.js +39 -0
- package/esm2015/components/file-upload/secure.pipe.js +101 -0
- package/esm2015/components/input/input.directive.js +78 -0
- package/esm2015/components/input/input.module.js +23 -0
- package/esm2015/components/input/label.component.js +263 -0
- package/esm2015/components/input/text-area.directive.js +54 -0
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +80 -0
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +38 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +114 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +7 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +347 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +16 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +39 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +149 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +445 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +378 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +373 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +348 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +265 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +399 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +614 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +62 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +70 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +21 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +528 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +166 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +83 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +28 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +96 -0
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +298 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +56 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +247 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +119 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +27 -0
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +233 -0
- package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +5 -0
- package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +26 -0
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +135 -0
- package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +21 -0
- package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +76 -0
- package/esm2015/components/ngx-tabset/components/tab.component.js +37 -0
- package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +30 -0
- package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +38 -0
- package/esm2015/components/number-input/number-input.component.js +233 -0
- package/esm2015/components/number-input/number-input.module.js +20 -0
- package/esm2015/components/radio-button/radio.component.js +87 -0
- package/esm2015/components/radio-button/radio.module.js +19 -0
- package/esm2015/components/select/optgroup.directive.js +19 -0
- package/esm2015/components/select/option.directive.js +19 -0
- package/esm2015/components/select/select.component.js +187 -0
- package/esm2015/components/select/select.module.js +23 -0
- package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
- package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -0
- package/esm2015/form-entry/control-calculators/can-calculate.js +2 -0
- package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -0
- package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -0
- package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +32 -0
- package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
- package/esm2015/form-entry/data-sources/data-sources.js +30 -0
- package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
- package/esm2015/form-entry/directives/collapse-animations.js +11 -0
- package/esm2015/form-entry/directives/collapse.directive.js +172 -0
- package/esm2015/form-entry/directives/historical-value.directive.js +67 -0
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +56 -0
- package/esm2015/form-entry/expression-runner/expression-runner.js +170 -0
- package/esm2015/form-entry/form-entry.module.js +187 -0
- package/esm2015/form-entry/form-factory/control-relations.factory.js +238 -0
- package/esm2015/form-entry/form-factory/form-control.service.js +119 -0
- package/esm2015/form-entry/form-factory/form-node.js +96 -0
- package/esm2015/form-entry/form-factory/form.factory.js +141 -0
- package/esm2015/form-entry/form-factory/form.js +189 -0
- package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +67 -0
- package/esm2015/form-entry/form-factory/question.factory.js +942 -0
- package/esm2015/form-entry/form-factory/show-messages.factory.js +31 -0
- package/esm2015/form-entry/form-factory/validation.factory.js +147 -0
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +268 -0
- package/esm2015/form-entry/helpers/historical-expression-helper-service.js +42 -0
- package/esm2015/form-entry/helpers/historical-field-helper-service.js +39 -0
- package/esm2015/form-entry/helpers/js-expression-helper.js +275 -0
- package/esm2015/form-entry/helpers/risk-dataset-table.js +247 -0
- package/esm2015/form-entry/pipes/time-ago.pipe.js +107 -0
- package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
- package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/custom-control-question.model.js +10 -0
- package/esm2015/form-entry/question-models/date-question.js +12 -0
- package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
- package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
- package/esm2015/form-entry/question-models/group-question.js +12 -0
- package/esm2015/form-entry/question-models/interfaces/base-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
- package/esm2015/form-entry/question-models/interfaces/radio-button-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -0
- package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -0
- package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
- package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
- package/esm2015/form-entry/question-models/models.js +13 -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 +26 -0
- package/esm2015/form-entry/question-models/radio-button.model.js +12 -0
- package/esm2015/form-entry/question-models/rendering-type.js +9 -0
- package/esm2015/form-entry/question-models/repeating-question.js +11 -0
- package/esm2015/form-entry/question-models/select-option.js +7 -0
- package/esm2015/form-entry/question-models/select-question.js +12 -0
- package/esm2015/form-entry/question-models/test-order-question.js +15 -0
- package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
- package/esm2015/form-entry/question-models/text-input-question.js +10 -0
- package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
- package/esm2015/form-entry/question-models/validation.model.js +7 -0
- package/esm2015/form-entry/services/debug-mode.service.js +24 -0
- package/esm2015/form-entry/services/form-errors.service.js +21 -0
- package/esm2015/form-entry/services/form-schema-compiler.service.js +248 -0
- package/esm2015/form-entry/services/historical-encounter-data.service.js +172 -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 +171 -0
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +512 -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 +88 -0
- package/esm2015/form-entry/value-adapters/value.adapter.js +2 -0
- package/esm2015/lib/index.js +58 -0
- package/esm2015/openmrs-ngx-formentry.js +5 -0
- package/esm2015/public_api.js +2 -0
- package/esm2015/shared.module.js +21 -0
- package/fesm2015/openmrs-ngx-formentry.js +14323 -0
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -0
- package/form-entry/control-alerts/alert-helpers.d.ts +9 -0
- package/form-entry/control-alerts/can-generate-alert.d.ts +18 -0
- package/form-entry/control-calculators/can-calculate.d.ts +5 -0
- package/form-entry/control-hiders-disablers/can-disable.d.ts +19 -0
- package/form-entry/control-hiders-disablers/can-hide.d.ts +20 -0
- package/form-entry/control-hiders-disablers/disabler-helper.d.ts +7 -0
- package/form-entry/control-hiders-disablers/hider-helpers.d.ts +9 -0
- package/form-entry/data-sources/data-sources.d.ts +10 -0
- package/form-entry/data-sources/dummy-data-source.d.ts +18 -0
- package/form-entry/directives/collapse-animations.d.ts +4 -0
- package/form-entry/directives/collapse.directive.d.ts +45 -0
- package/form-entry/directives/historical-value.directive.d.ts +16 -0
- package/form-entry/error-renderer/error-renderer.component.d.ts +18 -0
- package/form-entry/expression-runner/expression-runner.d.ts +18 -0
- package/form-entry/form-entry.module.d.ts +30 -0
- package/form-entry/form-factory/control-relations.factory.d.ts +18 -0
- package/form-entry/form-factory/form-control.service.d.ts +25 -0
- package/form-entry/form-factory/form-node.d.ts +52 -0
- package/form-entry/form-factory/form.d.ts +28 -0
- package/form-entry/form-factory/form.factory.d.ts +27 -0
- package/form-entry/form-factory/hiders-disablers.factory.d.ts +20 -0
- package/form-entry/form-factory/question.factory.d.ts +62 -0
- package/form-entry/form-factory/show-messages.factory.d.ts +15 -0
- package/form-entry/form-factory/validation.factory.d.ts +25 -0
- package/form-entry/form-renderer/form-renderer.component.d.ts +63 -0
- package/form-entry/helpers/historical-expression-helper-service.d.ts +8 -0
- package/form-entry/helpers/historical-field-helper-service.d.ts +7 -0
- package/form-entry/helpers/js-expression-helper.d.ts +37 -0
- package/form-entry/helpers/risk-dataset-table.d.ts +1 -0
- package/form-entry/pipes/time-ago.pipe.d.ts +14 -0
- package/form-entry/question-models/checkbox.model.d.ts +9 -0
- package/form-entry/question-models/conditional-validation.model.d.ts +6 -0
- package/form-entry/question-models/custom-control-question.model.d.ts +6 -0
- package/form-entry/question-models/date-question.d.ts +7 -0
- package/form-entry/question-models/date-validation.model.d.ts +5 -0
- package/form-entry/question-models/file-upload-question.d.ts +8 -0
- package/form-entry/question-models/group-question.d.ts +8 -0
- package/form-entry/question-models/interfaces/base-options.d.ts +30 -0
- package/form-entry/question-models/interfaces/checkbox-options.d.ts +7 -0
- package/form-entry/question-models/interfaces/data-source.d.ts +10 -0
- package/form-entry/question-models/interfaces/date-question-options.d.ts +3 -0
- package/form-entry/question-models/interfaces/file-upload-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/group-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/multi-select-options.d.ts +4 -0
- package/form-entry/question-models/interfaces/nested-questions.d.ts +6 -0
- package/form-entry/question-models/interfaces/radio-button-options.d.ts +8 -0
- package/form-entry/question-models/interfaces/repeating-question-options.d.ts +7 -0
- package/form-entry/question-models/interfaces/select-option.d.ts +4 -0
- package/form-entry/question-models/interfaces/select-question-options.d.ts +9 -0
- package/form-entry/question-models/interfaces/test-order-question-options.d.ts +14 -0
- package/form-entry/question-models/interfaces/text-area-question-options.d.ts +5 -0
- package/form-entry/question-models/interfaces/text-question-options.d.ts +4 -0
- package/form-entry/question-models/interfaces/ui-select-question-options.d.ts +9 -0
- package/form-entry/question-models/js-expression-validation.model.d.ts +5 -0
- package/form-entry/question-models/max-validation.model.d.ts +5 -0
- package/form-entry/question-models/min-validation.model.d.ts +5 -0
- package/form-entry/question-models/models.d.ts +16 -0
- package/form-entry/question-models/multi-select-question.d.ts +9 -0
- package/form-entry/question-models/pair.model.d.ts +5 -0
- package/form-entry/question-models/question-base.d.ts +45 -0
- package/form-entry/question-models/radio-button.model.d.ts +7 -0
- package/form-entry/question-models/rendering-type.d.ts +7 -0
- package/form-entry/question-models/repeating-question.d.ts +7 -0
- package/form-entry/question-models/select-option.d.ts +6 -0
- package/form-entry/question-models/select-question.d.ts +10 -0
- package/form-entry/question-models/test-order-question.d.ts +13 -0
- package/form-entry/question-models/text-area-input-question.d.ts +7 -0
- package/form-entry/question-models/text-input-question.d.ts +6 -0
- package/form-entry/question-models/ui-select-question.d.ts +11 -0
- package/form-entry/question-models/validation.model.d.ts +5 -0
- package/form-entry/services/debug-mode.service.d.ts +8 -0
- package/form-entry/services/form-errors.service.d.ts +13 -0
- package/form-entry/services/form-schema-compiler.service.d.ts +23 -0
- package/form-entry/services/historical-encounter-data.service.d.ts +15 -0
- package/form-entry/utils/messages.d.ts +11 -0
- package/form-entry/validators/conditional-answered.validator.d.ts +8 -0
- package/form-entry/validators/conditional-required.validator.d.ts +8 -0
- package/form-entry/validators/date.validator.d.ts +7 -0
- package/form-entry/validators/future-date-restriction.validator.d.ts +7 -0
- package/form-entry/validators/js-expression.validator.d.ts +8 -0
- package/form-entry/validators/max-date.validator.d.ts +6 -0
- package/form-entry/validators/max.validator.d.ts +6 -0
- package/form-entry/validators/min-date.validator.d.ts +6 -0
- package/form-entry/validators/min.validator.d.ts +6 -0
- package/form-entry/validators/required.validator.d.ts +6 -0
- package/form-entry/validators/validations.d.ts +4 -0
- package/form-entry/value-adapters/encounter.adapter.d.ts +26 -0
- package/form-entry/value-adapters/obs-adapter-helper.d.ts +34 -0
- package/form-entry/value-adapters/obs.adapter.d.ts +38 -0
- package/form-entry/value-adapters/order.adapter.d.ts +20 -0
- package/form-entry/value-adapters/person-attribute.adapter.d.ts +15 -0
- package/form-entry/value-adapters/value.adapter.d.ts +5 -0
- package/lib/index.d.ts +58 -0
- package/openmrs-ngx-formentry.d.ts +5 -0
- package/package.json +34 -0
- package/public_api.d.ts +1 -0
- package/shared.module.d.ts +9 -0
- package/styles/ngx-formentry.css +374 -0
- package/styles/picker.min.css +770 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { Component, Input, ElementRef, HostBinding, TemplateRef, ViewChild, ContentChild } from '@angular/core';
|
|
2
|
+
import { TextAreaDirective } from './text-area.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
/**
|
|
6
|
+
* [See demo](../../?path=/story/input--label)
|
|
7
|
+
*
|
|
8
|
+
* ```html
|
|
9
|
+
* <ofe-label labelState="success">
|
|
10
|
+
* <label label>Field with success</label>
|
|
11
|
+
* <input type="text" class="input-field">
|
|
12
|
+
* </ofe-label>
|
|
13
|
+
*
|
|
14
|
+
* <ofe-label labelState="warning">
|
|
15
|
+
* <label label>Field with warning</label>
|
|
16
|
+
* <input type="text" class="input-field">
|
|
17
|
+
* </ofe-label>
|
|
18
|
+
*
|
|
19
|
+
* <ofe-label labelState="error">
|
|
20
|
+
* <label label>Field with error</label>
|
|
21
|
+
* <input type="text" class="input-field">
|
|
22
|
+
* </ofe-label>
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* <example-url>../../iframe.html?id=input--label</example-url>
|
|
26
|
+
*/
|
|
27
|
+
export class LabelComponent {
|
|
28
|
+
/**
|
|
29
|
+
* Creates an instance of LabelComponent.
|
|
30
|
+
*/
|
|
31
|
+
constructor() {
|
|
32
|
+
/**
|
|
33
|
+
* The class of the wrapper
|
|
34
|
+
*/
|
|
35
|
+
this.wrapperClass = 'cds--text-input__field-wrapper';
|
|
36
|
+
/**
|
|
37
|
+
* The id of the input item associated with the `Label`. This value is also used to associate the `Label` with
|
|
38
|
+
* its input counterpart through the 'for' attribute.
|
|
39
|
+
*/
|
|
40
|
+
this.labelInputID = 'ofe-label-' + LabelComponent.labelCounter;
|
|
41
|
+
/**
|
|
42
|
+
* State of the `Label` will determine the styles applied.
|
|
43
|
+
*/
|
|
44
|
+
this.labelState = '';
|
|
45
|
+
/**
|
|
46
|
+
* Set to `true` for a loading label.
|
|
47
|
+
*/
|
|
48
|
+
this.skeleton = false;
|
|
49
|
+
/**
|
|
50
|
+
* Set to `true` for an invalid label component.
|
|
51
|
+
*/
|
|
52
|
+
this.invalid = false;
|
|
53
|
+
/**
|
|
54
|
+
* Set to `true` to show a warning (contents set by warningText)
|
|
55
|
+
*/
|
|
56
|
+
this.warn = false;
|
|
57
|
+
this.labelClass = true;
|
|
58
|
+
LabelComponent.labelCounter++;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Update wrapper class if a textarea is hosted.
|
|
62
|
+
*/
|
|
63
|
+
ngAfterContentInit() {
|
|
64
|
+
if (this.textArea) {
|
|
65
|
+
this.wrapperClass = 'cds--text-area__wrapper';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Sets the id on the input item associated with the `Label`.
|
|
70
|
+
*/
|
|
71
|
+
ngAfterViewInit() {
|
|
72
|
+
if (this.wrapper) {
|
|
73
|
+
const inputElement = this.wrapper.nativeElement.querySelector('input,textarea,div');
|
|
74
|
+
if (inputElement) {
|
|
75
|
+
inputElement.setAttribute('id', this.labelInputID);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
isTemplate(value) {
|
|
80
|
+
return value instanceof TemplateRef;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Used to build the id of the input item associated with the `Label`.
|
|
85
|
+
*/
|
|
86
|
+
LabelComponent.labelCounter = 0;
|
|
87
|
+
LabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
88
|
+
LabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LabelComponent, selector: "ofe-label", inputs: { labelInputID: "labelInputID", labelState: "labelState", skeleton: "skeleton", helperText: "helperText", invalidText: "invalidText", invalid: "invalid", warn: "warn", warnText: "warnText", ariaLabel: "ariaLabel" }, host: { properties: { "class.cds--form-item": "this.labelClass" } }, queries: [{ propertyName: "textArea", first: true, predicate: TextAreaDirective, descendants: true }], viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], ngImport: i0, template: `
|
|
89
|
+
<label
|
|
90
|
+
[for]="labelInputID"
|
|
91
|
+
[attr.aria-label]="ariaLabel"
|
|
92
|
+
class="cds--label"
|
|
93
|
+
[ngClass]="{
|
|
94
|
+
'cds--skeleton': skeleton
|
|
95
|
+
}"
|
|
96
|
+
>
|
|
97
|
+
<ng-content></ng-content>
|
|
98
|
+
</label>
|
|
99
|
+
<div
|
|
100
|
+
[class]="wrapperClass"
|
|
101
|
+
[ngClass]="{
|
|
102
|
+
'cds--text-input__field-wrapper--warning': warn
|
|
103
|
+
}"
|
|
104
|
+
[attr.data-invalid]="invalid ? true : null"
|
|
105
|
+
#wrapper
|
|
106
|
+
>
|
|
107
|
+
<svg
|
|
108
|
+
*ngIf="invalid"
|
|
109
|
+
focusable="false"
|
|
110
|
+
preserveAspectRatio="xMidYMid meet"
|
|
111
|
+
style="will-change: transform;"
|
|
112
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
113
|
+
class="cds--text-input__invalid-icon"
|
|
114
|
+
width="16"
|
|
115
|
+
height="16"
|
|
116
|
+
viewBox="0 0 16 16"
|
|
117
|
+
aria-hidden="true"
|
|
118
|
+
>
|
|
119
|
+
<path
|
|
120
|
+
d="M8,1C4.2,1,1,4.2,1,8s3.2,7,7,7s7-3.1,7-7S11.9,1,8,1z M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2 c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
121
|
+
></path>
|
|
122
|
+
<path
|
|
123
|
+
d="M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8 c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
124
|
+
data-icon-path="inner-path"
|
|
125
|
+
opacity="0"
|
|
126
|
+
></path>
|
|
127
|
+
</svg>
|
|
128
|
+
<ng-content select="input,textarea,div"></ng-content>
|
|
129
|
+
</div>
|
|
130
|
+
<div
|
|
131
|
+
*ngIf="!skeleton && helperText && !invalid && !warn"
|
|
132
|
+
class="cds--form__helper-text"
|
|
133
|
+
>
|
|
134
|
+
<ng-container *ngIf="!isTemplate(helperText)">{{
|
|
135
|
+
helperText
|
|
136
|
+
}}</ng-container>
|
|
137
|
+
<ng-template
|
|
138
|
+
*ngIf="isTemplate(helperText)"
|
|
139
|
+
[ngTemplateOutlet]="helperText"
|
|
140
|
+
></ng-template>
|
|
141
|
+
</div>
|
|
142
|
+
<div *ngIf="!warn && invalid" class="cds--form-requirement">
|
|
143
|
+
<ng-container *ngIf="!isTemplate(invalidText)">{{
|
|
144
|
+
invalidText
|
|
145
|
+
}}</ng-container>
|
|
146
|
+
<ng-template
|
|
147
|
+
*ngIf="isTemplate(invalidText)"
|
|
148
|
+
[ngTemplateOutlet]="invalidText"
|
|
149
|
+
></ng-template>
|
|
150
|
+
</div>
|
|
151
|
+
<div *ngIf="!invalid && warn" class="cds--form-requirement">
|
|
152
|
+
<ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
|
|
153
|
+
<ng-template
|
|
154
|
+
*ngIf="isTemplate(warnText)"
|
|
155
|
+
[ngTemplateOutlet]="warnText"
|
|
156
|
+
></ng-template>
|
|
157
|
+
</div>
|
|
158
|
+
`, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LabelComponent, decorators: [{
|
|
160
|
+
type: Component,
|
|
161
|
+
args: [{
|
|
162
|
+
selector: 'ofe-label',
|
|
163
|
+
template: `
|
|
164
|
+
<label
|
|
165
|
+
[for]="labelInputID"
|
|
166
|
+
[attr.aria-label]="ariaLabel"
|
|
167
|
+
class="cds--label"
|
|
168
|
+
[ngClass]="{
|
|
169
|
+
'cds--skeleton': skeleton
|
|
170
|
+
}"
|
|
171
|
+
>
|
|
172
|
+
<ng-content></ng-content>
|
|
173
|
+
</label>
|
|
174
|
+
<div
|
|
175
|
+
[class]="wrapperClass"
|
|
176
|
+
[ngClass]="{
|
|
177
|
+
'cds--text-input__field-wrapper--warning': warn
|
|
178
|
+
}"
|
|
179
|
+
[attr.data-invalid]="invalid ? true : null"
|
|
180
|
+
#wrapper
|
|
181
|
+
>
|
|
182
|
+
<svg
|
|
183
|
+
*ngIf="invalid"
|
|
184
|
+
focusable="false"
|
|
185
|
+
preserveAspectRatio="xMidYMid meet"
|
|
186
|
+
style="will-change: transform;"
|
|
187
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
188
|
+
class="cds--text-input__invalid-icon"
|
|
189
|
+
width="16"
|
|
190
|
+
height="16"
|
|
191
|
+
viewBox="0 0 16 16"
|
|
192
|
+
aria-hidden="true"
|
|
193
|
+
>
|
|
194
|
+
<path
|
|
195
|
+
d="M8,1C4.2,1,1,4.2,1,8s3.2,7,7,7s7-3.1,7-7S11.9,1,8,1z M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2 c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
196
|
+
></path>
|
|
197
|
+
<path
|
|
198
|
+
d="M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8 c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z"
|
|
199
|
+
data-icon-path="inner-path"
|
|
200
|
+
opacity="0"
|
|
201
|
+
></path>
|
|
202
|
+
</svg>
|
|
203
|
+
<ng-content select="input,textarea,div"></ng-content>
|
|
204
|
+
</div>
|
|
205
|
+
<div
|
|
206
|
+
*ngIf="!skeleton && helperText && !invalid && !warn"
|
|
207
|
+
class="cds--form__helper-text"
|
|
208
|
+
>
|
|
209
|
+
<ng-container *ngIf="!isTemplate(helperText)">{{
|
|
210
|
+
helperText
|
|
211
|
+
}}</ng-container>
|
|
212
|
+
<ng-template
|
|
213
|
+
*ngIf="isTemplate(helperText)"
|
|
214
|
+
[ngTemplateOutlet]="helperText"
|
|
215
|
+
></ng-template>
|
|
216
|
+
</div>
|
|
217
|
+
<div *ngIf="!warn && invalid" class="cds--form-requirement">
|
|
218
|
+
<ng-container *ngIf="!isTemplate(invalidText)">{{
|
|
219
|
+
invalidText
|
|
220
|
+
}}</ng-container>
|
|
221
|
+
<ng-template
|
|
222
|
+
*ngIf="isTemplate(invalidText)"
|
|
223
|
+
[ngTemplateOutlet]="invalidText"
|
|
224
|
+
></ng-template>
|
|
225
|
+
</div>
|
|
226
|
+
<div *ngIf="!invalid && warn" class="cds--form-requirement">
|
|
227
|
+
<ng-container *ngIf="!isTemplate(warnText)">{{ warnText }}</ng-container>
|
|
228
|
+
<ng-template
|
|
229
|
+
*ngIf="isTemplate(warnText)"
|
|
230
|
+
[ngTemplateOutlet]="warnText"
|
|
231
|
+
></ng-template>
|
|
232
|
+
</div>
|
|
233
|
+
`
|
|
234
|
+
}]
|
|
235
|
+
}], ctorParameters: function () { return []; }, propDecorators: { labelInputID: [{
|
|
236
|
+
type: Input
|
|
237
|
+
}], labelState: [{
|
|
238
|
+
type: Input
|
|
239
|
+
}], skeleton: [{
|
|
240
|
+
type: Input
|
|
241
|
+
}], helperText: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], invalidText: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], invalid: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], warn: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], warnText: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], ariaLabel: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], wrapper: [{
|
|
254
|
+
type: ViewChild,
|
|
255
|
+
args: ['wrapper', { static: false }]
|
|
256
|
+
}], textArea: [{
|
|
257
|
+
type: ContentChild,
|
|
258
|
+
args: [TextAreaDirective, { static: false }]
|
|
259
|
+
}], labelClass: [{
|
|
260
|
+
type: HostBinding,
|
|
261
|
+
args: ['class.cds--form-item']
|
|
262
|
+
}] } });
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9pbnB1dC9sYWJlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsVUFBVSxFQUNWLFdBQVcsRUFDWCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRTFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUEyRUgsTUFBTSxPQUFPLGNBQWM7SUF5RHpCOztPQUVHO0lBQ0g7UUF2REE7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLGdDQUFnQyxDQUFDO1FBQ2hEOzs7V0FHRztRQUNNLGlCQUFZLEdBQUcsWUFBWSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUM7UUFFbkU7O1dBRUc7UUFDTSxlQUFVLEdBQXlDLEVBQUUsQ0FBQztRQUMvRDs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTMUI7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3pCOztXQUVHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBQztRQWlCZSxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBTXJELGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcseUJBQXlCLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FDM0Qsb0JBQW9CLENBQ3JCLENBQUM7WUFDRixJQUFJLFlBQVksRUFBRTtnQkFDaEIsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3BEO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQUs7UUFDckIsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDO0lBQ3RDLENBQUM7O0FBeEZEOztHQUVHO0FBQ0ksMkJBQVksR0FBRyxDQUFDLENBQUM7NEdBSmIsY0FBYztnR0FBZCxjQUFjLDRYQW9EWCxpQkFBaUIsb0pBNUhyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNFVDs0RkFFVSxjQUFjO2tCQTFFMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0VUO2lCQUNGOzBFQWNVLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsV0FBVztzQkFBbkIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFHbUMsT0FBTztzQkFBL0MsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUl2QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdiLFVBQVU7c0JBQTlDLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQWZ0ZXJDb250ZW50SW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGV4dEFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL3RleHQtYXJlYS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2lucHV0LS1sYWJlbClcbiAqXG4gKiBgYGBodG1sXG4gKiA8b2ZlLWxhYmVsIGxhYmVsU3RhdGU9XCJzdWNjZXNzXCI+XG4gKiAgICAgPGxhYmVsIGxhYmVsPkZpZWxkIHdpdGggc3VjY2VzczwvbGFiZWw+XG4gKiAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJpbnB1dC1maWVsZFwiPlxuICogPC9vZmUtbGFiZWw+XG4gKlxuICogPG9mZS1sYWJlbCBsYWJlbFN0YXRlPVwid2FybmluZ1wiPlxuICogICAgIDxsYWJlbCBsYWJlbD5GaWVsZCB3aXRoIHdhcm5pbmc8L2xhYmVsPlxuICogICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAqIDwvb2ZlLWxhYmVsPlxuICpcbiAqIDxvZmUtbGFiZWwgbGFiZWxTdGF0ZT1cImVycm9yXCI+XG4gKiAgICAgPGxhYmVsIGxhYmVsPkZpZWxkIHdpdGggZXJyb3I8L2xhYmVsPlxuICogICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiaW5wdXQtZmllbGRcIj5cbiAqIDwvb2ZlLWxhYmVsPlxuICogYGBgXG4gKlxuICogPGV4YW1wbGUtdXJsPi4uLy4uL2lmcmFtZS5odG1sP2lkPWlucHV0LS1sYWJlbDwvZXhhbXBsZS11cmw+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29mZS1sYWJlbCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxhYmVsXG4gICAgICBbZm9yXT1cImxhYmVsSW5wdXRJRFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBjbGFzcz1cImNkcy0tbGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnY2RzLS1za2VsZXRvbic6IHNrZWxldG9uXG4gICAgICB9XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9sYWJlbD5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwid3JhcHBlckNsYXNzXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2Nkcy0tdGV4dC1pbnB1dF9fZmllbGQtd3JhcHBlci0td2FybmluZyc6IHdhcm5cbiAgICAgIH1cIlxuICAgICAgW2F0dHIuZGF0YS1pbnZhbGlkXT1cImludmFsaWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICAjd3JhcHBlclxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCJpbnZhbGlkXCJcbiAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiXG4gICAgICAgIHN0eWxlPVwid2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ludmFsaWQtaWNvblwiXG4gICAgICAgIHdpZHRoPVwiMTZcIlxuICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNOCwxQzQuMiwxLDEsNC4yLDEsOHMzLjIsNyw3LDdzNy0zLjEsNy03UzExLjksMSw4LDF6IE03LjUsNGgxdjVoLTFDNy41LDksNy41LDQsNy41LDR6IE04LDEyLjIgICAgYy0wLjQsMC0wLjgtMC40LTAuOC0wLjhzMC4zLTAuOCwwLjgtMC44YzAuNCwwLDAuOCwwLjQsMC44LDAuOFM4LjQsMTIuMiw4LDEyLjJ6XCJcbiAgICAgICAgPjwvcGF0aD5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTcuNSw0aDF2NWgtMUM3LjUsOSw3LjUsNCw3LjUsNHogTTgsMTIuMmMtMC40LDAtMC44LTAuNC0wLjgtMC44czAuMy0wLjgsMC44LTAuOCAgICBjMC40LDAsMC44LDAuNCwwLjgsMC44UzguNCwxMi4yLDgsMTIuMnpcIlxuICAgICAgICAgIGRhdGEtaWNvbi1wYXRoPVwiaW5uZXItcGF0aFwiXG4gICAgICAgICAgb3BhY2l0eT1cIjBcIlxuICAgICAgICA+PC9wYXRoPlxuICAgICAgPC9zdmc+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dCx0ZXh0YXJlYSxkaXZcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhc2tlbGV0b24gJiYgaGVscGVyVGV4dCAmJiAhaW52YWxpZCAmJiAhd2FyblwiXG4gICAgICBjbGFzcz1cImNkcy0tZm9ybV9faGVscGVyLXRleHRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZShoZWxwZXJUZXh0KVwiPnt7XG4gICAgICAgIGhlbHBlclRleHRcbiAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlKGhlbHBlclRleHQpXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIXdhcm4gJiYgaW52YWxpZFwiIGNsYXNzPVwiY2RzLS1mb3JtLXJlcXVpcmVtZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGUoaW52YWxpZFRleHQpXCI+e3tcbiAgICAgICAgaW52YWxpZFRleHRcbiAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlKGludmFsaWRUZXh0KVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaW52YWxpZCAmJiB3YXJuXCIgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZSh3YXJuVGV4dClcIj57eyB3YXJuVGV4dCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZSh3YXJuVGV4dClcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ3YXJuVGV4dFwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAvKipcbiAgICogVXNlZCB0byBidWlsZCB0aGUgaWQgb2YgdGhlIGlucHV0IGl0ZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBgTGFiZWxgLlxuICAgKi9cbiAgc3RhdGljIGxhYmVsQ291bnRlciA9IDA7XG4gIC8qKlxuICAgKiBUaGUgY2xhc3Mgb2YgdGhlIHdyYXBwZXJcbiAgICovXG4gIHdyYXBwZXJDbGFzcyA9ICdjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXInO1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBpbnB1dCBpdGVtIGFzc29jaWF0ZWQgd2l0aCB0aGUgYExhYmVsYC4gVGhpcyB2YWx1ZSBpcyBhbHNvIHVzZWQgdG8gYXNzb2NpYXRlIHRoZSBgTGFiZWxgIHdpdGhcbiAgICogaXRzIGlucHV0IGNvdW50ZXJwYXJ0IHRocm91Z2ggdGhlICdmb3InIGF0dHJpYnV0ZS5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsSW5wdXRJRCA9ICdvZmUtbGFiZWwtJyArIExhYmVsQ29tcG9uZW50LmxhYmVsQ291bnRlcjtcblxuICAvKipcbiAgICogU3RhdGUgb2YgdGhlIGBMYWJlbGAgd2lsbCBkZXRlcm1pbmUgdGhlIHN0eWxlcyBhcHBsaWVkLlxuICAgKi9cbiAgQElucHV0KCkgbGFiZWxTdGF0ZTogJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICcnID0gJyc7XG4gIC8qKlxuICAgKiBTZXQgdG8gYHRydWVgIGZvciBhIGxvYWRpbmcgbGFiZWwuXG4gICAqL1xuICBASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuICAvKipcbiAgICogT3B0aW9uYWwgaGVscGVyIHRleHQgdGhhdCBhcHBlYXJzIHVuZGVyIHRoZSBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGhlbHBlclRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbnZhbGlkIHRleHQuXG4gICAqL1xuICBASW5wdXQoKSBpbnZhbGlkVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFNldCB0byBgdHJ1ZWAgZm9yIGFuIGludmFsaWQgbGFiZWwgY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuICAgKi9cbiAgQElucHV0KCkgd2FybiA9IGZhbHNlO1xuICAvKipcbiAgICogU2V0cyB0aGUgd2FybmluZyB0ZXh0XG4gICAqL1xuICBASW5wdXQoKSB3YXJuVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFNldCB0aGUgYXJpYWxhYmVsIGZvciBsYWJlbFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBAVmlld0NoaWxkKCd3cmFwcGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQENvbnRlbnRDaGlsZChUZXh0QXJlYURpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRleHRBcmVhOiBUZXh0QXJlYURpcmVjdGl2ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNkcy0tZm9ybS1pdGVtJykgbGFiZWxDbGFzcyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTGFiZWxDb21wb25lbnQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBMYWJlbENvbXBvbmVudC5sYWJlbENvdW50ZXIrKztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgd3JhcHBlciBjbGFzcyBpZiBhIHRleHRhcmVhIGlzIGhvc3RlZC5cbiAgICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy50ZXh0QXJlYSkge1xuICAgICAgdGhpcy53cmFwcGVyQ2xhc3MgPSAnY2RzLS10ZXh0LWFyZWFfX3dyYXBwZXInO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpZCBvbiB0aGUgaW5wdXQgaXRlbSBhc3NvY2lhdGVkIHdpdGggdGhlIGBMYWJlbGAuXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMud3JhcHBlcikge1xuICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy53cmFwcGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJ2lucHV0LHRleHRhcmVhLGRpdidcbiAgICAgICk7XG4gICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XG4gICAgICAgIGlucHV0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5sYWJlbElucHV0SUQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Directive, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* A directive for applying styling to a textarea element.
|
|
5
|
+
*
|
|
6
|
+
* Example:
|
|
7
|
+
*
|
|
8
|
+
* ```html
|
|
9
|
+
* <textarea ofeTextAreaInput></textarea>
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* See the [vanilla carbon docs](http://www.carbondesignsystem.com/components/text-input/code) for more detail.
|
|
13
|
+
*/
|
|
14
|
+
export class TextAreaDirective {
|
|
15
|
+
constructor() {
|
|
16
|
+
/**
|
|
17
|
+
* `light` or `dark` input theme
|
|
18
|
+
*/
|
|
19
|
+
this.theme = 'dark';
|
|
20
|
+
this.baseClass = true;
|
|
21
|
+
this.invalid = false;
|
|
22
|
+
this.skeleton = false;
|
|
23
|
+
}
|
|
24
|
+
get isLightTheme() {
|
|
25
|
+
return this.theme === 'light';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
TextAreaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TextAreaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
TextAreaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: { theme: "theme", invalid: "invalid", skeleton: "skeleton" }, host: { properties: { "class.cds--text-area": "this.baseClass", "class.cds--text-area--invalid": "this.invalid", "class.cds--skeleton": "this.skeleton", "class.cds--text-area--light": "this.isLightTheme" } }, ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TextAreaDirective, decorators: [{
|
|
31
|
+
type: Directive,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: '[ofeTextAreaInput]'
|
|
34
|
+
}]
|
|
35
|
+
}], propDecorators: { theme: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], baseClass: [{
|
|
38
|
+
type: HostBinding,
|
|
39
|
+
args: ['class.cds--text-area']
|
|
40
|
+
}], invalid: [{
|
|
41
|
+
type: HostBinding,
|
|
42
|
+
args: ['class.cds--text-area--invalid']
|
|
43
|
+
}, {
|
|
44
|
+
type: Input
|
|
45
|
+
}], skeleton: [{
|
|
46
|
+
type: HostBinding,
|
|
47
|
+
args: ['class.cds--skeleton']
|
|
48
|
+
}, {
|
|
49
|
+
type: Input
|
|
50
|
+
}], isLightTheme: [{
|
|
51
|
+
type: HostBinding,
|
|
52
|
+
args: ['class.cds--text-area--light']
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvaW5wdXQvdGV4dC1hcmVhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTlEOzs7Ozs7Ozs7O0dBVUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSUU7O1dBRUc7UUFDTSxVQUFLLEdBQXFCLE1BQU0sQ0FBQztRQUVMLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FJL0Q7SUFIQyxJQUFnRCxZQUFZO1FBQzFELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUM7SUFDaEMsQ0FBQzs7K0dBWFUsaUJBQWlCO21HQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjs4QkFLVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRStCLFNBQVM7c0JBQTdDLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNvQixPQUFPO3NCQUE3RCxXQUFXO3VCQUFDLCtCQUErQjs7c0JBQUcsS0FBSztnQkFDUCxRQUFRO3NCQUFwRCxXQUFXO3VCQUFDLHFCQUFxQjs7c0JBQUcsS0FBSztnQkFDTSxZQUFZO3NCQUEzRCxXQUFXO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIGFwcGx5aW5nIHN0eWxpbmcgdG8gYSB0ZXh0YXJlYSBlbGVtZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogYGBgaHRtbFxuICogPHRleHRhcmVhIG9mZVRleHRBcmVhSW5wdXQ+PC90ZXh0YXJlYT5cbiAqIGBgYFxuICpcbiAqIFNlZSB0aGUgW3ZhbmlsbGEgY2FyYm9uIGRvY3NdKGh0dHA6Ly93d3cuY2FyYm9uZGVzaWduc3lzdGVtLmNvbS9jb21wb25lbnRzL3RleHQtaW5wdXQvY29kZSkgZm9yIG1vcmUgZGV0YWlsLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbb2ZlVGV4dEFyZWFJbnB1dF0nXG59KVxuZXhwb3J0IGNsYXNzIFRleHRBcmVhRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIGBsaWdodGAgb3IgYGRhcmtgIGlucHV0IHRoZW1lXG4gICAqL1xuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdkYXJrJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNkcy0tdGV4dC1hcmVhJykgYmFzZUNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jZHMtLXRleHQtYXJlYS0taW52YWxpZCcpIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jZHMtLXNrZWxldG9uJykgQElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jZHMtLXRleHQtYXJlYS0tbGlnaHQnKSBnZXQgaXNMaWdodFRoZW1lKCkge1xuICAgIHJldHVybiB0aGlzLnRoZW1lID09PSAnbGlnaHQnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import moment from 'moment';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../ngx-pick-datetime/lib/date-time/date-time-picker.component";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "../ngx-pick-datetime/lib/date-time/date-time-picker-input.directive";
|
|
8
|
+
import * as i4 from "../ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive";
|
|
9
|
+
import * as i5 from "@angular/forms";
|
|
10
|
+
export class NgxDatetimeComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.value = '';
|
|
13
|
+
this.isDisabled = false;
|
|
14
|
+
this.id = '';
|
|
15
|
+
this.theme = 'dark';
|
|
16
|
+
this.datePickerFormat = '';
|
|
17
|
+
this.showWeeks = false;
|
|
18
|
+
this.onChange = (_) => { };
|
|
19
|
+
this.onTouch = () => { };
|
|
20
|
+
}
|
|
21
|
+
onInput($event) {
|
|
22
|
+
this.onTouch();
|
|
23
|
+
this.onChange(moment($event.value).format());
|
|
24
|
+
}
|
|
25
|
+
writeValue(value) {
|
|
26
|
+
if (value && value !== '') {
|
|
27
|
+
this.value = moment(value).format();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.value = '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
registerOnChange(fn) {
|
|
34
|
+
this.onChange = fn;
|
|
35
|
+
}
|
|
36
|
+
registerOnTouched(fn) {
|
|
37
|
+
this.onTouch = fn;
|
|
38
|
+
}
|
|
39
|
+
setDisabledState(isDisabled) {
|
|
40
|
+
this.isDisabled = isDisabled;
|
|
41
|
+
}
|
|
42
|
+
onWeeksSelected(numberOfWeeks) {
|
|
43
|
+
const currentDate = new Date().toString();
|
|
44
|
+
this.onInput({ value: moment(currentDate).add(numberOfWeeks, 'weeks') });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
NgxDatetimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
NgxDatetimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: { id: "id", theme: "theme", datePickerFormat: "datePickerFormat", showWeeks: "showWeeks", weeks: "weeks" }, providers: [
|
|
49
|
+
{
|
|
50
|
+
provide: NG_VALUE_ACCESSOR,
|
|
51
|
+
useExisting: forwardRef(() => NgxDatetimeComponent),
|
|
52
|
+
multi: true
|
|
53
|
+
}
|
|
54
|
+
], ngImport: i0, template: "<div class=\"date-time-picker-container\">\n <div\n data-date-picker\n data-date-picker-type=\"single\"\n class=\"cds--date-picker cds--date-picker--single cds--date-picker--light\"\n [ngClass]=\"{\n 'cds--date-picker--light': theme === 'light'\n}\"\n >\n <div class=\"cds--date-picker-container fill\">\n <div class=\"cds--date-picker-input__wrapper\">\n <input\n [disabled]=\"isDisabled\"\n (dateTimeChange)=\"onInput($event)\"\n type=\"text\"\n class=\"cds--date-picker__input fill\"\n [id]=\"id\"\n [value]=\"value\"\n [owlDateTime]=\"dt1\"\n [ofeOwlDateTimeTrigger]=\"dt1\"\n placeholder=\"mm/dd/yyyy\"\n data-date-picker-input\n />\n <svg\n [ofeOwlDateTimeTrigger]=\"dt1\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-date-picker-icon=\"true\"\n class=\"cds--date-picker__icon\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M13,2h-2V1h-1v1H6V1H5v1H3C2.4,2,2,2.4,2,3v10c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V3C14,2.4,13.6,2,13,2z M13,13H3V6h10V13z M13,5H3V3h2v1h1V3h4v1h1V3h2V5z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"showWeeks\"\n class=\"cds--select some-class week-select-wrapper\"\n [ngClass]=\"{'cds--select--light': theme === 'light'}\"\n >\n <div class=\"cds--select-input__wrapper\">\n <select\n (change)=\"onWeeksSelected($event.target.value)\"\n id=\"select-1\"\n class=\"cds--select-input\"\n >\n <option\n class=\"cds--select-option\"\n value=\"placeholder-item\"\n disabled=\"\"\n hidden=\"\"\n selected=\"\"\n >\n Select Weeks\n </option>\n <option\n class=\"cds--select-option\"\n [value]=\"week\"\n *ngFor=\"let week of weeks\"\n >\n {{week}} Weeks\n </option>\n </select>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--select__arrow\"\n >\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n </div>\n</div>\n<ofe-owl-date-time\n [pickerType]=\"datePickerFormat ? datePickerFormat : 'calendar'\"\n [disabled]=\"isDisabled\"\n #dt1\n></ofe-owl-date-time>\n", styles: [".date-time-picker-container{display:flex;justify-content:space-between}.week-select-wrapper{margin-left:1rem;width:30%}\n"], components: [{ type: i1.OwlDateTimeComponent, selector: "ofe-owl-date-time", inputs: ["backdropClass", "panelClass", "startAt", "pickerType", "pickerMode", "disabled", "opened", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled", "rangeSeparator"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { type: i4.OwlDateTimeTriggerDirective, selector: "[ofeOwlDateTimeTrigger]", inputs: ["ofeOwlDateTimeTrigger", "disabled"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDatetimeComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{
|
|
58
|
+
selector: 'ofe-ngx-date-time-picker',
|
|
59
|
+
templateUrl: './ngx-datetime-picker.html',
|
|
60
|
+
styleUrls: ['./ngx-datetime-picker.css'],
|
|
61
|
+
providers: [
|
|
62
|
+
{
|
|
63
|
+
provide: NG_VALUE_ACCESSOR,
|
|
64
|
+
useExisting: forwardRef(() => NgxDatetimeComponent),
|
|
65
|
+
multi: true
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}]
|
|
69
|
+
}], propDecorators: { id: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], theme: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], datePickerFormat: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], showWeeks: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], weeks: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1kYXRldGltZS1waWNrZXIvbmd4LWRhdGV0aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1kYXRldGltZS1waWNrZXIvbmd4LWRhdGV0aW1lLXBpY2tlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBYzVCLE1BQU0sT0FBTyxvQkFBb0I7SUFaakM7UUFhRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNWLE9BQUUsR0FBRyxFQUFFLENBQUM7UUFDUixVQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFM0IsYUFBUSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDMUIsWUFBTyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQThCcEI7SUE3QkMsT0FBTyxDQUFDLE1BQVc7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlLENBQUMsYUFBcUI7UUFDbkMsTUFBTSxXQUFXLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDOztrSEF0Q1Usb0JBQW9CO3NHQUFwQixvQkFBb0IsdUtBUnBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQ2RILG93RkE2RkE7NEZEN0VhLG9CQUFvQjtrQkFaaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFJVSxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2ZlLW5neC1kYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC1kYXRldGltZS1waWNrZXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25neC1kYXRldGltZS1waWNrZXIuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmd4RGF0ZXRpbWVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4RGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHZhbHVlID0gJyc7XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgaWQgPSAnJztcbiAgQElucHV0KCkgdGhlbWUgPSAnZGFyayc7XG4gIEBJbnB1dCgpIGRhdGVQaWNrZXJGb3JtYXQgPSAnJztcbiAgQElucHV0KCkgc2hvd1dlZWtzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdlZWtzOiBudW1iZXJbXTtcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgb25Ub3VjaCA9ICgpID0+IHt9O1xuICBvbklucHV0KCRldmVudDogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoKCk7XG4gICAgdGhpcy5vbkNoYW5nZShtb21lbnQoJGV2ZW50LnZhbHVlKS5mb3JtYXQoKSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbW9tZW50KHZhbHVlKS5mb3JtYXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBvbldlZWtzU2VsZWN0ZWQobnVtYmVyT2ZXZWVrczogbnVtYmVyKSB7XG4gICAgY29uc3QgY3VycmVudERhdGU6IHN0cmluZyA9IG5ldyBEYXRlKCkudG9TdHJpbmcoKTtcbiAgICB0aGlzLm9uSW5wdXQoeyB2YWx1ZTogbW9tZW50KGN1cnJlbnREYXRlKS5hZGQobnVtYmVyT2ZXZWVrcywgJ3dlZWtzJykgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlLXRpbWUtcGlja2VyLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgZGF0YS1kYXRlLXBpY2tlclxuICAgIGRhdGEtZGF0ZS1waWNrZXItdHlwZT1cInNpbmdsZVwiXG4gICAgY2xhc3M9XCJjZHMtLWRhdGUtcGlja2VyIGNkcy0tZGF0ZS1waWNrZXItLXNpbmdsZSBjZHMtLWRhdGUtcGlja2VyLS1saWdodFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICdjZHMtLWRhdGUtcGlja2VyLS1saWdodCc6IHRoZW1lID09PSAnbGlnaHQnXG59XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLWRhdGUtcGlja2VyLWNvbnRhaW5lciBmaWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2RzLS1kYXRlLXBpY2tlci1pbnB1dF9fd3JhcHBlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgICAgKGRhdGVUaW1lQ2hhbmdlKT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiY2RzLS1kYXRlLXBpY2tlcl9faW5wdXQgZmlsbFwiXG4gICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFtvd2xEYXRlVGltZV09XCJkdDFcIlxuICAgICAgICAgIFtvZmVPd2xEYXRlVGltZVRyaWdnZXJdPVwiZHQxXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIlxuICAgICAgICAgIGRhdGEtZGF0ZS1waWNrZXItaW5wdXRcbiAgICAgICAgLz5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIFtvZmVPd2xEYXRlVGltZVRyaWdnZXJdPVwiZHQxXCJcbiAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICAgIHN0eWxlPVwid2lsbC1jaGFuZ2U6IHRyYW5zZm9ybVwiXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgZGF0YS1kYXRlLXBpY2tlci1pY29uPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJjZHMtLWRhdGUtcGlja2VyX19pY29uXCJcbiAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTEzLDJoLTJWMWgtMXYxSDZWMUg1djFIM0MyLjQsMiwyLDIuNCwyLDN2MTBjMCwwLjYsMC40LDEsMSwxaDEwYzAuNiwwLDEtMC40LDEtMVYzQzE0LDIuNCwxMy42LDIsMTMsMnogTTEzLDEzSDNWNmgxMFYxM3ogTTEzLDVIM1YzaDJ2MWgxVjNoNHYxaDFWM2gyVjV6XCJcbiAgICAgICAgICA+PC9wYXRoPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJzaG93V2Vla3NcIlxuICAgIGNsYXNzPVwiY2RzLS1zZWxlY3Qgc29tZS1jbGFzcyB3ZWVrLXNlbGVjdC13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJ7J2Nkcy0tc2VsZWN0LS1saWdodCc6IHRoZW1lID09PSAnbGlnaHQnfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS1zZWxlY3QtaW5wdXRfX3dyYXBwZXJcIj5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgKGNoYW5nZSk9XCJvbldlZWtzU2VsZWN0ZWQoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICBpZD1cInNlbGVjdC0xXCJcbiAgICAgICAgY2xhc3M9XCJjZHMtLXNlbGVjdC1pbnB1dFwiXG4gICAgICA+XG4gICAgICAgIDxvcHRpb25cbiAgICAgICAgICBjbGFzcz1cImNkcy0tc2VsZWN0LW9wdGlvblwiXG4gICAgICAgICAgdmFsdWU9XCJwbGFjZWhvbGRlci1pdGVtXCJcbiAgICAgICAgICBkaXNhYmxlZD1cIlwiXG4gICAgICAgICAgaGlkZGVuPVwiXCJcbiAgICAgICAgICBzZWxlY3RlZD1cIlwiXG4gICAgICAgID5cbiAgICAgICAgICBTZWxlY3QgV2Vla3NcbiAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb25cbiAgICAgICAgICBjbGFzcz1cImNkcy0tc2VsZWN0LW9wdGlvblwiXG4gICAgICAgICAgW3ZhbHVlXT1cIndlZWtcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCB3ZWVrIG9mIHdlZWtzXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7d2Vla319IFdlZWtzXG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgICA8c3ZnXG4gICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHdpZHRoPVwiMTZcIlxuICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICBjbGFzcz1cImNkcy0tc2VsZWN0X19hcnJvd1wiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIGQ9XCJNOCAxMUwzIDYgMy43IDUuMyA4IDkuNiAxMi4zIDUuMyAxMyA2elwiPjwvcGF0aD5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG9mZS1vd2wtZGF0ZS10aW1lXG4gIFtwaWNrZXJUeXBlXT1cImRhdGVQaWNrZXJGb3JtYXQgPyBkYXRlUGlja2VyRm9ybWF0IDogJ2NhbGVuZGFyJ1wiXG4gIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgI2R0MVxuPjwvb2ZlLW93bC1kYXRlLXRpbWU+XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
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 { NgxDatetimeComponent } from './ngx-datetime-picker.component';
|
|
8
|
+
import { OwlDateTimeModule } from '../ngx-pick-datetime/lib/date-time/date-time.module';
|
|
9
|
+
import { OwlNativeDateTimeModule } from '../ngx-pick-datetime/lib/date-time/adapter/native-date-time.module';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class NgxDateTimePickerModule {
|
|
12
|
+
}
|
|
13
|
+
NgxDateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
NgxDateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDateTimePickerModule, declarations: [NgxDatetimeComponent], imports: [CommonModule,
|
|
15
|
+
FormsModule,
|
|
16
|
+
OwlDateTimeModule,
|
|
17
|
+
OwlNativeDateTimeModule], exports: [NgxDatetimeComponent] });
|
|
18
|
+
NgxDateTimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDateTimePickerModule, providers: [], imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
FormsModule,
|
|
21
|
+
OwlDateTimeModule,
|
|
22
|
+
OwlNativeDateTimeModule
|
|
23
|
+
]] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NgxDateTimePickerModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule,
|
|
29
|
+
FormsModule,
|
|
30
|
+
OwlDateTimeModule,
|
|
31
|
+
OwlNativeDateTimeModule
|
|
32
|
+
],
|
|
33
|
+
declarations: [NgxDatetimeComponent],
|
|
34
|
+
exports: [NgxDatetimeComponent],
|
|
35
|
+
providers: []
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGV0aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1kYXRldGltZS1waWNrZXIvbmd4LWRhdGV0aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7O0FBYTdHLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QixpQkFKbkIsb0JBQW9CLGFBTGpDLFlBQVk7UUFDWixXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLHVCQUF1QixhQUdmLG9CQUFvQjtzSEFHbkIsdUJBQXVCLGFBRnZCLEVBQUUsWUFSSjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLHVCQUF1QjtTQUN4Qjs0RkFLVSx1QkFBdUI7a0JBWG5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmd4RGF0ZXRpbWVDb21wb25lbnQgfSBmcm9tICcuL25neC1kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE93bERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnLi4vbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9kYXRlLXRpbWUubW9kdWxlJztcbmltcG9ydCB7IE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnLi4vbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9hZGFwdGVyL25hdGl2ZS1kYXRlLXRpbWUubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBPd2xEYXRlVGltZU1vZHVsZSxcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtOZ3hEYXRldGltZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtOZ3hEYXRldGltZUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmd4RGF0ZVRpbWVQaWNrZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* date-time-adapter.class
|
|
3
|
+
*/
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { inject, InjectionToken, LOCALE_ID } from '@angular/core';
|
|
6
|
+
/** InjectionToken for date time picker that can be used to override default locale code. */
|
|
7
|
+
export const OWL_DATE_TIME_LOCALE = new InjectionToken('OWL_DATE_TIME_LOCALE', {
|
|
8
|
+
providedIn: 'root',
|
|
9
|
+
factory: OWL_DATE_TIME_LOCALE_FACTORY
|
|
10
|
+
});
|
|
11
|
+
/** @docs-private */
|
|
12
|
+
export function OWL_DATE_TIME_LOCALE_FACTORY() {
|
|
13
|
+
return inject(LOCALE_ID);
|
|
14
|
+
}
|
|
15
|
+
/** Provider for OWL_DATE_TIME_LOCALE injection token. */
|
|
16
|
+
export const OWL_DATE_TIME_LOCALE_PROVIDER = {
|
|
17
|
+
provide: OWL_DATE_TIME_LOCALE,
|
|
18
|
+
useExisting: LOCALE_ID
|
|
19
|
+
};
|
|
20
|
+
export class DateTimeAdapter {
|
|
21
|
+
constructor() {
|
|
22
|
+
/** A stream that emits when the locale changes. */
|
|
23
|
+
this._localeChanges = new Subject();
|
|
24
|
+
/** total milliseconds in a day. */
|
|
25
|
+
this.millisecondsInDay = 86400000;
|
|
26
|
+
/** total milliseconds in a minute. */
|
|
27
|
+
this.milliseondsInMinute = 60000;
|
|
28
|
+
}
|
|
29
|
+
get localeChanges() {
|
|
30
|
+
return this._localeChanges;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compare two given dates
|
|
34
|
+
* 1 if the first date is after the second,
|
|
35
|
+
* -1 if the first date is before the second
|
|
36
|
+
* 0 if dates are equal.
|
|
37
|
+
* */
|
|
38
|
+
compare(first, second) {
|
|
39
|
+
if (!this.isValid(first) || !this.isValid(second)) {
|
|
40
|
+
throw Error('JSNativeDate: Cannot compare invalid dates.');
|
|
41
|
+
}
|
|
42
|
+
const dateFirst = this.clone(first);
|
|
43
|
+
const dateSecond = this.clone(second);
|
|
44
|
+
const diff = this.getTime(dateFirst) - this.getTime(dateSecond);
|
|
45
|
+
if (diff < 0) {
|
|
46
|
+
return -1;
|
|
47
|
+
}
|
|
48
|
+
else if (diff > 0) {
|
|
49
|
+
return 1;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Return 0 if diff is 0; return NaN if diff is NaN
|
|
53
|
+
return diff;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Check if two given dates are in the same year
|
|
58
|
+
* 1 if the first date's year is after the second,
|
|
59
|
+
* -1 if the first date's year is before the second
|
|
60
|
+
* 0 if two given dates are in the same year
|
|
61
|
+
* */
|
|
62
|
+
compareYear(first, second) {
|
|
63
|
+
if (!this.isValid(first) || !this.isValid(second)) {
|
|
64
|
+
throw Error('JSNativeDate: Cannot compare invalid dates.');
|
|
65
|
+
}
|
|
66
|
+
const yearLeft = this.getYear(first);
|
|
67
|
+
const yearRight = this.getYear(second);
|
|
68
|
+
const diff = yearLeft - yearRight;
|
|
69
|
+
if (diff < 0) {
|
|
70
|
+
return -1;
|
|
71
|
+
}
|
|
72
|
+
else if (diff > 0) {
|
|
73
|
+
return 1;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
81
|
+
* deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
|
|
82
|
+
* string). The default implementation does not allow any deserialization, it simply checks that
|
|
83
|
+
* the given value is already a valid date object or null. The `<mat-datepicker>` will call this
|
|
84
|
+
* method on all of it's `@Input()` properties that accept dates. It is therefore possible to
|
|
85
|
+
* support passing values from your backend directly to these properties by overriding this method
|
|
86
|
+
* to also deserialize the format used by your backend.
|
|
87
|
+
*/
|
|
88
|
+
deserialize(value) {
|
|
89
|
+
if (value == null || (this.isDateInstance(value) && this.isValid(value))) {
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
return this.invalid();
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sets the locale used for all dates.
|
|
96
|
+
*/
|
|
97
|
+
setLocale(locale) {
|
|
98
|
+
this.locale = locale;
|
|
99
|
+
this._localeChanges.next();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Clamp the given date between min and max dates.
|
|
103
|
+
*/
|
|
104
|
+
clampDate(date, min, max) {
|
|
105
|
+
if (min && this.compare(date, min) < 0) {
|
|
106
|
+
return min;
|
|
107
|
+
}
|
|
108
|
+
if (max && this.compare(date, max) > 0) {
|
|
109
|
+
return max;
|
|
110
|
+
}
|
|
111
|
+
return date;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvYWRhcHRlci9kYXRlLXRpbWUtYWRhcHRlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLDRGQUE0RjtBQUM1RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FDcEQsc0JBQXNCLEVBQ3RCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLDRCQUE0QjtDQUN0QyxDQUNGLENBQUM7QUFFRixvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQzNDLE9BQU8sRUFBRSxvQkFBb0I7SUFDN0IsV0FBVyxFQUFFLFNBQVM7Q0FDdkIsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUlFLG1EQUFtRDtRQUN6QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLL0MsbUNBQW1DO1FBQ2hCLHNCQUFpQixHQUFHLFFBQVEsQ0FBQztRQUVoRCxzQ0FBc0M7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO0lBbVFqRCxDQUFDO0lBM1FDLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBa0xEOzs7OztTQUtLO0lBQ0wsT0FBTyxDQUFDLEtBQVEsRUFBRSxNQUFTO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqRCxNQUFNLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ1g7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNO1lBQ0wsbURBQW1EO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7Ozs7O1NBS0s7SUFDTCxXQUFXLENBQUMsS0FBUSxFQUFFLE1BQVM7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pELE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkMsTUFBTSxJQUFJLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVsQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ1g7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBVztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFPLEVBQUUsR0FBYyxFQUFFLEdBQWM7UUFDL0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxHQUFHLENBQUM7U0FDWjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBkYXRlLXRpbWUtYWRhcHRlci5jbGFzc1xuICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEluamVjdGlvblRva2VuIGZvciBkYXRlIHRpbWUgcGlja2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsb2NhbGUgY29kZS4gKi9cbmV4cG9ydCBjb25zdCBPV0xfREFURV9USU1FX0xPQ0FMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KFxuICAnT1dMX0RBVEVfVElNRV9MT0NBTEUnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IE9XTF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUllcbiAgfVxuKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBPV0xfREFURV9USU1FX0xPQ0FMRV9GQUNUT1JZKCk6IHN0cmluZyB7XG4gIHJldHVybiBpbmplY3QoTE9DQUxFX0lEKTtcbn1cblxuLyoqIFByb3ZpZGVyIGZvciBPV0xfREFURV9USU1FX0xPQ0FMRSBpbmplY3Rpb24gdG9rZW4uICovXG5leHBvcnQgY29uc3QgT1dMX0RBVEVfVElNRV9MT0NBTEVfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfTE9DQUxFLFxuICB1c2VFeGlzdGluZzogTE9DQUxFX0lEXG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZVRpbWVBZGFwdGVyPFQ+IHtcbiAgLyoqIFRoZSBsb2NhbGUgdG8gdXNlIGZvciBhbGwgZGF0ZXMuICovXG4gIHByb3RlY3RlZCBsb2NhbGU6IGFueTtcblxuICAvKiogQSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcy4gKi9cbiAgcHJvdGVjdGVkIF9sb2NhbGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgZ2V0IGxvY2FsZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZUNoYW5nZXM7XG4gIH1cblxuICAvKiogdG90YWwgbWlsbGlzZWNvbmRzIGluIGEgZGF5LiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZWNvbmRzSW5EYXkgPSA4NjQwMDAwMDtcblxuICAvKiogdG90YWwgbWlsbGlzZWNvbmRzIGluIGEgbWludXRlLiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZW9uZHNJbk1pbnV0ZSA9IDYwMDAwO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHllYXIgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICovXG4gIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgKiAwIC0tIEphbnVhcnlcbiAgICogMTEgLS0gRGVjZW1iZXJcbiAgICogKi9cbiAgYWJzdHJhY3QgZ2V0TW9udGgoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICogMCAtLSBTdW5kYXlcbiAgICogNiAtLSBTYXR1cmRheVxuICAgKiAqL1xuICBhYnN0cmFjdCBnZXREYXkoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBkYXkgbnVtIG9mIHRoZSBnaXZlbiBkYXRlXG4gICAqL1xuICBhYnN0cmFjdCBnZXREYXRlKGRhdGU6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaG91cnMgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICovXG4gIGFic3RyYWN0IGdldEhvdXJzKGRhdGU6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWludXRlcyBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0TWludXRlcyhkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHNlY29uZHMgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICovXG4gIGFic3RyYWN0IGdldFNlY29uZHMoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtaWxsaXNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUaW1lKGRhdGU6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICovXG4gIGFic3RyYWN0IGdldE51bURheXNJbk1vbnRoKGRhdGU6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXG4gICAqIElmIGRhdGVMZWZ0IGlzIGJlZm9yZSBkYXRlUmlnaHQsIGl0IHdvdWxkIHJldHVybiBwb3NpdGl2ZSB2YWx1ZVxuICAgKiBJZiBkYXRlTGVmdCBpcyBhZnRlciBkYXRlUmlnaHQsIGl0IHdvdWxkIHJldHVybiBuZWdhdGl2ZSB2YWx1ZVxuICAgKi9cbiAgYWJzdHJhY3QgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzKGRhdGVMZWZ0OiBULCBkYXRlUmlnaHQ6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG5hbWUgZm9yIHRoZSB5ZWFyIG9mIHRoZSBnaXZlbiBkYXRlLlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0WWVhck5hbWUoZGF0ZTogVCk6IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IGEgbGlzdCBvZiBtb250aCBuYW1lc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpc3Qgb2Ygd2VlayBuYW1lc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgbGlzdCBvZiBuYW1lcyBmb3IgdGhlIGRhdGVzIG9mIHRoZSBtb250aC5cbiAgICovXG4gIGFic3RyYWN0IGdldERhdGVOYW1lcygpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmV0dXJuIGEgRGF0ZSBvYmplY3QgYXMgYSBzdHJpbmcsIHVzaW5nIHRoZSBJU08gc3RhbmRhcmRcbiAgICovXG4gIGFic3RyYWN0IHRvSXNvODYwMShkYXRlOiBUKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgZ2l2ZSBkYXRlcyBhcmUgZXF1YWxcbiAgICovXG4gIGFic3RyYWN0IGlzRXF1YWwoZGF0ZUxlZnQ6IFQsIGRhdGVSaWdodDogVCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBnaXZlIGRhdGVzIGFyZSB0aGUgc2FtZSBkYXlcbiAgICovXG4gIGFic3RyYWN0IGlzU2FtZURheShkYXRlTGVmdDogVCwgZGF0ZVJpZ2h0OiBUKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGRhdGUgaXMgdmFsaWQuXG4gICAqL1xuICBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIGRhdGUgaW5zdGFuY2UgdGhhdCBpcyBub3QgdmFsaWQuXG4gICAqL1xuICBhYnN0cmFjdCBpbnZhbGlkKCk6IFQ7XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgY29uc2lkZXJlZCBhIGRhdGUgaW5zdGFuY2UgYnkgdGhpcyBEYXRlVGltZUFkYXB0ZXIuXG4gICAqL1xuICBhYnN0cmFjdCBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB5ZWFycyB0byB0aGUgZ2l2ZW4gZGF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtb250aHMgdG8gdGhlIGdpdmVuIGRhdGVcbiAgICovXG4gIGFic3RyYWN0IGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRheXMgdG8gdGhlIGdpdmVuIGRhdGVcbiAgICovXG4gIGFic3RyYWN0IGFkZENhbGVuZGFyRGF5cyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gICAqL1xuICBhYnN0cmFjdCBzZXRIb3VycyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICovXG4gIGFic3RyYWN0IHNldE1pbnV0ZXMoZGF0ZTogVCwgYW1vdW50OiBudW1iZXIpOiBUO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gICAqL1xuICBhYnN0cmFjdCBzZXRTZWNvbmRzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGRhdGUgd2l0aCB0aGUgZ2l2ZW4geWVhciwgbW9udGgsIGRhdGUsIGhvdXIsIG1pbnV0ZSBhbmQgc2Vjb25kLiBEb2VzIG5vdCBhbGxvdyBvdmVyL3VuZGVyLWZsb3cgb2YgdGhlXG4gICAqIG1vbnRoIGFuZCBkYXRlLlxuICAgKi9cbiAgYWJzdHJhY3QgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IFQ7XG4gIGFic3RyYWN0IGNyZWF0ZURhdGUoXG4gICAgeWVhcjogbnVtYmVyLFxuICAgIG1vbnRoOiBudW1iZXIsXG4gICAgZGF0ZTogbnVtYmVyLFxuICAgIGhvdXJzOiBudW1iZXIsXG4gICAgbWludXRlczogbnVtYmVyLFxuICAgIHNlY29uZHM6IG51bWJlclxuICApOiBUO1xuXG4gIC8qKlxuICAgKiBDbG9uZSB0aGUgZ2l2ZW4gZGF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgY2xvbmUoZGF0ZTogVCk6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCBhIG5ldyBtb21lbnRcbiAgICogKi9cbiAgYWJzdHJhY3Qgbm93KCk6IFQ7XG5cbiAgLyoqXG4gICAqIEZvcm1hdHMgYSBkYXRlIGFzIGEgc3RyaW5nIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gZm9ybWF0LlxuICAgKi9cbiAgYWJzdHJhY3QgZm9ybWF0KGRhdGU6IFQsIGRpc3BsYXlGb3JtYXQ6IGFueSk6IHN0cmluZztcblxuICAvKipcbiAgICogUGFyc2UgYSB1c2VyLXByb3ZpZGVkIHZhbHVlIHRvIGEgRGF0ZSBPYmplY3RcbiAgICovXG4gIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgbnVsbDtcblxuICAvKipcbiAgICogQ29tcGFyZSB0d28gZ2l2ZW4gZGF0ZXNcbiAgICogMSBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBhZnRlciB0aGUgc2Vjb25kLFxuICAgKiAtMSBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBiZWZvcmUgdGhlIHNlY29uZFxuICAgKiAwIGlmIGRhdGVzIGFyZSBlcXVhbC5cbiAgICogKi9cbiAgY29tcGFyZShmaXJzdDogVCwgc2Vjb25kOiBUKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XG4gICAgICB0aHJvdyBFcnJvcignSlNOYXRpdmVEYXRlOiBDYW5ub3QgY29tcGFyZSBpbnZhbGlkIGRhdGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVGaXJzdCA9IHRoaXMuY2xvbmUoZmlyc3QpO1xuICAgIGNvbnN0IGRhdGVTZWNvbmQgPSB0aGlzLmNsb25lKHNlY29uZCk7XG5cbiAgICBjb25zdCBkaWZmID0gdGhpcy5nZXRUaW1lKGRhdGVGaXJzdCkgLSB0aGlzLmdldFRpbWUoZGF0ZVNlY29uZCk7XG5cbiAgICBpZiAoZGlmZiA8IDApIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9IGVsc2UgaWYgKGRpZmYgPiAwKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmV0dXJuIDAgaWYgZGlmZiBpcyAwOyByZXR1cm4gTmFOIGlmIGRpZmYgaXMgTmFOXG4gICAgICByZXR1cm4gZGlmZjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHdvIGdpdmVuIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSB5ZWFyXG4gICAqIDEgaWYgdGhlIGZpcnN0IGRhdGUncyB5ZWFyIGlzIGFmdGVyIHRoZSBzZWNvbmQsXG4gICAqIC0xIGlmIHRoZSBmaXJzdCBkYXRlJ3MgeWVhciBpcyBiZWZvcmUgdGhlIHNlY29uZFxuICAgKiAwIGlmIHR3byBnaXZlbiBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgeWVhclxuICAgKiAqL1xuICBjb21wYXJlWWVhcihmaXJzdDogVCwgc2Vjb25kOiBUKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XG4gICAgICB0aHJvdyBFcnJvcignSlNOYXRpdmVEYXRlOiBDYW5ub3QgY29tcGFyZSBpbnZhbGlkIGRhdGVzLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHllYXJMZWZ0ID0gdGhpcy5nZXRZZWFyKGZpcnN0KTtcbiAgICBjb25zdCB5ZWFyUmlnaHQgPSB0aGlzLmdldFllYXIoc2Vjb25kKTtcblxuICAgIGNvbnN0IGRpZmYgPSB5ZWFyTGVmdCAtIHllYXJSaWdodDtcblxuICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxuICAgKiBzdHJpbmcpLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyBhbnkgZGVzZXJpYWxpemF0aW9uLCBpdCBzaW1wbHkgY2hlY2tzIHRoYXRcbiAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXG4gICAqIG1ldGhvZCBvbiBhbGwgb2YgaXQncyBgQElucHV0KClgIHByb3BlcnRpZXMgdGhhdCBhY2NlcHQgZGF0ZXMuIEl0IGlzIHRoZXJlZm9yZSBwb3NzaWJsZSB0b1xuICAgKiBzdXBwb3J0IHBhc3NpbmcgdmFsdWVzIGZyb20geW91ciBiYWNrZW5kIGRpcmVjdGx5IHRvIHRoZXNlIHByb3BlcnRpZXMgYnkgb3ZlcnJpZGluZyB0aGlzIG1ldGhvZFxuICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXG4gICAqL1xuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55KTogVCB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8ICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSAmJiB0aGlzLmlzVmFsaWQodmFsdWUpKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbG9jYWxlIHVzZWQgZm9yIGFsbCBkYXRlcy5cbiAgICovXG4gIHNldExvY2FsZShsb2NhbGU6IGFueSkge1xuICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgIHRoaXMuX2xvY2FsZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsYW1wIHRoZSBnaXZlbiBkYXRlIGJldHdlZW4gbWluIGFuZCBtYXggZGF0ZXMuXG4gICAqL1xuICBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XG4gICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgbWluKSA8IDApIHtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGlmIChtYXggJiYgdGhpcy5jb21wYXJlKGRhdGUsIG1heCkgPiAwKSB7XG4gICAgICByZXR1cm4gbWF4O1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* date-time-format.class
|
|
3
|
+
*/
|
|
4
|
+
import { InjectionToken } from '@angular/core';
|
|
5
|
+
/** InjectionToken for date time picker that can be used to override default format. */
|
|
6
|
+
export const OWL_DATE_TIME_FORMATS = new InjectionToken('OWL_DATE_TIME_FORMATS');
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9hZGFwdGVyL2RhdGUtdGltZS1mb3JtYXQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDckQsdUJBQXVCLENBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGRhdGUtdGltZS1mb3JtYXQuY2xhc3NcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE93bERhdGVUaW1lRm9ybWF0cyB7XG4gIHBhcnNlSW5wdXQ6IGFueTtcbiAgZnVsbFBpY2tlcklucHV0OiBhbnk7XG4gIGRhdGVQaWNrZXJJbnB1dDogYW55O1xuICB0aW1lUGlja2VySW5wdXQ6IGFueTtcbiAgbW9udGhZZWFyTGFiZWw6IGFueTtcbiAgZGF0ZUExMXlMYWJlbDogYW55O1xuICBtb250aFllYXJBMTF5TGFiZWw6IGFueTtcbn1cblxuLyoqIEluamVjdGlvblRva2VuIGZvciBkYXRlIHRpbWUgcGlja2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBmb3JtYXQuICovXG5leHBvcnQgY29uc3QgT1dMX0RBVEVfVElNRV9GT1JNQVRTID0gbmV3IEluamVjdGlvblRva2VuPE93bERhdGVUaW1lRm9ybWF0cz4oXG4gICdPV0xfREFURV9USU1FX0ZPUk1BVFMnXG4pO1xuIl19
|