@datarailsshared/datarailsshared 1.4.187 → 1.4.191-rocket
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_datarailsshared.styles.css +4 -4
- package/assets/styles/_styles.scss +2 -2
- package/datarailsshared-datarailsshared-1.4.191-rocket.tgz +0 -0
- package/esm2022/datarailsshared-datarailsshared.mjs +5 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +45 -0
- package/esm2022/lib/date-tags/date-tag.component.mjs +48 -0
- package/esm2022/lib/date-tags/date-tag.module.mjs +66 -0
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +84 -0
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +162 -0
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +87 -0
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +107 -0
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +91 -0
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +85 -0
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +59 -0
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +109 -0
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +142 -0
- package/esm2022/lib/dr-accordion/accordion.component.mjs +41 -0
- package/esm2022/lib/dr-accordion/accordion.module.mjs +34 -0
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +48 -0
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +37 -0
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +20 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +30 -0
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +27 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +147 -0
- package/esm2022/lib/dr-chat/chat.module.mjs +68 -0
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +169 -0
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +108 -0
- package/{esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js → esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs} +21 -21
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +24 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +57 -0
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +23 -0
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +89 -0
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +13 -0
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +78 -0
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +21 -0
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +79 -0
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +102 -0
- package/esm2022/lib/dr-dialog/dialog.module.mjs +51 -0
- package/esm2022/lib/dr-dialog/interfaces/dialog-data.mjs +25 -0
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +78 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +16 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +108 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +124 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +125 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +49 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +26 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +119 -0
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +28 -0
- package/esm2022/lib/dr-error/dr-error.component.mjs +69 -0
- package/esm2022/lib/dr-error/dr-error.module.mjs +31 -0
- package/esm2022/lib/dr-inputs/button/button.component.mjs +70 -0
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +67 -0
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +67 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +234 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +194 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +190 -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 +198 -0
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +232 -0
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +108 -0
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +32 -0
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +182 -0
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +82 -0
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +77 -0
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +69 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +82 -0
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +180 -0
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +16 -0
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +24 -0
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +13 -0
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +29 -0
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +23 -0
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +144 -0
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +115 -0
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +30 -0
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +110 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +110 -0
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +85 -0
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +81 -0
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +41 -0
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +166 -0
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +18 -0
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +66 -0
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +23 -0
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +42 -0
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +51 -0
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +49 -0
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +201 -0
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +35 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +20 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +17 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +19 -0
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +20 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +53 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +165 -0
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +48 -0
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +224 -0
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +62 -0
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +48 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +103 -0
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +82 -0
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +23 -0
- package/esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs +2 -0
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +47 -0
- package/esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs +2 -0
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +158 -0
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +21 -0
- package/esm2022/lib/list-tags/list-tag.component.mjs +45 -0
- package/esm2022/lib/list-tags/list-tag.module.mjs +34 -0
- package/esm2022/lib/models/chat.mjs +49 -0
- package/esm2022/lib/models/datePicker.mjs +71 -0
- package/esm2022/lib/models/popover.mjs +27 -0
- package/esm2022/lib/stepper/stepper.component.mjs +66 -0
- package/esm2022/lib/stepper/stepper.module.mjs +24 -0
- package/esm2022/public-api.mjs +118 -0
- package/fesm2022/datarailsshared-datarailsshared.mjs +7791 -0
- package/fesm2022/datarailsshared-datarailsshared.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 +5 -2
- 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/dr-accordion/accordion-item-body.component.d.ts +3 -0
- package/lib/dr-accordion/accordion-item-header.component.d.ts +3 -0
- package/lib/dr-accordion/accordion-item.component.d.ts +3 -0
- package/lib/dr-accordion/accordion.component.d.ts +3 -0
- package/lib/dr-accordion/accordion.module.d.ts +9 -0
- package/lib/dr-avatar/dr-avatar.component.d.ts +3 -0
- package/lib/dr-avatar/dr-avatar.module.d.ts +9 -0
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +3 -0
- package/lib/dr-badge-status/dr-badge-status.component.d.ts +3 -0
- package/lib/dr-badge-status/dr-badge-status.module.d.ts +7 -0
- package/lib/dr-chat/chat.component.d.ts +3 -0
- package/lib/dr-chat/chat.module.d.ts +17 -0
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +3 -0
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +3 -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 +3 -0
- package/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.d.ts +3 -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 -3
- package/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.d.ts +4 -1
- package/lib/dr-dialog/dialog.module.d.ts +12 -0
- package/lib/dr-dialog/interfaces/dialog-data.d.ts +7 -7
- package/lib/dr-dialog/services/dialog.service.d.ts +4 -1
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +3 -0
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +10 -0
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +3 -0
- 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 +6 -3
- package/lib/dr-error/dr-error.module.d.ts +8 -0
- package/lib/dr-inputs/button/button.component.d.ts +4 -1
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +3 -0
- 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 +3 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +3 -0
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +4 -8
- 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 +3 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +3 -0
- package/lib/dr-inputs/dr-inputs.module.d.ts +25 -0
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +3 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +3 -0
- package/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.d.ts +3 -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 +3 -0
- 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.component.d.ts +6 -1
- package/lib/dr-popover/dr-popover.directive.d.ts +3 -0
- package/lib/dr-popover/dr-popover.module.d.ts +7 -0
- package/lib/dr-popover/dr-popover.service.d.ts +3 -0
- package/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts +3 -0
- 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 +10 -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 +3 -0
- package/lib/dr-spinner/dr-spinner.module.d.ts +7 -0
- package/lib/dr-tabs/dr-tab.component.d.ts +3 -0
- package/lib/dr-tabs/dr-tabs.component.d.ts +3 -0
- 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-tooltip/components/tooltip-info/tooltip-info.component.d.ts +3 -0
- package/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.d.ts +3 -0
- package/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.d.ts +3 -0
- package/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.d.ts +3 -0
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +4 -1
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +3 -0
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +11 -0
- package/lib/dr-tooltip/interfaces/tooltip-component-context.d.ts +1 -1
- package/lib/dr-treeview/components/treeview/treeview.component.d.ts +42 -0
- package/lib/dr-treeview/components/treeview-item/treeview-item.component.d.ts +18 -0
- package/lib/dr-treeview/dr-tree-view.module.d.ts +13 -0
- package/lib/dr-treeview/helpers/treeview-event-parser.d.ts +30 -0
- package/lib/dr-treeview/helpers/treeview-helper.d.ts +16 -0
- package/lib/dr-treeview/models/treeview-config.d.ts +18 -0
- package/lib/dr-treeview/models/treeview-header-template-context.d.ts +9 -0
- package/lib/dr-treeview/models/treeview-i18n.d.ts +20 -0
- package/lib/dr-treeview/models/treeview-item-template-context.d.ts +6 -0
- package/lib/dr-treeview/models/treeview-item.d.ts +35 -0
- package/lib/dr-treeview/pipes/treeview.pipe.d.ts +8 -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 +2 -2
- package/lib/models/datePicker.d.ts +10 -3
- package/lib/models/dropdown.d.ts +1 -1
- package/lib/models/popover.d.ts +1 -1
- package/lib/models/serverTags.d.ts +4 -4
- package/lib/stepper/interfaces/stepper.d.ts +1 -1
- package/lib/stepper/stepper.component.d.ts +3 -0
- package/lib/stepper/stepper.module.d.ts +7 -0
- package/package.json +27 -15
- package/public-api.d.ts +34 -0
- package/bundles/datarailsshared-datarailsshared.umd.js +0 -7157
- package/bundles/datarailsshared-datarailsshared.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.4.187.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +0 -33
- package/datarailsshared-datarailsshared.metadata.json +0 -1
- package/esm2015/datarailsshared-datarailsshared.js +0 -34
- package/esm2015/lib/date-tags/date-tag.component.js +0 -73
- 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 -153
- 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 -105
- 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-avatar/dr-avatar.component.js +0 -44
- 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-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.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 -70
- 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 -103
- package/esm2015/lib/dr-dynamic-tag/dr-dynamic-tag.module.js +0 -19
- package/esm2015/lib/dr-error/dr-error.component.js +0 -64
- 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 -65
- 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 -216
- package/esm2015/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.js +0 -180
- 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 -66
- 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 -119
- 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 -63
- 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 -102
- package/esm2015/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.js +0 -74
- package/esm2015/lib/dr-scenario/consts/scenario-tags-config.js +0 -73
- package/esm2015/lib/dr-scenario/dr-scenario.module.js +0 -28
- package/esm2015/lib/dr-scenario/services/scenario.service.js +0 -167
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +0 -18
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +0 -56
- 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 -177
- 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 -40
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +0 -147
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +0 -35
- 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 -36
- package/esm2015/lib/models/datePicker.js +0 -73
- package/esm2015/lib/models/popover.js +0 -27
- package/esm2015/lib/stepper/stepper.component.js +0 -55
- package/esm2015/lib/stepper/stepper.module.js +0 -17
- package/esm2015/public-api.js +0 -84
- package/fesm2015/datarailsshared-datarailsshared.js +0 -6192
- package/fesm2015/datarailsshared-datarailsshared.js.map +0 -1
- /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-tooltip/enums/tooltip-position.enum.js → esm2022/lib/dr-tooltip/enums/tooltip-position.enum.mjs} +0 -0
- /package/{esm2015/lib/dr-tooltip/interfaces/tooltip-component-context.js → esm2022/lib/dr-tooltip/interfaces/tooltip-component-context.mjs} +0 -0
- /package/{esm2015/lib/models/badgeStatus.js → esm2022/lib/models/badgeStatus.mjs} +0 -0
- /package/{esm2015/lib/models/constants.js → esm2022/lib/models/constants.mjs} +0 -0
- /package/{esm2015/lib/models/dropdown.js → esm2022/lib/models/dropdown.mjs} +0 -0
- /package/{esm2015/lib/models/serverTags.js → esm2022/lib/models/serverTags.mjs} +0 -0
- /package/{esm2015/lib/models/spinnerOptions.js → esm2022/lib/models/spinnerOptions.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
- /package/{esm2015/lib/utils/dr-shared-utils.js → esm2022/lib/utils/dr-shared-utils.mjs} +0 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import * as _ from 'lodash';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../../dr-inputs/button/button.component";
|
|
6
|
+
export class DrChatSuggestionsComponent {
|
|
7
|
+
cdr;
|
|
8
|
+
_nonHiddenValues = [];
|
|
9
|
+
visibleValues = [];
|
|
10
|
+
isSuggestedMenuOpen = false;
|
|
11
|
+
values = [];
|
|
12
|
+
fullScreen = false;
|
|
13
|
+
buttonMode = false;
|
|
14
|
+
/**
|
|
15
|
+
* Parameter to check is send message function available
|
|
16
|
+
*
|
|
17
|
+
* @type {boolean}
|
|
18
|
+
*/
|
|
19
|
+
waitForReply = false;
|
|
20
|
+
suggestionSelect = new EventEmitter();
|
|
21
|
+
get hiddenValues() {
|
|
22
|
+
return JSON.parse(localStorage.getItem('aiChatSuggestions')) || [];
|
|
23
|
+
}
|
|
24
|
+
set hiddenValues(values) {
|
|
25
|
+
localStorage.setItem('aiChatSuggestions', JSON.stringify(values));
|
|
26
|
+
}
|
|
27
|
+
constructor(cdr) {
|
|
28
|
+
this.cdr = cdr;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
this.filterValues();
|
|
32
|
+
}
|
|
33
|
+
onItemClick(item) {
|
|
34
|
+
if (this.waitForReply) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.isSuggestedMenuOpen = false;
|
|
38
|
+
this.suggestionSelect.emit(item);
|
|
39
|
+
this.hiddenValues = [...this.hiddenValues, item];
|
|
40
|
+
this.filterValues();
|
|
41
|
+
}
|
|
42
|
+
filterValues() {
|
|
43
|
+
const hiddenValues = this.hiddenValues;
|
|
44
|
+
this._nonHiddenValues = _.filter(this.values, val => !hiddenValues.includes(val));
|
|
45
|
+
this.fillVisibleValues();
|
|
46
|
+
}
|
|
47
|
+
fillVisibleValues() {
|
|
48
|
+
const maxItemsCount = this.fullScreen ? 6 : 4;
|
|
49
|
+
const nonHiddenValues = _.clone(this._nonHiddenValues);
|
|
50
|
+
this.visibleValues.length = 0;
|
|
51
|
+
for (let i = 0; i < maxItemsCount; i++) {
|
|
52
|
+
if (!nonHiddenValues.length) {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
const randomIndex = Math.floor(Math.random() * nonHiddenValues.length);
|
|
56
|
+
const item = nonHiddenValues.splice(randomIndex, 1)[0];
|
|
57
|
+
this.visibleValues.push(item);
|
|
58
|
+
}
|
|
59
|
+
this.cdr.markForCheck();
|
|
60
|
+
}
|
|
61
|
+
clearHidden() {
|
|
62
|
+
localStorage.setItem('aiChatSuggestions', null);
|
|
63
|
+
this.filterValues();
|
|
64
|
+
}
|
|
65
|
+
toggleSuggestedMenu() {
|
|
66
|
+
this.isSuggestedMenuOpen = !this.isSuggestedMenuOpen;
|
|
67
|
+
if (this.isSuggestedMenuOpen) {
|
|
68
|
+
this.fillVisibleValues();
|
|
69
|
+
}
|
|
70
|
+
this.cdr.markForCheck();
|
|
71
|
+
}
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrChatSuggestionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrChatSuggestionsComponent, selector: "dr-chat-suggestions", inputs: { values: "values", fullScreen: "fullScreen", buttonMode: "buttonMode", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, ngImport: i0, template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\">\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container__button{z-index:3}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FB!important;border-radius:4px;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#F2F2FB}:host .chat-suggestions__container--opened .chat-suggestions__items,:host .chat-suggestions__container--opened .chat-suggestions__items__background{display:flex}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;inset:-32px 0 32px;background:#FFFFFF;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FB;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrChatSuggestionsComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'dr-chat-suggestions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chat-suggestions\">\n <ng-container *ngIf=\"buttonMode; else suggestionCards\">\n <div class=\"chat-suggestions__container\"\n [class.chat-suggestions__container--opened]=\"isSuggestedMenuOpen\"\n *ngIf=\"visibleValues.length\">\n <dr-button theme=\"ghost\" class=\"chat-suggestions__container__button\" (click)=\"toggleSuggestedMenu()\">\n Suggested chats\n </dr-button>\n <ng-container *ngTemplateOutlet=\"suggestionCards\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #suggestionCards>\n <div class=\"chat-suggestions__items\">\n <div class=\"chat-suggestions__items__background\"></div>\n <div *ngFor=\"let item of visibleValues\"\n class=\"chat-suggestions__items__item\" (click)=\"onItemClick(item)\">\n {{ item }}\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;align-items:flex-start;justify-content:center}:host .chat-suggestions{display:flex;width:100%;max-width:970px}:host .chat-suggestions__container{display:flex;position:relative;width:auto;margin-top:12px;padding:0 24px}:host .chat-suggestions__container__button{z-index:3}:host .chat-suggestions__container__button::ng-deep button{background:#F2F2FB!important;border-radius:4px;cursor:pointer}:host .chat-suggestions__container .chat-suggestions__items{display:none;position:absolute;width:100%;bottom:0;left:0;padding-bottom:32px;z-index:2}:host .chat-suggestions__container--opened{width:100%}:host .chat-suggestions__container--opened .chat-suggestions__container__button::ng-deep button{color:#4646ce;background:#F2F2FB}:host .chat-suggestions__container--opened .chat-suggestions__items,:host .chat-suggestions__container--opened .chat-suggestions__items__background{display:flex}:host .chat-suggestions__items{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between;padding:0 24px}:host .chat-suggestions__items__background{display:none;position:absolute;inset:-32px 0 32px;background:#FFFFFF;opacity:.7;z-index:-1}:host .chat-suggestions__items__item{margin:0 0 20px;display:inline-flex;height:76px;width:275px;padding:16px;border-radius:8px;background:#F2F2FB;box-shadow:0 1px 2px #00000026;font-size:14px;line-height:24px;color:#25258c}:host .chat-suggestions__items__item:hover{cursor:pointer;background:#EAEAFF}\n"] }]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { values: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], fullScreen: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], buttonMode: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], waitForReply: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], suggestionSelect: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sR0FDakQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFRNUIsTUFBTSxPQUFPLDBCQUEwQjtJQXlCZjtJQXZCcEIsZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25CLE1BQU0sR0FBYyxFQUFFLENBQUM7SUFDdkIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixVQUFVLEdBQVksS0FBSyxDQUFDO0lBRXJDOzs7O09BSUc7SUFDTSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXBCLGdCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTlFLElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLE1BQU07UUFDbkIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMs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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0LXN1Z2dlc3Rpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0U3VnZ2VzdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgX25vbkhpZGRlblZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICB2aXNpYmxlVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlzU3VnZ2VzdGVkTWVudU9wZW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSB2YWx1ZXM6IHN0cmluZyBbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGZ1bGxTY3JlZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBidXR0b25Nb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0ZXIgdG8gY2hlY2sgaXMgc2VuZCBtZXNzYWdlIGZ1bmN0aW9uIGF2YWlsYWJsZVxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgd2FpdEZvclJlcGx5ID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgc3VnZ2VzdGlvblNlbGVjdDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIGdldCBoaWRkZW5WYWx1ZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYWlDaGF0U3VnZ2VzdGlvbnMnKSkgfHwgW107XG4gICAgfVxuICAgIHNldCBoaWRkZW5WYWx1ZXModmFsdWVzKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIEpTT04uc3RyaW5naWZ5KHZhbHVlcykpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy53YWl0Rm9yUmVwbHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9uU2VsZWN0LmVtaXQoaXRlbSk7XG4gICAgICAgIHRoaXMuaGlkZGVuVmFsdWVzID0gWy4uLnRoaXMuaGlkZGVuVmFsdWVzLCBpdGVtXTtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJWYWx1ZXMoKSB7XG4gICAgICAgIGNvbnN0IGhpZGRlblZhbHVlcyA9IHRoaXMuaGlkZGVuVmFsdWVzO1xuICAgICAgICB0aGlzLl9ub25IaWRkZW5WYWx1ZXMgPSBfLmZpbHRlcih0aGlzLnZhbHVlcywgdmFsID0+ICFoaWRkZW5WYWx1ZXMuaW5jbHVkZXModmFsKSk7XG4gICAgICAgIHRoaXMuZmlsbFZpc2libGVWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBmaWxsVmlzaWJsZVZhbHVlcygpIHtcbiAgICAgICAgY29uc3QgbWF4SXRlbXNDb3VudCA9IHRoaXMuZnVsbFNjcmVlbiA/IDYgOiA0O1xuICAgICAgICBjb25zdCBub25IaWRkZW5WYWx1ZXMgPSBfLmNsb25lKHRoaXMuX25vbkhpZGRlblZhbHVlcyk7XG4gICAgICAgIHRoaXMudmlzaWJsZVZhbHVlcy5sZW5ndGggPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heEl0ZW1zQ291bnQ7IGkrKykge1xuICAgICAgICAgICAgaWYgKCFub25IaWRkZW5WYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG5vbkhpZGRlblZhbHVlcy5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG5vbkhpZGRlblZhbHVlcy5zcGxpY2UocmFuZG9tSW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlVmFsdWVzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgY2xlYXJIaWRkZW4oKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhaUNoYXRTdWdnZXN0aW9ucycsIG51bGwpO1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlcygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVN1Z2dlc3RlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTdWdnZXN0ZWRNZW51T3BlbiA9ICF0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW47XG4gICAgICAgIGlmICh0aGlzLmlzU3VnZ2VzdGVkTWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZmlsbFZpc2libGVWYWx1ZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hhdC1zdWdnZXN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25Nb2RlOyBlbHNlIHN1Z2dlc3Rpb25DYXJkc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1zdWdnZXN0aW9uc19fY29udGFpbmVyXCJcbiAgICAgICAgICAgICBbY2xhc3MuY2hhdC1zdWdnZXN0aW9uc19fY29udGFpbmVyLS1vcGVuZWRdPVwiaXNTdWdnZXN0ZWRNZW51T3BlblwiXG4gICAgICAgICAgICAgKm5nSWY9XCJ2aXNpYmxlVmFsdWVzLmxlbmd0aFwiPlxuICAgICAgICAgICAgPGRyLWJ1dHRvbiB0aGVtZT1cImdob3N0XCIgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19jb250YWluZXJfX2J1dHRvblwiIChjbGljayk9XCJ0b2dnbGVTdWdnZXN0ZWRNZW51KClcIj5cbiAgICAgICAgICAgICAgICBTdWdnZXN0ZWQgY2hhdHNcbiAgICAgICAgICAgIDwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Z2dlc3Rpb25DYXJkc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3N1Z2dlc3Rpb25DYXJkcz5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1zdWdnZXN0aW9uc19faXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtc3VnZ2VzdGlvbnNfX2l0ZW1zX19iYWNrZ3JvdW5kXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmlzaWJsZVZhbHVlc1wiXG4gICAgICAgICAgICAgY2xhc3M9XCJjaGF0LXN1Z2dlc3Rpb25zX19pdGVtc19faXRlbVwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiPlxuICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DrDotFlashingComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
}
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDotFlashingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDotFlashingComponent, selector: "dr-dot-flashing", ngImport: i0, template: "<div class=\"dot-flashing\"></div>\n", styles: [":host .dot-flashing{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}:host .dot-flashing:before,:host .dot-flashing:after{content:\"\";display:inline-block;position:absolute;top:0}:host .dot-flashing:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:0s}:host .dot-flashing:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDotFlashingComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ selector: 'dr-dot-flashing', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dot-flashing\"></div>\n", styles: [":host .dot-flashing{position:relative;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite linear alternate;animation-delay:.5s;margin-left:11px}:host .dot-flashing:before,:host .dot-flashing:after{content:\"\";display:inline-block;position:absolute;top:0}:host .dot-flashing:before{left:-10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:0s}:host .dot-flashing:after{left:10px;width:6px;height:6px;border-radius:5px;background-color:#25258c;color:#25258c;animation:dot-flashing 1s infinite alternate;animation-delay:1s}@keyframes dot-flashing{0%{background-color:#25258c}50%,to{background-color:#9880ff33}}\n"] }]
|
|
12
|
+
}], ctorParameters: function () { return []; } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFRcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUUvQjtJQUNBLENBQUM7dUdBSFEsc0JBQXNCOzJGQUF0QixzQkFBc0IsdURDUm5DLHNDQUNBOzsyRkRPYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRvdC1mbGFzaGluZycsXG4gICAgdGVtcGxhdGVVcmw6ICdkci1kb3QtZmxhc2hpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckRvdEZsYXNoaW5nQ29tcG9uZW50IHtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkb3QtZmxhc2hpbmdcIj48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
export class DrDetailsListComponent {
|
|
8
|
+
destroy$ = new Subject();
|
|
9
|
+
list = [];
|
|
10
|
+
title = 'Show details';
|
|
11
|
+
set items(val) {
|
|
12
|
+
if (!val) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(val)) {
|
|
16
|
+
this.list = val;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
val.pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
20
|
+
this.list = res;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
collapse = true;
|
|
26
|
+
get state() {
|
|
27
|
+
if (this.collapse) {
|
|
28
|
+
return 'collapsed';
|
|
29
|
+
}
|
|
30
|
+
return 'expanded';
|
|
31
|
+
}
|
|
32
|
+
constructor() { }
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.destroy$.next();
|
|
35
|
+
this.destroy$.complete();
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DrDetailsListComponent, selector: "dr-details-list", inputs: { title: "title", items: "items", collapse: "collapse" }, ngImport: i0, template: "<div class=\"details\">\n <div class=\"details__header\" (click)=\"collapse = !collapse\">\n <i [class.dr-icon-arrow-right]=\"collapse\"\n [class.dr-icon-arrow-down]=\"!collapse\">\n </i>\n {{ title }}\n </div>\n <ul class=\"details__list\" [@expansionIndicatorList]=\"{ value: state }\">\n <li *ngFor=\"let item of list\">{{ item }}</li>\n </ul>\n</div>\n", styles: [":host{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}:host .details{display:flex;flex-direction:column}:host .details__header{display:flex;align-items:center;cursor:pointer}:host .details__header i{margin-right:4px}:host .details__list{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}:host .details__list li{list-style-type:disc}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
|
|
39
|
+
trigger('expansionIndicatorList', [
|
|
40
|
+
state('collapsed', style({
|
|
41
|
+
overflow: 'hidden',
|
|
42
|
+
visibility: 'hidden',
|
|
43
|
+
height: 0,
|
|
44
|
+
})),
|
|
45
|
+
state('expanded', style({
|
|
46
|
+
overflow: 'hidden',
|
|
47
|
+
visibility: 'visible',
|
|
48
|
+
})),
|
|
49
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
50
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
51
|
+
]),
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'dr-details-list', animations: [
|
|
57
|
+
trigger('expansionIndicatorList', [
|
|
58
|
+
state('collapsed', style({
|
|
59
|
+
overflow: 'hidden',
|
|
60
|
+
visibility: 'hidden',
|
|
61
|
+
height: 0,
|
|
62
|
+
})),
|
|
63
|
+
state('expanded', style({
|
|
64
|
+
overflow: 'hidden',
|
|
65
|
+
visibility: 'visible',
|
|
66
|
+
})),
|
|
67
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
68
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
69
|
+
]),
|
|
70
|
+
], template: "<div class=\"details\">\n <div class=\"details__header\" (click)=\"collapse = !collapse\">\n <i [class.dr-icon-arrow-right]=\"collapse\"\n [class.dr-icon-arrow-down]=\"!collapse\">\n </i>\n {{ title }}\n </div>\n <ul class=\"details__list\" [@expansionIndicatorList]=\"{ value: state }\">\n <li *ngFor=\"let item of list\">{{ item }}</li>\n </ul>\n</div>\n", styles: [":host{font-family:Poppins,sans-serif;font-size:14px;line-height:22px;color:#6d6e6f;font-weight:400}:host .details{display:flex;flex-direction:column}:host .details__header{display:flex;align-items:center;cursor:pointer}:host .details__header i{margin-right:4px}:host .details__list{display:flex;flex-direction:column;padding-left:28px;margin:8px 0}:host .details__list li{list-style-type:disc}\n"] }]
|
|
71
|
+
}], ctorParameters: function () { return []; }, propDecorators: { title: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], items: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], collapse: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUE2QjNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFdkIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUVsQixLQUFLLEdBQUcsY0FBYyxDQUFDO0lBQ2hDLElBQWEsS0FBSyxDQUFDLEdBQW9DO1FBQ25ELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPO1NBQ1Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDbkI7YUFBTTtZQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWEsRUFBRSxFQUFFO2dCQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUFBLENBQUM7SUFDTyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRXpCLElBQUksS0FBSztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU8sV0FBVyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFlLENBQUM7SUFFaEIsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO3VHQWpDUSxzQkFBc0I7MkZBQXRCLHNCQUFzQix5SENoQ25DLHdaQVdBLG9qQkRGZ0I7WUFDUixPQUFPLENBQUMsd0JBQXdCLEVBQUU7Z0JBQzlCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO29CQUNGLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsUUFBUTtvQkFDcEIsTUFBTSxFQUFFLENBQUM7aUJBQ1osQ0FBQyxDQUNMO2dCQUNELEtBQUssQ0FDRCxVQUFVLEVBQ1YsS0FBSyxDQUFDO29CQUNGLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsU0FBUztpQkFDeEIsQ0FBQyxDQUNMO2dCQUNELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQzdELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNqRSxDQUFDO1NBQ0w7OzJGQUdRLHNCQUFzQjtrQkEzQmxDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBR2Y7d0JBQ1IsT0FBTyxDQUFDLHdCQUF3QixFQUFFOzRCQUM5QixLQUFLLENBQ0QsV0FBVyxFQUNYLEtBQUssQ0FBQztnQ0FDRixRQUFRLEVBQUUsUUFBUTtnQ0FDbEIsVUFBVSxFQUFFLFFBQVE7Z0NBQ3BCLE1BQU0sRUFBRSxDQUFDOzZCQUNaLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQztnQ0FDRixRQUFRLEVBQUUsUUFBUTtnQ0FDbEIsVUFBVSxFQUFFLFNBQVM7NkJBQ3hCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDOzRCQUM3RCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7eUJBQ2pFLENBQUM7cUJBQ0w7MEVBUVEsS0FBSztzQkFBYixLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBYUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZGV0YWlscy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItZGV0YWlscy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2V4cGFuc2lvbkluZGljYXRvckxpc3QnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY29sbGFwc2VkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZXhwYW5kZWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1pbicpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2V4cGFuZGVkID0+IGNvbGxhcHNlZCcsIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JykpLFxuICAgICAgICBdKSxcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgRHJEZXRhaWxzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwdWJsaWMgbGlzdDogc3RyaW5nW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIHRpdGxlID0gJ1Nob3cgZGV0YWlscyc7XG4gICAgQElucHV0KCkgc2V0IGl0ZW1zKHZhbDogc3RyaW5nW10gfCBPYnNlcnZhYmxlPHN0cmluZ1tdPikge1xuICAgICAgICBpZiAoIXZhbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgdGhpcy5saXN0ID0gdmFsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3QgPSByZXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgQElucHV0KCkgY29sbGFwc2UgPSB0cnVlO1xuXG4gICAgZ2V0IHN0YXRlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmNvbGxhcHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2NvbGxhcHNlZCc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICdleHBhbmRlZCc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRldGFpbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc19faGVhZGVyXCIgKGNsaWNrKT1cImNvbGxhcHNlID0gIWNvbGxhcHNlXCI+XG4gICAgICAgIDxpIFtjbGFzcy5kci1pY29uLWFycm93LXJpZ2h0XT1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgW2NsYXNzLmRyLWljb24tYXJyb3ctZG93bl09XCIhY29sbGFwc2VcIj5cbiAgICAgICAgPC9pPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cImRldGFpbHNfX2xpc3RcIiBbQGV4cGFuc2lvbkluZGljYXRvckxpc3RdPVwieyB2YWx1ZTogc3RhdGUgfVwiPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPnt7IGl0ZW0gfX08L2xpPlxuICAgIDwvdWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { DrDetailsListComponent } from './dr-details-list.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DrDetailsListModule {
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListModule, declarations: [DrDetailsListComponent], imports: [CommonModule], exports: [DrDetailsListComponent] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListModule, imports: [CommonModule] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DrDetailsListModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule,
|
|
15
|
+
],
|
|
16
|
+
exports: [DrDetailsListComponent],
|
|
17
|
+
providers: [],
|
|
18
|
+
declarations: [DrDetailsListComponent],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGV0YWlscy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVcvQyxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixpQkFIYixzQkFBc0IsYUFKakMsWUFBWSxhQUVOLHNCQUFzQjt3R0FLdkIsbUJBQW1CLFlBUHhCLFlBQVk7OzJGQU9QLG1CQUFtQjtrQkFUL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyRGV0YWlsc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEckRldGFpbHNMaXN0Q29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGRlY2xhcmF0aW9uczogW0RyRGV0YWlsc0xpc3RDb21wb25lbnRdLFxufSlcblxuZXhwb3J0IGNsYXNzIERyRGV0YWlsc0xpc3RNb2R1bGUge1xufVxuIl19
|
package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, HostBinding, Inject } from '@angular/core';
|
|
2
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
+
import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
|
4
|
+
import { DIALOG_FIELD_TYPE } from '../../interfaces/dialog-data';
|
|
5
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
6
|
+
import { catchError, takeUntil } from 'rxjs/operators';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/legacy-dialog";
|
|
9
|
+
import * as i2 from "../../services/dialog.service";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "../../../dr-inputs/button/button.component";
|
|
12
|
+
import * as i5 from "../../../dr-inputs/checkbox/checkbox.component";
|
|
13
|
+
import * as i6 from "../../../dr-inputs/dr-input/dr-input.component";
|
|
14
|
+
import * as i7 from "../../../dr-inputs/dr-select/dr-select.component";
|
|
15
|
+
import * as i8 from "../../../dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component";
|
|
16
|
+
import * as i9 from "@angular/forms";
|
|
17
|
+
export class DialogModalWrapperComponent {
|
|
18
|
+
dialogRef;
|
|
19
|
+
dialogService;
|
|
20
|
+
dialogData;
|
|
21
|
+
dialogFieldType = DIALOG_FIELD_TYPE;
|
|
22
|
+
form;
|
|
23
|
+
saving$ = new BehaviorSubject(false);
|
|
24
|
+
isLoading = false;
|
|
25
|
+
showServerErrorMessage = false;
|
|
26
|
+
destroy$ = new Subject();
|
|
27
|
+
class = this?.dialogData?.theme?.themeSize;
|
|
28
|
+
constructor(dialogRef, dialogService, dialogData) {
|
|
29
|
+
this.dialogRef = dialogRef;
|
|
30
|
+
this.dialogService = dialogService;
|
|
31
|
+
this.dialogData = dialogData;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (!this.dialogData.fields)
|
|
35
|
+
this.dialogData.fields = [];
|
|
36
|
+
this.form = new UntypedFormGroup(this.dialogData.fields.reduce((accumulator, currentValue) => {
|
|
37
|
+
const currentFormControl = {};
|
|
38
|
+
currentFormControl[currentValue.name] = new UntypedFormGroup(currentValue.default || null, currentValue.validators || []);
|
|
39
|
+
return Object.assign(accumulator, currentFormControl);
|
|
40
|
+
}, {}));
|
|
41
|
+
}
|
|
42
|
+
onAccept() {
|
|
43
|
+
if (!this.dialogData.confirmFn)
|
|
44
|
+
return this.dialogRef.close(this.form.value || true);
|
|
45
|
+
this.isLoading = true;
|
|
46
|
+
this.saving$.next(true);
|
|
47
|
+
this.dialogData.confirmFn(this.form.value).pipe(takeUntil(this.destroy$), catchError((err) => {
|
|
48
|
+
this.showServerErrorMessage = true;
|
|
49
|
+
this.isLoading = false;
|
|
50
|
+
return this.dialogService.throwErr(err, this.saving$);
|
|
51
|
+
})).subscribe(() => {
|
|
52
|
+
this.saving$.next(false);
|
|
53
|
+
this.dialogRef.close(this.form.value || true);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
footerAction() {
|
|
57
|
+
this.dialogData.footerTemplateData.action(this.form.value);
|
|
58
|
+
}
|
|
59
|
+
closeDialog() {
|
|
60
|
+
this.dialogRef.close(false);
|
|
61
|
+
}
|
|
62
|
+
ngOnDestroy() {
|
|
63
|
+
this.destroy$.next(null);
|
|
64
|
+
this.destroy$.complete();
|
|
65
|
+
}
|
|
66
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogModalWrapperComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: i2.DialogService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DialogModalWrapperComponent, selector: "dr-dialog-modal-wrapper", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">{{ dialogData.title }}</h1>\n <i mat-icon-button *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\"\n data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div class=\"dr-smart-form_wrapper\">\n <div *ngFor=\"let field of dialogData.fields\" class=\"dr-smart-form_group\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\">{{ field.label }}</label>\n <div class=\"input-group p-0\"\n [ngClass]=\"{ 'col-md-10': field.label && !field.isLabelFullWidth, 'col-md-12': !field.label || field.isLabelFullWidth }\">\n <dr-select *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close();\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\"\n class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}</button>\n </ng-template>\n </dr-select>\n <dr-input *ngIf=\"field.type === dialogFieldType.INPUT\" data-test=\"modalInput\" class=\"form-control\"\n [formControlName]=\"field.name\" [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label class=\"form-field-error-alert\" *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\"\n *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\"\n [theme]=\"'secondary'\">{{ dialogData.cancelButton.label }}</dr-button>\n <dr-button *ngIf=\"dialogData.acceptButton\" data-test=\"modalAddBtn\" (click)=\"onAccept()\" [theme]=\"'primary'\"\n [isLoading]=\"isLoading\" [disabled]=\"form.invalid\">{{ dialogData.acceptButton.label }}</dr-button>\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:700;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"], outputs: ["click"] }, { kind: "component", type: i5.CheckboxComponent, selector: "dr-checkbox", inputs: ["checkedStatus", "disabled", "icon", "indeterminate"], outputs: ["checkedChange"] }, { kind: "component", type: i6.DrInputComponent, selector: "dr-input", inputs: ["disabled", "buttonOptions", "type", "name", "placeholder", "readonly", "clearable", "min", "max", "minLength", "maxlength", "step"], outputs: ["blur", "ngModelDebounceChange", "searchHandler", "clearHandler", "buttonHandler"] }, { kind: "component", type: i7.DrSelectComponent, selector: "dr-select", inputs: ["className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "hideSelected", "placeholder", "loading", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen"], outputs: ["change", "open"] }, { kind: "component", type: i8.DrDatePickerComponent, selector: "dr-date-picker", inputs: ["format", "min", "max", "periodPosition", "placeholder", "disabled", "fiscalYearMonthsModifier", "datepickerFilter"] }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
|
|
68
|
+
}
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogModalWrapperComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">{{ dialogData.title }}</h1>\n <i mat-icon-button *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\"\n data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div class=\"dr-smart-form_wrapper\">\n <div *ngFor=\"let field of dialogData.fields\" class=\"dr-smart-form_group\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\">{{ field.label }}</label>\n <div class=\"input-group p-0\"\n [ngClass]=\"{ 'col-md-10': field.label && !field.isLabelFullWidth, 'col-md-12': !field.label || field.isLabelFullWidth }\">\n <dr-select *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close();\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\"\n class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}</button>\n </ng-template>\n </dr-select>\n <dr-input *ngIf=\"field.type === dialogFieldType.INPUT\" data-test=\"modalInput\" class=\"form-control\"\n [formControlName]=\"field.name\" [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label class=\"form-field-error-alert\" *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\"\n *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\"\n [theme]=\"'secondary'\">{{ dialogData.cancelButton.label }}</dr-button>\n <dr-button *ngIf=\"dialogData.acceptButton\" data-test=\"modalAddBtn\" (click)=\"onAccept()\" [theme]=\"'primary'\"\n [isLoading]=\"isLoading\" [disabled]=\"form.invalid\">{{ dialogData.acceptButton.label }}</dr-button>\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:700;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: i2.DialogService }, { type: undefined, decorators: [{
|
|
73
|
+
type: Inject,
|
|
74
|
+
args: [MAT_DIALOG_DATA]
|
|
75
|
+
}] }]; }, propDecorators: { class: [{
|
|
76
|
+
type: HostBinding,
|
|
77
|
+
args: ['class']
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixJQUFJLGVBQWUsRUFBc0MsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoSSxPQUFPLEVBQVksaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVN2RCxNQUFNLE9BQU8sMkJBQTJCO0lBWXpCO0lBQ0M7SUFDd0I7SUFiM0IsZUFBZSxHQUFHLGlCQUFpQixDQUFDO0lBRTdDLElBQUksQ0FBbUI7SUFDdkIsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLFFBQVEsR0FBaUIsSUFB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QyxlQUFlOzRDQUxMLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgRElBTE9HX0ZJRUxEX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kaWFsb2ctbW9kYWwtd3JhcHBlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctbW9kYWwtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxuXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBkaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9IHRoaXM/LmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudD4sXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkaWFsb2dEYXRhOiBEYXRhUHJvcCxcbiAgICApIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEuZmllbGRzKSB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzID0gW107XG5cbiAgICAgICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cChjdXJyZW50VmFsdWUuZGVmYXVsdCB8fCBudWxsLCBjdXJyZW50VmFsdWUudmFsaWRhdG9ycyB8fCBbXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjdW11bGF0b3IsIGN1cnJlbnRGb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB9LCB7fSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkFjY2VwdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0RhdGEuY29uZmlybUZuKSByZXR1cm4gdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zYXZpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGlhbG9nRGF0YS5jb25maXJtRm4odGhpcy5mb3JtLnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U2VydmVyRXJyb3JNZXNzYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1NlcnZpY2UudGhyb3dFcnIoZXJyLCB0aGlzLnNhdmluZyQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zYXZpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmb290ZXJBY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEuYWN0aW9uKHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2VEaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBoZWFkZXIgY2xhc3M9XCJoZWFkZXItZGlhbG9nXCI+XG4gICAgPGgxIGNsYXNzPVwidGl0bGUtZGlhbG9nXCIgZGF0YS10ZXN0PVwibW9kYWxUaXRsZVwiPnt7IGRpYWxvZ0RhdGEudGl0bGUgfX08L2gxPlxuICAgIDxpIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIiFkaWFsb2dEYXRhLmhpZGVDbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgY2xhc3M9XCJkci1pY29uLWV4aXQgaWNvbi1jbG9zZVwiXG4gICAgICAgZGF0YS10ZXN0PVwieEJ0blwiPjwvaT5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImRpYWxvZ0RhdGEuY29udGVudFwiIGNsYXNzPVwiY29udGVudC1kaWFsb2dcIj5cbiAgICA8bmctY29udGFpbmVyPnt7IGRpYWxvZ0RhdGEuY29udGVudCB9fTwvbmctY29udGFpbmVyPlxuICAgIDxzcGFuICNjb250ZW50IGNsYXNzPVwiY29udGVudC1hbmNob3JcIj48L3NwYW4+XG48L2Rpdj5cbjxmb3JtICpuZ0lmPVwiZGlhbG9nRGF0YS5maWVsZHNcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImRyLXNtYXJ0LWZyb21cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItc21hcnQtZm9ybV93cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGRpYWxvZ0RhdGEuZmllbGRzXCIgY2xhc3M9XCJkci1zbWFydC1mb3JtX2dyb3VwXCJcbiAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6IGZpZWxkLmlzTGFiZWxGdWxsV2lkdGggPyAnYmxvY2snIDogJ2ZsZXgnIH1cIj5cbiAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cImZpZWxkLmxhYmVsICYmIGZpZWxkLnR5cGUgIT09IGRpYWxvZ0ZpZWxkVHlwZS5DSEVDS0JPWFwiXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZmllbGQuaXNMYWJlbEZ1bGxXaWR0aCA/ICdjb2wtbWQtMTIgbWItMicgOiAnY29sLW1kLTInXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsIHAtMCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+e3sgZmllbGQubGFiZWwgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHAtMFwiXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NvbC1tZC0xMCc6IGZpZWxkLmxhYmVsICYmICFmaWVsZC5pc0xhYmVsRnVsbFdpZHRoLCAnY29sLW1kLTEyJzogIWZpZWxkLmxhYmVsIHx8IGZpZWxkLmlzTGFiZWxGdWxsV2lkdGggfVwiPlxuICAgICAgICAgICAgICAgIDxkci1zZWxlY3QgKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuU0VMRUNUXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImRpYWxvZ0RhdGEuc2VhcmNoYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cImRpYWxvZ0RhdGEuY2xlYXJhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbYmluZExhYmVsXT1cImZpZWxkLmJpbmRMYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbV09XCJmaWVsZC5kZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJmaWVsZC5pdGVtcyB8fCAoZmllbGQuaXRlbXMkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJkaWFsb2dEYXRhPy5mb290ZXJUZW1wbGF0ZURhdGFcIiAjb3B0aW9uRm9vdGVyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsb3NlPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZvb3RlckFjdGlvbigpOyBjbG9zZSgpO1wiIGNsYXNzPVwiZHItc2VsZWN0LWZvb3Rlcl9fYnRuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJkaWFsb2dEYXRhLmZvb3RlclRlbXBsYXRlRGF0YS5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7IGRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEubGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2RyLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8ZHItaW5wdXQgKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuSU5QVVRcIiBkYXRhLXRlc3Q9XCJtb2RhbElucHV0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIj48L2RyLWlucHV0PlxuICAgICAgICAgICAgICAgIDxkci1kYXRlLXBpY2tlciAqbmdJZj1cImZpZWxkLnR5cGUgPT09IGRpYWxvZ0ZpZWxkVHlwZS5EQVRFX1BJQ0tFUlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiZmllbGQuZGF0ZVBpY2tlckZvcm1hdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPjwvZHItZGF0ZS1waWNrZXI+XG4gICAgICAgICAgICAgICAgPGRyLWNoZWNrYm94ICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLkNIRUNLQk9YXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9kci1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWZpZWxkLWVycm9yLWFsZXJ0XCIgKm5nSWY9XCJmb3JtLmludmFsaWQgJiYgZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXT8uZGlydHkgJiYgZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXT8uZXJyb3JzXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZvcm0uY29udHJvbHNbZmllbGQubmFtZV0uZXJyb3JzLmVycm9yU3RyaW5nIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWVycm9yLWFsZXJ0XCIgKm5nSWY9XCJkaWFsb2dEYXRhLmVycm9yTWVzc2FnZSAmJiAhZm9ybS5wcmlzdGluZSAmJiBmb3JtLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5lcnJvck1lc3NhZ2UgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tZXJyb3ItYWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0udmFsaWQgJiYgc2hvd1NlcnZlckVycm9yTWVzc2FnZSAmJiBkaWFsb2dEYXRhLnNlcnZlckVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaWFsb2dEYXRhLnNlcnZlckVycm9yTWVzc2FnZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Zvcm0+XG5cbjxkaXYgZm9vdGVyIGNsYXNzPVwiZm9vdGVyLWRpYWxvZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zLXdyYXBwZXJcIiAqbmdJZj1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uIHx8IGRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uXCI+XG4gICAgICAgIDxkci1idXR0b24gKm5nSWY9XCJkaWFsb2dEYXRhLmNhbmNlbEJ1dHRvblwiIGRhdGEtdGVzdD1cIm1vZGFsQ2xvc2VCdG5cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiXG4gICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cIidzZWNvbmRhcnknXCI+e3sgZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24ubGFiZWwgfX08L2RyLWJ1dHRvbj5cbiAgICAgICAgPGRyLWJ1dHRvbiAqbmdJZj1cImRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uXCIgZGF0YS10ZXN0PVwibW9kYWxBZGRCdG5cIiAoY2xpY2spPVwib25BY2NlcHQoKVwiIFt0aGVtZV09XCIncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPnt7IGRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmxhYmVsIH19PC9kci1idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Component, HostBinding, Inject, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
5
|
+
import { catchError, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/legacy-dialog";
|
|
8
|
+
import * as i2 from "../../services/dialog.service";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "../../../dr-inputs/button/button.component";
|
|
11
|
+
import * as i5 from "../../../dr-tooltip/dr-tooltip.directive";
|
|
12
|
+
import * as i6 from "../../../dr-details-list/dr-details-list.component";
|
|
13
|
+
export class DialogWrapperComponent {
|
|
14
|
+
dialogRef;
|
|
15
|
+
dialogService;
|
|
16
|
+
cdr;
|
|
17
|
+
componentFactoryResolver;
|
|
18
|
+
dialogData;
|
|
19
|
+
content;
|
|
20
|
+
class = this.dialogData?.theme?.noThemeSizeClass ? null : this.dialogData?.theme?.themeSize || 'medium-modal';
|
|
21
|
+
childComponent;
|
|
22
|
+
isLoading;
|
|
23
|
+
saving$ = new BehaviorSubject(false);
|
|
24
|
+
destroy$ = new Subject();
|
|
25
|
+
constructor(dialogRef, dialogService, cdr, componentFactoryResolver, dialogData) {
|
|
26
|
+
this.dialogRef = dialogRef;
|
|
27
|
+
this.dialogService = dialogService;
|
|
28
|
+
this.cdr = cdr;
|
|
29
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
30
|
+
this.dialogData = dialogData;
|
|
31
|
+
}
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
if (!this.dialogData.child) {
|
|
34
|
+
return new Error('Expected componentTypeChild');
|
|
35
|
+
}
|
|
36
|
+
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.dialogData.child);
|
|
37
|
+
this.childComponent = this.content.createComponent(componentFactory).instance;
|
|
38
|
+
this.childComponent.closeDialog = this.closeDialog.bind(this);
|
|
39
|
+
this.childComponent.onAcceptDialog = this.onAcceptDialog.bind(this);
|
|
40
|
+
// pass data to component child
|
|
41
|
+
if (this.dialogData.childData) {
|
|
42
|
+
_.assign(this.childComponent, this.dialogData.childData);
|
|
43
|
+
}
|
|
44
|
+
// call component child init func - looks like double init
|
|
45
|
+
// if (this.childComponent.ngOnInit) {
|
|
46
|
+
// this.childComponent.ngOnInit();
|
|
47
|
+
// }
|
|
48
|
+
this.cdr.detectChanges();
|
|
49
|
+
}
|
|
50
|
+
closeDialog(data) {
|
|
51
|
+
this.dialogRef.close(data || false);
|
|
52
|
+
}
|
|
53
|
+
enableAcceptButton() {
|
|
54
|
+
this.dialogData.acceptButton.isDisabled = false;
|
|
55
|
+
}
|
|
56
|
+
onDecline() {
|
|
57
|
+
this.dialogRef.close(undefined);
|
|
58
|
+
}
|
|
59
|
+
onAcceptDialog(data) {
|
|
60
|
+
if (!this.childComponent) {
|
|
61
|
+
this.dialogRef.close(data || true);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const funcName = this.dialogData.acceptButton.functions;
|
|
65
|
+
if (this.childComponent[funcName])
|
|
66
|
+
this.childComponent[funcName]();
|
|
67
|
+
const loadFuncName = this.dialogData.acceptButton.loading;
|
|
68
|
+
if (this.childComponent[loadFuncName])
|
|
69
|
+
this.isLoading = this.childComponent[loadFuncName]();
|
|
70
|
+
if (this.dialogData.confirmFn) {
|
|
71
|
+
this.saving$.next(true);
|
|
72
|
+
this.dialogData.confirmFn().pipe(takeUntil(this.destroy$), catchError(error => this.dialogService.throwErr(error, this.saving$))).subscribe(() => {
|
|
73
|
+
this.saving$.next(false);
|
|
74
|
+
this.dialogRef.close(data || true);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (this.childComponent && !this.childComponent[funcName]) {
|
|
78
|
+
this.dialogRef.close(data || true);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
ngOnDestroy() {
|
|
83
|
+
this.destroy$.next(null);
|
|
84
|
+
this.destroy$.complete();
|
|
85
|
+
}
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogWrapperComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: i2.DialogService }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: DialogWrapperComponent, selector: "dr-dialog-wrapper", host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"dialog-wrapper\"\n [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\"\n *ngIf=\"dialogData.subtitle\">{{ dialogData.subtitle }}</h1>\n </div>\n <div class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span class=\"dialog-content__wrapper\" [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper dialog-wrapper__footer__button-wrapper--custom\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button (click)=\"onDecline()\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\">{{ dialogData.customButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button (click)=\"closeDialog()\"\n [theme]=\"dialogData.cancelButton?.theme || 'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\">{{ dialogData.cancelButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\">{{ dialogData.acceptButton.label }}</dr-button>\n </span>\n </div>\n </div>\n</div>\n", styles: [":host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:20px;color:#51566f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:8px 52px 8px 32px;border-bottom:1px solid #e5e6ea}::ng-deep .dialog-wrapper__header__title{color:#151b3f;position:static;font-weight:600;font-size:18px;line-height:24px}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:20px;margin:0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #e5e6ea}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"], outputs: ["click"] }, { kind: "directive", type: i5.DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipMousleaveTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "component", type: i6.DrDetailsListComponent, selector: "dr-details-list", inputs: ["title", "items", "collapse"] }] });
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogWrapperComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'dr-dialog-wrapper', template: "<div class=\"dialog-wrapper\"\n [class.dialog-wrapper--confirmation-no-title]=\"dialogData.theme?.isConfirmation && !dialogData.title\">\n <i class=\"dr-icon-exit\" data-test=\"close_btn\" (click)=\"closeDialog()\" *ngIf=\"!dialogData?.hideCloseBtn\"></i>\n\n <div header class=\"dialog-wrapper__header\" *ngIf=\"dialogData.title\">\n <h1 class=\"dialog-wrapper__header__title\" data-test=\"dialogTitle\">{{ dialogData.title }}</h1>\n <h1 class=\"dialog-wrapper__header__subtitle\" data-test=\"dialogSubtitle\"\n *ngIf=\"dialogData.subtitle\">{{ dialogData.subtitle }}</h1>\n </div>\n <div class=\"dialog-wrapper__content\"\n [class.dialog-wrapper__content--no-padding]=\"dialogData.theme?.contentNoPadding\"\n [ngClass]=\"{ 'flex-position': dialogData.contentIcon?.class && !childComponent }\">\n <span *ngIf=\"dialogData.contentIcon?.class\" class=\"dialog-wrapper__content__icon\">\n <i [ngClass]=\"dialogData.contentIcon.class\" [style.color]=\"dialogData.contentIcon?.color || 'inherit'\"></i>\n </span>\n <span class=\"dialog-content__wrapper\" [innerHTML]=\"dialogData.content\"></span>\n <span #content class=\"dialog-wrapper__content__anchor\"> </span>\n </div>\n <dr-details-list *ngIf=\"dialogData.details\"\n [title]=\"dialogData.details.title\"\n [items]=\"dialogData.details.items\">\n </dr-details-list>\n <div footer class=\"dialog-wrapper__footer\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <div class=\"dialog-wrapper__footer__buttons\">\n <span *ngIf=\"dialogData.customButton\"\n class=\"dialog-wrapper__footer__button-wrapper dialog-wrapper__footer__button-wrapper--custom\"\n [drTooltip]=\"dialogData.customButton.isDisabled && dialogData.tooltips?.customDisabled\">\n <dr-button (click)=\"onDecline()\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n [isLoading]=\"isLoading\"\n data-test=\"declineBtn\"\n [disabled]=\"dialogData.customButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.custom\">{{ dialogData.customButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.cancelButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.cancelButton.isDisabled && dialogData.tooltips?.cancelDisabled\">\n <dr-button (click)=\"closeDialog()\"\n [theme]=\"dialogData.cancelButton?.theme || 'secondary'\"\n data-test=\"closeBtn\"\n [disabled]=\"dialogData.cancelButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.cancel\">{{ dialogData.cancelButton.label }}</dr-button>\n </span>\n <span *ngIf=\"dialogData.acceptButton\"\n class=\"dialog-wrapper__footer__button-wrapper\"\n [drTooltip]=\"dialogData.acceptButton.isDisabled && dialogData.tooltips?.acceptDisabled\">\n <dr-button (click)=\"onAcceptDialog()\"\n [theme]=\"dialogData.acceptButton?.theme || 'primary'\"\n [isLoading]=\"isLoading\"\n data-test=\"acceptBtn\"\n [disabled]=\"dialogData.acceptButton.isDisabled\"\n [drTooltip]=\"dialogData.tooltips?.accept\">{{ dialogData.acceptButton.label }}</dr-button>\n </span>\n </div>\n </div>\n</div>\n", styles: [":host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:85vh}:host.large-modal{min-width:750px;max-width:750px}:host.medium-large-modal{min-width:669px;max-width:669px}:host.xl-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:1100px}:host.xl-custom-modal{min-height:188px;max-height:800px;min-width:1100px;max-width:100%}::ng-deep .dialog-wrapper{display:flex;justify-content:space-between;flex-direction:column;position:relative}::ng-deep .dialog-wrapper>.dr-icon-exit{z-index:1;position:absolute;right:32px;top:20px;color:#51566f;cursor:pointer}::ng-deep .dialog-wrapper__header{display:flex;flex-direction:column;padding:8px 52px 8px 32px;border-bottom:1px solid #e5e6ea}::ng-deep .dialog-wrapper__header__title{color:#151b3f;position:static;font-weight:600;font-size:18px;line-height:24px}::ng-deep .dialog-wrapper__header__subtitle{font-size:14px;line-height:20px;margin:0}::ng-deep .dialog-wrapper--confirmation-no-title{padding-top:16px;height:100%}::ng-deep .dialog-wrapper__content{overflow-y:inherit;font-size:14px;font-weight:400;line-height:22px;padding:24px 32px 32px}::ng-deep .dialog-wrapper__content__anchor{display:none}::ng-deep .dialog-wrapper__content--no-padding{padding:0}::ng-deep .dialog-wrapper__content__icon{margin-right:10px;top:5px;position:relative}::ng-deep .dialog-wrapper__content.flex-position{display:flex}::ng-deep .dialog-wrapper__content .dialog-content__wrapper{white-space:pre-line}::ng-deep .dialog-wrapper dr-details-list{margin-top:-24px;padding:0 32px 32px}::ng-deep .dialog-wrapper__footer{border-top:1px solid #e5e6ea}::ng-deep .dialog-wrapper__footer__buttons{display:flex;justify-content:flex-end;padding:11px 32px}::ng-deep .dialog-wrapper__footer__buttons>dr-button:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper:nth-child(n+2){margin-left:12px}::ng-deep .dialog-wrapper__footer__button-wrapper--custom:nth-last-child(3){margin-right:auto}\n"] }]
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: i2.DialogService }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }, { type: undefined, decorators: [{
|
|
93
|
+
type: Inject,
|
|
94
|
+
args: [MAT_DIALOG_DATA]
|
|
95
|
+
}] }]; }, propDecorators: { content: [{
|
|
96
|
+
type: ViewChild,
|
|
97
|
+
args: ['content', { read: ViewContainerRef }]
|
|
98
|
+
}], class: [{
|
|
99
|
+
type: HostBinding,
|
|
100
|
+
args: ['class']
|
|
101
|
+
}] } });
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFNBQVMsRUFHVCxXQUFXLEVBQ1gsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixJQUFJLGVBQWUsRUFBc0MsTUFBTSxpQ0FBaUMsQ0FBQztBQUVoSSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVF2RCxNQUFNLE9BQU8sc0JBQXNCO0lBVVo7SUFDQztJQUNBO0lBQ0E7SUFDd0I7SUFaTSxPQUFPLENBQW1CO0lBRXRELEtBQUssR0FBYyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLElBQUksY0FBYyxDQUFDO0lBQy9JLGNBQWMsQ0FBTTtJQUNwQixTQUFTLENBQVU7SUFDbkIsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUss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LENBQUMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM3SSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztZQUNuQyxPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt1R0E1RVEsc0JBQXNCLDBKQWNYLGVBQWU7MkZBZDFCLHNCQUFzQix5TEFFRCxnQkFBZ0IsNkJDMUJsRCx3cUhBd0RBOzsyRkRoQ2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG1CQUFtQjs7MEJBa0JoQixNQUFNOzJCQUFDLGVBQWU7NENBWmUsT0FBTztzQkFBeEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTFCLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgU2l6ZU1vZGFsIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kaWFsb2ctZGF0YSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZGlhbG9nLXdyYXBwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3M6IFNpemVNb2RhbCA9IHRoaXMuZGlhbG9nRGF0YT8udGhlbWU/Lm5vVGhlbWVTaXplQ2xhc3MgPyBudWxsIDogdGhpcy5kaWFsb2dEYXRhPy50aGVtZT8udGhlbWVTaXplIHx8ICdtZWRpdW0tbW9kYWwnO1xuICAgIGNoaWxkQ29tcG9uZW50OiBhbnk7XG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAgIHNhdmluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dXcmFwcGVyQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkaWFsb2dEYXRhOiBEYXRhUHJvcCkge1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiBFcnJvciB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNoaWxkKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdFeHBlY3RlZCBjb21wb25lbnRUeXBlQ2hpbGQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PGFueT4gPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmRpYWxvZ0RhdGEuY2hpbGQpO1xuICAgICAgICB0aGlzLmNoaWxkQ29tcG9uZW50ID0gdGhpcy5jb250ZW50LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KS5pbnN0YW5jZTtcbiAgICAgICAgdGhpcy5jaGlsZENvbXBvbmVudC5jbG9zZURpYWxvZyA9IHRoaXMuY2xvc2VEaWFsb2cuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5jaGlsZENvbXBvbmVudC5vbkFjY2VwdERpYWxvZyA9IHRoaXMub25BY2NlcHREaWFsb2cuYmluZCh0aGlzKTtcblxuICAgICAgICAvLyBwYXNzIGRhdGEgdG8gY29tcG9uZW50IGNoaWxkXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ0RhdGEuY2hpbGREYXRhKSB7XG4gICAgICAgICAgICBfLmFzc2lnbih0aGlzLmNoaWxkQ29tcG9uZW50LCB0aGlzLmRpYWxvZ0RhdGEuY2hpbGREYXRhKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjYWxsIGNvbXBvbmVudCBjaGlsZCBpbml0IGZ1bmMgLSBsb29rcyBsaWtlIGRvdWJsZSBpbml0XG4gICAgICAgIC8vIGlmICh0aGlzLmNoaWxkQ29tcG9uZW50Lm5nT25Jbml0KSB7XG4gICAgICAgIC8vICAgdGhpcy5jaGlsZENvbXBvbmVudC5uZ09uSW5pdCgpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZyhkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEgfHwgZmFsc2UpO1xuICAgIH1cblxuICAgIGVuYWJsZUFjY2VwdEJ1dHRvbigpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25EZWNsaW5lKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIG9uQWNjZXB0RGlhbG9nKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhIHx8IHRydWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZ1bmNOYW1lID0gdGhpcy5kaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5mdW5jdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkQ29tcG9uZW50W2Z1bmNOYW1lXSkgdGhpcy5jaGlsZENvbXBvbmVudFtmdW5jTmFtZV0oKTtcbiAgICAgICAgY29uc3QgbG9hZEZ1bmNOYW1lID0gdGhpcy5kaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5sb2FkaW5nO1xuICAgICAgICBpZiAodGhpcy5jaGlsZENvbXBvbmVudFtsb2FkRnVuY05hbWVdKSB0aGlzLmlzTG9hZGluZyA9IHRoaXMuY2hpbGRDb21wb25lbnRbbG9hZEZ1bmNOYW1lXSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ0RhdGEuY29uZmlybUZuKSB7XG4gICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nRGF0YS5jb25maXJtRm4oKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgY2F0Y2hFcnJvcihlcnJvciA9PiB0aGlzLmRpYWxvZ1NlcnZpY2UudGhyb3dFcnIoZXJyb3IsIHRoaXMuc2F2aW5nJCkpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhIHx8IHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jaGlsZENvbXBvbmVudCAmJiAhdGhpcy5jaGlsZENvbXBvbmVudFtmdW5jTmFtZV0pIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEgfHwgdHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy13cmFwcGVyXCJcbiAgICAgW2NsYXNzLmRpYWxvZy13cmFwcGVyLS1jb25maXJtYXRpb24tbm8tdGl0bGVdPVwiZGlhbG9nRGF0YS50aGVtZT8uaXNDb25maXJtYXRpb24gJiYgIWRpYWxvZ0RhdGEudGl0bGVcIj5cbiAgICA8aSBjbGFzcz1cImRyLWljb24tZXhpdFwiIGRhdGEtdGVzdD1cImNsb3NlX2J0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgKm5nSWY9XCIhZGlhbG9nRGF0YT8uaGlkZUNsb3NlQnRuXCI+PC9pPlxuXG4gICAgPGRpdiBoZWFkZXIgY2xhc3M9XCJkaWFsb2ctd3JhcHBlcl9faGVhZGVyXCIgKm5nSWY9XCJkaWFsb2dEYXRhLnRpdGxlXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cImRpYWxvZy13cmFwcGVyX19oZWFkZXJfX3RpdGxlXCIgZGF0YS10ZXN0PVwiZGlhbG9nVGl0bGVcIj57eyBkaWFsb2dEYXRhLnRpdGxlIH19PC9oMT5cbiAgICAgICAgPGgxIGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJfX2hlYWRlcl9fc3VidGl0bGVcIiBkYXRhLXRlc3Q9XCJkaWFsb2dTdWJ0aXRsZVwiXG4gICAgICAgICAgICAqbmdJZj1cImRpYWxvZ0RhdGEuc3VidGl0bGVcIj57eyBkaWFsb2dEYXRhLnN1YnRpdGxlIH19PC9oMT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJfX2NvbnRlbnRcIlxuICAgICAgICAgW2NsYXNzLmRpYWxvZy13cmFwcGVyX19jb250ZW50LS1uby1wYWRkaW5nXT1cImRpYWxvZ0RhdGEudGhlbWU/LmNvbnRlbnROb1BhZGRpbmdcIlxuICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmxleC1wb3NpdGlvbic6IGRpYWxvZ0RhdGEuY29udGVudEljb24/LmNsYXNzICYmICFjaGlsZENvbXBvbmVudCB9XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZGlhbG9nRGF0YS5jb250ZW50SWNvbj8uY2xhc3NcIiBjbGFzcz1cImRpYWxvZy13cmFwcGVyX19jb250ZW50X19pY29uXCI+XG4gICAgICAgICAgICA8aSBbbmdDbGFzc109XCJkaWFsb2dEYXRhLmNvbnRlbnRJY29uLmNsYXNzXCIgW3N0eWxlLmNvbG9yXT1cImRpYWxvZ0RhdGEuY29udGVudEljb24/LmNvbG9yIHx8ICdpbmhlcml0J1wiPjwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpYWxvZy1jb250ZW50X193cmFwcGVyXCIgW2lubmVySFRNTF09XCJkaWFsb2dEYXRhLmNvbnRlbnRcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuICNjb250ZW50IGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJfX2NvbnRlbnRfX2FuY2hvclwiPiA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRyLWRldGFpbHMtbGlzdCAqbmdJZj1cImRpYWxvZ0RhdGEuZGV0YWlsc1wiXG4gICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZGlhbG9nRGF0YS5kZXRhaWxzLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJkaWFsb2dEYXRhLmRldGFpbHMuaXRlbXNcIj5cbiAgICA8L2RyLWRldGFpbHMtbGlzdD5cbiAgICA8ZGl2IGZvb3RlciBjbGFzcz1cImRpYWxvZy13cmFwcGVyX19mb290ZXJcIiAqbmdJZj1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uIHx8IGRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctd3JhcHBlcl9fZm9vdGVyX19idXR0b25zXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJfX2Zvb3Rlcl9fYnV0dG9uLXdyYXBwZXIgZGlhbG9nLXdyYXBwZXJfX2Zvb3Rlcl9fYnV0dG9uLXdyYXBwZXItLWN1c3RvbVwiXG4gICAgICAgICAgICAgICAgICBbZHJUb29sdGlwXT1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uLmlzRGlzYWJsZWQgJiYgZGlhbG9nRGF0YS50b29sdGlwcz8uY3VzdG9tRGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8ZHItYnV0dG9uIChjbGljayk9XCJvbkRlY2xpbmUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwiZGlhbG9nRGF0YS5jdXN0b21CdXR0b24/LnRoZW1lIHx8ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdD1cImRlY2xpbmVCdG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJkaWFsb2dEYXRhLnRvb2x0aXBzPy5jdXN0b21cIj57eyBkaWFsb2dEYXRhLmN1c3RvbUJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkaWFsb2dEYXRhLmNhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImRpYWxvZy13cmFwcGVyX19mb290ZXJfX2J1dHRvbi13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgIFtkclRvb2x0aXBdPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24uaXNEaXNhYmxlZCAmJiBkaWFsb2dEYXRhLnRvb2x0aXBzPy5jYW5jZWxEaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIDxkci1idXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uPy50aGVtZSB8fCAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3Q9XCJjbG9zZUJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24uaXNEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJUb29sdGlwXT1cImRpYWxvZ0RhdGEudG9vbHRpcHM/LmNhbmNlbFwiPnt7IGRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uLmxhYmVsIH19PC9kci1idXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlhbG9nLXdyYXBwZXJfX2Zvb3Rlcl9fYnV0dG9uLXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5pc0Rpc2FibGVkICYmIGRpYWxvZ0RhdGEudG9vbHRpcHM/LmFjY2VwdERpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgPGRyLWJ1dHRvbiAoY2xpY2spPVwib25BY2NlcHREaWFsb2coKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwiZGlhbG9nRGF0YS5hY2NlcHRCdXR0b24/LnRoZW1lIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3Q9XCJhY2NlcHRCdG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJkaWFsb2dEYXRhLnRvb2x0aXBzPy5hY2NlcHRcIj57eyBkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|