@datarailsshared/datarailsshared 1.4.195-rocket → 1.4.202
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/_datarailsshared.styles.css +4 -4
- package/assets/styles/_styles.scss +2 -2
- package/assets/styles/mixins.scss +7 -0
- package/bundles/datarailsshared-datarailsshared.umd.js +8041 -0
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
- package/datarailsshared-datarailsshared-1.4.202.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +34 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -0
- package/esm2015/datarailsshared-datarailsshared.js +35 -0
- package/esm2015/lib/date-tags/date-tag.component.js +73 -0
- package/esm2015/lib/date-tags/date-tag.module.js +36 -0
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +77 -0
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +153 -0
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +80 -0
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +105 -0
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +84 -0
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +78 -0
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +55 -0
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +77 -0
- package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -0
- package/esm2015/lib/dr-accordion/accordion.component.js +43 -0
- package/esm2015/lib/dr-accordion/accordion.module.js +23 -0
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +44 -0
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -0
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +16 -0
- package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +25 -0
- package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +20 -0
- package/esm2015/lib/dr-chat/chat.component.js +119 -0
- package/esm2015/lib/dr-chat/chat.module.js +41 -0
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +155 -0
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +71 -0
- package/{esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs → esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js} +21 -21
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +23 -0
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +47 -0
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +18 -0
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +87 -0
- package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +15 -0
- package/esm2015/lib/dr-details-list/dr-details-list.component.js +65 -0
- package/esm2015/lib/dr-details-list/dr-details-list.module.js +16 -0
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +70 -0
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +92 -0
- package/esm2015/lib/dr-dialog/dialog.module.js +34 -0
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +25 -0
- package/esm2015/lib/dr-dialog/services/dialog.service.js +78 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +104 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +114 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +104 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -0
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -0
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +103 -0
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +19 -0
- package/esm2015/lib/dr-error/dr-error.component.js +64 -0
- package/esm2015/lib/dr-error/dr-error.module.js +22 -0
- package/esm2015/lib/dr-inputs/button/button.component.js +39 -0
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +65 -0
- package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +47 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +216 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +180 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +183 -0
- package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +12 -0
- package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +194 -0
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +194 -0
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +66 -0
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +29 -0
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +119 -0
- package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +74 -0
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +68 -0
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +63 -0
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +73 -0
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +157 -0
- package/esm2015/lib/dr-layout/dr-layout-body.component.js +13 -0
- package/esm2015/lib/dr-layout/dr-layout-header.component.js +17 -0
- package/esm2015/lib/dr-layout/dr-layout.component.js +14 -0
- package/esm2015/lib/dr-layout/dr-layout.module.js +20 -0
- package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -0
- package/esm2015/lib/dr-popover/dr-popover.component.js +106 -0
- package/esm2015/lib/dr-popover/dr-popover.directive.js +84 -0
- package/esm2015/lib/dr-popover/dr-popover.module.js +23 -0
- package/esm2015/lib/dr-popover/dr-popover.service.js +106 -0
- package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +102 -0
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +74 -0
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +73 -0
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +28 -0
- package/esm2015/lib/dr-scenario/services/scenario.service.js +167 -0
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +18 -0
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +56 -0
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -0
- package/esm2015/lib/dr-tabs/dr-tab.component.js +26 -0
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +35 -0
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +32 -0
- package/esm2015/lib/dr-tags/dr-tag.component.js +177 -0
- package/esm2015/lib/dr-tags/dr-tag.module.js +24 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +19 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +18 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +20 -0
- package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +34 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +40 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +147 -0
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +35 -0
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +210 -0
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +58 -0
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +38 -0
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +97 -0
- package/esm2015/lib/dr-treeview/models/treeview-config.js +22 -0
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +42 -0
- package/esm2015/lib/dr-treeview/models/treeview-item.js +155 -0
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +17 -0
- package/esm2015/lib/list-tags/list-tag.component.js +37 -0
- package/esm2015/lib/list-tags/list-tag.module.js +23 -0
- package/esm2015/lib/models/chat.js +36 -0
- package/esm2015/lib/models/datePicker.js +73 -0
- package/esm2015/lib/models/popover.js +27 -0
- package/esm2015/lib/stepper/stepper.component.js +55 -0
- package/esm2015/lib/stepper/stepper.module.js +17 -0
- package/esm2015/public-api.js +93 -0
- package/fesm2015/datarailsshared-datarailsshared.js +6885 -0
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
- package/lib/date-tags/date-tag.component.d.ts +16 -4
- package/lib/date-tags/date-tag.module.d.ts +2 -19
- package/lib/date-tags/day-tag/day-tag.component.d.ts +1 -4
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +2 -5
- package/lib/date-tags/month-tag/month-tag.component.d.ts +1 -4
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +1 -4
- package/lib/date-tags/week-tag/week-tag.component.d.ts +1 -4
- package/lib/date-tags/year-tag/year-tag.component.d.ts +1 -4
- package/lib/dr-accordion/accordion-item-body.component.d.ts +0 -3
- package/lib/dr-accordion/accordion-item-header.component.d.ts +0 -3
- package/lib/dr-accordion/accordion-item.component.d.ts +0 -3
- package/lib/dr-accordion/accordion.component.d.ts +0 -3
- package/lib/dr-accordion/accordion.module.d.ts +0 -9
- package/lib/dr-avatar/dr-avatar.component.d.ts +0 -3
- package/lib/dr-avatar/dr-avatar.module.d.ts +0 -9
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +0 -3
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +0 -3
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +0 -7
- package/lib/dr-chat/chat.component.d.ts +0 -3
- package/lib/dr-chat/chat.module.d.ts +0 -17
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -3
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +0 -3
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +0 -3
- package/lib/dr-details-list/dr-details-list.component.d.ts +0 -3
- package/lib/dr-details-list/dr-details-list.module.d.ts +0 -6
- package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +1 -4
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +1 -4
- package/lib/dr-dialog/dialog.module.d.ts +0 -12
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
- package/lib/dr-dialog/services/dialog.service.d.ts +1 -4
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +0 -3
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +0 -10
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +0 -3
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +0 -3
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -8
- package/lib/dr-error/dr-error.component.d.ts +0 -3
- package/lib/dr-error/dr-error.module.d.ts +0 -8
- package/lib/dr-inputs/button/button.component.d.ts +1 -4
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +0 -3
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +8 -4
- package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +2 -4
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +0 -3
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +0 -3
- package/lib/dr-inputs/dr-inputs.module.d.ts +0 -25
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +0 -3
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +0 -3
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +0 -3
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +0 -3
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +0 -3
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +0 -3
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout-body.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout-header.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout.component.d.ts +0 -3
- package/lib/dr-layout/dr-layout.module.d.ts +0 -8
- package/lib/dr-popover/dr-popover.component.d.ts +4 -8
- package/lib/dr-popover/dr-popover.directive.d.ts +0 -3
- package/lib/dr-popover/dr-popover.module.d.ts +0 -7
- package/lib/dr-popover/dr-popover.service.d.ts +0 -3
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +0 -3
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -3
- package/lib/dr-scenario/dr-scenario.module.d.ts +0 -10
- package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
- package/lib/dr-scenario/services/scenario.service.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.component.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.directive.d.ts +0 -3
- package/lib/dr-spinner/dr-spinner.module.d.ts +0 -7
- package/lib/dr-tabs/dr-tab.component.d.ts +0 -3
- package/lib/dr-tabs/dr-tabs.component.d.ts +0 -3
- package/lib/dr-tabs/dr-tabs.module.d.ts +0 -11
- package/lib/dr-tags/dr-tag.component.d.ts +0 -3
- package/lib/dr-tags/dr-tag.module.d.ts +0 -9
- package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -3
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -3
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +1 -4
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +0 -3
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +0 -11
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +0 -3
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +0 -3
- package/lib/dr-treeview/dr-tree-view.module.d.ts +0 -9
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +0 -9
- package/lib/dr-treeview/models/treeview-config.d.ts +0 -3
- package/lib/dr-treeview/models/treeview-i18n.d.ts +0 -5
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +0 -3
- package/lib/list-tags/list-tag.component.d.ts +0 -3
- package/lib/list-tags/list-tag.module.d.ts +0 -8
- package/lib/models/chat.d.ts +2 -2
- package/lib/models/datePicker.d.ts +3 -10
- package/lib/models/dropdown.d.ts +1 -1
- package/lib/models/popover.d.ts +1 -1
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +0 -3
- package/lib/stepper/stepper.module.d.ts +0 -7
- package/package.json +15 -27
- package/public-api.d.ts +0 -27
- package/datarailsshared-datarailsshared-1.4.195-rocket.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +0 -5
- package/esm2022/lib/date-tags/any-tag.component.mjs +0 -45
- package/esm2022/lib/date-tags/date-tag.component.mjs +0 -48
- package/esm2022/lib/date-tags/date-tag.module.mjs +0 -66
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -83
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -161
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -88
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -106
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -90
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -84
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -94
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -18
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +0 -59
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +0 -109
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +0 -142
- package/esm2022/lib/dr-accordion/accordion.component.mjs +0 -41
- package/esm2022/lib/dr-accordion/accordion.module.mjs +0 -34
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +0 -48
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +0 -37
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +0 -20
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +0 -30
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +0 -27
- package/esm2022/lib/dr-chat/chat.component.mjs +0 -147
- package/esm2022/lib/dr-chat/chat.module.mjs +0 -68
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +0 -169
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +0 -108
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +0 -24
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +0 -57
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +0 -23
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +0 -89
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +0 -13
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +0 -78
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +0 -21
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +0 -79
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +0 -102
- package/esm2022/lib/dr-dialog/dialog.module.mjs +0 -51
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +0 -25
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +0 -78
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +0 -16
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -108
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +0 -124
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +0 -125
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +0 -49
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +0 -26
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -119
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -28
- package/esm2022/lib/dr-error/dr-error.component.mjs +0 -69
- package/esm2022/lib/dr-error/dr-error.module.mjs +0 -31
- package/esm2022/lib/dr-inputs/button/button.component.mjs +0 -70
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +0 -67
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +0 -67
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +0 -233
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +0 -194
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +0 -194
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +0 -16
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +0 -196
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +0 -232
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +0 -108
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +0 -32
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +0 -182
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +0 -82
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +0 -77
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +0 -69
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +0 -82
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +0 -180
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +0 -16
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +0 -24
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +0 -13
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +0 -29
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +0 -23
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +0 -141
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +0 -115
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +0 -30
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +0 -110
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -110
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -85
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -81
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -41
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -166
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +0 -18
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +0 -66
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +0 -23
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +0 -42
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +0 -51
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +0 -49
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -201
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -35
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +0 -20
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +0 -17
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +0 -19
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +0 -20
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +0 -53
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +0 -165
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +0 -224
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +0 -62
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +0 -103
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +0 -23
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +0 -47
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +0 -158
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +0 -21
- package/esm2022/lib/list-tags/list-tag.component.mjs +0 -45
- package/esm2022/lib/list-tags/list-tag.module.mjs +0 -34
- package/esm2022/lib/models/chat.mjs +0 -49
- package/esm2022/lib/models/datePicker.mjs +0 -71
- package/esm2022/lib/models/popover.mjs +0 -27
- package/esm2022/lib/stepper/stepper.component.mjs +0 -66
- package/esm2022/lib/stepper/stepper.module.mjs +0 -24
- package/esm2022/public-api.mjs +0 -120
- package/fesm2022/datarailsshared-datarailsshared.mjs +0 -7879
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/date-tags/any-tag.component.d.ts +0 -20
- package/lib/directives/click-outside/click-outside.directive.d.ts +0 -23
- package/lib/directives/click-outside/click-outside.module.d.ts +0 -8
- /package/{esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs → esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js} +0 -0
- /package/{esm2022/lib/dr-scenario/interfaces/scenario.mjs → esm2015/lib/dr-scenario/interfaces/scenario.js} +0 -0
- /package/{esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs → esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js} +0 -0
- /package/{esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs → esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js} +0 -0
- /package/{esm2022/lib/dr-treeview/helpers/treeview-helper.mjs → esm2015/lib/dr-treeview/helpers/treeview-helper.js} +0 -0
- /package/{esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-header-template-context.js} +0 -0
- /package/{esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs → esm2015/lib/dr-treeview/models/treeview-item-template-context.js} +0 -0
- /package/{esm2022/lib/models/badgeStatus.mjs → esm2015/lib/models/badgeStatus.js} +0 -0
- /package/{esm2022/lib/models/constants.mjs → esm2015/lib/models/constants.js} +0 -0
- /package/{esm2022/lib/models/dropdown.mjs → esm2015/lib/models/dropdown.js} +0 -0
- /package/{esm2022/lib/models/serverTags.mjs → esm2015/lib/models/serverTags.js} +0 -0
- /package/{esm2022/lib/models/spinnerOptions.mjs → esm2015/lib/models/spinnerOptions.js} +0 -0
- /package/{esm2022/lib/models/validationError.mjs → esm2015/lib/models/validationError.js} +0 -0
- /package/{esm2022/lib/stepper/interfaces/stepper.mjs → esm2015/lib/stepper/interfaces/stepper.js} +0 -0
- /package/{esm2022/lib/utils/dr-shared-utils.mjs → esm2015/lib/utils/dr-shared-utils.js} +0 -0
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Inject } from "@angular/core";
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { MAT_DATE_FORMATS } from '@angular/material/core';
|
|
5
|
-
import { CalendarView, TimeframeOption } from '../../../models/datePicker';
|
|
6
|
-
import { DrDatePickerService } from '../services/dr-date-picker.service';
|
|
7
|
-
import { PRESET_TAGS_LIST } from "../../../models/constants";
|
|
8
|
-
import * as moment from 'moment';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/material/datepicker";
|
|
11
|
-
import * as i2 from "@angular/material/core";
|
|
12
|
-
import * as i3 from "../services/dr-date-picker.service";
|
|
13
|
-
import * as i4 from "@angular/forms";
|
|
14
|
-
import * as i5 from "@angular/common";
|
|
15
|
-
import * as i6 from "../../../dr-tooltip/dr-tooltip.directive";
|
|
16
|
-
import * as i7 from "../../dr-select/dr-select.component";
|
|
17
|
-
import * as i8 from "../dr-show-timeframe.pipe";
|
|
18
|
-
import * as i9 from "../../../models/datePicker";
|
|
19
|
-
export class DrDatePickerCustomHeaderComponent {
|
|
20
|
-
_calendar;
|
|
21
|
-
_dateAdapter;
|
|
22
|
-
_dateFormats;
|
|
23
|
-
cdr;
|
|
24
|
-
datePickerService;
|
|
25
|
-
_destroyed = new Subject();
|
|
26
|
-
quarters = [1, 2, 3, 4];
|
|
27
|
-
selectedQuarter = 1;
|
|
28
|
-
timeframeOptions = [{
|
|
29
|
-
timeframe: TimeframeOption.DAY,
|
|
30
|
-
title: 'Day12313',
|
|
31
|
-
value: CalendarView.FOR_DAYS,
|
|
32
|
-
format: this.datePickerService.formatConfig.day,
|
|
33
|
-
periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()
|
|
34
|
-
}, {
|
|
35
|
-
timeframe: TimeframeOption.WEEK,
|
|
36
|
-
title: 'Week',
|
|
37
|
-
value: CalendarView.FOR_DAYS,
|
|
38
|
-
format: this.datePickerService.formatConfig.week,
|
|
39
|
-
periodLabel: () => this._dateAdapter.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel).toLocaleUpperCase()
|
|
40
|
-
}, {
|
|
41
|
-
timeframe: TimeframeOption.MONTH,
|
|
42
|
-
title: 'Month',
|
|
43
|
-
value: CalendarView.FOR_MONTHS,
|
|
44
|
-
format: this.datePickerService.formatConfig.month,
|
|
45
|
-
periodLabel: () => String(moment(this._calendar.activeDate).utc().year())
|
|
46
|
-
}, {
|
|
47
|
-
timeframe: TimeframeOption.QUARTER,
|
|
48
|
-
title: 'Quarter',
|
|
49
|
-
value: CalendarView.FOR_QUARTERS,
|
|
50
|
-
format: this.datePickerService.formatConfig.quarter,
|
|
51
|
-
periodLabel: () => String(moment(this.datePickerService.subtractFiscalYearMonthsFromDate(this._calendar.activeDate)).utc().year())
|
|
52
|
-
}, {
|
|
53
|
-
timeframe: TimeframeOption.YEAR,
|
|
54
|
-
title: 'Year',
|
|
55
|
-
value: CalendarView.FOR_YEARS,
|
|
56
|
-
format: this.datePickerService.formatConfig.year,
|
|
57
|
-
periodLabel: () => {
|
|
58
|
-
const currentYear = moment(this.datePickerService.subtractFiscalYearMonthsFromDate(this._calendar.activeDate)).utc().year();
|
|
59
|
-
const startPeriod = Math.floor(currentYear / 24) * 24;
|
|
60
|
-
return startPeriod + '-' + (startPeriod + 23);
|
|
61
|
-
}
|
|
62
|
-
}];
|
|
63
|
-
pagingSetup = {
|
|
64
|
-
[CalendarView.FOR_MONTHS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
|
|
65
|
-
[CalendarView.FOR_QUARTERS]: (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
|
|
66
|
-
[CalendarView.FOR_DAYS]: (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),
|
|
67
|
-
[CalendarView.FOR_YEARS]: (forward) => this.pagingDateChange('addCalendarYears', 24, forward)
|
|
68
|
-
};
|
|
69
|
-
selectedTimeframe = CalendarView.FOR_DAYS;
|
|
70
|
-
timeframeSelection = false;
|
|
71
|
-
periodMonthLabel = '';
|
|
72
|
-
periodYearLabel = '';
|
|
73
|
-
presetTagList = PRESET_TAGS_LIST;
|
|
74
|
-
get selectedPresetTag() {
|
|
75
|
-
return this.datePickerService.presetTag$.getValue();
|
|
76
|
-
}
|
|
77
|
-
;
|
|
78
|
-
calendarView = CalendarView;
|
|
79
|
-
constructor(_calendar, _dateAdapter, _dateFormats, cdr, datePickerService) {
|
|
80
|
-
this._calendar = _calendar;
|
|
81
|
-
this._dateAdapter = _dateAdapter;
|
|
82
|
-
this._dateFormats = _dateFormats;
|
|
83
|
-
this.cdr = cdr;
|
|
84
|
-
this.datePickerService = datePickerService;
|
|
85
|
-
_calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
|
|
86
|
-
this.datePickerService.format$.pipe(takeUntil(this._destroyed)).subscribe(value => {
|
|
87
|
-
this.selectedTimeframe = this.timeframeOptions.filter(option => option.format === value)[0].value;
|
|
88
|
-
_calendar.currentView = this.selectedTimeframe;
|
|
89
|
-
this.setPeriodLabels();
|
|
90
|
-
if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
|
|
91
|
-
this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(this._calendar.activeDate);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
_calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => {
|
|
95
|
-
this.setPeriodLabels();
|
|
96
|
-
if (_calendar.multiYearView) {
|
|
97
|
-
this.transformDateInMultiyearViewAccordingToFY();
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
_calendar._userSelection.subscribe(date => {
|
|
101
|
-
if (!this.datePickerService.isValueUpdating) {
|
|
102
|
-
this.datePickerService.onSameDaySelectedInCalendar$.next(date.value);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
this.datePickerService.calendarInstance = _calendar;
|
|
106
|
-
}
|
|
107
|
-
ngOnInit() {
|
|
108
|
-
setTimeout(() => {
|
|
109
|
-
if (this._calendar.multiYearView) {
|
|
110
|
-
this.transformDateInMultiyearViewAccordingToFY();
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
ngOnDestroy() {
|
|
115
|
-
this._destroyed.next();
|
|
116
|
-
this._destroyed.complete();
|
|
117
|
-
}
|
|
118
|
-
setPeriodLabels() {
|
|
119
|
-
const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];
|
|
120
|
-
const fullPeriodLabel = currentTimeframeOption.periodLabel();
|
|
121
|
-
if (this._calendar.currentView === CalendarView.FOR_DAYS) {
|
|
122
|
-
this.periodMonthLabel = fullPeriodLabel.slice(0, 3);
|
|
123
|
-
this.periodYearLabel = fullPeriodLabel.slice(4);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
this.periodMonthLabel = '';
|
|
127
|
-
this.periodYearLabel = fullPeriodLabel;
|
|
128
|
-
}
|
|
129
|
-
this.cdr.markForCheck();
|
|
130
|
-
}
|
|
131
|
-
setTimeframe(value) {
|
|
132
|
-
if (value !== this.selectedTimeframe) {
|
|
133
|
-
this.datePickerService.resetPresetTag();
|
|
134
|
-
}
|
|
135
|
-
this.selectedTimeframe = value;
|
|
136
|
-
this.timeframeSelection = false;
|
|
137
|
-
this._calendar.currentView = this.selectedTimeframe;
|
|
138
|
-
const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
|
|
139
|
-
this.datePickerService.updateTimeframeAndFormat(chosenTimeframeOption.format);
|
|
140
|
-
if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
|
|
141
|
-
this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(this._calendar.activeDate);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
get currentViewIsQuarter() {
|
|
145
|
-
return ![CalendarView.FOR_DAYS, CalendarView.FOR_MONTHS, CalendarView.FOR_YEARS].includes(this._calendar.currentView);
|
|
146
|
-
}
|
|
147
|
-
switchViewOnClickOnPeriodLabel(view) {
|
|
148
|
-
this._calendar.currentView = view;
|
|
149
|
-
}
|
|
150
|
-
onSelectQuarter(quarterNumber) {
|
|
151
|
-
this.selectedQuarter = quarterNumber;
|
|
152
|
-
this.datePickerService.setEndOfQuarter(this._calendar.activeDate, quarterNumber);
|
|
153
|
-
this.datePickerService.updatedQuarter$.next(this._calendar.activeDate);
|
|
154
|
-
this.datePickerService.datePickerInstance.close();
|
|
155
|
-
}
|
|
156
|
-
pagingClicked(forward) {
|
|
157
|
-
if (this.pagingSetup[this._calendar.currentView]) {
|
|
158
|
-
this.pagingSetup[this._calendar.currentView](forward);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
pagingDateChange(actionCall, amount, forward) {
|
|
162
|
-
this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward ? amount : -amount);
|
|
163
|
-
this.setPeriodLabels();
|
|
164
|
-
}
|
|
165
|
-
transformDateInMultiyearViewAccordingToFY() {
|
|
166
|
-
const multuYearView = this._calendar.multiYearView;
|
|
167
|
-
multuYearView._activeDate = this.datePickerService.subtractFiscalYearMonthsFromDate(multuYearView._activeDate);
|
|
168
|
-
multuYearView._selectedYear = multuYearView._activeDate.year();
|
|
169
|
-
multuYearView._init();
|
|
170
|
-
}
|
|
171
|
-
onSelectPresetTag(tag) {
|
|
172
|
-
if (tag.key === this.selectedPresetTag) {
|
|
173
|
-
this.datePickerService.presetTag$.next(null);
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
this.datePickerService.presetTag$.next(tag.key);
|
|
177
|
-
}
|
|
178
|
-
this.datePickerService.updateDatePickerByPreset(this.selectedPresetTag, this._calendar);
|
|
179
|
-
}
|
|
180
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerCustomHeaderComponent, deps: [{ token: i1.MatCalendar }, { token: i2.DateAdapter }, { token: MAT_DATE_FORMATS }, { token: i0.ChangeDetectorRef }, { token: i3.DrDatePickerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDatePickerCustomHeaderComponent, selector: "dr-date-picker_custom-header.component", providers: [
|
|
182
|
-
{ provide: DrDatePickerService }
|
|
183
|
-
], ngImport: i0, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div *ngFor=\"let tag of presetTagList\" \n id=\"preset_tag\" \n class=\"dr-datepicker-preset-date__tags__tag\" \n (click)=\"onSelectPresetTag(tag)\" \n [ngClass]=\"{'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag}\"\n [drTooltip]=\"selectedPresetTag === tag.key? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\" (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n >Q{{quarter}}</div>\n</div>\n\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9EA1AA;border-radius:18px;background:#FFFFFF;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#F2F2FB;border:1px solid #4646CE}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipMousleaveTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "component", type: i7.DrSelectComponent, selector: "dr-select", inputs: ["className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "hideSelected", "placeholder", "loading", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen"], outputs: ["change", "open"] }, { kind: "pipe", type: i8.DrShowTimeframePipe, name: "drShowTimeframePipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
184
|
-
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerCustomHeaderComponent, decorators: [{
|
|
186
|
-
type: Component,
|
|
187
|
-
args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
188
|
-
{ provide: DrDatePickerService }
|
|
189
|
-
], template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div class=\"dr-datepicker-preset-date__tags\">\n <div *ngFor=\"let tag of presetTagList\" \n id=\"preset_tag\" \n class=\"dr-datepicker-preset-date__tags__tag\" \n (click)=\"onSelectPresetTag(tag)\" \n [ngClass]=\"{'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag}\"\n [drTooltip]=\"selectedPresetTag === tag.key? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\"\n (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\" (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n >Q{{quarter}}</div>\n</div>\n\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9EA1AA;border-radius:18px;background:#FFFFFF;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#F2F2FB;border:1px solid #4646CE}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"] }]
|
|
190
|
-
}], ctorParameters: function () { return [{ type: i1.MatCalendar }, { type: i2.DateAdapter }, { type: i9.CustomDateFormat, decorators: [{
|
|
191
|
-
type: Inject,
|
|
192
|
-
args: [MAT_DATE_FORMATS]
|
|
193
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i3.DrDatePickerService }]; } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBcUQsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBWWpDLE1BQU0sT0FBTyxpQ0FBaUM7SUEwRHRCO0lBQ0E7SUFDMEI7SUFDMUI7SUFDRDtJQTdEWCxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUN6QyxRQUFRLEdB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LENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0QsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFRO1FBQ3RCLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7dUdBM0tRLGlDQUFpQyx3RUE0RHRCLGdCQUFnQjsyRkE1RDNCLGlDQUFpQyxpRUFML0I7WUFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRTtTQUNuQywwQkNqQkwsdXBFQThDQTs7MkZEMUJhLGlDQUFpQztrQkFWN0MsU0FBUzsrQkFDSSx3Q0FBd0MsbUJBR2pDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7cUJBQ25DOzswQkErRFksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJWaWV3IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3LCBDdXN0b21EYXRlRm9ybWF0LCBJVGltZWZyYW1lT3B0aW9uLCBUQ2FsZW5kYXJWaWV3LCBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBEckRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQUkVTRVRfVEFHU19MSVNUIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9jb25zdGFudHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBEckRhdGVQaWNrZXJTZXJ2aWNlIH1cbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudDxNb21lbnQ+IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcXVhcnRlcnMgPSBbMSwgMiwgMywgNF07XG4gICAgc2VsZWN0ZWRRdWFydGVyID0gMTtcbiAgICB0aW1lZnJhbWVPcHRpb25zOiBJVGltZWZyYW1lT3B0aW9uW10gPSBbe1xuICAgICAgICB0aW1lZnJhbWU6IFRpbWVmcmFtZU9wdGlvbi5EQVksXG4gICAgICAgIHRpdGxlOiAnRGF5MTIzMTMnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9EQVlTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLmRheSxcbiAgICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IHRoaXMuX2RhdGVBZGFwdGVyLmZvcm1hdCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLl9kYXRlRm9ybWF0cy5kaXNwbGF5Lm1vbnRoWWVhckxhYmVsKS50b0xvY2FsZVVwcGVyQ2FzZSgpXG4gICAgfSwge1xuICAgICAgICB0aW1lZnJhbWU6IFRpbWVmcmFtZU9wdGlvbi5XRUVLLFxuICAgICAgICB0aXRsZTogJ1dlZWsnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9EQVlTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLndlZWssXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiB0aGlzLl9kYXRlQWRhcHRlci5mb3JtYXQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5fZGF0ZUZvcm1hdHMuZGlzcGxheS5tb250aFllYXJMYWJlbCkudG9Mb2NhbGVVcHBlckNhc2UoKVxuICAgIH0sIHtcbiAgICAgICAgdGltZWZyYW1lOiBUaW1lZnJhbWVPcHRpb24uTU9OVEgsXG4gICAgICAgIHRpdGxlOiAnTW9udGgnLFxuICAgICAgICB2YWx1ZTogQ2FsZW5kYXJWaWV3LkZPUl9NT05USFMsXG4gICAgICAgIGZvcm1hdDogdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXRDb25maWcubW9udGgsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBTdHJpbmcobW9tZW50KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpLnV0YygpLnllYXIoKSlcbiAgICB9LCB7XG4gICAgICAgIHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsXG4gICAgICAgIHRpdGxlOiAnUXVhcnRlcicsXG4gICAgICAgIHZhbHVlOiBDYWxlbmRhclZpZXcuRk9SX1FVQVJURVJTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLnF1YXJ0ZXIsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBTdHJpbmcobW9tZW50KHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc3VidHJhY3RGaXNjYWxZZWFyTW9udGhzRnJvbURhdGUodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkpLnV0YygpLnllYXIoKSlcbiAgICB9LCB7XG4gICAgICAgIHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uLllFQVIsXG4gICAgICAgIHRpdGxlOiAnWWVhcicsXG4gICAgICAgIHZhbHVlOiBDYWxlbmRhclZpZXcuRk9SX1lFQVJTLFxuICAgICAgICBmb3JtYXQ6IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLnllYXIsXG4gICAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG1vbWVudCh0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpKS51dGMoKS55ZWFyKCk7XG4gICAgICAgICAgICBjb25zdCBzdGFydFBlcmlvZCA9IE1hdGguZmxvb3IoY3VycmVudFllYXIgLyAyNCkgKiAyNDtcbiAgICAgICAgICAgIHJldHVybiBzdGFydFBlcmlvZCArICctJyArIChzdGFydFBlcmlvZCArIDIzKTtcbiAgICAgICAgfVxuICAgIH1dO1xuXG4gICAgcGFnaW5nU2V0dXAgPSB7XG4gICAgICAgIFtDYWxlbmRhclZpZXcuRk9SX01PTlRIU106IChmb3J3YXJkKSA9PiB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcbiAgICAgICAgW0NhbGVuZGFyVmlldy5GT1JfUVVBUlRFUlNdOiAoZm9yd2FyZCkgPT4gdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXG4gICAgICAgIFtDYWxlbmRhclZpZXcuRk9SX0RBWVNdOiAoZm9yd2FyZCkgPT4gdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhck1vbnRocycsIDEsIGZvcndhcmQpLFxuICAgICAgICBbQ2FsZW5kYXJWaWV3LkZPUl9ZRUFSU106IChmb3J3YXJkKSA9PiB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAyNCwgZm9yd2FyZClcbiAgICB9O1xuXG4gICAgc2VsZWN0ZWRUaW1lZnJhbWU6IFRDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXcuRk9SX0RBWVM7XG4gICAgdGltZWZyYW1lU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgcGVyaW9kTW9udGhMYWJlbCA9ICcnO1xuICAgIHBlcmlvZFllYXJMYWJlbCA9ICcnO1xuICAgIHByZXNldFRhZ0xpc3QgPSBQUkVTRVRfVEFHU19MSVNUO1xuICAgIGdldCBzZWxlY3RlZFByZXNldFRhZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UucHJlc2V0VGFnJC5nZXRWYWx1ZSgpO1xuICAgIH07XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2FsZW5kYXI6IE1hdENhbGVuZGFyPGFueT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIF9kYXRlRm9ybWF0czogQ3VzdG9tRGF0ZUZvcm1hdCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgICAgcHVibGljIGRhdGVQaWNrZXJTZXJ2aWNlOiBEckRhdGVQaWNrZXJTZXJ2aWNlKSB7XG5cbiAgICAgICAgX2NhbGVuZGFyLnN0YXRlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRQZXJpb2RMYWJlbHMoKSk7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5mb3JtYXQgPT09IHZhbHVlKVswXS52YWx1ZTtcbiAgICAgICAgICAgIF9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgYXMgTWF0Q2FsZW5kYXJWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRQZXJpb2RMYWJlbHMoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGltZWZyYW1lID09PSBDYWxlbmRhclZpZXcuRk9SX1FVQVJURVJTKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIF9jYWxlbmRhci52aWV3Q2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRQZXJpb2RMYWJlbHMoKTtcbiAgICAgICAgICAgIGlmIChfY2FsZW5kYXIubXVsdGlZZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgX2NhbGVuZGFyLl91c2VyU2VsZWN0aW9uLnN1YnNjcmliZShkYXRlID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRlUGlja2VyU2VydmljZS5pc1ZhbHVlVXBkYXRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLm9uU2FtZURheVNlbGVjdGVkSW5DYWxlbmRhciQubmV4dChkYXRlLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5jYWxlbmRhckluc3RhbmNlID0gX2NhbGVuZGFyO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jYWxlbmRhci5tdWx0aVllYXJWaWV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1EYXRlSW5NdWx0aXllYXJWaWV3QWNjb3JkaW5nVG9GWSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgc2V0UGVyaW9kTGFiZWxzKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VGltZWZyYW1lT3B0aW9uID0gdGhpcy50aW1lZnJhbWVPcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldylbMF07XG4gICAgICAgIGNvbnN0IGZ1bGxQZXJpb2RMYWJlbCA9IGN1cnJlbnRUaW1lZnJhbWVPcHRpb24ucGVyaW9kTGFiZWwoKTtcbiAgICAgICAgaWYgKHRoaXMuX2NhbGVuZGFyLmN1cnJlbnRWaWV3ID09PSBDYWxlbmRhclZpZXcuRk9SX0RBWVMpIHtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kTW9udGhMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbC5zbGljZSgwLCAzKTtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kWWVhckxhYmVsID0gZnVsbFBlcmlvZExhYmVsLnNsaWNlKDQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wZXJpb2RNb250aExhYmVsID0gJyc7XG4gICAgICAgICAgICB0aGlzLnBlcmlvZFllYXJMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBzZXRUaW1lZnJhbWUodmFsdWUpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnNlbGVjdGVkVGltZWZyYW1lKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnJlc2V0UHJlc2V0VGFnKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnRpbWVmcmFtZVNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgYXMgTWF0Q2FsZW5kYXJWaWV3O1xuICAgICAgICBjb25zdCBjaG9zZW5UaW1lZnJhbWVPcHRpb24gPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUpWzBdO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChjaG9zZW5UaW1lZnJhbWVPcHRpb24uZm9ybWF0KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9PT0gQ2FsZW5kYXJWaWV3LkZPUl9RVUFSVEVSUykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFZpZXdJc1F1YXJ0ZXIoKSB7XG4gICAgICAgIHJldHVybiAhW0NhbGVuZGFyVmlldy5GT1JfREFZUywgQ2FsZW5kYXJWaWV3LkZPUl9NT05USFMsIENhbGVuZGFyVmlldy5GT1JfWUVBUlNdLmluY2x1ZGVzKHRoaXMuX2NhbGVuZGFyLmN1cnJlbnRWaWV3IGFzIENhbGVuZGFyVmlldyk7XG4gICAgfVxuXG4gICAgc3dpdGNoVmlld09uQ2xpY2tPblBlcmlvZExhYmVsKHZpZXc6IENhbGVuZGFyVmlldy5GT1JfTU9OVEhTIHwgQ2FsZW5kYXJWaWV3LkZPUl9ZRUFSUykge1xuICAgICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHZpZXc7XG4gICAgfVxuXG4gICAgb25TZWxlY3RRdWFydGVyKHF1YXJ0ZXJOdW1iZXI6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IHF1YXJ0ZXJOdW1iZXI7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc2V0RW5kT2ZRdWFydGVyKHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUsIHF1YXJ0ZXJOdW1iZXIpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWFydGVyJC5uZXh0KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmRhdGVQaWNrZXJJbnN0YW5jZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHBhZ2luZ0NsaWNrZWQoZm9yd2FyZCkge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmdTZXR1cFt0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlld10pIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5nU2V0dXBbdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXddKGZvcndhcmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnaW5nRGF0ZUNoYW5nZShhY3Rpb25DYWxsOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBmb3J3YXJkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB0aGlzLl9kYXRlQWRhcHRlclthY3Rpb25DYWxsXSh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlLCBmb3J3YXJkID8gYW1vdW50IDogLWFtb3VudCk7XG4gICAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKCk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKSB7XG4gICAgICAgIGNvbnN0IG11bHR1WWVhclZpZXcgPSB0aGlzLl9jYWxlbmRhci5tdWx0aVllYXJWaWV3IGFzIGFueTtcbiAgICAgICAgbXVsdHVZZWFyVmlldy5fYWN0aXZlRGF0ZSA9IHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc3VidHJhY3RGaXNjYWxZZWFyTW9udGhzRnJvbURhdGUobXVsdHVZZWFyVmlldy5fYWN0aXZlRGF0ZSk7XG4gICAgICAgIG11bHR1WWVhclZpZXcuX3NlbGVjdGVkWWVhciA9IG11bHR1WWVhclZpZXcuX2FjdGl2ZURhdGUueWVhcigpO1xuICAgICAgICBtdWx0dVllYXJWaWV3Ll9pbml0KCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RQcmVzZXRUYWcodGFnOiBhbnkpIHtcbiAgICAgICAgaWYgKHRhZy5rZXkgPT09IHRoaXMuc2VsZWN0ZWRQcmVzZXRUYWcpIHtcbiAgICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnByZXNldFRhZyQubmV4dChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UucHJlc2V0VGFnJC5uZXh0KHRhZy5rZXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudXBkYXRlRGF0ZVBpY2tlckJ5UHJlc2V0KHRoaXMuc2VsZWN0ZWRQcmVzZXRUYWcsIHRoaXMuX2NhbGVuZGFyKTtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNUaW1lZnJhbWVTZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJkci1kYXRlcGlja2VyX190aW1lZnJhbWUtc2VsZWN0X193cmFwcGVyXCI+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzXCIgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlX190YWdzXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0YWcgb2YgcHJlc2V0VGFnTGlzdFwiIFxuICAgICAgICAgICAgICAgIGlkPVwicHJlc2V0X3RhZ1wiIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZGF0ZXBpY2tlci1wcmVzZXQtZGF0ZV9fdGFnc19fdGFnXCIgXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0UHJlc2V0VGFnKHRhZylcIiBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2RyLWRhdGVwaWNrZXItcHJlc2V0LWRhdGVfX3RhZ3NfX3RhZy0tc2VsZWN0ZWQnOiB0YWcua2V5ID09PSBzZWxlY3RlZFByZXNldFRhZ31cIlxuICAgICAgICAgICAgICAgIFtkclRvb2x0aXBdPVwic2VsZWN0ZWRQcmVzZXRUYWcgPT09IHRhZy5rZXk/ICdVbnNlbGVjdCBwcmVzZXQnIDogJydcIlxuICAgICAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCIndG9wJ1wiPlxuICAgICAgICAgICAgICAgIHt7IHRhZy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkci1zZWxlY3RcbiAgICAgICAgICAgIGNsYXNzPVwiZHItZGF0ZXBpY2tlcl9fdGltZWZyYW1lLXNlbGVjdFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFRpbWVmcmFtZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwidGltZWZyYW1lT3B0aW9ucyB8IGRyU2hvd1RpbWVmcmFtZVBpcGU6IGRhdGVQaWNrZXJTZXJ2aWNlLmF2YWlsYWJsZVRpbWVmcmFtZXNcIlxuICAgICAgICAgICAgYmluZExhYmVsPVwidGl0bGVcIlxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VGltZWZyYW1lKCRldmVudClcIj5cbiAgICA8L2RyLXNlbGVjdD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmcgZmxpcC1wYWdlLWJ1dHRvblwiXG4gICAgICAgICAoY2xpY2spPVwicGFnaW5nQ2xpY2tlZChmYWxzZSlcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJkci1pY29uLWFycm93LWxlZnQgcHJlc2VudGF0aW9uX2J1dHRvbnMtbmF2aWdhdGVfaW5wdXRcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJleGFtcGxlLWhlYWRlci1sYWJlbFwiPlxuICAgICAgICA8c3BhbiAoY2xpY2spPVwic3dpdGNoVmlld09uQ2xpY2tPblBlcmlvZExhYmVsKGNhbGVuZGFyVmlldy5GT1JfTU9OVEhTKVwiPnt7IHBlcmlvZE1vbnRoTGFiZWwgKyAnICcgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIChjbGljayk9XCJzd2l0Y2hWaWV3T25DbGlja09uUGVyaW9kTGFiZWwoY2FsZW5kYXJWaWV3LkZPUl9ZRUFSUylcIj57eyBwZXJpb2RZZWFyTGFiZWwgfX08L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlLXBhZ2luZyBmbGlwLXBhZ2UtYnV0dG9uXCJcbiAgICAgICAgIChjbGljayk9XCJwYWdpbmdDbGlja2VkKHRydWUpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1yaWdodCBwcmVzZW50YXRpb25fYnV0dG9ucy1uYXZpZ2F0ZV9pbnB1dFwiPjwvaT5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAjcXVhcnRlcmx5RGF0ZVBpY2tlciBjbGFzcz1cImRyLXF1YXJ0ZXJseS1kYXRlcGlja2VyXCIgKm5nSWY9XCJjdXJyZW50Vmlld0lzUXVhcnRlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHF1YXJ0ZXIgb2YgcXVhcnRlcnNcIlxuICAgICAgICAgY2xhc3M9XCJxdWFydGVyLXNlbGVjdG9yXCIgKGNsaWNrKT1cIm9uU2VsZWN0UXVhcnRlcihxdWFydGVyKVwiXG4gICAgICAgICBbY2xhc3NdPVwicXVhcnRlciA9PT0gc2VsZWN0ZWRRdWFydGVyID8gJ3NlbGVjdGVkJyA6ICcnXCJcbiAgICA+UXt7cXVhcnRlcn19PC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DrShowTimeframePipe {
|
|
4
|
-
transform(arr, showOptions) {
|
|
5
|
-
return arr.filter(item => showOptions.includes(item.timeframe));
|
|
6
|
-
}
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, name: "drShowTimeframePipe" });
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrShowTimeframePipe, decorators: [{
|
|
11
|
-
type: Pipe,
|
|
12
|
-
args: [{
|
|
13
|
-
name: 'drShowTimeframePipe'
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2hvdy10aW1lZnJhbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixTQUFTLENBQUMsR0FBdUIsRUFBRSxXQUE4QjtRQUM3RCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7dUdBSFEsbUJBQW1CO3FHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHFCQUFxQjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24sIElUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZHJTaG93VGltZWZyYW1lUGlwZSdcbn0pXG5leHBvcnQgY2xhc3MgRHJTaG93VGltZWZyYW1lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShhcnI6IElUaW1lZnJhbWVPcHRpb25bXSwgc2hvd09wdGlvbnM6IFRpbWVmcmFtZU9wdGlvbltdKTogSVRpbWVmcmFtZU9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIGFyci5maWx0ZXIoaXRlbSA9PiBzaG93T3B0aW9ucy5pbmNsdWRlcyhpdGVtLnRpbWVmcmFtZSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
-
import { DateFromats, DateTags, TimeframeOption } from '../../../models/datePicker';
|
|
4
|
-
import { DrSharedUtils } from '../../../utils/dr-shared-utils';
|
|
5
|
-
import * as _ from 'lodash';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class DrDatePickerService {
|
|
8
|
-
isTimeframeSelectionEnabled = false;
|
|
9
|
-
timeframe = TimeframeOption.DAY;
|
|
10
|
-
format$ = new BehaviorSubject(DateFromats.MAT_DEFAULT_DATE_FORMAT);
|
|
11
|
-
updatedQuarter$ = new Subject();
|
|
12
|
-
updatedDateAndClose$ = new Subject();
|
|
13
|
-
datePickerInstance;
|
|
14
|
-
isUsingDateTagPresets;
|
|
15
|
-
presetTag$ = new BehaviorSubject('');
|
|
16
|
-
onSameDaySelectedInCalendar$ = new Subject();
|
|
17
|
-
keepPresetTag = false;
|
|
18
|
-
isValueUpdating = false;
|
|
19
|
-
availableTimeframes = [
|
|
20
|
-
TimeframeOption.DAY,
|
|
21
|
-
TimeframeOption.WEEK,
|
|
22
|
-
TimeframeOption.MONTH,
|
|
23
|
-
TimeframeOption.QUARTER,
|
|
24
|
-
TimeframeOption.YEAR
|
|
25
|
-
];
|
|
26
|
-
formatConfig = {
|
|
27
|
-
day: DateFromats.MAT_DEFAULT_DATE_FORMAT,
|
|
28
|
-
month: DateFromats.MONTH_YEAR_FORMAT,
|
|
29
|
-
year: DateFromats.YEAR_FORMAT,
|
|
30
|
-
quarter: DateFromats.QUARTER_FORMAT,
|
|
31
|
-
week: DateFromats.WEEK_FORMAT
|
|
32
|
-
};
|
|
33
|
-
calendarInstance;
|
|
34
|
-
fiscalYearMonthsModifier = 0;
|
|
35
|
-
getDisplayPrefix() {
|
|
36
|
-
const formatCached = this.format$.getValue();
|
|
37
|
-
switch (true) {
|
|
38
|
-
case formatCached?.includes('Q'):
|
|
39
|
-
return 'Q';
|
|
40
|
-
case formatCached?.includes('W'):
|
|
41
|
-
return 'W';
|
|
42
|
-
default:
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
getTimeframe(format) {
|
|
47
|
-
return DrSharedUtils.getTimeframeByDateFormat(format);
|
|
48
|
-
}
|
|
49
|
-
getConfiguredFormat(timeframe) {
|
|
50
|
-
return this.formatConfig[timeframe];
|
|
51
|
-
}
|
|
52
|
-
updateTimeframeAndFormat(format) {
|
|
53
|
-
const normalizedFormat = this.normalizeValue(format || this.format$.getValue());
|
|
54
|
-
this.timeframe = this.getTimeframe(normalizedFormat);
|
|
55
|
-
this.format$.next(this.getConfiguredFormat(this.timeframe));
|
|
56
|
-
}
|
|
57
|
-
normalizeValue(value) {
|
|
58
|
-
return value.replace(/d/g, 'D');
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Get quarter number for date according to fiscal year
|
|
62
|
-
*
|
|
63
|
-
* @param date
|
|
64
|
-
*/
|
|
65
|
-
getQuarterAccordingToFiscalYear(date) {
|
|
66
|
-
let fiscalMonth = this.fiscalYearMonthsModifier;
|
|
67
|
-
const dateMonth = date.month();
|
|
68
|
-
if (dateMonth < fiscalMonth) {
|
|
69
|
-
fiscalMonth -= 12;
|
|
70
|
-
}
|
|
71
|
-
return Math.trunc((date.month() - fiscalMonth) / 3) + 1;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Sets date to end of quarter in FY by passed quarter number
|
|
75
|
-
*
|
|
76
|
-
* @param date
|
|
77
|
-
* @param quarterNumber
|
|
78
|
-
*/
|
|
79
|
-
setEndOfQuarter(date, quarterNumber) {
|
|
80
|
-
date
|
|
81
|
-
.subtract(this.fiscalYearMonthsModifier, 'M')
|
|
82
|
-
.startOf('year')
|
|
83
|
-
.add(this.fiscalYearMonthsModifier + quarterNumber * 3 - 1, 'M')
|
|
84
|
-
.endOf('month');
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Sets date to start of quarter in FY by passed quarter number
|
|
88
|
-
*
|
|
89
|
-
* @param date
|
|
90
|
-
* @param quarterNumber
|
|
91
|
-
*/
|
|
92
|
-
setStartOfQuarter(date, quarterNumber) {
|
|
93
|
-
date
|
|
94
|
-
.subtract(this.fiscalYearMonthsModifier, 'M')
|
|
95
|
-
.startOf('year')
|
|
96
|
-
.add(this.fiscalYearMonthsModifier + (quarterNumber - 1) * 3, 'M');
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Sets date to end of current quarter (in which date is located) according to FY
|
|
100
|
-
*
|
|
101
|
-
* @param date
|
|
102
|
-
*/
|
|
103
|
-
setEndOfCurrentQuarter(date) {
|
|
104
|
-
this.setEndOfQuarter(date, this.getQuarterAccordingToFiscalYear(date));
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Sets date to start of current quarter (in which date is located) according to FY
|
|
108
|
-
*
|
|
109
|
-
* @param date
|
|
110
|
-
*/
|
|
111
|
-
setStartOfCurrentQuarter(date) {
|
|
112
|
-
this.setStartOfQuarter(date, this.getQuarterAccordingToFiscalYear(date));
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* If date selection on this timeframe depends on Fiscal Year
|
|
116
|
-
*
|
|
117
|
-
* @param timeframe
|
|
118
|
-
*/
|
|
119
|
-
isTimeframeDependingOnFY(timeframe) {
|
|
120
|
-
return _.includes([TimeframeOption.QUARTER, TimeframeOption.YEAR], timeframe);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Subtract from date fiscal year shift months count
|
|
124
|
-
*
|
|
125
|
-
* @param date
|
|
126
|
-
*/
|
|
127
|
-
subtractFiscalYearMonthsFromDate(date) {
|
|
128
|
-
return this.getDateModifiedByFiscalMonths(date, true);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Add to date fiscal year shift months count
|
|
132
|
-
*
|
|
133
|
-
* @param date
|
|
134
|
-
*/
|
|
135
|
-
addFiscalYearMonthsToDate(date) {
|
|
136
|
-
return this.getDateModifiedByFiscalMonths(date);
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Add or subtract depending on isRevert paremeter Fiscal year month shift
|
|
140
|
-
*
|
|
141
|
-
* @param date
|
|
142
|
-
* @param isSubtract
|
|
143
|
-
*/
|
|
144
|
-
getDateModifiedByFiscalMonths(date, isSubtract = false) {
|
|
145
|
-
return date ? _.cloneDeep(date)[isSubtract ? 'subtract' : 'add'](this.fiscalYearMonthsModifier, 'month') : date;
|
|
146
|
-
}
|
|
147
|
-
updateDatePickerByPreset(tag, calender) {
|
|
148
|
-
this.keepPresetTag = true;
|
|
149
|
-
let date = null;
|
|
150
|
-
if (tag) {
|
|
151
|
-
date = DrSharedUtils.getDateByTag(tag);
|
|
152
|
-
switch (tag) {
|
|
153
|
-
case DateTags.TODAY:
|
|
154
|
-
this.updateTimeframeAndFormat(DateFromats.MAT_DEFAULT_DATE_FORMAT);
|
|
155
|
-
break;
|
|
156
|
-
case DateTags.YESTERDAY:
|
|
157
|
-
this.updateTimeframeAndFormat(DateFromats.MAT_DEFAULT_DATE_FORMAT);
|
|
158
|
-
break;
|
|
159
|
-
case DateTags.THIS_MONTH:
|
|
160
|
-
this.updateTimeframeAndFormat(DateFromats.MONTH_YEAR_FORMAT);
|
|
161
|
-
this.selectDateInCalendarMonthView(date, calender);
|
|
162
|
-
break;
|
|
163
|
-
case DateTags.PREV_MONTH:
|
|
164
|
-
this.updateTimeframeAndFormat(DateFromats.MONTH_YEAR_FORMAT);
|
|
165
|
-
this.selectDateInCalendarMonthView(date, calender);
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
this.presetTag$.next(tag);
|
|
170
|
-
this.updatedDateAndClose$.next(date);
|
|
171
|
-
}
|
|
172
|
-
selectDateInCalendarMonthView(date, calender) {
|
|
173
|
-
setTimeout(() => {
|
|
174
|
-
const monthView = calender.monthView;
|
|
175
|
-
if (monthView) {
|
|
176
|
-
monthView._activeDate = date;
|
|
177
|
-
monthView._selected = date;
|
|
178
|
-
monthView._init();
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
resetPresetTag() {
|
|
183
|
-
if (!this.keepPresetTag) {
|
|
184
|
-
this.presetTag$.next(null);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
this.keepPresetTag = false;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
191
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService });
|
|
192
|
-
}
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDatePickerService, decorators: [{
|
|
194
|
-
type: Injectable
|
|
195
|
-
}] });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUEyQixlQUFlLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUc1QixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUNwQyxTQUFTLEdBQXFCLGVBQWUsQ0FBQyxHQUFHLENBQUM7SUFDbEQsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFTLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNFLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ3hDLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7SUFDN0Msa0JBQWtCLENBQXFCO0lBQ3ZDLHFCQUFxQixDQUFVO0lBQy9CLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUM3Qyw0QkFBNEIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ3JELGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixtQkFBbUIsR0FBRztRQUNsQixlQUFlLENBQUMsR0FBRztRQUNuQixlQUFlLENBQUMsSUFB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QUM1QyxJQUFJLFNBQVMsRUFBRTtnQkFDWCxTQUFTLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDN0IsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNyQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzt1R0F4TVEsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUZyb21hdHMsIERhdGVUYWdzLCBJRGF0ZVBpY2tlckZvcm1hdENvbmZpZywgVGltZWZyYW1lT3B0aW9uLCBUVGltZWZyYW1lT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RhdGVQaWNrZXInO1xuaW1wb3J0IHsgRHJTaGFyZWRVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2RyLXNoYXJlZC11dGlscyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJTZXJ2aWNlIHtcbiAgICBpc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aW1lZnJhbWU6IFRUaW1lZnJhbWVPcHRpb24gPSBUaW1lZnJhbWVPcHRpb24uREFZO1xuICAgIGZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oRGF0ZUZyb21hdHMuTUFUX0RFRkFVTFRfREFURV9GT1JNQVQpO1xuICAgIHVwZGF0ZWRRdWFydGVyJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICB1cGRhdGVkRGF0ZUFuZENsb3NlJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBkYXRlUGlja2VySW5zdGFuY2U6IE1hdERhdGVwaWNrZXI8YW55PjtcbiAgICBpc1VzaW5nRGF0ZVRhZ1ByZXNldHM6IGJvb2xlYW47XG4gICAgcHJlc2V0VGFnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgb25TYW1lRGF5U2VsZWN0ZWRJbkNhbGVuZGFyJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBrZWVwUHJlc2V0VGFnID0gZmFsc2U7XG4gICAgaXNWYWx1ZVVwZGF0aW5nID0gZmFsc2U7XG4gICAgYXZhaWxhYmxlVGltZWZyYW1lcyA9IFtcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLkRBWSxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLldFRUssXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5NT05USCxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5ZRUFSXG4gICAgXTtcblxuICAgIHB1YmxpYyBmb3JtYXRDb25maWc6IElEYXRlUGlja2VyRm9ybWF0Q29uZmlnID0ge1xuICAgICAgICBkYXk6IERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgICAgICBtb250aDogRGF0ZUZyb21hdHMuTU9OVEhfWUVBUl9GT1JNQVQsXG4gICAgICAgIHllYXI6IERhdGVGcm9tYXRzLllFQVJfRk9STUFULFxuICAgICAgICBxdWFydGVyOiBEYXRlRnJvbWF0cy5RVUFSVEVSX0ZPUk1BVCxcbiAgICAgICAgd2VlazogRGF0ZUZyb21hdHMuV0VFS19GT1JNQVRcbiAgICB9O1xuICAgIHB1YmxpYyBjYWxlbmRhckluc3RhbmNlOiBNYXRDYWxlbmRhcjxhbnk+O1xuXG4gICAgcHVibGljIGZpc2NhbFllYXJNb250aHNNb2RpZmllciA9IDA7XG5cbiAgICBnZXREaXNwbGF5UHJlZml4KCkge1xuICAgICAgICBjb25zdCBmb3JtYXRDYWNoZWQgPSB0aGlzLmZvcm1hdCQuZ2V0VmFsdWUoKTtcbiAgICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgICAgICBjYXNlIGZvcm1hdENhY2hlZD8uaW5jbHVkZXMoJ1EnKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ1EnO1xuICAgICAgICAgICAgY2FzZSBmb3JtYXRDYWNoZWQ/LmluY2x1ZGVzKCdXJyk6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdXJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGltZWZyYW1lKGZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBEclNoYXJlZFV0aWxzLmdldFRpbWVmcmFtZUJ5RGF0ZUZvcm1hdChmb3JtYXQpO1xuICAgIH1cblxuICAgIGdldENvbmZpZ3VyZWRGb3JtYXQodGltZWZyYW1lOiBUVGltZWZyYW1lT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdENvbmZpZ1t0aW1lZnJhbWVdO1xuICAgIH1cblxuICAgIHVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRm9ybWF0ID0gdGhpcy5ub3JtYWxpemVWYWx1ZShmb3JtYXQgfHwgdGhpcy5mb3JtYXQkLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLnRpbWVmcmFtZSA9IHRoaXMuZ2V0VGltZWZyYW1lKG5vcm1hbGl6ZWRGb3JtYXQpO1xuICAgICAgICB0aGlzLmZvcm1hdCQubmV4dCh0aGlzLmdldENvbmZpZ3VyZWRGb3JtYXQodGhpcy50aW1lZnJhbWUpKTtcbiAgICB9XG5cbiAgICBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvZC9nLCAnRCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBxdWFydGVyIG51bWJlciBmb3IgZGF0ZSBhY2NvcmRpbmcgdG8gZmlzY2FsIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIGdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZTogTW9tZW50KTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGZpc2NhbE1vbnRoID0gdGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXI7XG4gICAgICAgIGNvbnN0IGRhdGVNb250aCA9IGRhdGUubW9udGgoKTtcbiAgICAgICAgaWYgKGRhdGVNb250aCA8IGZpc2NhbE1vbnRoKSB7XG4gICAgICAgICAgICBmaXNjYWxNb250aCAtPSAxMjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC50cnVuYygoZGF0ZS5tb250aCgpIC0gZmlzY2FsTW9udGgpIC8gMykgKyAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBlbmQgb2YgcXVhcnRlciBpbiBGWSBieSBwYXNzZWQgcXVhcnRlciBudW1iZXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHBhcmFtIHF1YXJ0ZXJOdW1iZXJcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0RW5kT2ZRdWFydGVyKGRhdGU6IE1vbWVudCwgcXVhcnRlck51bWJlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGRhdGVcbiAgICAgICAgICAgIC5zdWJ0cmFjdCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciwgJ00nKVxuICAgICAgICAgICAgLnN0YXJ0T2YoJ3llYXInKVxuICAgICAgICAgICAgLmFkZCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciArIHF1YXJ0ZXJOdW1iZXIgKiAzIC0gMSwgJ00nKVxuICAgICAgICAgICAgLmVuZE9mKCdtb250aCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBzdGFydCBvZiBxdWFydGVyIGluIEZZIGJ5IHBhc3NlZCBxdWFydGVyIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gcXVhcnRlck51bWJlclxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTdGFydE9mUXVhcnRlcihkYXRlOiBNb21lbnQsIHF1YXJ0ZXJOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBkYXRlXG4gICAgICAgICAgICAuc3VidHJhY3QodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIsICdNJylcbiAgICAgICAgICAgIC5zdGFydE9mKCd5ZWFyJylcbiAgICAgICAgICAgIC5hZGQodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIgKyAocXVhcnRlck51bWJlciAtIDEpICogMywgJ00nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgdG8gZW5kIG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldEVuZE9mQ3VycmVudFF1YXJ0ZXIoZGF0ZTogTW9tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RW5kT2ZRdWFydGVyKGRhdGUsIHRoaXMuZ2V0UXVhcnRlckFjY29yZGluZ1RvRmlzY2FsWWVhcihkYXRlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIHN0YXJ0IG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldFN0YXJ0T2ZDdXJyZW50UXVhcnRlcihkYXRlOiBNb21lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGFydE9mUXVhcnRlcihkYXRlLCB0aGlzLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRhdGUgc2VsZWN0aW9uIG9uIHRoaXMgdGltZWZyYW1lIGRlcGVuZHMgb24gRmlzY2FsIFllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lZnJhbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUaW1lZnJhbWVEZXBlbmRpbmdPbkZZKHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBfLmluY2x1ZGVzKFtUaW1lZnJhbWVPcHRpb24uUVVBUlRFUiwgVGltZWZyYW1lT3B0aW9uLllFQVJdLCB0aW1lZnJhbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1YnRyYWN0IGZyb20gZGF0ZSBmaXNjYWwgeWVhciBzaGlmdCBtb250aHMgY291bnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKGRhdGU6IE1vbWVudCk6IE1vbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVNb2RpZmllZEJ5RmlzY2FsTW9udGhzKGRhdGUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0byBkYXRlIGZpc2NhbCB5ZWFyIHNoaWZ0IG1vbnRocyBjb3VudFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRmlzY2FsWWVhck1vbnRoc1RvRGF0ZShkYXRlOiBNb21lbnQpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlTW9kaWZpZWRCeUZpc2NhbE1vbnRocyhkYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgb3Igc3VidHJhY3QgZGVwZW5kaW5nIG9uIGlzUmV2ZXJ0IHBhcmVtZXRlciBGaXNjYWwgeWVhciBtb250aCBzaGlmdFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gaXNTdWJ0cmFjdFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RGF0ZU1vZGlmaWVkQnlGaXNjYWxNb250aHMoZGF0ZTogTW9tZW50LCBpc1N1YnRyYWN0ID0gZmFsc2UpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gZGF0ZSA/IF8uY2xvbmVEZWVwKGRhdGUpW2lzU3VidHJhY3QgPyAnc3VidHJhY3QnIDogJ2FkZCddKHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyLCAnbW9udGgnKSA6IGRhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURhdGVQaWNrZXJCeVByZXNldCh0YWc6IHN0cmluZywgY2FsZW5kZXI6IGFueSkge1xuICAgICAgICB0aGlzLmtlZXBQcmVzZXRUYWcgPSB0cnVlO1xuICAgICAgICBsZXQgZGF0ZSA9IG51bGw7XG4gICAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgZGF0ZSA9IERyU2hhcmVkVXRpbHMuZ2V0RGF0ZUJ5VGFnKHRhZyk7XG4gICAgICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICAgICAgICBjYXNlIERhdGVUYWdzLlRPREFZOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuWUVTVEVSREFZOlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVEhJU19NT05USDpcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NT05USF9ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlSW5DYWxlbmRhck1vbnRoVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERhdGVUYWdzLlBSRVZfTU9OVEg6XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuTU9OVEhfWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJlc2V0VGFnJC5uZXh0KHRhZyk7XG4gICAgICAgIHRoaXMudXBkYXRlZERhdGVBbmRDbG9zZSQubmV4dChkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZTogTW9tZW50LCBjYWxlbmRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9udGhWaWV3ID0gY2FsZW5kZXIubW9udGhWaWV3IGFzIGFueTtcbiAgICAgICAgICAgIGlmIChtb250aFZpZXcpIHtcbiAgICAgICAgICAgICAgICBtb250aFZpZXcuX2FjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5fc2VsZWN0ZWQgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRQcmVzZXRUYWcoKSB7XG4gICAgICAgIGlmICghdGhpcy5rZWVwUHJlc2V0VGFnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNldFRhZyQubmV4dChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2VlcFByZXNldFRhZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|