@datarailsshared/datarailsshared 1.4.569 → 1.5.1
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/assets/styles/_storybook-styles.scss +37 -0
- package/assets/styles/_styles.scss +9 -2
- package/assets/styles/colors.scss +88 -74
- package/assets/styles/dataRailsFont.scss +1 -1
- package/assets/styles/dialog.scss +22 -0
- package/assets/styles/icons.scss +1 -1
- package/assets/styles/mixins.scss +106 -6
- package/assets/styles/vars.scss +6 -4
- package/datarailsshared-datarailsshared-1.5.1.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +42 -0
- package/esm2022/lib/date-tags/date-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/date-tag.module.mjs +53 -0
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +95 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +222 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +87 -0
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +98 -0
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +126 -0
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +102 -0
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +96 -0
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +92 -0
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +19 -0
- package/esm2022/lib/directives/dr-shine-animation/dr-shine-animation.directive.mjs +63 -0
- package/esm2022/lib/directives/let/let.directive.mjs +35 -0
- package/esm2022/lib/directives/ng-track-by-property/ng-track-by-property.directive.mjs +23 -0
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +61 -0
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +154 -0
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +143 -0
- package/esm2022/lib/dr-accordion/accordion.component.mjs +55 -0
- package/esm2022/lib/dr-accordion/accordion.module.mjs +35 -0
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +64 -0
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +20 -0
- package/{esm2015/lib/dr-alert/enums/dr-alert-theme.enum.js → esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs} +1 -2
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +142 -0
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +21 -0
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
- package/esm2022/lib/dr-avatar/services/dr-avatar.service.mjs +17 -0
- package/esm2022/lib/dr-avatar/types.mjs +2 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +53 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +21 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +202 -0
- package/esm2022/lib/dr-chat/chat.module.mjs +81 -0
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +31 -0
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +273 -0
- package/esm2022/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.mjs +380 -0
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +185 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +47 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +26 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +78 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +30 -0
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +187 -0
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +14 -0
- package/esm2022/lib/dr-chip/dr-chip.component.mjs +58 -0
- package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +19 -0
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +204 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +326 -0
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +29 -0
- package/esm2022/lib/dr-code-editor/models/code-editor-hint.mjs +6 -0
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +106 -0
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +20 -0
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +339 -0
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +238 -0
- package/esm2022/lib/dr-dialog/dialog.module.mjs +27 -0
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +27 -0
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +77 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +248 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +142 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +41 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +62 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +203 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +21 -0
- package/esm2022/lib/dr-error/dr-error.component.mjs +90 -0
- package/esm2022/lib/dr-error/dr-error.module.mjs +22 -0
- package/esm2022/lib/dr-inputs/button/button.component.mjs +101 -0
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +110 -0
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +55 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +400 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +157 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +269 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +326 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +16 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +224 -0
- package/esm2022/lib/dr-inputs/date-pickers/services/week-selection-strategy.mjs +34 -0
- package/esm2022/lib/dr-inputs/date-pickers/week-selector/week-selector.component.mjs +91 -0
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +336 -0
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +128 -0
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +43 -0
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +37 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +391 -0
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +138 -0
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +108 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +88 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +185 -0
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +19 -0
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +25 -0
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +21 -0
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +22 -0
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +155 -0
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +137 -0
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +20 -0
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +117 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +104 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +100 -0
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +87 -0
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +27 -0
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +195 -0
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +27 -0
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +22 -0
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +47 -0
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +252 -0
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +25 -0
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +235 -0
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +23 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +161 -0
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +24 -0
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +71 -0
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +73 -0
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +31 -0
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +44 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +31 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +82 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +86 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +194 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +24 -0
- package/esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs +14 -0
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +407 -0
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +97 -0
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +31 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +108 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +25 -0
- package/{esm2015/lib/dr-treeview/models/treeview-header-template-context.js → esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
- package/{esm2015/lib/dr-treeview/models/treeview-item-template-context.js → esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs} +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +155 -0
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
- package/esm2022/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/lib/drawer/public-api.mjs +6 -0
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +133 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
- package/esm2022/lib/list-tags/list-tag.component.mjs +82 -0
- package/esm2022/lib/list-tags/list-tag.module.mjs +22 -0
- package/esm2022/lib/models/chat.mjs +36 -0
- package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +17 -22
- package/{esm2015/lib/models/datePicker.js → esm2022/lib/models/datePicker.mjs} +2 -2
- package/esm2022/lib/models/datePickerRange.mjs +2 -0
- package/esm2022/lib/models/dropdown.mjs +2 -0
- package/{esm2015/lib/models/feedback.js → esm2022/lib/models/feedback.mjs} +1 -2
- package/esm2022/lib/models/popover.mjs +27 -0
- package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +1 -1
- package/esm2022/lib/models/spinnerOptions.mjs +2 -0
- package/esm2022/lib/models/toastr.mjs +14 -0
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +48 -0
- package/esm2022/lib/pipes/img/img.pipe.mjs +19 -0
- package/esm2022/lib/stepper/stepper.component.mjs +270 -0
- package/esm2022/lib/stepper/stepper.module.mjs +20 -0
- package/esm2022/lib/utils/data-analytics.service.mjs +21 -0
- package/esm2022/lib/utils/decorators.mjs +12 -0
- package/esm2022/lib/utils/dr-shared-utils.mjs +85 -0
- package/esm2022/public-api.mjs +156 -0
- package/esm2022/src/lib/drawer/drDrawer.mjs +5 -0
- package/esm2022/src/lib/drawer/drawer-animation.mjs +18 -0
- package/esm2022/src/lib/drawer/drawer-config.mjs +35 -0
- package/esm2022/src/lib/drawer/drawer-container.component.mjs +179 -0
- package/esm2022/src/lib/drawer/drawer-position-strategy.mjs +14 -0
- package/esm2022/src/lib/drawer/drawer-ref.mjs +106 -0
- package/esm2022/src/lib/drawer/drawer.module.mjs +19 -0
- package/esm2022/src/lib/drawer/drawer.service.mjs +140 -0
- package/esm2022/src/lib/drawer/public-api.mjs +6 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs +13716 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -0
- package/fesm2022/drDrawer.mjs +496 -0
- package/fesm2022/drDrawer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/date-tags/any-tag.component.d.ts +20 -0
- package/lib/date-tags/date-tag.component.d.ts +4 -16
- package/lib/date-tags/date-tag.module.d.ts +19 -2
- package/lib/date-tags/day-tag/day-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +4 -1
- package/lib/date-tags/forecast-tag/forecast-tag.service.d.ts +11 -8
- package/lib/date-tags/month-tag/month-tag.component.d.ts +4 -1
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +4 -1
- package/lib/date-tags/week-tag/week-tag.component.d.ts +4 -1
- package/lib/date-tags/year-tag/year-tag.component.d.ts +4 -1
- package/lib/directives/click-outside/click-outside.directive.d.ts +23 -0
- package/lib/directives/click-outside/click-outside.module.d.ts +8 -0
- package/lib/directives/dr-shine-animation/dr-shine-animation.directive.d.ts +18 -0
- package/lib/directives/let/let.directive.d.ts +19 -0
- package/lib/directives/ng-track-by-property/ng-track-by-property.directive.d.ts +8 -0
- package/lib/dr-accordion/accordion-item-body.component.d.ts +3 -0
- package/lib/dr-accordion/accordion-item-header.component.d.ts +14 -1
- package/lib/dr-accordion/accordion-item.component.d.ts +4 -1
- package/lib/dr-accordion/accordion.component.d.ts +5 -0
- package/lib/dr-accordion/accordion.module.d.ts +9 -0
- package/lib/dr-alert/dr-alert.component.d.ts +3 -0
- package/lib/dr-alert/dr-alert.module.d.ts +6 -0
- package/lib/dr-avatar/dr-avatar.component.d.ts +15 -13
- package/lib/dr-avatar/dr-avatar.module.d.ts +8 -0
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +5 -1
- package/lib/dr-avatar/services/dr-avatar.service.d.ts +1 -1
- package/lib/dr-avatar/types.d.ts +8 -0
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +5 -4
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
- package/lib/dr-chat/chat.component.d.ts +6 -7
- package/lib/dr-chat/chat.module.d.ts +20 -0
- package/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.d.ts +8 -0
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +11 -1
- package/lib/dr-chat/dr-chat-form-with-history/chat-form-with-history.component.d.ts +81 -0
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +4 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.d.ts +15 -2
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -0
- package/lib/dr-chip/dr-chip.component.d.ts +10 -0
- package/lib/dr-code-editor/components/code-editor-hint-wrapper.component.d.ts +7 -0
- package/lib/dr-code-editor/components/dr-codemirror.component.d.ts +47 -0
- package/lib/dr-code-editor/dr-code-editor.component.d.ts +45 -0
- package/lib/dr-code-editor/dr-code-editor.module.d.ts +17 -0
- package/lib/dr-code-editor/models/code-editor-hint.d.ts +14 -0
- package/lib/dr-details-list/dr-details-list.component.d.ts +3 -0
- package/lib/dr-details-list/dr-details-list.module.d.ts +6 -0
- package/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +6 -5
- package/lib/dr-dialog/dialog.module.d.ts +12 -0
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +13 -9
- package/lib/dr-dialog/services/dialog.service.d.ts +10 -3
- package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +28 -21
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +21 -14
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +11 -0
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +26 -8
- package/lib/dr-dynamic-tag/dr-dynamic-tag.component.d.ts +3 -0
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +8 -0
- package/lib/dr-error/dr-error.component.d.ts +12 -8
- package/lib/dr-error/dr-error.module.d.ts +8 -0
- package/lib/dr-inputs/button/button.component.d.ts +6 -8
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +10 -2
- package/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.d.ts +3 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +29 -9
- package/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.d.ts +40 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +18 -11
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +11 -10
- package/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.d.ts +4 -2
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +22 -5
- package/lib/dr-inputs/date-pickers/services/week-selection-strategy.d.ts +12 -0
- package/lib/dr-inputs/date-pickers/week-selector/week-selector.component.d.ts +23 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +35 -20
- package/lib/dr-inputs/dr-inputs.module.d.ts +30 -0
- package/lib/dr-inputs/dr-link/dr-link.component.d.ts +16 -0
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +4 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +20 -3
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +4 -0
- package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +3 -0
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +6 -1
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +3 -0
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-body.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout-header.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.component.d.ts +3 -0
- package/lib/dr-layout/dr-layout.module.d.ts +8 -0
- package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
- package/lib/dr-popover/dr-popover.component.d.ts +8 -4
- package/lib/dr-popover/dr-popover.directive.d.ts +9 -5
- package/lib/dr-popover/dr-popover.module.d.ts +7 -0
- package/lib/dr-popover/dr-popover.service.d.ts +5 -1
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -4
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +3 -0
- package/lib/dr-scenario/dr-scenario.module.d.ts +11 -0
- package/lib/dr-scenario/interfaces/scenario.d.ts +3 -3
- package/lib/dr-scenario/services/scenario.service.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.component.d.ts +3 -0
- package/lib/dr-spinner/dr-spinner.directive.d.ts +4 -2
- package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
- package/lib/dr-tabs/dr-tab.component.d.ts +5 -0
- package/lib/dr-tabs/dr-tabs.component.d.ts +21 -4
- package/lib/dr-tabs/dr-tabs.module.d.ts +11 -0
- package/lib/dr-tags/dr-tag.component.d.ts +3 -0
- package/lib/dr-tags/dr-tag.module.d.ts +9 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.component.d.ts +33 -0
- package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +10 -0
- package/lib/dr-tags-constructor/tags-constructor.service.d.ts +12 -0
- package/lib/dr-toastr/default-toastr/default-toastr.component.d.ts +15 -0
- package/lib/dr-toastr/dr-toastr.module.d.ts +9 -0
- package/lib/dr-toastr/dr-toastr.service.d.ts +14 -0
- package/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.d.ts +9 -0
- package/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -1
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +7 -0
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +9 -0
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +18 -2
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +3 -0
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +3 -0
- package/lib/dr-treeview/dr-tree-view.module.d.ts +9 -0
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +9 -0
- package/lib/dr-treeview/models/treeview-config.d.ts +3 -0
- package/lib/dr-treeview/models/treeview-i18n.d.ts +5 -0
- package/lib/dr-treeview/models/treeview-item.d.ts +2 -1
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +3 -0
- package/lib/drawer/drawer-animation.d.ts +5 -0
- package/lib/drawer/drawer-config.d.ts +68 -0
- package/lib/drawer/drawer-container.component.d.ts +45 -0
- package/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/lib/drawer/drawer-ref.d.ts +55 -0
- package/lib/drawer/drawer.module.d.ts +7 -0
- package/lib/drawer/drawer.service.d.ts +62 -0
- package/lib/drawer/public-api.d.ts +5 -0
- package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
- package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
- package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
- package/lib/list-tags/list-tag.component.d.ts +3 -0
- package/lib/list-tags/list-tag.module.d.ts +8 -0
- package/lib/models/chat.d.ts +3 -3
- package/lib/models/datePicker.d.ts +10 -3
- package/lib/models/datePickerRange.d.ts +4 -0
- package/lib/models/dropdown.d.ts +15 -21
- package/lib/models/popover.d.ts +7 -4
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/models/spinnerOptions.d.ts +2 -10
- package/lib/models/toastr.d.ts +18 -0
- package/lib/pipes/filter/filter.pipe.d.ts +7 -0
- package/lib/pipes/img/img.pipe.d.ts +7 -0
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +13 -8
- package/lib/stepper/stepper.module.d.ts +7 -0
- package/lib/utils/data-analytics.service.d.ts +8 -0
- package/lib/utils/decorators.d.ts +1 -0
- package/lib/utils/dr-shared-utils.d.ts +9 -0
- package/package.json +41 -15
- package/public-api.d.ts +59 -6
- package/src/lib/drawer/drawer-animation.d.ts +5 -0
- package/src/lib/drawer/drawer-config.d.ts +68 -0
- package/src/lib/drawer/drawer-container.component.d.ts +45 -0
- package/src/lib/drawer/drawer-position-strategy.d.ts +10 -0
- package/src/lib/drawer/drawer-ref.d.ts +55 -0
- package/src/lib/drawer/drawer.module.d.ts +7 -0
- package/src/lib/drawer/drawer.service.d.ts +62 -0
- package/src/lib/drawer/index.d.ts +5 -0
- package/src/lib/drawer/public-api.d.ts +5 -0
- package/styles.css +749 -0
- package/_datarailsshared.styles.css +0 -4
- package/assets/styles/img/dr-icon-info.svg +0 -4
- package/bundles/datarailsshared-datarailsshared.umd.js +0 -8372
- package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.4.569.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +0 -34
- package/datarailsshared-datarailsshared.metadata.json +0 -1
- package/esm2015/datarailsshared-datarailsshared.js +0 -35
- package/esm2015/lib/date-tags/date-tag.component.js +0 -74
- package/esm2015/lib/date-tags/date-tag.module.js +0 -36
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +0 -77
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +0 -164
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.service.js +0 -83
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +0 -80
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +0 -114
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +0 -84
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +0 -78
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +0 -55
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +0 -77
- package/esm2015/lib/dr-accordion/accordion-item.component.js +0 -123
- package/esm2015/lib/dr-accordion/accordion.component.js +0 -43
- package/esm2015/lib/dr-accordion/accordion.module.js +0 -23
- package/esm2015/lib/dr-alert/dr-alert.component.js +0 -35
- package/esm2015/lib/dr-alert/dr-alert.module.js +0 -18
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +0 -54
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +0 -26
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +0 -16
- package/esm2015/lib/dr-avatar/services/dr-avatar.service.js +0 -17
- package/esm2015/lib/dr-badge-status/dr-badge-status.component.js +0 -25
- package/esm2015/lib/dr-badge-status/dr-badge-status.module.js +0 -20
- package/esm2015/lib/dr-chat/chat.component.js +0 -119
- package/esm2015/lib/dr-chat/chat.module.js +0 -41
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -155
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -71
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -47
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
- package/esm2015/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.js +0 -87
- package/esm2015/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.js +0 -15
- package/esm2015/lib/dr-details-list/dr-details-list.component.js +0 -65
- package/esm2015/lib/dr-details-list/dr-details-list.module.js +0 -16
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +0 -84
- package/esm2015/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.js +0 -92
- package/esm2015/lib/dr-dialog/dialog.module.js +0 -34
- package/esm2015/lib/dr-dialog/interfaces/dialog-data.js +0 -25
- package/esm2015/lib/dr-dialog/services/dialog.service.js +0 -78
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +0 -12
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +0 -114
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +0 -104
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +0 -34
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +0 -24
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.component.js +0 -120
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
- package/esm2015/lib/dr-error/dr-error.component.js +0 -56
- package/esm2015/lib/dr-error/dr-error.module.js +0 -22
- package/esm2015/lib/dr-inputs/button/button.component.js +0 -39
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +0 -66
- package/esm2015/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.js +0 -47
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.js +0 -234
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -182
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +0 -183
- package/esm2015/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.js +0 -12
- package/esm2015/lib/dr-inputs/date-pickers/services/dr-date-picker.service.js +0 -194
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +0 -194
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +0 -68
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +0 -29
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +0 -123
- package/esm2015/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.js +0 -74
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +0 -68
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +0 -67
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +0 -73
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +0 -157
- package/esm2015/lib/dr-layout/dr-layout-body.component.js +0 -13
- package/esm2015/lib/dr-layout/dr-layout-header.component.js +0 -17
- package/esm2015/lib/dr-layout/dr-layout.component.js +0 -14
- package/esm2015/lib/dr-layout/dr-layout.module.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover-ref.js +0 -20
- package/esm2015/lib/dr-popover/dr-popover.component.js +0 -106
- package/esm2015/lib/dr-popover/dr-popover.directive.js +0 -84
- package/esm2015/lib/dr-popover/dr-popover.module.js +0 -23
- package/esm2015/lib/dr-popover/dr-popover.service.js +0 -106
- package/esm2015/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.js +0 -104
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -75
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -79
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
- package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -196
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -58
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +0 -18
- package/esm2015/lib/dr-tabs/dr-tab.component.js +0 -26
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +0 -35
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +0 -32
- package/esm2015/lib/dr-tags/dr-tag.component.js +0 -183
- package/esm2015/lib/dr-tags/dr-tag.module.js +0 -24
- package/esm2015/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.js +0 -19
- package/esm2015/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.js +0 -18
- package/esm2015/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.js +0 -20
- package/esm2015/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.js +0 -34
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +0 -41
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -151
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -38
- package/esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js +0 -2
- package/esm2015/lib/dr-treeview/components/treeview/treeview.component.js +0 -210
- package/esm2015/lib/dr-treeview/components/treeview-item/treeview-item.component.js +0 -58
- package/esm2015/lib/dr-treeview/dr-tree-view.module.js +0 -38
- package/esm2015/lib/dr-treeview/helpers/treeview-event-parser.js +0 -97
- package/esm2015/lib/dr-treeview/helpers/treeview-helper.js +0 -82
- package/esm2015/lib/dr-treeview/models/treeview-config.js +0 -22
- package/esm2015/lib/dr-treeview/models/treeview-i18n.js +0 -42
- package/esm2015/lib/dr-treeview/models/treeview-item.js +0 -155
- package/esm2015/lib/dr-treeview/pipes/treeview.pipe.js +0 -17
- package/esm2015/lib/list-tags/list-tag.component.js +0 -37
- package/esm2015/lib/list-tags/list-tag.module.js +0 -23
- package/esm2015/lib/models/chat.js +0 -38
- package/esm2015/lib/models/dropdown.js +0 -2
- package/esm2015/lib/models/popover.js +0 -27
- package/esm2015/lib/models/spinnerOptions.js +0 -13
- package/esm2015/lib/stepper/stepper.component.js +0 -55
- package/esm2015/lib/stepper/stepper.module.js +0 -17
- package/esm2015/lib/utils/dr-shared-utils.js +0 -47
- package/esm2015/public-api.js +0 -101
- package/fesm2015/datarailsshared-datarailsshared.js +0 -7194
- package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -12
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +0 -5
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +0 -6
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +0 -4
- /package/{esm2015/lib/dr-inputs/dr-toggle-button/toggle-button-mode.js → esm2022/lib/dr-inputs/dr-toggle-button/toggle-button-mode.mjs} +0 -0
- /package/{esm2015/lib/dr-scenario/interfaces/scenario.js → esm2022/lib/dr-scenario/interfaces/scenario.mjs} +0 -0
- /package/{esm2015/lib/dr-tags/dr-tag.types.js → esm2022/lib/dr-tags/dr-tag.types.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/enums/tooltip-theme.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-theme.enum.mjs} +0 -0
- /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
- /package/{esm2015/lib/models/validationError.js → esm2022/lib/models/validationError.mjs} +0 -0
- /package/{esm2015/lib/stepper/interfaces/stepper.js → esm2022/lib/stepper/interfaces/stepper.mjs} +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
|
|
11
|
+
import { DrPopoverRef } from '../models/popover';
|
|
12
|
+
import { first, merge, Subject, takeUntil } from 'rxjs';
|
|
13
|
+
import { DropdownInstanceService } from './dr-dropdown.service';
|
|
14
|
+
import { Debounce } from '../utils/decorators';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
const _c0 = ["menuContainer"];
|
|
17
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_1_i_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelement(0, "i", 11);
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const act_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
21
|
+
i0.ɵɵclassMap(act_r2.icon);
|
|
22
|
+
} }
|
|
23
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementContainerStart(0, 8);
|
|
25
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_1_i_1_Template, 1, 2, "i", 9);
|
|
26
|
+
i0.ɵɵelementStart(2, "span", 10);
|
|
27
|
+
i0.ɵɵtext(3);
|
|
28
|
+
i0.ɵɵelementEnd();
|
|
29
|
+
i0.ɵɵelementContainerEnd();
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
32
|
+
i0.ɵɵadvance(1);
|
|
33
|
+
i0.ɵɵproperty("ngIf", act_r2.icon);
|
|
34
|
+
i0.ɵɵadvance(2);
|
|
35
|
+
i0.ɵɵtextInterpolate(act_r2.title);
|
|
36
|
+
} }
|
|
37
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
39
|
+
i0.ɵɵelementStart(0, "i", 15);
|
|
40
|
+
i0.ɵɵlistener("mousedown", function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template_i_mousedown_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r14); const actionIcon_r12 = restoredCtx.$implicit; const act_r2 = i0.ɵɵnextContext(2).$implicit; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onActionIconClick($event, actionIcon_r12, act_r2.data)); });
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const actionIcon_r12 = ctx.$implicit;
|
|
44
|
+
const index_r3 = i0.ɵɵnextContext(2).index;
|
|
45
|
+
const ctx_r10 = i0.ɵɵnextContext();
|
|
46
|
+
i0.ɵɵclassMap(actionIcon_r12.icon);
|
|
47
|
+
i0.ɵɵclassProp("showOnHover", actionIcon_r12.showOnHover);
|
|
48
|
+
i0.ɵɵattribute("data-analytics", ctx_r10.getDataAnalyticsTag(actionIcon_r12, index_r3));
|
|
49
|
+
} }
|
|
50
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_2_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelement(0, "i", 16);
|
|
52
|
+
} }
|
|
53
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelementContainerStart(0, 12);
|
|
55
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template, 1, 5, "i", 13);
|
|
56
|
+
i0.ɵɵtemplate(2, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_2_Template, 1, 0, "i", 14);
|
|
57
|
+
i0.ɵɵelementContainerEnd();
|
|
58
|
+
} if (rf & 2) {
|
|
59
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
60
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
61
|
+
i0.ɵɵadvance(1);
|
|
62
|
+
i0.ɵɵproperty("ngForOf", act_r2.actionIcons);
|
|
63
|
+
i0.ɵɵadvance(1);
|
|
64
|
+
i0.ɵɵproperty("ngIf", ctx_r5.hasChildren(act_r2));
|
|
65
|
+
} }
|
|
66
|
+
const _c1 = function (a0) { return { $implicit: a0 }; };
|
|
67
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
68
|
+
i0.ɵɵelementContainer(0, 17);
|
|
69
|
+
} if (rf & 2) {
|
|
70
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
71
|
+
i0.ɵɵproperty("ngTemplateOutlet", act_r2.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, act_r2));
|
|
72
|
+
} }
|
|
73
|
+
const _c2 = function () { return { withoutArrow: true }; };
|
|
74
|
+
function DrDropdownComponent_dr_dropdown_item_4_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
76
|
+
i0.ɵɵelementStart(0, "dr-dropdown-item", 4);
|
|
77
|
+
i0.ɵɵlistener("mousedown", function DrDropdownComponent_dr_dropdown_item_4_Template_dr_dropdown_item_mousedown_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const act_r2 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.action(act_r2)); });
|
|
78
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_1_Template, 4, 2, "ng-container", 5);
|
|
79
|
+
i0.ɵɵtemplate(2, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_Template, 3, 2, "ng-container", 6);
|
|
80
|
+
i0.ɵɵtemplate(3, DrDropdownComponent_dr_dropdown_item_4_ng_container_3_Template, 1, 4, "ng-container", 7);
|
|
81
|
+
i0.ɵɵelementEnd();
|
|
82
|
+
} if (rf & 2) {
|
|
83
|
+
const act_r2 = ctx.$implicit;
|
|
84
|
+
const index_r3 = ctx.index;
|
|
85
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
86
|
+
i0.ɵɵproperty("drTooltip", ctx_r1.tooltipToShow(act_r2))("drTooltipPosition", "left")("drTooltipOptions", i0.ɵɵpureFunction0(15, _c2))("drTooltipClass", "dr-dropdown__tooltip")("drDropdown", ctx_r1.hasChildren(act_r2) && act_r2.children)("drDropdownClass", act_r2.childOptions == null ? null : act_r2.childOptions.class)("drDropdownInHover", true)("drDropdownPosition", act_r2.childOptions == null ? null : act_r2.childOptions.position)("disabled", ctx_r1.disabled(act_r2))("selected", ctx_r1.selected(act_r2))("divider", act_r2.separateLine);
|
|
87
|
+
i0.ɵɵattribute("data-analytics", ctx_r1.getDataAnalyticsTag(act_r2, index_r3));
|
|
88
|
+
i0.ɵɵadvance(1);
|
|
89
|
+
i0.ɵɵproperty("ngIf", !act_r2.templateRef);
|
|
90
|
+
i0.ɵɵadvance(1);
|
|
91
|
+
i0.ɵɵproperty("ngIf", !act_r2.templateRef);
|
|
92
|
+
i0.ɵɵadvance(1);
|
|
93
|
+
i0.ɵɵproperty("ngIf", act_r2.templateRef);
|
|
94
|
+
} }
|
|
95
|
+
const _c3 = [[["dr-dropdown-item"]]];
|
|
96
|
+
const _c4 = ["dr-dropdown-item"];
|
|
97
|
+
export class DrDropdownComponent {
|
|
98
|
+
set options(data) {
|
|
99
|
+
if (data) {
|
|
100
|
+
this.drDropdownInHover = data.drDropdownInHover;
|
|
101
|
+
this.containerClass = data.class;
|
|
102
|
+
this.dataAnalytics = data.dataAnalytics;
|
|
103
|
+
this.list = data.list || [];
|
|
104
|
+
this.list.forEach((item) => {
|
|
105
|
+
if (item.children?.length) {
|
|
106
|
+
item.childOptions = {
|
|
107
|
+
class: item?.childOptions?.class || '',
|
|
108
|
+
position: item?.childOptions?.position || 'left-top',
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
this.cdr.markForCheck();
|
|
113
|
+
if (this.drDropdownInHover) {
|
|
114
|
+
this.dropdownInstanceService
|
|
115
|
+
.inactive(this)
|
|
116
|
+
.pipe(first(), takeUntil(merge(this.destroy$, this.drDropdownInHoverChange$)))
|
|
117
|
+
.subscribe(() => {
|
|
118
|
+
this.popoverRef.close();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
constructor() {
|
|
124
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
125
|
+
this.popoverRef = inject(DrPopoverRef, { optional: true });
|
|
126
|
+
this.dropdownInstanceService = inject(DropdownInstanceService, { optional: true });
|
|
127
|
+
this.destroy$ = new Subject();
|
|
128
|
+
this._active = true;
|
|
129
|
+
this.drDropdownInHoverChange$ = new Subject();
|
|
130
|
+
this.list = [];
|
|
131
|
+
this.wasHovered = false;
|
|
132
|
+
this.asChild = false;
|
|
133
|
+
this.onAction = new EventEmitter();
|
|
134
|
+
if (!this.dropdownInstanceService)
|
|
135
|
+
return;
|
|
136
|
+
this.dropdownInstanceService.register(this);
|
|
137
|
+
inject(DestroyRef).onDestroy(() => {
|
|
138
|
+
this.dropdownInstanceService.unregister(this);
|
|
139
|
+
this.destroy$.next();
|
|
140
|
+
this.destroy$.next();
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
ngOnChanges(changes) {
|
|
144
|
+
if (!changes?.drDropdownInHover?.isFirstChange()) {
|
|
145
|
+
this.drDropdownInHoverChange$.next();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
disabled(act) {
|
|
149
|
+
if (!act.disabled) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
if (typeof act.disabled === 'boolean') {
|
|
153
|
+
return act.disabled;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return act.disabled(act.data);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
selected(act) {
|
|
160
|
+
if (!act.selected) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
if (typeof act.selected === 'boolean') {
|
|
164
|
+
return act.selected;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
return act.selected(act.data);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
tooltipToShow(act) {
|
|
171
|
+
if (act.toolTipIfDisabled && !this.disabled(act))
|
|
172
|
+
return '';
|
|
173
|
+
return act.customTooltip ? act.customTooltip(act.data) : act.toolTip;
|
|
174
|
+
}
|
|
175
|
+
action(act) {
|
|
176
|
+
if (!this.disabled(act)) {
|
|
177
|
+
if (act.action) {
|
|
178
|
+
act.action(act.data);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
const event = { event: act.event || act.title || 'default', data: act.data };
|
|
182
|
+
this.onAction.emit(event);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
onActionIconClick($event, actionIcon, data) {
|
|
187
|
+
$event.stopPropagation();
|
|
188
|
+
actionIcon.action(data);
|
|
189
|
+
}
|
|
190
|
+
hasChildren(item) {
|
|
191
|
+
return !!item.children?.length;
|
|
192
|
+
}
|
|
193
|
+
onMouseenter() {
|
|
194
|
+
this.wasHovered = true;
|
|
195
|
+
this._active = true;
|
|
196
|
+
}
|
|
197
|
+
onMouseleave() {
|
|
198
|
+
this._active = false;
|
|
199
|
+
}
|
|
200
|
+
active() {
|
|
201
|
+
return this._active;
|
|
202
|
+
}
|
|
203
|
+
getDataAnalyticsTag(act, index) {
|
|
204
|
+
return act.dataAnalytics
|
|
205
|
+
? act.dataAnalytics
|
|
206
|
+
: this.dataAnalytics
|
|
207
|
+
? this.dataAnalytics + '_' + (act.title?.replace(/ /g, '-') || index)
|
|
208
|
+
: null;
|
|
209
|
+
}
|
|
210
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownComponent_Factory(t) { return new (t || DrDropdownComponent)(); }; }
|
|
211
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDropdownComponent, selectors: [["dr-dropdown"]], viewQuery: function DrDropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
212
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
213
|
+
} if (rf & 2) {
|
|
214
|
+
let _t;
|
|
215
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.menuContainer = _t.first);
|
|
216
|
+
} }, inputs: { options: "options" }, outputs: { onAction: "action" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c4, decls: 6, vars: 5, consts: [[1, "dr-dropdown"], ["menuContainer", ""], ["tabindex", "-1", "role", "listbox", 1, "dr-dropdown__container", 3, "mouseenter", "mouseleave"], ["drDropdownChild", "", "role", "option", "tabindex", "0", 3, "drTooltip", "drTooltipPosition", "drTooltipOptions", "drTooltipClass", "drDropdown", "drDropdownClass", "drDropdownInHover", "drDropdownPosition", "disabled", "selected", "divider", "mousedown", 4, "ngFor", "ngForOf"], ["drDropdownChild", "", "role", "option", "tabindex", "0", 3, "drTooltip", "drTooltipPosition", "drTooltipOptions", "drTooltipClass", "drDropdown", "drDropdownClass", "drDropdownInHover", "drDropdownPosition", "disabled", "selected", "divider", "mousedown"], ["dropdownItemContent", "", 4, "ngIf"], ["dropdownItemActions", "", 4, "ngIf"], ["dropdownItemContent", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], ["dropdownItemContent", ""], ["class", "dr-dropdown__icon", 3, "class", 4, "ngIf"], [1, "dr-dropdown__text"], [1, "dr-dropdown__icon"], ["dropdownItemActions", ""], [3, "class", "showOnHover", "mousedown", 4, "ngFor", "ngForOf"], ["class", "dr-icon-arrow-right", 4, "ngIf"], [3, "mousedown"], [1, "dr-icon-arrow-right"], ["dropdownItemContent", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function DrDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
217
|
+
i0.ɵɵprojectionDef(_c3);
|
|
218
|
+
i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
|
|
219
|
+
i0.ɵɵlistener("mouseenter", function DrDropdownComponent_Template_div_mouseenter_2_listener() { return ctx.onMouseenter(); })("mouseleave", function DrDropdownComponent_Template_div_mouseleave_2_listener() { return ctx.onMouseleave(); });
|
|
220
|
+
i0.ɵɵprojection(3);
|
|
221
|
+
i0.ɵɵtemplate(4, DrDropdownComponent_dr_dropdown_item_4_Template, 4, 16, "dr-dropdown-item", 3);
|
|
222
|
+
i0.ɵɵpipe(5, "drDropdownItemShowPipe");
|
|
223
|
+
i0.ɵɵelementEnd()();
|
|
224
|
+
} if (rf & 2) {
|
|
225
|
+
i0.ɵɵclassMap(ctx.containerClass);
|
|
226
|
+
i0.ɵɵadvance(4);
|
|
227
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(5, 3, ctx.list));
|
|
228
|
+
} }, styles: [".dr-dropdown__item .dr-dropdown{visibility:hidden;transition-delay:.2s} .dr-dropdown__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s} .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown[_ngcontent-%COMP%]{width:auto}.dr-dropdown__text[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;flex:1}.dr-dropdown__container[_ngcontent-%COMP%]{display:flex;flex-direction:column;background:#fff;padding:8px 0;overflow-y:auto;max-height:60vh;max-width:300px}.dr-dropdown__icon[_ngcontent-%COMP%]{margin-right:8px}.dr-dropdown[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:not(:first-child):hover{color:#4646ce}.dr-dropdown[_ngcontent-%COMP%] dr-dropdown-item[_ngcontent-%COMP%]:hover .showOnHover[_ngcontent-%COMP%]{visibility:visible}.dr-dropdown[_ngcontent-%COMP%] .showOnHover[_ngcontent-%COMP%]{visibility:hidden}"], changeDetection: 0 }); }
|
|
229
|
+
}
|
|
230
|
+
__decorate([
|
|
231
|
+
Debounce(200),
|
|
232
|
+
__metadata("design:type", Function),
|
|
233
|
+
__metadata("design:paramtypes", []),
|
|
234
|
+
__metadata("design:returntype", void 0)
|
|
235
|
+
], DrDropdownComponent.prototype, "onMouseleave", null);
|
|
236
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownComponent, [{
|
|
237
|
+
type: Component,
|
|
238
|
+
args: [{ selector: 'dr-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menuContainer [class]=\"containerClass\" class=\"dr-dropdown\">\n <div class=\"dr-dropdown__container\" (mouseenter)=\"onMouseenter()\" (mouseleave)=\"onMouseleave()\" tabindex=\"-1\" role=\"listbox\">\n <ng-content select=\"dr-dropdown-item\"></ng-content>\n\n <dr-dropdown-item\n *ngFor=\"let act of list | drDropdownItemShowPipe; let index = index\"\n (mousedown)=\"action(act)\"\n [drTooltip]=\"tooltipToShow(act)\"\n [drTooltipPosition]=\"'left'\"\n [drTooltipOptions]=\"{ withoutArrow: true }\"\n [drTooltipClass]=\"'dr-dropdown__tooltip'\"\n [drDropdown]=\"hasChildren(act) && act.children\"\n [drDropdownClass]=\"act.childOptions?.class\"\n [drDropdownInHover]=\"true\"\n [drDropdownPosition]=\"act.childOptions?.position\"\n drDropdownChild\n [disabled]=\"disabled(act)\"\n [selected]=\"selected(act)\"\n [divider]=\"act.separateLine\"\n [attr.data-analytics]=\"getDataAnalyticsTag(act, index)\"\n role=\"option\"\n tabindex=\"0\">\n <ng-container dropdownItemContent *ngIf=\"!act.templateRef\">\n <i *ngIf=\"act.icon\" [class]=\"act.icon\" class=\"dr-dropdown__icon\"></i>\n <span class=\"dr-dropdown__text\">{{ act.title }}</span>\n </ng-container>\n\n <ng-container dropdownItemActions *ngIf=\"!act.templateRef\">\n <i\n *ngFor=\"let actionIcon of act.actionIcons\"\n [attr.data-analytics]=\"getDataAnalyticsTag(actionIcon, index)\"\n [class]=\"actionIcon.icon\"\n [class.showOnHover]=\"actionIcon.showOnHover\"\n (mousedown)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\n <i *ngIf=\"hasChildren(act)\" class=\"dr-icon-arrow-right\"></i>\n </ng-container>\n\n <ng-container\n *ngIf=\"act.templateRef\"\n dropdownItemContent\n [ngTemplateOutlet]=\"act.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: act }\">\n </ng-container>\n </dr-dropdown-item>\n </div>\n</div>\n", styles: ["::ng-deep .dr-dropdown__item .dr-dropdown{visibility:hidden;transition-delay:.2s}::ng-deep .dr-dropdown__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s}::ng-deep .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown{width:auto}.dr-dropdown__text{overflow:hidden;text-overflow:ellipsis;flex:1}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;padding:8px 0;overflow-y:auto;max-height:60vh;max-width:300px}.dr-dropdown__icon{margin-right:8px}.dr-dropdown i:not(:first-child):hover{color:#4646ce}.dr-dropdown dr-dropdown-item:hover .showOnHover{visibility:visible}.dr-dropdown .showOnHover{visibility:hidden}\n"] }]
|
|
239
|
+
}], function () { return []; }, { menuContainer: [{
|
|
240
|
+
type: ViewChild,
|
|
241
|
+
args: ['menuContainer', { static: true }]
|
|
242
|
+
}], options: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], onAction: [{
|
|
245
|
+
type: Output,
|
|
246
|
+
args: ['action']
|
|
247
|
+
}], onMouseleave: [] }); })();
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0lDTS9CLHdCQUFxRTs7O0lBQWpELDBCQUFrQjs7O0lBRDFDLGdDQUEyRDtJQUN2RCxrR0FBcUU7SUFDckUsZ0NBQWdDO0lBQUEsWUFBZTtJQUFBLGlCQUFPO0lBQzFELDBCQUFlOzs7SUFGUCxlQUFjO0lBQWQsa0NBQWM7SUFDYyxlQUFlO0lBQWYsa0NBQWU7Ozs7SUFJL0MsNkJBS2tFO0lBQTlELDJUQUFhLGVBQUEsOERBQStDLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7OztJQUZsRSxrQ0FBeUI7SUFDekIseURBQTRDO0lBRjVDLHVGQUE4RDs7O0lBSWxFLHdCQUE0RDs7O0lBUGhFLGlD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QUFDO0lBQ3hCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUEyQixFQUFFLEtBQWE7UUFDMUQsT0FBTyxHQUFHLENBQUMsYUFBYTtZQUNwQixDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWE7WUFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhO2dCQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDO2dCQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pCLENBQUM7dUdBdklRLG1CQUFtQjttR0FBbkIsbUJBQW1COzs7Ozs7O1lDekJoQyxpQ0FBaUUsYUFBQTtZQUN6Qix1R0FBYyxrQkFBYyxJQUFDLDBGQUFlLGtCQUFjLElBQTdCO1lBQzdELGtCQUFtRDtZQUVuRCwrRkF1Q21COztZQUN2QixpQkFBTSxFQUFBOztZQTVDVSxpQ0FBd0I7WUFLaEIsZUFBa0M7WUFBbEMsd0RBQWtDOzs7QUQ0STFEO0lBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7Ozt1REFHYjt1RkEzSFEsbUJBQW1CO2NBTi9CLFNBQVM7MkJBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO3NDQVkvQyxhQUFhO2tCQURaLFNBQVM7bUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQVl4QyxPQUFPO2tCQURWLEtBQUs7WUE2Qk4sUUFBUTtrQkFEUCxNQUFNO21CQUFDLFFBQVE7WUF5RWhCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURyb3Bkb3duLCBJRHJvcGRvd25BY3Rpb24sIElEcm9wZG93bkFjdGlvbkljb24sIElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgRHJQb3BvdmVyUmVmIH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuaW1wb3J0IHsgZmlyc3QsIG1lcmdlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyb3Bkb3duSW5zdGFuY2VSZWYsIERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7IERlYm91bmNlIH0gZnJvbSAnLi4vdXRpbHMvZGVjb3JhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIERyb3Bkb3duSW5zdGFuY2VSZWYge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcG92ZXJSZWYgPSBpbmplY3QoRHJQb3BvdmVyUmVmLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgX2FjdGl2ZSA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBtZW51Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIGRyRHJvcGRvd25JbkhvdmVyOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJEcm9wZG93bkluSG92ZXJDaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBsaXN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+W10gPSBbXTtcbiAgICBjb250YWluZXJDbGFzczogc3RyaW5nO1xuICAgIHdhc0hvdmVyZWQgPSBmYWxzZTtcbiAgICBhc0NoaWxkID0gZmFsc2U7XG4gICAgZGF0YUFuYWx5dGljczogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyhkYXRhOiBJRHJvcGRvd248SURyb3Bkb3duSXRlbTx1bmtub3duPj4pIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93bkluSG92ZXIgPSBkYXRhLmRyRHJvcGRvd25JbkhvdmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcyA9IGRhdGEuY2xhc3M7XG4gICAgICAgICAgICB0aGlzLmRhdGFBbmFseXRpY3MgPSBkYXRhLmRhdGFBbmFseXRpY3M7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhLmxpc3QgfHwgW107XG4gICAgICAgICAgICB0aGlzLmxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jaGlsZE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogaXRlbT8uY2hpbGRPcHRpb25zPy5jbGFzcyB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtPy5jaGlsZE9wdGlvbnM/LnBvc2l0aW9uIHx8ICdsZWZ0LXRvcCcsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5pbmFjdGl2ZSh0aGlzKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpLCB0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95JCwgdGhpcy5kckRyb3Bkb3duSW5Ib3ZlckNoYW5nZSQpKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCdhY3Rpb24nKVxuICAgIG9uQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJRHJvcGRvd25BY3Rpb248dW5rbm93bj4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bkluc3RhbmNlU2VydmljZS5yZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghY2hhbmdlcz8uZHJEcm9wZG93bkluSG92ZXI/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duSW5Ib3ZlckNoYW5nZSQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzYWJsZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3QuZGlzYWJsZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3QuZGlzYWJsZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3Quc2VsZWN0ZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Quc2VsZWN0ZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbHRpcFRvU2hvdyhhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBzdHJpbmcge1xuICAgICAgICBpZiAoYWN0LnRvb2xUaXBJZkRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkKGFjdCkpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIGFjdC5jdXN0b21Ub29sdGlwID8gYWN0LmN1c3RvbVRvb2x0aXAoYWN0LmRhdGEpIDogYWN0LnRvb2xUaXA7XG4gICAgfVxuXG4gICAgYWN0aW9uKGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPikge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0KSkge1xuICAgICAgICAgICAgaWYgKGFjdC5hY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBhY3QuYWN0aW9uKGFjdC5kYXRhKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSB7IGV2ZW50OiBhY3QuZXZlbnQgfHwgYWN0LnRpdGxlIHx8ICdkZWZhdWx0JywgZGF0YTogYWN0LmRhdGEgfTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQWN0aW9uLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb25JY29uOiBJRHJvcGRvd25BY3Rpb25JY29uPHVua25vd24+LCBkYXRhOiB1bmtub3duKSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XG4gICAgfVxuXG4gICAgaGFzQ2hpbGRyZW4oaXRlbTogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFpdGVtLmNoaWxkcmVuPy5sZW5ndGg7XG4gICAgfVxuXG4gICAgb25Nb3VzZWVudGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndhc0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIEBEZWJvdW5jZSgyMDApXG4gICAgb25Nb3VzZWxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0RGF0YUFuYWx5dGljc1RhZyhhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4sIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYWN0LmRhdGFBbmFseXRpY3NcbiAgICAgICAgICAgID8gYWN0LmRhdGFBbmFseXRpY3NcbiAgICAgICAgICAgIDogdGhpcy5kYXRhQW5hbHl0aWNzXG4gICAgICAgICAgICAgID8gdGhpcy5kYXRhQW5hbHl0aWNzICsgJ18nICsgKGFjdC50aXRsZT8ucmVwbGFjZSgvIC9nLCAnLScpIHx8IGluZGV4KVxuICAgICAgICAgICAgICA6IG51bGw7XG4gICAgfVxufVxuIiwiPGRpdiAjbWVudUNvbnRhaW5lciBbY2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBjbGFzcz1cImRyLWRyb3Bkb3duXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgpXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWRyb3Bkb3duLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRyLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Qgb2YgbGlzdCB8IGRyRHJvcGRvd25JdGVtU2hvd1BpcGU7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwiYWN0aW9uKGFjdClcIlxuICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJ0b29sdGlwVG9TaG93KGFjdClcIlxuICAgICAgICAgICAgW2RyVG9vbHRpcFBvc2l0aW9uXT1cIidsZWZ0J1wiXG4gICAgICAgICAgICBbZHJUb29sdGlwT3B0aW9uc109XCJ7IHdpdGhvdXRBcnJvdzogdHJ1ZSB9XCJcbiAgICAgICAgICAgIFtkclRvb2x0aXBDbGFzc109XCInZHItZHJvcGRvd25fX3Rvb2x0aXAnXCJcbiAgICAgICAgICAgIFtkckRyb3Bkb3duXT1cImhhc0NoaWxkcmVuKGFjdCkgJiYgYWN0LmNoaWxkcmVuXCJcbiAgICAgICAgICAgIFtkckRyb3Bkb3duQ2xhc3NdPVwiYWN0LmNoaWxkT3B0aW9ucz8uY2xhc3NcIlxuICAgICAgICAgICAgW2RyRHJvcGRvd25JbkhvdmVyXT1cInRydWVcIlxuICAgICAgICAgICAgW2RyRHJvcGRvd25Qb3NpdGlvbl09XCJhY3QuY2hpbGRPcHRpb25zPy5wb3NpdGlvblwiXG4gICAgICAgICAgICBkckRyb3Bkb3duQ2hpbGRcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZChhY3QpXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZChhY3QpXCJcbiAgICAgICAgICAgIFtkaXZpZGVyXT1cImFjdC5zZXBhcmF0ZUxpbmVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hbmFseXRpY3NdPVwiZ2V0RGF0YUFuYWx5dGljc1RhZyhhY3QsIGluZGV4KVwiXG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1Db250ZW50ICpuZ0lmPVwiIWFjdC50ZW1wbGF0ZVJlZlwiPlxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0Lmljb25cIiBbY2xhc3NdPVwiYWN0Lmljb25cIiBjbGFzcz1cImRyLWRyb3Bkb3duX19pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHItZHJvcGRvd25fX3RleHRcIj57eyBhY3QudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1BY3Rpb25zICpuZ0lmPVwiIWFjdC50ZW1wbGF0ZVJlZlwiPlxuICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb25JY29uIG9mIGFjdC5hY3Rpb25JY29uc1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYW5hbHl0aWNzXT1cImdldERhdGFBbmFseXRpY3NUYWcoYWN0aW9uSWNvbiwgaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImFjdGlvbkljb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zaG93T25Ib3Zlcl09XCJhY3Rpb25JY29uLnNob3dPbkhvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkFjdGlvbkljb25DbGljaygkZXZlbnQsIGFjdGlvbkljb24sIGFjdC5kYXRhKVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc0NoaWxkcmVuKGFjdClcIiBjbGFzcz1cImRyLWljb24tYXJyb3ctcmlnaHRcIj48L2k+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0LnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW1Db250ZW50XG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0LnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGFjdCB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, HostListener, inject, Injector, Input, Output } from '@angular/core';
|
|
2
|
+
import { DrDropdownService, DropdownInstanceService } from './dr-dropdown.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DrDropdownDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.elementRef = inject((ElementRef));
|
|
7
|
+
this.service = inject(DrDropdownService);
|
|
8
|
+
this.child = inject(DrDropdownChildDirective, { optional: true, self: true });
|
|
9
|
+
this.dropdownInstanceService = inject(DropdownInstanceService);
|
|
10
|
+
this.drDropdownPosition = 'left-top';
|
|
11
|
+
this.drDropdownAction = new EventEmitter();
|
|
12
|
+
this.dropdownClosed = new EventEmitter();
|
|
13
|
+
this.dropdownOpened = new EventEmitter();
|
|
14
|
+
this.mouseleaveTimeout = 200;
|
|
15
|
+
}
|
|
16
|
+
elementHover() {
|
|
17
|
+
if (!this.drDropdownInHover)
|
|
18
|
+
return;
|
|
19
|
+
this.openDropdown();
|
|
20
|
+
}
|
|
21
|
+
elementClick() {
|
|
22
|
+
this.openDropdown();
|
|
23
|
+
}
|
|
24
|
+
leaveDropdownTriggerElement() {
|
|
25
|
+
if (this.drDropdownInHover) {
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
if (this.ref && !this.ref.instance.wasHovered) {
|
|
28
|
+
this.close();
|
|
29
|
+
}
|
|
30
|
+
}, this.mouseleaveTimeout);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
documentClick() {
|
|
34
|
+
this.close();
|
|
35
|
+
}
|
|
36
|
+
openDropdown() {
|
|
37
|
+
if (!this.drDropdown?.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (this.ref) {
|
|
41
|
+
this.close();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.ref = this.service.open({
|
|
45
|
+
hostRef: this.elementRef,
|
|
46
|
+
position: this.drDropdownPosition,
|
|
47
|
+
asChild: !!this.child,
|
|
48
|
+
providers: [{ provide: DropdownInstanceService, useValue: this.dropdownInstanceService }],
|
|
49
|
+
action$: this.drDropdownAction,
|
|
50
|
+
options: {
|
|
51
|
+
drDropdownInHover: this.drDropdownInHover,
|
|
52
|
+
position: this.drDropdownPosition,
|
|
53
|
+
list: this.drDropdown,
|
|
54
|
+
class: this.drDropdownClass,
|
|
55
|
+
dataAnalytics: this.dataAnalytics,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
this.dropdownOpened.emit();
|
|
59
|
+
}
|
|
60
|
+
close() {
|
|
61
|
+
if (this.ref) {
|
|
62
|
+
this.ref.close();
|
|
63
|
+
this.ref = null;
|
|
64
|
+
this.dropdownClosed.emit();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
ngOnDestroy() {
|
|
68
|
+
this.close();
|
|
69
|
+
}
|
|
70
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownDirective_Factory(t) { return new (t || DrDropdownDirective)(); }; }
|
|
71
|
+
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownDirective, selectors: [["", "drDropdown", ""]], hostBindings: function DrDropdownDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵlistener("mouseenter", function DrDropdownDirective_mouseenter_HostBindingHandler() { return ctx.elementHover(); })("click", function DrDropdownDirective_click_HostBindingHandler() { return ctx.elementClick(); })("mouseleave", function DrDropdownDirective_mouseleave_HostBindingHandler() { return ctx.leaveDropdownTriggerElement(); })("mouseup", function DrDropdownDirective_mouseup_HostBindingHandler() { return ctx.documentClick(); }, false, i0.ɵɵresolveDocument);
|
|
73
|
+
} }, inputs: { drDropdown: "drDropdown", drDropdownPosition: "drDropdownPosition", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover", dataAnalytics: ["data-analytics", "dataAnalytics"] }, outputs: { drDropdownAction: "drDropdownAction", dropdownClosed: "drDropdownClose", dropdownOpened: "drDropdownOpened" }, features: [i0.ɵɵProvidersFeature([
|
|
74
|
+
{
|
|
75
|
+
provide: DropdownInstanceService,
|
|
76
|
+
useFactory: ((injector) => {
|
|
77
|
+
const service = injector.get(DropdownInstanceService, null, { skipSelf: true });
|
|
78
|
+
return service ?? new DropdownInstanceService(injector);
|
|
79
|
+
}),
|
|
80
|
+
deps: [Injector],
|
|
81
|
+
},
|
|
82
|
+
])] }); }
|
|
83
|
+
}
|
|
84
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownDirective, [{
|
|
85
|
+
type: Directive,
|
|
86
|
+
args: [{
|
|
87
|
+
selector: '[drDropdown]',
|
|
88
|
+
providers: [
|
|
89
|
+
{
|
|
90
|
+
provide: DropdownInstanceService,
|
|
91
|
+
useFactory: ((injector) => {
|
|
92
|
+
const service = injector.get(DropdownInstanceService, null, { skipSelf: true });
|
|
93
|
+
return service ?? new DropdownInstanceService(injector);
|
|
94
|
+
}),
|
|
95
|
+
deps: [Injector],
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}]
|
|
99
|
+
}], null, { drDropdown: [{
|
|
100
|
+
type: Input,
|
|
101
|
+
args: [{ required: true }]
|
|
102
|
+
}], drDropdownPosition: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], drDropdownClass: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], drDropdownInHover: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], dataAnalytics: [{
|
|
109
|
+
type: Input,
|
|
110
|
+
args: [{ alias: 'data-analytics' }]
|
|
111
|
+
}], drDropdownAction: [{
|
|
112
|
+
type: Output
|
|
113
|
+
}], dropdownClosed: [{
|
|
114
|
+
type: Output,
|
|
115
|
+
args: ['drDropdownClose']
|
|
116
|
+
}], dropdownOpened: [{
|
|
117
|
+
type: Output,
|
|
118
|
+
args: ['drDropdownOpened']
|
|
119
|
+
}], elementHover: [{
|
|
120
|
+
type: HostListener,
|
|
121
|
+
args: ['mouseenter']
|
|
122
|
+
}], elementClick: [{
|
|
123
|
+
type: HostListener,
|
|
124
|
+
args: ['click']
|
|
125
|
+
}], leaveDropdownTriggerElement: [{
|
|
126
|
+
type: HostListener,
|
|
127
|
+
args: ['mouseleave']
|
|
128
|
+
}], documentClick: [{
|
|
129
|
+
type: HostListener,
|
|
130
|
+
args: ['document:mouseup']
|
|
131
|
+
}] }); })();
|
|
132
|
+
export class DrDropdownChildDirective {
|
|
133
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownChildDirective_Factory(t) { return new (t || DrDropdownChildDirective)(); }; }
|
|
134
|
+
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownChildDirective, selectors: [["", "drDropdownChild", ""]] }); }
|
|
135
|
+
}
|
|
136
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownChildDirective, [{
|
|
137
|
+
type: Directive,
|
|
138
|
+
args: [{
|
|
139
|
+
selector: '[drDropdownChild]',
|
|
140
|
+
}]
|
|
141
|
+
}], null, null); })();
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWlCbkYsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWNxQixlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBSzNFLHVCQUFrQixHQUFlLFVBQVUsQ0FBQztRQVM1QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMvQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBSXJELHNCQUFpQixHQUFHLEdBQUcsQ0FBQztLQW1FNUM7SUFoRUcsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUdELFlBQVk7UUFD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QUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUNoRixPQUFPLE9BQU8sSUFBSSxJQUFJLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUM1RCxDQUFDLENBQUE7d0JBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO3FCQUNuQjtpQkFDSjthQUNKO2dCQVFHLFVBQVU7a0JBRFQsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFHekIsa0JBQWtCO2tCQURqQixLQUFLO1lBR04sZUFBZTtrQkFEZCxLQUFLO1lBR04saUJBQWlCO2tCQURoQixLQUFLO1lBR04sYUFBYTtrQkFEWixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1lBSWxDLGdCQUFnQjtrQkFEZixNQUFNO1lBRW9CLGNBQWM7a0JBQXhDLE1BQU07bUJBQUMsaUJBQWlCO1lBQ0csY0FBYztrQkFBekMsTUFBTTttQkFBQyxrQkFBa0I7WUFPMUIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLFlBQVk7WUFPMUIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLE9BQU87WUFNckIsMkJBQTJCO2tCQUQxQixZQUFZO21CQUFDLFlBQVk7WUFZMUIsYUFBYTtrQkFEWixZQUFZO21CQUFDLGtCQUFrQjs7QUFnRHBDLE1BQU0sT0FBTyx3QkFBd0I7NEdBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCOzt1RkFBeEIsd0JBQXdCO2NBSHBDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbFBvc2l0aW9uLCBJRHJvcGRvd25BY3Rpb24sIElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgRHJEcm9wZG93blNlcnZpY2UsIERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuLi9tb2RlbHMvcG9wb3Zlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyRHJvcGRvd25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IGluamVjdG9yLmdldChEcm9wZG93bkluc3RhbmNlU2VydmljZSwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VydmljZSA/PyBuZXcgRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UoaW5qZWN0b3IpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoRHJEcm9wZG93blNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hpbGQgPSBpbmplY3QoRHJEcm9wZG93bkNoaWxkRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBkckRyb3Bkb3duOiBJRHJvcGRvd25JdGVtPFQ+W107XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duUG9zaXRpb246IEVsUG9zaXRpb24gPSAnbGVmdC10b3AnO1xuICAgIEBJbnB1dCgpXG4gICAgZHJEcm9wZG93bkNsYXNzOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoeyBhbGlhczogJ2RhdGEtYW5hbHl0aWNzJyB9KVxuICAgIGRhdGFBbmFseXRpY3M6IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIGRyRHJvcGRvd25BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElEcm9wZG93bkFjdGlvbjxUPj4oKTtcbiAgICBAT3V0cHV0KCdkckRyb3Bkb3duQ2xvc2UnKSBkcm9wZG93bkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCdkckRyb3Bkb3duT3BlbmVkJykgZHJvcGRvd25PcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIHJlZjogRHJQb3BvdmVyUmVmPERyRHJvcGRvd25Db21wb25lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb3VzZWxlYXZlVGltZW91dCA9IDIwMDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICAgIGVsZW1lbnRIb3ZlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyRHJvcGRvd25JbkhvdmVyKSByZXR1cm47XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIGVsZW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgICBsZWF2ZURyb3Bkb3duVHJpZ2dlckVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyRHJvcGRvd25JbkhvdmVyKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZWYgJiYgIXRoaXMucmVmLmluc3RhbmNlLndhc0hvdmVyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMubW91c2VsZWF2ZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcpXG4gICAgZG9jdW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZHJEcm9wZG93bj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmID0gdGhpcy5zZXJ2aWNlLm9wZW4oe1xuICAgICAgICAgICAgaG9zdFJlZjogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLFxuICAgICAgICAgICAgYXNDaGlsZDogISF0aGlzLmNoaWxkLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBEcm9wZG93bkluc3RhbmNlU2VydmljZSwgdXNlVmFsdWU6IHRoaXMuZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgfV0sXG4gICAgICAgICAgICBhY3Rpb24kOiB0aGlzLmRyRHJvcGRvd25BY3Rpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZHJEcm9wZG93bkluSG92ZXI6IHRoaXMuZHJEcm9wZG93bkluSG92ZXIsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLFxuICAgICAgICAgICAgICAgIGxpc3Q6IHRoaXMuZHJEcm9wZG93bixcbiAgICAgICAgICAgICAgICBjbGFzczogdGhpcy5kckRyb3Bkb3duQ2xhc3MsXG4gICAgICAgICAgICAgICAgZGF0YUFuYWx5dGljczogdGhpcy5kYXRhQW5hbHl0aWNzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMucmVmID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25DbG9zZWQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duQ2hpbGRdJyxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkNoaWxkRGlyZWN0aXZlIHt9XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DrDropdownDirective, DrDropdownChildDirective } from './dr-dropdown.directive';
|
|
3
|
+
import { DrDropdownComponent } from './dr-dropdown.component';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { DrTooltipModule } from '../dr-tooltip/dr-tooltip.module';
|
|
6
|
+
import { DrDropdownItemShowPipe } from './dr-dropdown-item-show.pipe';
|
|
7
|
+
import { DrDropdownService } from './dr-dropdown.service';
|
|
8
|
+
import { DrDropdownItemComponent } from './dr-dropdown-item/dr-dropdown-item.component';
|
|
9
|
+
import { DrPopoverModule } from '../dr-popover/dr-popover.module';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "../dr-tooltip/dr-tooltip.directive";
|
|
13
|
+
export class DrDropdownModule {
|
|
14
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownModule_Factory(t) { return new (t || DrDropdownModule)(); }; }
|
|
15
|
+
/** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrDropdownModule }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [DrDropdownService], imports: [CommonModule, DrTooltipModule, DrPopoverModule] }); }
|
|
17
|
+
}
|
|
18
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownModule, [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [CommonModule, DrTooltipModule, DrPopoverModule],
|
|
22
|
+
declarations: [
|
|
23
|
+
DrDropdownDirective,
|
|
24
|
+
DrDropdownComponent,
|
|
25
|
+
DrDropdownItemShowPipe,
|
|
26
|
+
DrDropdownChildDirective,
|
|
27
|
+
DrDropdownItemComponent,
|
|
28
|
+
],
|
|
29
|
+
exports: [DrDropdownDirective, DrDropdownComponent, DrDropdownItemShowPipe, DrDropdownItemComponent],
|
|
30
|
+
providers: [DrDropdownService],
|
|
31
|
+
}]
|
|
32
|
+
}], null, null); })();
|
|
33
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrDropdownModule, { declarations: [DrDropdownDirective,
|
|
34
|
+
DrDropdownComponent,
|
|
35
|
+
DrDropdownItemShowPipe,
|
|
36
|
+
DrDropdownChildDirective,
|
|
37
|
+
DrDropdownItemComponent], imports: [CommonModule, DrTooltipModule, DrPopoverModule], exports: [DrDropdownDirective, DrDropdownComponent, DrDropdownItemShowPipe, DrDropdownItemComponent] }); })();
|
|
38
|
+
i0.ɵɵsetComponentScope(DrDropdownComponent, [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i2.DrTooltipDirective, DrDropdownDirective,
|
|
39
|
+
DrDropdownChildDirective,
|
|
40
|
+
DrDropdownItemComponent], [DrDropdownItemShowPipe]);
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFjbEUsTUFBTSxPQUFPLGdCQUFnQjtvR0FBaEIsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7dUdBRmQsQ0FBQyxpQkFBaUIsQ0FBQyxZQVRwQixZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWU7O3VGQVcvQyxnQkFBZ0I7Y0FaNUIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO2dCQUN6RCxZQUFZLEVBQUU7b0JBQ1YsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHNCQUFzQjtvQkFDdEIsd0JBQXdCO29CQUN4Qix1QkFBdUI7aUJBQzFCO2dCQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO2dCQUNwRyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUNqQzs7d0ZBQ1ksZ0JBQWdCLG1CQVRyQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsdUJBQXVCLGFBTmpCLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxhQVE5QyxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUI7dUJBTC9GLG1CQUFtQixvRUFEbkIsbUJBQW1CO0lBR25CLHdCQUF3QjtJQUN4Qix1QkFBdUIsSUFGdkIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyRHJvcGRvd25EaXJlY3RpdmUsIERyRHJvcGRvd25DaGlsZERpcmVjdGl2ZSB9IGZyb20gJy4vZHItZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vZHItdG9vbHRpcC9kci10b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duSXRlbVNob3dQaXBlIH0gZnJvbSAnLi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZHItZHJvcGRvd24taXRlbS9kci1kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEclRvb2x0aXBNb2R1bGUsIERyUG9wb3Zlck1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIERyRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIERyRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIERyRHJvcGRvd25JdGVtU2hvd1BpcGUsXG4gICAgICAgIERyRHJvcGRvd25DaGlsZERpcmVjdGl2ZSxcbiAgICAgICAgRHJEcm9wZG93bkl0ZW1Db21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRHJEcm9wZG93bkRpcmVjdGl2ZSwgRHJEcm9wZG93bkNvbXBvbmVudCwgRHJEcm9wZG93bkl0ZW1TaG93UGlwZSwgRHJEcm9wZG93bkl0ZW1Db21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0RyRHJvcGRvd25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bk1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DestroyRef, EventEmitter, inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, filter, interval, map, Subject, switchMap, takeUntil } from 'rxjs';
|
|
3
|
+
import { DrDropdownComponent } from './dr-dropdown.component';
|
|
4
|
+
import { DrPopoverService } from '../dr-popover/dr-popover.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DrDropdownService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.popoverService = inject(DrPopoverService);
|
|
9
|
+
}
|
|
10
|
+
open({ hostRef, options, position = 'left-top', asChild, providers, action$ = new EventEmitter(), }) {
|
|
11
|
+
return this.popoverService.open(DrDropdownComponent, {
|
|
12
|
+
hostRef,
|
|
13
|
+
position,
|
|
14
|
+
contentContext: {
|
|
15
|
+
options,
|
|
16
|
+
asChild,
|
|
17
|
+
onAction: action$,
|
|
18
|
+
},
|
|
19
|
+
overlayConfig: {
|
|
20
|
+
positionOffsetX: 2,
|
|
21
|
+
positionOffsetY: asChild ? -8 : null,
|
|
22
|
+
providers,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownService_Factory(t) { return new (t || DrDropdownService)(); }; }
|
|
27
|
+
/** @nocollapse */ static { this.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: DrDropdownService, factory: DrDropdownService.ɵfac, providedIn: 'root' }); }
|
|
28
|
+
}
|
|
29
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownService, [{
|
|
30
|
+
type: Injectable,
|
|
31
|
+
args: [{
|
|
32
|
+
providedIn: 'root',
|
|
33
|
+
}]
|
|
34
|
+
}], null, null); })();
|
|
35
|
+
export class DropdownInstanceService {
|
|
36
|
+
get instances() {
|
|
37
|
+
return this.instances$.getValue();
|
|
38
|
+
}
|
|
39
|
+
constructor(injector) {
|
|
40
|
+
this.instances$ = new BehaviorSubject([]);
|
|
41
|
+
this.destroy$ = new Subject();
|
|
42
|
+
injector.get(DestroyRef).onDestroy(() => {
|
|
43
|
+
this.destroy$.next();
|
|
44
|
+
this.destroy$.complete();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
register(ref) {
|
|
48
|
+
this.instances.push(ref);
|
|
49
|
+
this.instances$.next(this.instances);
|
|
50
|
+
}
|
|
51
|
+
unregister(ref) {
|
|
52
|
+
this.instances.splice(this.instances.indexOf(ref), 1);
|
|
53
|
+
this.instances$.next(this.instances);
|
|
54
|
+
}
|
|
55
|
+
getSequence(ref) {
|
|
56
|
+
return this.instances.slice(this.instances.indexOf(ref));
|
|
57
|
+
}
|
|
58
|
+
inactive(ref) {
|
|
59
|
+
return this.instances$.pipe(map(() => this.getSequence(ref)), filter((value) => !!value.length), switchMap((value) => interval(200).pipe(map(() => value))), filter((emissions) => emissions.every((value) => !value.active())), takeUntil(this.destroy$));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFNcEUsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlxQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBOEI5RDtJQTVCRyxJQUFJLENBQUMsRUFDRCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsR0FBRyxVQUFVLEVBQ3JCLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFFLEdBTS9CO1FBQ0csT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUNqRCxPQUFPO1lBQ1AsUUFBUTtZQUNSLGNBQWMsRUFBRTtnQkFDWixPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsUUFBUSxFQUFFLE9BQU87YUFDcEI7WUFDRCxhQUFhLEVBQUU7Z0JBQ1gsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNwQyxTQUFTO2FBQ1o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO3FHQTlCUSxpQkFBaUI7c0dBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBRmQsTUFBTTs7dUZBRVQsaUJBQWlCO2NBSDdCLFVBQVU7ZUFBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7QUFzQ0QsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQyxJQUFZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFZLFFBQWtCO1FBUGIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQUs1RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUc1QyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUF3QjtRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUF3QjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUF3QjtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNoQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQ2pDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUMxRCxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFDbEUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBpbnRlcnZhbCwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IElEcm9wZG93biwgSURyb3Bkb3duQWN0aW9uLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvcG9wb3Zlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcG92ZXJTZXJ2aWNlID0gaW5qZWN0KERyUG9wb3ZlclNlcnZpY2UpO1xuXG4gICAgb3Blbih7XG4gICAgICAgIGhvc3RSZWYsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHBvc2l0aW9uID0gJ2xlZnQtdG9wJyxcbiAgICAgICAgYXNDaGlsZCxcbiAgICAgICAgcHJvdmlkZXJzLFxuICAgICAgICBhY3Rpb24kID0gbmV3IEV2ZW50RW1pdHRlcigpLFxuICAgIH06IFBpY2s8SURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLCAnaG9zdFJlZicgfCAncG9zaXRpb24nPiAmIHtcbiAgICAgICAgb3B0aW9uczogSURyb3Bkb3duPElEcm9wZG93bkl0ZW08dW5rbm93bj4+O1xuICAgICAgICBhc0NoaWxkPzogYm9vbGVhbjtcbiAgICAgICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcbiAgICAgICAgYWN0aW9uJD86IEV2ZW50RW1pdHRlcjxJRHJvcGRvd25BY3Rpb248dW5rbm93bj4+O1xuICAgIH0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlclNlcnZpY2Uub3BlbihEckRyb3Bkb3duQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBob3N0UmVmLFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBjb250ZW50Q29udGV4dDoge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgYXNDaGlsZCxcbiAgICAgICAgICAgICAgICBvbkFjdGlvbjogYWN0aW9uJCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnOiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25PZmZzZXRYOiAyLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0WTogYXNDaGlsZCA/IC04IDogbnVsbCxcbiAgICAgICAgICAgICAgICBwcm92aWRlcnMsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JbnN0YW5jZVJlZiB7XG4gICAgYWN0aXZlKCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBEcm9wZG93bkluc3RhbmNlU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEcm9wZG93bkluc3RhbmNlUmVmW10+KFtdKTtcbiAgICBwcml2YXRlIGdldCBpbnN0YW5jZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlcyQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBpbmplY3Rvci5nZXQoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWdpc3RlcihyZWY6IERyb3Bkb3duSW5zdGFuY2VSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZXMucHVzaChyZWYpO1xuICAgICAgICB0aGlzLmluc3RhbmNlcyQubmV4dCh0aGlzLmluc3RhbmNlcyk7XG4gICAgfVxuXG4gICAgdW5yZWdpc3RlcihyZWY6IERyb3Bkb3duSW5zdGFuY2VSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZXMuc3BsaWNlKHRoaXMuaW5zdGFuY2VzLmluZGV4T2YocmVmKSwgMSk7XG4gICAgICAgIHRoaXMuaW5zdGFuY2VzJC5uZXh0KHRoaXMuaW5zdGFuY2VzKTtcbiAgICB9XG5cbiAgICBnZXRTZXF1ZW5jZShyZWY6IERyb3Bkb3duSW5zdGFuY2VSZWYpOiBEcm9wZG93bkluc3RhbmNlUmVmW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZXMuc2xpY2UodGhpcy5pbnN0YW5jZXMuaW5kZXhPZihyZWYpKTtcbiAgICB9XG5cbiAgICBpbmFjdGl2ZShyZWY6IERyb3Bkb3duSW5zdGFuY2VSZWYpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VzJC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0U2VxdWVuY2UocmVmKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlLmxlbmd0aCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PiBpbnRlcnZhbCgyMDApLnBpcGUobWFwKCgpID0+IHZhbHVlKSkpLFxuICAgICAgICAgICAgZmlsdGVyKChlbWlzc2lvbnMpID0+IGVtaXNzaW9ucy5ldmVyeSgodmFsdWUpID0+ICF2YWx1ZS5hY3RpdmUoKSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|