@datarailsshared/datarailsshared 1.4.201-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/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +49 -0
- 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.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/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/{esm2022/lib/models/datePicker.mjs → esm2015/lib/models/datePicker.js} +1 -1
- 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/lib/utils/dr-shared-utils.js +47 -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 +2 -5
- 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.201-rocket.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +0 -5
- package/esm2022/lib/date-tags/any-tag.component.mjs +0 -44
- package/esm2022/lib/date-tags/date-tag.component.mjs +0 -47
- package/esm2022/lib/date-tags/date-tag.module.mjs +0 -66
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -82
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -159
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -87
- 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 -89
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -83
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -92
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -18
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +0 -58
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +0 -108
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +0 -138
- package/esm2022/lib/dr-accordion/accordion.component.mjs +0 -42
- 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 -27
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +0 -27
- package/esm2022/lib/dr-chat/chat.component.mjs +0 -138
- package/esm2022/lib/dr-chat/chat.module.mjs +0 -68
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +0 -168
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +0 -89
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +0 -47
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +0 -26
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +0 -49
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +0 -17
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +0 -88
- 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 -79
- 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 -76
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +0 -97
- 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 -77
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +0 -16
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -104
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +0 -116
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +0 -117
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +0 -49
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +0 -25
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -112
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -28
- package/esm2022/lib/dr-error/dr-error.component.mjs +0 -67
- package/esm2022/lib/dr-error/dr-error.module.mjs +0 -31
- package/esm2022/lib/dr-inputs/button/button.component.mjs +0 -66
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +0 -65
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +0 -64
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +0 -226
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +0 -190
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +0 -186
- 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 -195
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +0 -218
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +0 -108
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +0 -31
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +0 -159
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +0 -79
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +0 -72
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +0 -66
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +0 -78
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +0 -173
- 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.component.mjs +0 -126
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +0 -110
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +0 -30
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +0 -107
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -105
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -83
- 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 -165
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +0 -17
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +0 -59
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +0 -23
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +0 -37
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +0 -47
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +0 -49
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -188
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -35
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +0 -18
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +0 -16
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +0 -18
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +0 -19
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +0 -48
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +0 -156
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +0 -215
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +0 -60
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +0 -48
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +0 -106
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +0 -25
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +0 -47
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +0 -21
- package/esm2022/lib/list-tags/list-tag.component.mjs +0 -42
- package/esm2022/lib/list-tags/list-tag.module.mjs +0 -34
- package/esm2022/lib/models/chat.mjs +0 -36
- package/esm2022/lib/models/popover.mjs +0 -27
- package/esm2022/lib/stepper/stepper.component.mjs +0 -63
- package/esm2022/lib/stepper/stepper.module.mjs +0 -24
- package/esm2022/lib/utils/dr-shared-utils.mjs +0 -47
- package/esm2022/public-api.mjs +0 -120
- package/fesm2022/datarailsshared-datarailsshared.mjs +0 -7551
- 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-popover/dr-popover-ref.mjs → esm2015/lib/dr-popover/dr-popover-ref.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/dr-treeview/models/treeview-item.mjs → esm2015/lib/dr-treeview/models/treeview-item.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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { AnyTagComponent } from '../date-tag.component';
|
|
3
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
4
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
const moment = require('moment');
|
|
7
|
+
const MONTH_FORMATS = {
|
|
8
|
+
parse: {
|
|
9
|
+
dateInput: 'DD-MM-YYYY',
|
|
10
|
+
},
|
|
11
|
+
display: {
|
|
12
|
+
dateInput: 'MMMM YYYY',
|
|
13
|
+
monthYearLabel: 'MMMM YYYY',
|
|
14
|
+
dateA11yLabel: 'LL',
|
|
15
|
+
monthYearA11yLabel: 'MMMM YYYY'
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const ɵ0 = MONTH_FORMATS;
|
|
19
|
+
export class MonthTagComponent extends AnyTagComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.lockedDate = [];
|
|
23
|
+
}
|
|
24
|
+
get isLocked() {
|
|
25
|
+
return this.date ? !this.dateFilter(moment.unix(this.date)) : false;
|
|
26
|
+
}
|
|
27
|
+
initDate() {
|
|
28
|
+
this.date = this.defaultValue || moment().unix();
|
|
29
|
+
this.dateObj.date = this.date;
|
|
30
|
+
}
|
|
31
|
+
initName() {
|
|
32
|
+
if (!this.name) {
|
|
33
|
+
this.name = 'Month';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
chosenTagHandler(value) {
|
|
37
|
+
const resultDate = moment.unix(value);
|
|
38
|
+
resultDate.hour(12);
|
|
39
|
+
const resultTag = {
|
|
40
|
+
name: this.name,
|
|
41
|
+
value: resultDate.unix(),
|
|
42
|
+
label: resultDate.format('MMMM YYYY'),
|
|
43
|
+
locked: !this.dateFilter(resultDate)
|
|
44
|
+
};
|
|
45
|
+
console.log(resultTag, value);
|
|
46
|
+
this.dateChange.emit(resultTag);
|
|
47
|
+
}
|
|
48
|
+
// Should be as arrow function to avoid lose scope
|
|
49
|
+
dateFilter(date) {
|
|
50
|
+
const month = date.month();
|
|
51
|
+
const year = date.year();
|
|
52
|
+
return !this.lockedDate.some((timestamp) => {
|
|
53
|
+
const lockDate = moment.unix(timestamp);
|
|
54
|
+
return lockDate.year() === year && lockDate.month() === month;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
;
|
|
58
|
+
}
|
|
59
|
+
MonthTagComponent.decorators = [
|
|
60
|
+
{ type: Component, args: [{
|
|
61
|
+
template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker format=\"month\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n",
|
|
62
|
+
selector: 'month-tag',
|
|
63
|
+
providers: [
|
|
64
|
+
{
|
|
65
|
+
provide: DateAdapter,
|
|
66
|
+
useClass: MomentDateAdapter,
|
|
67
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
68
|
+
},
|
|
69
|
+
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
70
|
+
],
|
|
71
|
+
styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"]
|
|
72
|
+
},] }
|
|
73
|
+
];
|
|
74
|
+
MonthTagComponent.ctorParameters = () => [];
|
|
75
|
+
MonthTagComponent.propDecorators = {
|
|
76
|
+
isLocked: [{ type: HostBinding, args: ['class.locked',] }],
|
|
77
|
+
lockedDate: [{ type: Input }]
|
|
78
|
+
};
|
|
79
|
+
export { ɵ0 };
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9tb250aC10YWcvbW9udGgtdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEcsYUFBYTtBQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxNQUFNLGFBQWEsR0FBRztJQUNsQixLQUFLLEVBQUU7UUFDSCxTQUFTLEVBQUUsWUFBWTtLQUMxQjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDbEM7Q0FDSixDQUFDO1dBWTZDLGFBQWE7QUFJNUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFVbEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUxILGVBQVUsR0FBVSxFQUFFLENBQUM7SUFNaEMsQ0FBQztJQVhELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBVUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixNQUFNLFNBQVMsR0FBYTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN4QixLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDckMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDdkMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsVUFBVSxDQUFDLElBQUk7UUFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQUEsQ0FBQzs7O1lBN0RMLFNBQVMsU0FBQztnQkFDUCxnWEFBdUM7Z0JBRXZDLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztxQkFDM0Q7b0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxJQUFlLEVBQUU7aUJBQ3pEOzthQUNKOzs7O3VCQUdJLFdBQVcsU0FBQyxjQUFjO3lCQUsxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XG5cbmNvbnN0IE1PTlRIX0ZPUk1BVFMgPSB7XG4gICAgcGFyc2U6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnREQtTU0tWVlZWScsXG4gICAgfSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICAgIGRhdGVJbnB1dDogJ01NTU0gWVlZWScsXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJ1xuICAgIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ21vbnRoLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9udGgtdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc2VsZWN0b3I6ICdtb250aC10YWcnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNT05USF9GT1JNQVRTIH0sXG4gICAgXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBNb250aFRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb2NrZWQnKVxuICAgIGdldCBpc0xvY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZSA/ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlKSkgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuXG4gICAgZGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXREYXRlKCkge1xuICAgICAgICB0aGlzLmRhdGUgPSB0aGlzLmRlZmF1bHRWYWx1ZSB8fCBtb21lbnQoKS51bml4KCk7XG4gICAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gdGhpcy5kYXRlO1xuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ01vbnRoJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIodmFsdWU6IG51bWJlcikge1xuICAgICAgICBjb25zdCByZXN1bHREYXRlID0gbW9tZW50LnVuaXgodmFsdWUpO1xuICAgICAgICByZXN1bHREYXRlLmhvdXIoMTIpO1xuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHJlc3VsdERhdGUudW5peCgpLFxuICAgICAgICAgICAgbGFiZWw6IHJlc3VsdERhdGUuZm9ybWF0KCdNTU1NIFlZWVknKSxcbiAgICAgICAgICAgIGxvY2tlZDogIXRoaXMuZGF0ZUZpbHRlcihyZXN1bHREYXRlKVxuICAgICAgICB9O1xuICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHRUYWcsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgICB9XG5cbiAgICAvLyBTaG91bGQgYmUgYXMgYXJyb3cgZnVuY3Rpb24gdG8gYXZvaWQgbG9zZSBzY29wZVxuICAgIGRhdGVGaWx0ZXIoZGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBtb250aCA9IGRhdGUubW9udGgoKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUueWVhcigpO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2tEYXRlLnllYXIoKSA9PT0geWVhciAmJiBsb2NrRGF0ZS5tb250aCgpID09PSBtb250aDtcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { AnyTagComponent } from '../date-tag.component';
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
const moment = require('moment');
|
|
5
|
+
export class QuarterTagComponent extends AnyTagComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.lockedDate = [];
|
|
9
|
+
this.selectedValue = 0;
|
|
10
|
+
this.quarters = [];
|
|
11
|
+
}
|
|
12
|
+
get isLocked() {
|
|
13
|
+
return this.quarters
|
|
14
|
+
? this.quarters.some((quarter) => !this.dateFilter(moment.unix(quarter.value)))
|
|
15
|
+
: false;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.initName();
|
|
19
|
+
this.quarters = this.getQuarterOptions();
|
|
20
|
+
for (const quarter of this.quarters) {
|
|
21
|
+
quarter.disabled = false;
|
|
22
|
+
if (quarter.isSelected) {
|
|
23
|
+
this.selectedValue = quarter;
|
|
24
|
+
this.chosenTagHandler(quarter);
|
|
25
|
+
}
|
|
26
|
+
this.dateFilter(quarter);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
initName() {
|
|
30
|
+
if (!this.name) {
|
|
31
|
+
this.name = 'Quarter';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
chosenTagHandler(quarter) {
|
|
35
|
+
const resultDate = moment.unix(quarter.value);
|
|
36
|
+
const resultTag = {
|
|
37
|
+
name: this.name,
|
|
38
|
+
value: resultDate.unix(),
|
|
39
|
+
label: this.getQuarterLabel(resultDate.toString()),
|
|
40
|
+
locked: !this.dateFilter(quarter)
|
|
41
|
+
};
|
|
42
|
+
this.dateChange.emit(resultTag);
|
|
43
|
+
}
|
|
44
|
+
getQuarterOptions() {
|
|
45
|
+
const quartersBeforeToday = 8;
|
|
46
|
+
const quartersAfterToday = 8;
|
|
47
|
+
const dateNow = new Date();
|
|
48
|
+
const dateNowUnix = this.getUTCTimestamp(dateNow);
|
|
49
|
+
let defaultValue = dateNowUnix;
|
|
50
|
+
let tempDate = new Date();
|
|
51
|
+
if (this.defaultValue) {
|
|
52
|
+
defaultValue = this.defaultValue * 1000;
|
|
53
|
+
}
|
|
54
|
+
let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;
|
|
55
|
+
afterDefault = Math.min(afterDefault, 100);
|
|
56
|
+
let i;
|
|
57
|
+
let tempValue;
|
|
58
|
+
const to_return = [];
|
|
59
|
+
for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {
|
|
60
|
+
tempDate = new Date(defaultValue);
|
|
61
|
+
tempDate.setDate(15);
|
|
62
|
+
tempDate.setMonth(tempDate.getMonth() + 3 * i);
|
|
63
|
+
tempValue = this.getUTCTimestamp(tempDate);
|
|
64
|
+
to_return.push({
|
|
65
|
+
value: tempValue / 1000,
|
|
66
|
+
label: this.getQuarterLabel(tempValue),
|
|
67
|
+
isSelected: (i === 0),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return to_return;
|
|
71
|
+
}
|
|
72
|
+
getQuarterLabel(timeValue) {
|
|
73
|
+
const date = new Date(timeValue);
|
|
74
|
+
return 'Q' + Math.floor((date.getMonth() / 3) + 1) + ' ' + date.getFullYear();
|
|
75
|
+
}
|
|
76
|
+
getUTCTimestamp(date) {
|
|
77
|
+
const month = Math.floor(date.getMonth() / 3) * 3;
|
|
78
|
+
return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);
|
|
79
|
+
}
|
|
80
|
+
dateFilter(quarter) {
|
|
81
|
+
const quarterDate = moment.unix(quarter.value);
|
|
82
|
+
return !this.lockedDate.some((timestamp) => {
|
|
83
|
+
const lockDate = moment.unix(timestamp);
|
|
84
|
+
if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {
|
|
85
|
+
quarter.disabled = true;
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
;
|
|
92
|
+
}
|
|
93
|
+
QuarterTagComponent.decorators = [
|
|
94
|
+
{ type: Component, args: [{
|
|
95
|
+
template: "<div class=\"tag-wrapper quarter-tag\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-select class=\"quarter-tag__list\"\n placeholder=\"Select\"\n bindLabel=\"label\"\n [(ngModel)]=\"selectedValue\"\n [disabled]=\"disabled\"\n [items]=\"quarters\"\n dropdownClass=\"quarter-tag__select dr-tag__select\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-select>\n</div>\n",
|
|
96
|
+
selector: 'quarter-tag',
|
|
97
|
+
styles: [":host.locked>.tag-wrapper>dr-select.quarter-tag__list{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"]
|
|
98
|
+
},] }
|
|
99
|
+
];
|
|
100
|
+
QuarterTagComponent.ctorParameters = () => [];
|
|
101
|
+
QuarterTagComponent.propDecorators = {
|
|
102
|
+
isLocked: [{ type: HostBinding, args: ['class.locked',] }],
|
|
103
|
+
lockedDate: [{ type: Input }]
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELGFBQWE7QUFDYixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFPakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFZcEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUxILGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFVLEVBQUUsQ0FBQztJQUlyQixDQUFDO0lBYkQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUTtZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9FLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEIsQ0FBQztJQVVELFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakMsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS10YWcuY29tcG9uZW50Jztcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ3F1YXJ0ZXItdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9xdWFydGVyLXRhZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHNlbGVjdG9yOiAncXVhcnRlci10YWcnLFxufSlcbmV4cG9ydCBjbGFzcyBRdWFydGVyVGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvY2tlZCcpXG4gICAgZ2V0IGlzTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWFydGVyc1xuICAgICAgICAgICAgPyB0aGlzLnF1YXJ0ZXJzLnNvbWUoKHF1YXJ0ZXIpID0+ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgocXVhcnRlci52YWx1ZSkpKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuICAgIHNlbGVjdGVkVmFsdWUgPSAwO1xuICAgIHF1YXJ0ZXJzOiBhbnlbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdE5hbWUoKTtcbiAgICAgICAgdGhpcy5xdWFydGVycyA9IHRoaXMuZ2V0UXVhcnRlck9wdGlvbnMoKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHF1YXJ0ZXIgb2YgdGhpcy5xdWFydGVycykge1xuICAgICAgICAgICAgcXVhcnRlci5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAocXVhcnRlci5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gcXVhcnRlcjtcbiAgICAgICAgICAgICAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIocXVhcnRlcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZGF0ZUZpbHRlcihxdWFydGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ1F1YXJ0ZXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcihxdWFydGVyKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGUgPSBtb21lbnQudW5peChxdWFydGVyLnZhbHVlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiByZXN1bHREYXRlLnVuaXgoKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFF1YXJ0ZXJMYWJlbChyZXN1bHREYXRlLnRvU3RyaW5nKCkpLFxuICAgICAgICAgICAgbG9ja2VkOiAhdGhpcy5kYXRlRmlsdGVyKHF1YXJ0ZXIpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgZ2V0UXVhcnRlck9wdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJzQmVmb3JlVG9kYXkgPSA4O1xuICAgICAgICBjb25zdCBxdWFydGVyc0FmdGVyVG9kYXkgPSA4O1xuICAgICAgICBjb25zdCBkYXRlTm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZGF0ZU5vd1VuaXggPSB0aGlzLmdldFVUQ1RpbWVzdGFtcChkYXRlTm93KTtcbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZSA9IGRhdGVOb3dVbml4O1xuICAgICAgICBsZXQgdGVtcERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhZnRlckRlZmF1bHQgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRhdGVOb3dVbml4IC0gZGVmYXVsdFZhbHVlKSAvIDc3NzYwMDAwMDApICsgcXVhcnRlcnNBZnRlclRvZGF5O1xuICAgICAgICBhZnRlckRlZmF1bHQgPSBNYXRoLm1pbihhZnRlckRlZmF1bHQsIDEwMCk7XG4gICAgICAgIGxldCBpOyBsZXQgdGVtcFZhbHVlO1xuICAgICAgICBjb25zdCB0b19yZXR1cm46IGFueVtdID0gW107XG4gICAgICAgIGZvciAoaSA9IDAgLSBxdWFydGVyc0JlZm9yZVRvZGF5OyBpIDw9IGFmdGVyRGVmYXVsdDsgaSsrKSB7XG4gICAgICAgICAgICB0ZW1wRGF0ZSA9IG5ldyBEYXRlKGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgICAgICB0ZW1wRGF0ZS5zZXREYXRlKDE1KTtcbiAgICAgICAgICAgIHRlbXBEYXRlLnNldE1vbnRoKHRlbXBEYXRlLmdldE1vbnRoKCkgKyAzICogaSk7XG4gICAgICAgICAgICB0ZW1wVmFsdWUgPSB0aGlzLmdldFVUQ1RpbWVzdGFtcCh0ZW1wRGF0ZSk7XG4gICAgICAgICAgICB0b19yZXR1cm4ucHVzaCh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRlbXBWYWx1ZSAvIDEwMDAsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0UXVhcnRlckxhYmVsKHRlbXBWYWx1ZSksXG4gICAgICAgICAgICAgICAgaXNTZWxlY3RlZDogKGkgPT09IDApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRvX3JldHVybjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1YXJ0ZXJMYWJlbCh0aW1lVmFsdWUpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWVWYWx1ZSk7XG4gICAgICAgIHJldHVybiAnUScgKyBNYXRoLmZsb29yKChkYXRlLmdldE1vbnRoKCkgLyAzKSArIDEpICsgJyAnICsgZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VVRDVGltZXN0YW1wKGRhdGUpIHtcbiAgICAgICAgY29uc3QgbW9udGggPSBNYXRoLmZsb29yKGRhdGUuZ2V0TW9udGgoKSAvIDMpICogMztcbiAgICAgICAgcmV0dXJuIERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgbW9udGgsIDEsIDEyLCAwLCAwLCAwKTtcbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyKHF1YXJ0ZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcXVhcnRlckRhdGUgPSBtb21lbnQudW5peChxdWFydGVyLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICBpZiAobG9ja0RhdGUueWVhcigpID09PSBxdWFydGVyRGF0ZS55ZWFyKCkgJiYgbG9ja0RhdGUubW9udGgoKSA9PT0gcXVhcnRlckRhdGUubW9udGgoKSkge1xuICAgICAgICAgICAgICAgIHF1YXJ0ZXIuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { AnyTagComponent } from '../date-tag.component';
|
|
3
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
4
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
const moment = require('moment');
|
|
7
|
+
const WEEK_FORMATS = {
|
|
8
|
+
parse: {
|
|
9
|
+
dateInput: 'WW-YYYY',
|
|
10
|
+
},
|
|
11
|
+
display: {
|
|
12
|
+
dateInput: '[Week] WW, YYYY',
|
|
13
|
+
monthYearLabel: 'MMMM YYYY',
|
|
14
|
+
dateA11yLabel: 'LL',
|
|
15
|
+
monthYearA11yLabel: 'MMMM YYYY'
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const ɵ0 = WEEK_FORMATS;
|
|
19
|
+
export class WeekTagComponent extends AnyTagComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.lockedDate = [];
|
|
23
|
+
}
|
|
24
|
+
get isLocked() {
|
|
25
|
+
return this.date ? !this.dateFilter(moment.unix(this.date)) : false;
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.initName();
|
|
29
|
+
const timestamp = this.defaultValue || moment().unix();
|
|
30
|
+
this.date = timestamp;
|
|
31
|
+
this.dateObj.date = timestamp;
|
|
32
|
+
this.chosenTagHandler(timestamp);
|
|
33
|
+
}
|
|
34
|
+
initName() {
|
|
35
|
+
if (!this.name) {
|
|
36
|
+
this.name = 'Week';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
dateFilter(date) {
|
|
40
|
+
const week = date.week();
|
|
41
|
+
const year = date.year();
|
|
42
|
+
return !this.lockedDate.some((timestamp) => {
|
|
43
|
+
const lockDate = moment.unix(timestamp);
|
|
44
|
+
return lockDate.week() === week && lockDate.year() === year;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
;
|
|
48
|
+
chosenTagHandler(value) {
|
|
49
|
+
const resultDate = moment.unix(value);
|
|
50
|
+
const resultTag = {
|
|
51
|
+
name: this.name,
|
|
52
|
+
value: resultDate.unix(),
|
|
53
|
+
label: this.getWeekLabel(resultDate),
|
|
54
|
+
locked: !this.dateFilter(resultDate)
|
|
55
|
+
};
|
|
56
|
+
console.log('resultTag', resultTag);
|
|
57
|
+
this.dateChange.emit(resultTag);
|
|
58
|
+
}
|
|
59
|
+
getWeekLabel(moment) {
|
|
60
|
+
return `W${moment.isoWeek()} ${moment.year()}`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
WeekTagComponent.decorators = [
|
|
64
|
+
{ type: Component, args: [{
|
|
65
|
+
template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker format=\"week\"\n [(ngModel)]=\"date\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n",
|
|
66
|
+
selector: 'week-tag',
|
|
67
|
+
providers: [
|
|
68
|
+
{
|
|
69
|
+
provide: DateAdapter,
|
|
70
|
+
useClass: MomentDateAdapter,
|
|
71
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
72
|
+
},
|
|
73
|
+
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
74
|
+
],
|
|
75
|
+
styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"]
|
|
76
|
+
},] }
|
|
77
|
+
];
|
|
78
|
+
WeekTagComponent.ctorParameters = () => [];
|
|
79
|
+
WeekTagComponent.propDecorators = {
|
|
80
|
+
isLocked: [{ type: HostBinding, args: ['class.locked',] }],
|
|
81
|
+
lockedDate: [{ type: Input }]
|
|
82
|
+
};
|
|
83
|
+
export { ɵ0 };
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3dlZWstdGFnL3dlZWstdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEcsYUFBYTtBQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxNQUFNLFlBQVksR0FBRztJQUNqQixLQUFLLEVBQUU7UUFDSCxTQUFTLEVBQUUsU0FBUztLQUN2QjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsY0FBYyxFQUFFLFdBQVc7UUFDM0IsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNsQztDQUNKLENBQUM7V0FZNkMsWUFBWTtBQUczRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQVVqRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTEgsZUFBVSxHQUFVLEVBQUUsQ0FBQztJQU1oQyxDQUFDO0lBWEQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hFLENBQUM7SUFVRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUU7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXpCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQUEsQ0FBQztJQUVGLGdCQUFnQixDQUFDLEtBQWE7UUFDMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLFNBQVMsR0FBYTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDcEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDdkMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBTTtRQUN2QixPQUFRLElBQUssTUFBTSxDQUFDLE9BQU8sRUFBRyxJQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUcsRUFBRSxDQUFDO0lBQ3hELENBQUM7OztZQWpFSixTQUFTLFNBQUM7Z0JBQ1Asa1VBQXNDO2dCQUN0QyxRQUFRLEVBQUUsVUFBVTtnQkFFcEIsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxXQUFXO3dCQUNwQixRQUFRLEVBQUUsaUJBQWlCO3dCQUMzQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7cUJBQzNEO29CQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsSUFBYyxFQUFFO2lCQUN4RDs7YUFDSjs7Ozt1QkFFSSxXQUFXLFNBQUMsY0FBYzt5QkFLMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XG5cbmNvbnN0IFdFRUtfRk9STUFUUyA9IHtcbiAgICBwYXJzZToge1xuICAgICAgICBkYXRlSW5wdXQ6ICdXVy1ZWVlZJyxcbiAgICB9LFxuICAgIGRpc3BsYXk6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnW1dlZWtdIFdXLCBZWVlZJyxcbiAgICAgICAgbW9udGhZZWFyTGFiZWw6ICdNTU1NIFlZWVknLFxuICAgICAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxuICAgICAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknXG4gICAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnd2Vlay10YWcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHNlbGVjdG9yOiAnd2Vlay10YWcnLFxuICAgIHN0eWxlVXJsczogWycuL3dlZWstdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgICAgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFdFRUtfRk9STUFUUyB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFdlZWtUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubG9ja2VkJylcbiAgICBnZXQgaXNMb2NrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUgPyAhdGhpcy5kYXRlRmlsdGVyKG1vbWVudC51bml4KHRoaXMuZGF0ZSkpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcblxuICAgIGRhdGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0TmFtZSgpO1xuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSB0aGlzLmRlZmF1bHRWYWx1ZSB8fCBtb21lbnQoKS51bml4KCkgO1xuICAgICAgICB0aGlzLmRhdGUgPSB0aW1lc3RhbXA7XG4gICAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gdGltZXN0YW1wO1xuICAgICAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIodGltZXN0YW1wKTtcbiAgICB9XG5cbiAgICBpbml0TmFtZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9ICdXZWVrJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRhdGVGaWx0ZXIoZGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB3ZWVrID0gZGF0ZS53ZWVrKCk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLnllYXIoKTtcblxuICAgICAgICByZXR1cm4gIXRoaXMubG9ja2VkRGF0ZS5zb21lKCh0aW1lc3RhbXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2tEYXRlID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcbiAgICAgICAgICAgIHJldHVybiBsb2NrRGF0ZS53ZWVrKCkgPT09IHdlZWsgJiYgbG9ja0RhdGUueWVhcigpID09PSB5ZWFyO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGUgPSBtb21lbnQudW5peCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogcmVzdWx0RGF0ZS51bml4KCksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRXZWVrTGFiZWwocmVzdWx0RGF0ZSksXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIocmVzdWx0RGF0ZSlcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdFRhZycsIHJlc3VsdFRhZyk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTGFiZWwobW9tZW50KSB7XG4gICAgICAgIHJldHVybiAgYFckeyBtb21lbnQuaXNvV2VlaygpIH0gJHsgbW9tZW50LnllYXIoKSB9YDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { AnyTagComponent } from '../date-tag.component';
|
|
3
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
4
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
const moment = require('moment');
|
|
7
|
+
const YEAR_FORMATS = {
|
|
8
|
+
parse: {
|
|
9
|
+
dateInput: 'YYYY',
|
|
10
|
+
},
|
|
11
|
+
display: {
|
|
12
|
+
dateInput: 'YYYY',
|
|
13
|
+
monthYearLabel: 'MMMM YYYY',
|
|
14
|
+
dateA11yLabel: 'LL',
|
|
15
|
+
monthYearA11yLabel: 'MMMM YYYY'
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const ɵ0 = YEAR_FORMATS;
|
|
19
|
+
export class YearTagComponent extends AnyTagComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
super();
|
|
22
|
+
this.lockedDate = [];
|
|
23
|
+
}
|
|
24
|
+
get isLocked() {
|
|
25
|
+
return this.date ? !this.dateFilter(moment.unix(this.date)) : false;
|
|
26
|
+
}
|
|
27
|
+
initDate() {
|
|
28
|
+
this.date = this.defaultValue || moment().unix();
|
|
29
|
+
this.dateObj.date = this.date;
|
|
30
|
+
}
|
|
31
|
+
initName() {
|
|
32
|
+
if (!this.name) {
|
|
33
|
+
this.name = 'Year';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
chosenTagHandler(value) {
|
|
37
|
+
const resultDate = moment.unix(value);
|
|
38
|
+
resultDate.hour(12);
|
|
39
|
+
const resultTag = {
|
|
40
|
+
name: this.name,
|
|
41
|
+
value: resultDate.unix(),
|
|
42
|
+
label: resultDate.format('YYYY'),
|
|
43
|
+
locked: !this.dateFilter(resultDate)
|
|
44
|
+
};
|
|
45
|
+
console.log('resultTag', resultTag);
|
|
46
|
+
this.dateChange.emit(resultTag);
|
|
47
|
+
}
|
|
48
|
+
dateFilter(date) {
|
|
49
|
+
const calendarDateYear = date.year();
|
|
50
|
+
return !this.lockedDate.some((timestamp) => {
|
|
51
|
+
const lockDate = moment.unix(timestamp);
|
|
52
|
+
return lockDate.year() === calendarDateYear;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
;
|
|
56
|
+
}
|
|
57
|
+
YearTagComponent.decorators = [
|
|
58
|
+
{ type: Component, args: [{
|
|
59
|
+
template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker format=\"year\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n",
|
|
60
|
+
selector: 'year-tag',
|
|
61
|
+
providers: [
|
|
62
|
+
{
|
|
63
|
+
provide: DateAdapter,
|
|
64
|
+
useClass: MomentDateAdapter,
|
|
65
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
66
|
+
},
|
|
67
|
+
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
68
|
+
],
|
|
69
|
+
styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"]
|
|
70
|
+
},] }
|
|
71
|
+
];
|
|
72
|
+
YearTagComponent.ctorParameters = () => [];
|
|
73
|
+
YearTagComponent.propDecorators = {
|
|
74
|
+
isLocked: [{ type: HostBinding, args: ['class.locked',] }],
|
|
75
|
+
lockedDate: [{ type: Input }]
|
|
76
|
+
};
|
|
77
|
+
export { ɵ0 };
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEcsYUFBYTtBQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxNQUFNLFlBQVksR0FBRztJQUNqQixLQUFLLEVBQUU7UUFDSCxTQUFTLEVBQUUsTUFBTTtLQUNwQjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDbEM7Q0FDSixDQUFDO1dBWTZDLFlBQVk7QUFJM0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFVakQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUxILGVBQVUsR0FBVSxFQUFFLENBQUM7SUFNaEMsQ0FBQztJQVhELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBVUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwQixNQUFNLFNBQVMsR0FBYTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksRUFBRTtZQUN4QixLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDaEMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDdkMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBSTtRQUNYLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXJDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssZ0JBQWdCLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQUEsQ0FBQzs7O1lBNURMLFNBQVMsU0FBQztnQkFDUCwrV0FBc0M7Z0JBQ3RDLFFBQVEsRUFBRSxVQUFVO2dCQUVwQixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztxQkFDM0Q7b0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxJQUFjLEVBQUU7aUJBQ3hEOzthQUNKOzs7O3VCQUdJLFdBQVcsU0FBQyxjQUFjO3lCQUsxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XG5cbmNvbnN0IFlFQVJfRk9STUFUUyA9IHtcbiAgICBwYXJzZToge1xuICAgICAgICBkYXRlSW5wdXQ6ICdZWVlZJyxcbiAgICB9LFxuICAgIGRpc3BsYXk6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnWVlZWScsXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJ1xuICAgIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ3llYXItdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzZWxlY3RvcjogJ3llYXItdGFnJyxcbiAgICBzdHlsZVVybHM6IFsnLi95ZWFyLXRhZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBZRUFSX0ZPUk1BVFMgfSxcbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIFllYXJUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MubG9ja2VkJylcbiAgICBnZXQgaXNMb2NrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGUgPyAhdGhpcy5kYXRlRmlsdGVyKG1vbWVudC51bml4KHRoaXMuZGF0ZSkpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcblxuICAgIGRhdGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0RGF0ZSgpIHtcbiAgICAgICAgdGhpcy5kYXRlID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwgbW9tZW50KCkudW5peCgpO1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IHRoaXMuZGF0ZTtcbiAgICB9XG5cbiAgICBpbml0TmFtZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9ICdZZWFyJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIodmFsdWU6IG51bWJlcikge1xuICAgICAgICBjb25zdCByZXN1bHREYXRlID0gbW9tZW50LnVuaXgodmFsdWUpO1xuICAgICAgICByZXN1bHREYXRlLmhvdXIoMTIpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogcmVzdWx0RGF0ZS51bml4KCksXG4gICAgICAgICAgICBsYWJlbDogcmVzdWx0RGF0ZS5mb3JtYXQoJ1lZWVknKSxcbiAgICAgICAgICAgIGxvY2tlZDogIXRoaXMuZGF0ZUZpbHRlcihyZXN1bHREYXRlKVxuICAgICAgICB9O1xuICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0VGFnJywgcmVzdWx0VGFnKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyKGRhdGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXJEYXRlWWVhciA9IGRhdGUueWVhcigpO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2tEYXRlLnllYXIoKSA9PT0gY2FsZW5kYXJEYXRlWWVhcjtcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, } from '@angular/core';
|
|
2
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
+
const accordionItemBodyTrigger = trigger('accordionItemBody', [
|
|
7
|
+
state('collapsed', style({
|
|
8
|
+
overflow: 'hidden',
|
|
9
|
+
visibility: 'hidden',
|
|
10
|
+
height: 0,
|
|
11
|
+
})),
|
|
12
|
+
state('expanded', style({
|
|
13
|
+
overflow: 'hidden',
|
|
14
|
+
visibility: 'visible',
|
|
15
|
+
})),
|
|
16
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
17
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
18
|
+
]);
|
|
19
|
+
export class DrAccordionItemBodyComponent {
|
|
20
|
+
constructor(accordionItem, cd) {
|
|
21
|
+
this.accordionItem = accordionItem;
|
|
22
|
+
this.cd = cd;
|
|
23
|
+
this.destroy$ = new Subject();
|
|
24
|
+
}
|
|
25
|
+
get state() {
|
|
26
|
+
return this.accordionItem.collapsed ? 'collapsed' : 'expanded';
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.accordionItem.accordionItemInvalidate.pipe(takeUntil(this.destroy$)).subscribe(() => this.cd.markForCheck());
|
|
30
|
+
}
|
|
31
|
+
ngOnDestroy() {
|
|
32
|
+
this.destroy$.next();
|
|
33
|
+
this.destroy$.complete();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DrAccordionItemBodyComponent.decorators = [
|
|
37
|
+
{ type: Component, args: [{
|
|
38
|
+
selector: 'dr-accordion-item-body',
|
|
39
|
+
template: `
|
|
40
|
+
<div [@accordionItemBody]="{ value: state }">
|
|
41
|
+
<div class="item-body">
|
|
42
|
+
<ng-content></ng-content>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
`,
|
|
46
|
+
animations: [accordionItemBodyTrigger],
|
|
47
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
48
|
+
styles: [".item-body{flex:1;-ms-flex:1 1 auto;overflow:auto;position:relative}\n"]
|
|
49
|
+
},] }
|
|
50
|
+
];
|
|
51
|
+
DrAccordionItemBodyComponent.ctorParameters = () => [
|
|
52
|
+
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
53
|
+
{ type: ChangeDetectorRef }
|
|
54
|
+
];
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUU7SUFDMUQsS0FBSyxDQUNELFdBQVcsRUFDWCxLQUFLLENBQUM7UUFDRixRQUFRLEVBQUUsUUFBUTtRQUNsQixVQUFVLEVBQUUsUUFBUTtRQUNwQixNQUFNLEVBQUUsQ0FBQztLQUNaLENBQUMsQ0FDTDtJQUNELEtBQUssQ0FDRCxVQUFVLEVBQ1YsS0FBSyxDQUFDO1FBQ0YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFNBQVM7S0FDeEIsQ0FBQyxDQUNMO0lBQ0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDakUsQ0FBQyxDQUFDO0FBZUgsTUFBTSxPQUFPLDRCQUE0QjtJQUdyQyxZQUE0QixhQUF1QyxFQUFVLEVBQXFCO1FBQXRFLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBRjFGLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR3ZDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OztZQTlCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7S0FNVDtnQkFFRCxVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFsQ1Esd0JBQXdCLHVCQXNDaEIsSUFBSTtZQTFDYSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdCwgT25EZXN0cm95LCBPbkluaXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgYWNjb3JkaW9uSXRlbUJvZHlUcmlnZ2VyID0gdHJpZ2dlcignYWNjb3JkaW9uSXRlbUJvZHknLCBbXG4gICAgc3RhdGUoXG4gICAgICAgICdjb2xsYXBzZWQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgfSksXG4gICAgKSxcbiAgICBzdGF0ZShcbiAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgICB9KSxcbiAgICApLFxuICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzEwMG1zIGVhc2UtaW4nKSksXG4gICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG5dKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1hY2NvcmRpb24taXRlbS1ib2R5JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtAYWNjb3JkaW9uSXRlbUJvZHldPVwieyB2YWx1ZTogc3RhdGUgfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0tYm9keVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbYWNjb3JkaW9uSXRlbUJvZHlUcmlnZ2VyXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJBY2NvcmRpb25JdGVtQm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBhY2NvcmRpb25JdGVtOiBEckFjY29yZGlvbkl0ZW1Db21wb25lbnQsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY29yZGlvbkl0ZW0uY29sbGFwc2VkID8gJ2NvbGxhcHNlZCcgOiAnZXhwYW5kZWQnO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmFjY29yZGlvbkl0ZW0uYWNjb3JkaW9uSXRlbUludmFsaWRhdGUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Host, HostBinding, HostListener, } from '@angular/core';
|
|
2
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
+
export class DrAccordionItemHeaderComponent {
|
|
7
|
+
constructor(accordionItem, cd) {
|
|
8
|
+
this.accordionItem = accordionItem;
|
|
9
|
+
this.cd = cd;
|
|
10
|
+
this.destroy$ = new Subject();
|
|
11
|
+
}
|
|
12
|
+
get isCollapsed() {
|
|
13
|
+
return this.accordionItem.collapsed;
|
|
14
|
+
}
|
|
15
|
+
get expanded() {
|
|
16
|
+
return !this.accordionItem.collapsed;
|
|
17
|
+
}
|
|
18
|
+
get tabbable() {
|
|
19
|
+
return this.accordionItem.disabled ? '-1' : '0';
|
|
20
|
+
}
|
|
21
|
+
get disabled() {
|
|
22
|
+
return this.accordionItem.disabled;
|
|
23
|
+
}
|
|
24
|
+
toggle() {
|
|
25
|
+
this.accordionItem.toggle();
|
|
26
|
+
}
|
|
27
|
+
get state() {
|
|
28
|
+
if (this.isCollapsed) {
|
|
29
|
+
return 'collapsed';
|
|
30
|
+
}
|
|
31
|
+
return 'expanded';
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.accordionItem.accordionItemInvalidate.pipe(takeUntil(this.destroy$)).subscribe(() => this.cd.markForCheck());
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.destroy$.next();
|
|
38
|
+
this.destroy$.complete();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
DrAccordionItemHeaderComponent.decorators = [
|
|
42
|
+
{ type: Component, args: [{
|
|
43
|
+
selector: 'dr-accordion-item-header',
|
|
44
|
+
template: `
|
|
45
|
+
<ng-content select="dr-accordion-item-title"></ng-content>
|
|
46
|
+
<ng-content select="dr-accordion-item-description"></ng-content>
|
|
47
|
+
<ng-content></ng-content>
|
|
48
|
+
<i class="dr-icon-arrow-down expansion-indicator"
|
|
49
|
+
[@expansionIndicator]="state"
|
|
50
|
+
*ngIf="!disabled">
|
|
51
|
+
</i>
|
|
52
|
+
`,
|
|
53
|
+
animations: [
|
|
54
|
+
trigger('expansionIndicator', [
|
|
55
|
+
state('expanded', style({
|
|
56
|
+
transform: 'rotate(180deg)',
|
|
57
|
+
})),
|
|
58
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
59
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
60
|
+
]),
|
|
61
|
+
],
|
|
62
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
63
|
+
styles: [":host{display:flex;align-items:center;cursor:pointer;position:relative;border-bottom:1px solid #edf1f7;color:#222b45;font-family:\"Poppins\",sans-serif;font-size:13px;font-weight:600;line-height:1.5rem;padding:1.25rem;text-transform:capitalize}:host:focus{outline:0}:host .expansion-indicator{font-size:24px;position:absolute;right:10px;font-weight:700}\n"]
|
|
64
|
+
},] }
|
|
65
|
+
];
|
|
66
|
+
DrAccordionItemHeaderComponent.ctorParameters = () => [
|
|
67
|
+
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
68
|
+
{ type: ChangeDetectorRef }
|
|
69
|
+
];
|
|
70
|
+
DrAccordionItemHeaderComponent.propDecorators = {
|
|
71
|
+
isCollapsed: [{ type: HostBinding, args: ['class.accordion-item-header-collapsed',] }],
|
|
72
|
+
expanded: [{ type: HostBinding, args: ['class.accordion-item-header-expanded',] }, { type: HostBinding, args: ['attr.aria-expanded',] }],
|
|
73
|
+
tabbable: [{ type: HostBinding, args: ['attr.tabindex',] }],
|
|
74
|
+
disabled: [{ type: HostBinding, args: ['attr.aria-disabled',] }],
|
|
75
|
+
toggle: [{ type: HostListener, args: ['click',] }, { type: HostListener, args: ['keydown.space',] }, { type: HostListener, args: ['keydown.enter',] }]
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxJQUFJLEVBQ0osV0FBVyxFQUNYLFlBQVksR0FHZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBNEJ0RSxNQUFNLE9BQU8sOEJBQThCO0lBc0N2QyxZQUE0QixhQUF1QyxFQUFVLEVBQXFCO1FBQXRFLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBckMxRixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQXNDdkMsQ0FBQztJQXBDRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUVJLFFBQVE7UUFDUixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLENBQUM7SUFLRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU8sV0FBVyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7WUExRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwwQkFBMEI7Z0JBRXBDLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1IsT0FBTyxDQUFDLG9CQUFvQixFQUFFO3dCQUMxQixLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQzs0QkFDRixTQUFTLEVBQUUsZ0JBQWdCO3lCQUM5QixDQUFDLENBQ0w7d0JBQ0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDN0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUNqRSxDQUFDO2lCQUNMO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBM0JRLHdCQUF3Qix1QkFrRWhCLElBQUk7WUE3RWpCLGlCQUFpQjs7OzBCQTBDaEIsV0FBVyxTQUFDLHVDQUF1Qzt1QkFLbkQsV0FBVyxTQUFDLHNDQUFzQyxjQUNsRCxXQUFXLFNBQUMsb0JBQW9CO3VCQUtoQyxXQUFXLFNBQUMsZUFBZTt1QkFLM0IsV0FBVyxTQUFDLG9CQUFvQjtxQkFLaEMsWUFBWSxTQUFDLE9BQU8sY0FDcEIsWUFBWSxTQUFDLGVBQWUsY0FDNUIsWUFBWSxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJBY2NvcmRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWFjY29yZGlvbi1pdGVtLWhlYWRlcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItYWNjb3JkaW9uLWl0ZW0tdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWFjY29yZGlvbi1pdGVtLWRlc2NyaXB0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1kb3duIGV4cGFuc2lvbi1pbmRpY2F0b3JcIlxuICAgICAgICAgICBbQGV4cGFuc2lvbkluZGljYXRvcl09XCJzdGF0ZVwiXG4gICAgICAgICAgICpuZ0lmPVwiIWRpc2FibGVkXCI+XG4gICAgICAgIDwvaT5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZXhwYW5zaW9uSW5kaWNhdG9yJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSgxODBkZWcpJyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBhbmltYXRlKCcxMDBtcyBlYXNlLWluJykpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQWNjb3JkaW9uSXRlbUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWNvbGxhcHNlZCcpXG4gICAgZ2V0IGlzQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2NvcmRpb25JdGVtLmNvbGxhcHNlZDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjY29yZGlvbi1pdGVtLWhlYWRlci1leHBhbmRlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFjY29yZGlvbkl0ZW0uY29sbGFwc2VkO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHRhYmJhYmxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY29yZGlvbkl0ZW0uZGlzYWJsZWQgPyAnLTEnIDogJzAnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJylcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY29yZGlvbkl0ZW0uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInKVxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5hY2NvcmRpb25JdGVtLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgcmV0dXJuICdjb2xsYXBzZWQnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZXhwYW5kZWQnO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBhY2NvcmRpb25JdGVtOiBEckFjY29yZGlvbkl0ZW1Db21wb25lbnQsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYWNjb3JkaW9uSXRlbS5hY2NvcmRpb25JdGVtSW52YWxpZGF0ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2QubWFya0ZvckNoZWNrKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|