@ng-nest/ui 12.0.8 → 12.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/alert.component.d.ts +2 -1
- package/auto-complete/auto-complete-portal.component.d.ts +1 -3
- package/auto-complete/auto-complete.component.d.ts +1 -1
- package/back-top/back-top.component.d.ts +1 -2
- package/bundles/ng-nest-ui-alert.umd.js +6 -1
- package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.js +7 -6
- package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.js +2 -2
- package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.js +2 -1
- package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.js +4 -3
- package/bundles/ng-nest-ui-button.umd.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.js +4 -3
- package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.js +13 -12
- package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.js +9 -9
- package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.js +3 -2
- package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.js +9 -10
- package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.js +1 -1
- package/bundles/ng-nest-ui-color.umd.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.js +3 -2
- package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.js +3 -3
- package/bundles/ng-nest-ui-core.umd.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.js +3 -2
- package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.js +34 -44
- package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-description.umd.js +5 -6
- package/bundles/ng-nest-ui-description.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.js +285 -32
- package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.js +247 -15
- package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.js +4 -3
- package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.js +33 -8
- package/bundles/ng-nest-ui-find.umd.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.js +6 -10
- package/bundles/ng-nest-ui-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.js +2 -1
- package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js +2 -1
- package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.js +3 -2
- package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.js +1 -1
- package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.js +9 -7
- package/bundles/ng-nest-ui-input.umd.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.js +4 -3
- package/bundles/ng-nest-ui-list.umd.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.js +2 -1
- package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.js +6 -6
- package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.js +28 -26
- package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.js +53 -17
- package/bundles/ng-nest-ui-message.umd.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.js +1 -1
- package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.js +3 -2
- package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.js +33 -4
- package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.js +15 -3
- package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.js +8 -8
- package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.js +236 -20
- package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.js +3 -2
- package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.js +5 -5
- package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.js +7 -6
- package/bundles/ng-nest-ui-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.js +2 -1
- package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.js +7 -8
- package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.js +6 -4
- package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.js +23 -10
- package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.js +13 -10
- package/bundles/ng-nest-ui-table.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.js +5 -4
- package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.js +2 -1
- package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.js +2 -1
- package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.js +3 -12
- package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.js +2 -2
- package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.js +32 -15
- package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.js +3 -2
- package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.js +3 -2
- package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.js +3 -2
- package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.js +8 -7
- package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.js +5 -4
- package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
- package/button/buttons.component.d.ts +1 -1
- package/calendar/calendar.component.d.ts +2 -2
- package/carousel/carousel-panel.component.d.ts +2 -3
- package/carousel/carousel.component.d.ts +1 -1
- package/cascade/cascade-portal.component.d.ts +4 -7
- package/cascade/cascade.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/color/color.component.d.ts +2 -2
- package/color-picker/color-picker-portal.component.d.ts +1 -3
- package/color-picker/color-picker.component.d.ts +2 -3
- package/comment/comment.component.d.ts +1 -1
- package/core/config/config.d.ts +7 -0
- package/core/interfaces/layout.type.d.ts +1 -1
- package/core/services/reuse-strategy.service.d.ts +1 -1
- package/crumb/crumb.component.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +1 -3
- package/date-picker/date-picker.component.d.ts +3 -4
- package/date-picker/date-picker.property.d.ts +1 -16
- package/date-picker/date-range-portal.component.d.ts +1 -3
- package/date-picker/date-range.component.d.ts +2 -3
- package/date-picker/picker-date.component.d.ts +1 -1
- package/date-picker/picker-month.component.d.ts +1 -1
- package/date-picker/picker-year.component.d.ts +1 -1
- package/description/description.component.d.ts +2 -4
- package/dialog/dialog-container.component.d.ts +18 -0
- package/dialog/dialog-container.directives.d.ts +24 -0
- package/dialog/dialog-ref.d.ts +9 -0
- package/dialog/dialog.module.d.ts +13 -11
- package/dialog/dialog.property.d.ts +84 -6
- package/dialog/dialog.service.d.ts +19 -0
- package/dialog/public-api.d.ts +4 -0
- package/drawer/drawer-container.component.d.ts +18 -0
- package/drawer/drawer-container.directives.d.ts +19 -0
- package/drawer/drawer-ref.d.ts +9 -0
- package/drawer/drawer.module.d.ts +8 -6
- package/drawer/drawer.property.d.ts +83 -2
- package/drawer/drawer.service.d.ts +19 -0
- package/drawer/public-api.d.ts +5 -0
- package/dropdown/dropdown-portal.component.d.ts +1 -3
- package/dropdown/dropdown.component.d.ts +2 -2
- package/esm2015/alert/alert.component.js +8 -3
- package/esm2015/anchor/anchor.component.js +2 -2
- package/esm2015/anchor/anchor.property.js +1 -1
- package/esm2015/auto-complete/auto-complete-portal.component.js +4 -4
- package/esm2015/auto-complete/auto-complete.component.js +5 -4
- package/esm2015/auto-complete/auto-complete.property.js +1 -1
- package/esm2015/back-top/back-top.component.js +3 -3
- package/esm2015/badge/badge.component.js +3 -2
- package/esm2015/button/button.component.js +5 -4
- package/esm2015/button/buttons.component.js +1 -1
- package/esm2015/calendar/calendar.component.js +5 -4
- package/esm2015/carousel/carousel-panel.component.js +12 -11
- package/esm2015/carousel/carousel.component.js +4 -3
- package/esm2015/cascade/cascade-portal.component.js +6 -7
- package/esm2015/cascade/cascade.component.js +5 -4
- package/esm2015/checkbox/checkbox.component.js +4 -3
- package/esm2015/checkbox/checkbox.property.js +1 -1
- package/esm2015/color/color.component.js +2 -2
- package/esm2015/color-picker/color-picker-portal.component.js +3 -3
- package/esm2015/color-picker/color-picker.component.js +8 -9
- package/esm2015/comment/comment.component.js +4 -3
- package/esm2015/container/container.component.js +2 -2
- package/esm2015/core/animation/fade.js +1 -1
- package/esm2015/core/config/config.js +1 -1
- package/esm2015/core/interfaces/layout.type.js +1 -1
- package/esm2015/core/services/http.service.js +2 -2
- package/esm2015/core/services/preloading-strategy.service.js +2 -2
- package/esm2015/core/services/reuse-strategy.service.js +2 -2
- package/esm2015/crumb/crumb.component.js +4 -3
- package/esm2015/date-picker/date-picker-portal.component.js +4 -4
- package/esm2015/date-picker/date-picker.component.js +9 -13
- package/esm2015/date-picker/date-picker.property.js +8 -17
- package/esm2015/date-picker/date-range-portal.component.js +2 -2
- package/esm2015/date-picker/date-range.component.js +7 -7
- package/esm2015/date-picker/picker-date.component.js +4 -3
- package/esm2015/date-picker/picker-month.component.js +4 -3
- package/esm2015/date-picker/picker-year.component.js +4 -3
- package/esm2015/description/description.component.js +6 -7
- package/esm2015/dialog/dialog-container.component.js +59 -0
- package/esm2015/dialog/dialog-container.directives.js +73 -0
- package/esm2015/dialog/dialog-ref.js +17 -0
- package/esm2015/dialog/dialog.component.js +4 -3
- package/esm2015/dialog/dialog.module.js +37 -7
- package/esm2015/dialog/dialog.property.js +17 -16
- package/esm2015/dialog/dialog.service.js +67 -0
- package/esm2015/dialog/public-api.js +5 -1
- package/esm2015/drawer/drawer-container.component.js +59 -0
- package/esm2015/drawer/drawer-container.directives.js +57 -0
- package/esm2015/drawer/drawer-ref.js +17 -0
- package/esm2015/drawer/drawer.component.js +4 -3
- package/esm2015/drawer/drawer.module.js +22 -6
- package/esm2015/drawer/drawer.property.js +22 -6
- package/esm2015/drawer/drawer.service.js +65 -0
- package/esm2015/drawer/public-api.js +6 -1
- package/esm2015/dropdown/dropdown-portal.component.js +2 -2
- package/esm2015/dropdown/dropdown.component.js +4 -3
- package/esm2015/find/find.component.js +18 -8
- package/esm2015/find/find.property.js +18 -2
- package/esm2015/form/control.component.js +1 -1
- package/esm2015/form/form.component.js +6 -5
- package/esm2015/form/form.property.js +3 -8
- package/esm2015/highlight/highlight.component.js +3 -2
- package/esm2015/highlight/highlight.property.js +1 -1
- package/esm2015/i18n/i18n.directive.js +3 -2
- package/esm2015/icon/icon.component.js +4 -3
- package/esm2015/inner/inner.component.js +2 -2
- package/esm2015/input/input-group.component.js +2 -4
- package/esm2015/input/input.component.js +9 -5
- package/esm2015/input/input.property.js +1 -1
- package/esm2015/list/list.component.js +5 -4
- package/esm2015/list/list.property.js +1 -1
- package/esm2015/loading/loading.component.js +3 -2
- package/esm2015/menu/menu-node.component.js +1 -1
- package/esm2015/menu/menu.component.js +7 -7
- package/esm2015/message/message-ref.js +12 -0
- package/esm2015/message/message.component.js +4 -4
- package/esm2015/message/message.property.js +2 -2
- package/esm2015/message/message.service.js +37 -15
- package/esm2015/message/public-api.js +2 -1
- package/esm2015/message-box/message-box.component.js +17 -21
- package/esm2015/message-box/message-box.service.js +7 -5
- package/esm2015/notification/notification.component.js +2 -2
- package/esm2015/notification/notification.property.js +1 -1
- package/esm2015/pagination/pagination.component.js +4 -3
- package/esm2015/popconfirm/popconfirm.component.js +25 -4
- package/esm2015/popconfirm/popconfirm.property.js +10 -3
- package/esm2015/popover/popover.directive.js +10 -3
- package/esm2015/popover/popover.property.js +7 -2
- package/esm2015/portal/portal.module.js +4 -3
- package/esm2015/portal/portal.service.js +8 -9
- package/esm2015/progress/progress.component.js +178 -15
- package/esm2015/progress/progress.property.js +50 -3
- package/esm2015/radio/radio.component.js +4 -3
- package/esm2015/radio/radio.property.js +1 -1
- package/esm2015/rate/rate.component.js +6 -6
- package/esm2015/ripple/ripple.directive.js +1 -1
- package/esm2015/ripple/ripple.property.js +1 -1
- package/esm2015/select/select-portal.component.js +3 -3
- package/esm2015/select/select.component.js +6 -5
- package/esm2015/skeleton/skeleton.component.js +3 -2
- package/esm2015/slider/slider.component.js +8 -9
- package/esm2015/statistic/countdown.component.js +5 -4
- package/esm2015/statistic/statistic.component.js +3 -2
- package/esm2015/steps/steps.component.js +18 -10
- package/esm2015/steps/steps.property.js +8 -3
- package/esm2015/table/drag.directive.js +2 -2
- package/esm2015/table/table-body.component.js +4 -3
- package/esm2015/table/table-foot.component.js +1 -1
- package/esm2015/table/table-head.component.js +5 -4
- package/esm2015/table/table.component.js +6 -5
- package/esm2015/table/table.property.js +1 -1
- package/esm2015/tabs/tab.component.js +1 -1
- package/esm2015/tabs/tabs.component.js +6 -5
- package/esm2015/tag/tag.component.js +3 -2
- package/esm2015/text-retract/text-retract.component.js +3 -2
- package/esm2015/textarea/textarea.component.js +3 -2
- package/esm2015/textarea/textarea.property.js +2 -12
- package/esm2015/theme/theme.component.js +3 -3
- package/esm2015/theme/theme.property.js +1 -1
- package/esm2015/time-picker/time-picker-frame.component.js +9 -5
- package/esm2015/time-picker/time-picker-portal.component.js +2 -2
- package/esm2015/time-picker/time-picker.component.js +25 -12
- package/esm2015/timeline/timeline.component.js +4 -3
- package/esm2015/tooltip/tooltip.directive.js +4 -3
- package/esm2015/tooltip/tooltip.property.js +1 -1
- package/esm2015/transfer/transfer.component.js +4 -3
- package/esm2015/tree/tree-node.component.js +2 -2
- package/esm2015/tree/tree.component.js +8 -7
- package/esm2015/tree/tree.property.js +1 -1
- package/esm2015/upload/upload-portal.component.js +2 -2
- package/esm2015/upload/upload.component.js +5 -4
- package/fesm2015/ng-nest-ui-alert.js +7 -2
- package/fesm2015/ng-nest-ui-alert.js.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.js +1 -1
- package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
- package/fesm2015/ng-nest-ui-auto-complete.js +7 -6
- package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
- package/fesm2015/ng-nest-ui-back-top.js +2 -2
- package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
- package/fesm2015/ng-nest-ui-badge.js +2 -1
- package/fesm2015/ng-nest-ui-badge.js.map +1 -1
- package/fesm2015/ng-nest-ui-button.js +4 -3
- package/fesm2015/ng-nest-ui-button.js.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.js +4 -3
- package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
- package/fesm2015/ng-nest-ui-carousel.js +12 -11
- package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.js +9 -9
- package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.js +3 -2
- package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.js +9 -10
- package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-color.js +1 -1
- package/fesm2015/ng-nest-ui-color.js.map +1 -1
- package/fesm2015/ng-nest-ui-comment.js +3 -2
- package/fesm2015/ng-nest-ui-comment.js.map +1 -1
- package/fesm2015/ng-nest-ui-container.js +1 -1
- package/fesm2015/ng-nest-ui-container.js.map +1 -1
- package/fesm2015/ng-nest-ui-core.js +3 -3
- package/fesm2015/ng-nest-ui-core.js.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.js +3 -2
- package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.js +34 -44
- package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-description.js +5 -6
- package/fesm2015/ng-nest-ui-description.js.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.js +256 -26
- package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
- package/fesm2015/ng-nest-ui-drawer.js +226 -14
- package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.js +4 -3
- package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
- package/fesm2015/ng-nest-ui-find.js +34 -8
- package/fesm2015/ng-nest-ui-find.js.map +1 -1
- package/fesm2015/ng-nest-ui-form.js +7 -11
- package/fesm2015/ng-nest-ui-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.js +2 -1
- package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.js +2 -1
- package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
- package/fesm2015/ng-nest-ui-icon.js +3 -2
- package/fesm2015/ng-nest-ui-icon.js.map +1 -1
- package/fesm2015/ng-nest-ui-inner.js +1 -1
- package/fesm2015/ng-nest-ui-inner.js.map +1 -1
- package/fesm2015/ng-nest-ui-input.js +9 -7
- package/fesm2015/ng-nest-ui-input.js.map +1 -1
- package/fesm2015/ng-nest-ui-list.js +4 -3
- package/fesm2015/ng-nest-ui-list.js.map +1 -1
- package/fesm2015/ng-nest-ui-loading.js +2 -1
- package/fesm2015/ng-nest-ui-loading.js.map +1 -1
- package/fesm2015/ng-nest-ui-menu.js +6 -6
- package/fesm2015/ng-nest-ui-menu.js.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.js +22 -24
- package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
- package/fesm2015/ng-nest-ui-message.js +51 -18
- package/fesm2015/ng-nest-ui-message.js.map +1 -1
- package/fesm2015/ng-nest-ui-notification.js +1 -1
- package/fesm2015/ng-nest-ui-notification.js.map +1 -1
- package/fesm2015/ng-nest-ui-pagination.js +3 -2
- package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
- package/fesm2015/ng-nest-ui-popconfirm.js +33 -5
- package/fesm2015/ng-nest-ui-popconfirm.js.map +1 -1
- package/fesm2015/ng-nest-ui-popover.js +15 -3
- package/fesm2015/ng-nest-ui-popover.js.map +1 -1
- package/fesm2015/ng-nest-ui-portal.js +10 -10
- package/fesm2015/ng-nest-ui-portal.js.map +1 -1
- package/fesm2015/ng-nest-ui-progress.js +226 -17
- package/fesm2015/ng-nest-ui-progress.js.map +1 -1
- package/fesm2015/ng-nest-ui-radio.js +3 -2
- package/fesm2015/ng-nest-ui-radio.js.map +1 -1
- package/fesm2015/ng-nest-ui-rate.js +5 -5
- package/fesm2015/ng-nest-ui-rate.js.map +1 -1
- package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
- package/fesm2015/ng-nest-ui-select.js +7 -6
- package/fesm2015/ng-nest-ui-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js +2 -1
- package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider.js +7 -8
- package/fesm2015/ng-nest-ui-slider.js.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.js +6 -4
- package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
- package/fesm2015/ng-nest-ui-steps.js +24 -11
- package/fesm2015/ng-nest-ui-steps.js.map +1 -1
- package/fesm2015/ng-nest-ui-table.js +13 -10
- package/fesm2015/ng-nest-ui-table.js.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.js +5 -4
- package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
- package/fesm2015/ng-nest-ui-tag.js +2 -1
- package/fesm2015/ng-nest-ui-tag.js.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.js +2 -1
- package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.js +3 -12
- package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
- package/fesm2015/ng-nest-ui-theme.js +2 -2
- package/fesm2015/ng-nest-ui-theme.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.js +33 -16
- package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-timeline.js +3 -2
- package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.js +3 -2
- package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.js +3 -2
- package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree.js +8 -7
- package/fesm2015/ng-nest-ui-tree.js.map +1 -1
- package/fesm2015/ng-nest-ui-upload.js +5 -4
- package/fesm2015/ng-nest-ui-upload.js.map +1 -1
- package/find/find.component.d.ts +1 -1
- package/find/find.property.d.ts +31 -1
- package/form/control.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/form.property.d.ts +6 -6
- package/inner/inner.component.d.ts +1 -1
- package/input/input-group.component.d.ts +2 -4
- package/list/list.component.d.ts +2 -2
- package/menu/menu.component.d.ts +1 -1
- package/message/message-ref.d.ts +8 -0
- package/message/message.component.d.ts +3 -3
- package/message/message.property.d.ts +24 -4
- package/message/message.service.d.ts +4 -1
- package/message/public-api.d.ts +1 -0
- package/message-box/message-box.component.d.ts +2 -1
- package/notification/notification.component.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +1 -1
- package/popconfirm/popconfirm.component.d.ts +6 -2
- package/popconfirm/popconfirm.property.d.ts +13 -2
- package/popover/popover.property.d.ts +6 -1
- package/portal/portal.module.d.ts +1 -1
- package/portal/portal.service.d.ts +2 -3
- package/progress/progress.component.d.ts +31 -3
- package/progress/progress.property.d.ts +80 -5
- package/radio/radio.component.d.ts +1 -1
- package/rate/rate.component.d.ts +5 -5
- package/select/select-portal.component.d.ts +1 -3
- package/select/select.component.d.ts +1 -1
- package/slider/slider.component.d.ts +1 -1
- package/steps/steps.component.d.ts +1 -1
- package/steps/steps.property.d.ts +7 -2
- package/table/table-body.component.d.ts +1 -1
- package/table/table-head.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +11 -1
- package/textarea/textarea.property.d.ts +1 -6
- package/theme/theme.component.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +1 -0
- package/time-picker/time-picker-portal.component.d.ts +1 -3
- package/time-picker/time-picker.component.d.ts +5 -3
- package/timeline/timeline.component.d.ts +1 -1
- package/transfer/transfer.component.d.ts +1 -1
- package/tree/tree-node.component.d.ts +1 -1
- package/tree/tree.component.d.ts +1 -1
- package/upload/upload.component.d.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-dialog.js","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XIsBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\n\r\nconst X_CONFIG_NAME = 'dialog';\r\n\r\nexport const XDialogPortal = 'x-dialog-portal';\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_CONFIG_NAME, 'white') effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: Function;\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: Function;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\nexport type XDialogAction = 'confirm' | 'cancel';\r\n\r\n/**\r\n * @zh_CN 创建的消息对象\r\n * @en_US Message object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\nexport interface XDialogRef {\r\n ref?: XDialogOverlayRef;\r\n input?: XDialogProperty;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogPortal, XDialogProperty } from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n XIsChange(changes.visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.create();\r\n } else {\r\n this.detach();\r\n // this.visibleChange.emit(false);\r\n }\r\n }\r\n\r\n create() {\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogPortal, this.className],\r\n hasBackdrop: Boolean(this.hasBackdrop),\r\n positionStrategy: this.protalService.setPlace(this.placement, this.width, this.height, this.offset)\r\n }\r\n });\r\n // this.scrollStrategy.enable();\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());\r\n }\r\n }\r\n\r\n detach() {\r\n if (this.portalAttached()) {\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n // this.scrollStrategy.disable();\r\n this.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose() {\r\n if (XIsFunction(this.beforeClose)) {\r\n this.beforeClose();\r\n } else {\r\n this.detach();\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onClose();\r\n this.cancel.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onClose();\r\n this.confirm.emit();\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\r\n\r\n@NgModule({\r\n declarations: [XDialogComponent, XDialogProperty],\r\n exports: [XDialogComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule\r\n ]\r\n})\r\nexport class XDialogModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-dialog.js","sources":["../../../../lib/ng-nest/ui/dialog/dialog.property.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.ts","../../../../lib/ng-nest/ui/dialog/dialog.component.html","../../../../lib/ng-nest/ui/dialog/dialog-container.component.ts","../../../../lib/ng-nest/ui/dialog/dialog-container.component.html","../../../../lib/ng-nest/ui/dialog/dialog-ref.ts","../../../../lib/ng-nest/ui/dialog/dialog-container.directives.ts","../../../../lib/ng-nest/ui/dialog/dialog.service.ts","../../../../lib/ng-nest/ui/dialog/dialog.module.ts","../../../../lib/ng-nest/ui/dialog/ng-nest-ui-dialog.ts"],"sourcesContent":["import { Input, Output, EventEmitter, Component, ViewContainerRef, InjectionToken } from '@angular/core';\r\nimport { XStatus, XPlace, XInputBoolean, XTemplate, XEffect, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { XAlertProperty, XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\n\r\n/**\r\n * Dialog\r\n * @selector x-dialog\r\n * @decorator component\r\n */\r\nexport const XDialogPrefix = 'x-dialog';\r\nexport const X_DIALOG_CONFIG_NAME = 'dialog';\r\nexport const XDialogPortal = 'x-dialog-portal';\r\nexport const X_DIALOG_DATA = new InjectionToken<any>('XDialogData');\r\n\r\n/**\r\n * Dialog Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDialogProperty extends XAlertProperty {\r\n @Input() @XInputBoolean() visible: boolean = false;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n @Input() @XWithConfig<XPlace>(X_DIALOG_CONFIG_NAME, 'center') placement!: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '1rem') offset!: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n @Input() type: XDialogType = 'info';\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '32rem') width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n @Input() height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n @Input() @XWithConfig<XEffect>(X_DIALOG_CONFIG_NAME, 'white') effect!: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n @Input() footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showCancel!: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) showConfirm!: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME) confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DIALOG_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME) @XInputBoolean() buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DIALOG_CONFIG_NAME, false) @XInputBoolean() draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n @Input() beforeClose!: Function;\r\n /**\r\n * @zh_CN 取消按钮的事件\r\n * @en_US Cancel button event\r\n */\r\n @Output() cancel = new EventEmitter();\r\n /**\r\n * @zh_CN 确认按钮的事件\r\n * @en_US Confirm button event\r\n */\r\n @Output() confirm = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏改变事件\r\n * @en_US Show/hide change events\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 弹出完成动画加载\r\n * @en_US Pop up complete animation loading\r\n */\r\n @Output() showDone = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 关闭完成动画\r\n * @en_US Close complete animation\r\n */\r\n @Output() closeDone = new EventEmitter<any>();\r\n}\r\n\r\nexport interface XDialogOption extends XAlertOption {\r\n visible?: boolean;\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\n type?: XDialogType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 样式主题\r\n * @en_US Style theme\r\n */\r\n effect?: XEffect;\r\n /**\r\n * @zh_CN 底部自定义模板\r\n * @en_US Custom template at the bottom\r\n */\r\n footer?: XTemplate;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: XBoolean;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 显示确认按钮\r\n * @en_US Show confirmation button\r\n */\r\n showConfirm?: XBoolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n backdropClose?: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n hasBackdrop?: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n buttonsCenter?: XBoolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n */\r\n draggable?: XBoolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: Function;\r\n}\r\n\r\n/**\r\n * Dialog option by service\r\n */\r\nexport interface XDialogRefOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'center'\r\n * @withConfig true\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n * @default '1rem'\r\n * @withConfig true\r\n */\r\n offset?: string;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n * @default '32rem'\r\n * @withConfig true\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 拖动对话框\r\n * @en_US Drag dialog\r\n * @default false\r\n * @withConfig true\r\n */\r\n draggable?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DIALOG_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DIALOG_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\nexport type XDialogAnimationState = XPlace | 'void';\r\n\r\nexport interface XDialogAnimationEvent {\r\n state: XDialogAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n\r\nexport interface XDialogCallback {\r\n (action: XDialogAction, message?: string): void;\r\n}\r\n\r\nexport type XDialogAction = 'confirm' | 'cancel';\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象\r\n * @en_US Dialog object created\r\n */\r\nexport interface XDialogOverlayRef extends XPortalOverlayRef<XDialogComponent> {}\r\n\r\n/**\r\n * @zh_CN 创建的弹框对象,通过服务\r\n * @en_US Dialog object created by service\r\n */\r\nexport interface XDialogContainerOverlayRef extends XPortalOverlayRef<XDialogContainerComponent> {}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XDialogType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n TemplateRef,\r\n ViewContainerRef,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation, XIsChange, XIsFunction } from '@ng-nest/ui/core';\r\nimport { XDialogPrefix, XDialogOverlayRef, XDialogPortal, XDialogProperty } from './dialog.property';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { Subscription, Subject } from 'rxjs';\r\nimport { BlockScrollStrategy } from '@angular/cdk/overlay';\r\nimport { XI18nDialog, XI18nService } from '@ng-nest/ui/i18n';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: `${XDialogPrefix}`,\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogComponent extends XDialogProperty implements OnChanges, OnDestroy {\r\n @ViewChild('dialogTpl', { static: false }) dialogTpl!: TemplateRef<void>;\r\n dialogRef!: XDialogOverlayRef;\r\n backdropClick$!: Subscription;\r\n scrollStrategy: BlockScrollStrategy;\r\n locale: XI18nDialog = {};\r\n\r\n private _unSubject = new Subject<void>();\r\n\r\n get getCancelText() {\r\n return this.cancelText || this.locale.cancelText;\r\n }\r\n\r\n get getConfirmText() {\r\n return this.confirmText || this.locale.confirmText;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public viewContainerRef: ViewContainerRef,\r\n public protalService: XPortalService,\r\n public i18n: XI18nService\r\n ) {\r\n super();\r\n this.scrollStrategy = this.protalService.overlay.scrollStrategies.block();\r\n }\r\n\r\n ngOnInit() {\r\n this.i18n.localeChange\r\n .pipe(\r\n map((x) => x.dialog as XI18nDialog),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.locale = x;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.backdropClick$?.unsubscribe();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.create();\r\n } else {\r\n this.detach();\r\n // this.visibleChange.emit(false);\r\n }\r\n }\r\n\r\n create() {\r\n this.dialogRef = this.protalService.attach({\r\n content: this.dialogTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n panelClass: [XDialogPortal, this.className],\r\n hasBackdrop: Boolean(this.hasBackdrop),\r\n positionStrategy: this.protalService.setPlace(this.placement, this.width, this.height, this.offset)\r\n }\r\n });\r\n // this.scrollStrategy.enable();\r\n if (this.hasBackdrop && this.backdropClose && this.dialogRef?.overlayRef) {\r\n this.backdropClick$ = this.dialogRef.overlayRef.backdropClick().subscribe(() => this.onClose());\r\n }\r\n }\r\n\r\n detach() {\r\n if (this.portalAttached()) {\r\n this.visible = false;\r\n this.visibleChange.emit(this.visible);\r\n this.dialogRef?.overlayRef?.detach();\r\n // this.scrollStrategy.disable();\r\n this.unsubscribe();\r\n this.close.emit();\r\n }\r\n }\r\n\r\n portalAttached() {\r\n return this.dialogRef?.overlayRef?.hasAttached();\r\n }\r\n\r\n onClose() {\r\n if (XIsFunction(this.beforeClose)) {\r\n this.beforeClose();\r\n } else {\r\n this.detach();\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.onClose();\r\n this.cancel.emit();\r\n }\r\n\r\n onConfirm() {\r\n this.onClose();\r\n this.confirm.emit();\r\n }\r\n\r\n moveDone($event: { toState: string }) {\r\n if ($event.toState === 'void') {\r\n this.closeDone.emit($event);\r\n this.dialogRef?.overlayRef?.dispose();\r\n } else {\r\n this.showDone.emit($event);\r\n }\r\n }\r\n}\r\n","<ng-template #dialogTpl>\r\n <div class=\"x-dialog\" [@x-move-box-animation]=\"placement\" (@x-move-box-animation.done)=\"moveDone($event)\">\r\n <x-alert\r\n [draggable]=\"draggable\"\r\n [dragBoundary]=\"'.cdk-overlay-container'\"\r\n (close)=\"onClose()\"\r\n [title]=\"title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"type\"\r\n [effect]=\"effect\"\r\n [hideClose]=\"hideClose\"\r\n [closeText]=\"closeText\"\r\n showIcon=\"false\"\r\n duration=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #contentTpl>\r\n <div class=\"x-dialog-inner\">\r\n <div class=\"x-dialog-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"x-dialog-buttons\" [class.x-dialog-buttons-center]=\"buttonsCenter\">\r\n <ng-container *xOutlet=\"footer\">\r\n <x-buttons space=\"1\" *ngIf=\"showCancel || showConfirm\">\r\n <x-button *ngIf=\"showCancel\" (click)=\"onCancel()\">{{ getCancelText }}</x-button>\r\n <x-button *ngIf=\"showConfirm\" type=\"primary\" (click)=\"onConfirm()\">{{ getConfirmText }}</x-button>\r\n </x-buttons>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XMoveBoxAnimation } from '@ng-nest/ui/core';\r\nimport { XDialogAnimationEvent, XDialogAnimationState } from './dialog.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-dialog-container',\r\n templateUrl: './dialog-container.component.html',\r\n styleUrls: ['./dialog-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XMoveBoxAnimation]\r\n})\r\nexport class XDialogContainerComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-dialog-container') _has = true;\r\n @HostBinding('@x-move-box-animation') public placement?: XDialogAnimationState;\r\n @HostListener('@x-move-box-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @HostListener('@x-move-box-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDialogAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n animationChanged = new EventEmitter<XDialogAnimationEvent>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('dialog portal has attached');\r\n }\r\n return this.portalOutlet.attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\n\r\n// TODO: add more function\r\nexport class XDialogRef<C> {\r\n componentInstance!: C;\r\n constructor(public overlayRef: OverlayRef, public containerInstance: XDialogContainerComponent) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDialogRef } from './dialog-ref';\r\n\r\n@Directive({\r\n selector: `[x-dialog-close]`\r\n})\r\nexport class XDialogCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.dialogRef && this.dialogRef.close();\r\n }\r\n constructor(@Optional() public dialogRef: XDialogRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-title]`\r\n})\r\nexport class XDialogTitleDirective {\r\n @HostBinding('class.x-dialog-container-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-content], x-dialog-content`\r\n})\r\nexport class XDialogContentDirective {\r\n @HostBinding('class.x-dialog-container-content') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-dialog-actions], x-dialog-actions`\r\n})\r\nexport class XDialogActionsDirective {\r\n @HostBinding('class.x-dialog-container-actions') _has = true;\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDialogConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\nimport { XDialogRef } from './dialog-ref';\r\nimport { XDialogRefOption, X_DIALOG_CONFIG_NAME, X_DIALOG_DATA } from './dialog.property';\r\n\r\n@Injectable()\r\nexport class XDialogService {\r\n default: XDialogRefOption = {\r\n placement: 'center',\r\n offset: '1rem',\r\n width: '32rem',\r\n backdropClose: true,\r\n hasBackdrop: true,\r\n draggable: false\r\n };\r\n configDefault?: XDialogConfig;\r\n\r\n constructor(public portalService: XPortalService, public configService: XConfigService, public overlay: Overlay) {\r\n this.configDefault = this.configService.getConfigForComponent(X_DIALOG_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDialogRefOption = {}): XDialogRef<T> {\r\n fillDefault(option, this.default);\r\n const portal = this.portalService.attach<XDialogContainerComponent>({\r\n content: XDialogContainerComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPlace(option.placement, option.width, option.height, option.offset!)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const dialogRef = new XDialogRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, dialogRef: dialogRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DIALOG_DATA, useValue: option.data },\r\n { provide: XDialogRef, useValue: dialogRef }\r\n ]);\r\n const comRef = instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n dialogRef.componentInstance = comRef.instance;\r\n }\r\n\r\n if (option.hasBackdrop && option.backdropClose && overlayRef) {\r\n overlayRef.backdropClick().subscribe(() => {\r\n dialogRef.close();\r\n });\r\n }\r\n\r\n return dialogRef;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDialogComponent } from './dialog.component';\r\nimport { XAlertModule } from '@ng-nest/ui/alert';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XDialogProperty } from './dialog.property';\r\nimport {\r\n XDialogActionsDirective,\r\n XDialogCloseDirective,\r\n XDialogContentDirective,\r\n XDialogTitleDirective\r\n} from './dialog-container.directives';\r\nimport { XDialogContainerComponent } from './dialog-container.component';\r\nimport { XDialogService } from './dialog.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogContainerComponent,\r\n XDialogProperty\r\n ],\r\n exports: [\r\n XDialogComponent,\r\n XDialogCloseDirective,\r\n XDialogTitleDirective,\r\n XDialogContentDirective,\r\n XDialogActionsDirective,\r\n XDialogContainerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n XInputModule,\r\n XButtonModule,\r\n XIconModule,\r\n XPortalModule,\r\n XAlertModule,\r\n XOutletModule\r\n ],\r\n providers: [XDialogService]\r\n})\r\nexport class XDialogModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, EventEmitter, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, HostBinding, HostListener, Directive, Optional, TemplateRef, Injectable, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import * as i3 from '@ng-nest/ui/core';
|
|
5
|
-
import { XProperty, XInputBoolean, XWithConfig, XIsChange, XIsEmpty, XSlideAnimation } from '@ng-nest/ui/core';
|
|
5
|
+
import { XProperty, XInputBoolean, XWithConfig, XIsChange, XIsEmpty, XSlideAnimation, fillDefault } from '@ng-nest/ui/core';
|
|
6
6
|
import * as i1 from '@angular/cdk/overlay';
|
|
7
7
|
import * as i2 from '@ng-nest/ui/portal';
|
|
8
8
|
import { XPortalModule } from '@ng-nest/ui/portal';
|
|
@@ -12,6 +12,9 @@ import * as i5 from '@angular/common';
|
|
|
12
12
|
import { CommonModule } from '@angular/common';
|
|
13
13
|
import * as i6 from '@ng-nest/ui/outlet';
|
|
14
14
|
import { XOutletModule } from '@ng-nest/ui/outlet';
|
|
15
|
+
import * as i1$1 from '@angular/cdk/portal';
|
|
16
|
+
import { BasePortalOutlet, CdkPortalOutlet, TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
|
|
17
|
+
import { filter, take } from 'rxjs/operators';
|
|
15
18
|
|
|
16
19
|
/**
|
|
17
20
|
* Drawer
|
|
@@ -19,7 +22,8 @@ import { XOutletModule } from '@ng-nest/ui/outlet';
|
|
|
19
22
|
* @decorator component
|
|
20
23
|
*/
|
|
21
24
|
const XDrawerPrefix = 'x-drawer';
|
|
22
|
-
const
|
|
25
|
+
const X_DRAWER_CONFIG_NAME = 'drawer';
|
|
26
|
+
const X_DRAWER_DATA = new InjectionToken('XDrawerData');
|
|
23
27
|
/**
|
|
24
28
|
* Drawer Property
|
|
25
29
|
*/
|
|
@@ -39,16 +43,25 @@ class XDrawerProperty extends XProperty {
|
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
/** @nocollapse */ XDrawerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
/** @nocollapse */ XDrawerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerProperty, selector: "ng-component", inputs: { title: "title", visible: "visible", placement: "placement", size: "size" }, outputs: { close: "close", visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
46
|
+
/** @nocollapse */ XDrawerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerProperty, selector: "ng-component", inputs: { title: "title", visible: "visible", placement: "placement", size: "size", backdropClose: "backdropClose", hasBackdrop: "hasBackdrop", className: "className" }, outputs: { close: "close", visibleChange: "visibleChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
43
47
|
__decorate([
|
|
44
48
|
XInputBoolean()
|
|
45
49
|
], XDrawerProperty.prototype, "visible", void 0);
|
|
46
50
|
__decorate([
|
|
47
|
-
XWithConfig(
|
|
51
|
+
XWithConfig(X_DRAWER_CONFIG_NAME, 'right')
|
|
48
52
|
], XDrawerProperty.prototype, "placement", void 0);
|
|
49
53
|
__decorate([
|
|
50
|
-
XWithConfig(
|
|
54
|
+
XWithConfig(X_DRAWER_CONFIG_NAME, '30%')
|
|
51
55
|
], XDrawerProperty.prototype, "size", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
XWithConfig(X_DRAWER_CONFIG_NAME, true)
|
|
58
|
+
], XDrawerProperty.prototype, "backdropClose", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
XWithConfig(X_DRAWER_CONFIG_NAME, true)
|
|
61
|
+
], XDrawerProperty.prototype, "hasBackdrop", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
XWithConfig(X_DRAWER_CONFIG_NAME, '')
|
|
64
|
+
], XDrawerProperty.prototype, "className", void 0);
|
|
52
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerProperty, decorators: [{
|
|
53
66
|
type: Component,
|
|
54
67
|
args: [{ template: '' }]
|
|
@@ -60,6 +73,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
60
73
|
type: Input
|
|
61
74
|
}], size: [{
|
|
62
75
|
type: Input
|
|
76
|
+
}], backdropClose: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], hasBackdrop: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], className: [{
|
|
81
|
+
type: Input
|
|
63
82
|
}], close: [{
|
|
64
83
|
type: Output
|
|
65
84
|
}], visibleChange: [{
|
|
@@ -82,7 +101,8 @@ class XDrawerComponent extends XDrawerProperty {
|
|
|
82
101
|
this.setClassMap();
|
|
83
102
|
}
|
|
84
103
|
ngOnChanges(simples) {
|
|
85
|
-
|
|
104
|
+
const { visible } = simples;
|
|
105
|
+
XIsChange(visible) && this.setVisible();
|
|
86
106
|
}
|
|
87
107
|
ngOnDestroy() {
|
|
88
108
|
this.unsubscribe();
|
|
@@ -137,7 +157,7 @@ class XDrawerComponent extends XDrawerProperty {
|
|
|
137
157
|
}
|
|
138
158
|
}
|
|
139
159
|
/** @nocollapse */ XDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
140
|
-
/** @nocollapse */ XDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerComponent, selector: "x-drawer", viewQueries: [{ propertyName: "drawerTpl", first: true, predicate: ["drawerTpl"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #drawerTpl>\r\n <div class=\"x-drawer\" [ngClass]=\"classMap\" [@x-slide-animation]=\"placement\">\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-drawer{margin:0;padding:0;height:100%;width:100%;background-color:var(--x-background);position:relative;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-drawer-header{padding
|
|
160
|
+
/** @nocollapse */ XDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerComponent, selector: "x-drawer", viewQueries: [{ propertyName: "drawerTpl", first: true, predicate: ["drawerTpl"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #drawerTpl>\r\n <div class=\"x-drawer\" [ngClass]=\"classMap\" [@x-slide-animation]=\"placement\">\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-drawer{margin:0;padding:0;height:100%;width:100%;background-color:var(--x-background);position:relative;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color)}.x-drawer-header{padding:1rem 1rem .5rem}.x-drawer-title{font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-close{position:absolute;top:.425rem;right:.425rem}.x-drawer-title{padding:0}.x-drawer-content{padding:0 1rem 1rem;height:calc(100% - 3rem);overflow:auto}.x-drawer-no-title .x-drawer-content{padding:.5rem 1rem}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], animations: [XSlideAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
141
161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerComponent, decorators: [{
|
|
142
162
|
type: Component,
|
|
143
163
|
args: [{
|
|
@@ -153,17 +173,209 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
153
173
|
args: ['drawerTpl', { static: true }]
|
|
154
174
|
}] } });
|
|
155
175
|
|
|
176
|
+
class XDrawerContainerComponent extends BasePortalOutlet {
|
|
177
|
+
constructor() {
|
|
178
|
+
super();
|
|
179
|
+
this._has = true;
|
|
180
|
+
this.animationChanged = new EventEmitter();
|
|
181
|
+
}
|
|
182
|
+
done({ toState, totalTime }) {
|
|
183
|
+
this.animationChanged.next({ action: 'done', state: toState, totalTime });
|
|
184
|
+
}
|
|
185
|
+
start({ toState, totalTime }) {
|
|
186
|
+
this.animationChanged.next({ action: 'start', state: toState, totalTime });
|
|
187
|
+
}
|
|
188
|
+
attachComponentPortal(portal) {
|
|
189
|
+
if (this.portalOutlet.hasAttached()) {
|
|
190
|
+
throw Error('drawer portal has attached');
|
|
191
|
+
}
|
|
192
|
+
return this.portalOutlet.attachComponentPortal(portal);
|
|
193
|
+
}
|
|
194
|
+
attachTemplatePortal(portal) {
|
|
195
|
+
if (this.portalOutlet.hasAttached()) {
|
|
196
|
+
throw Error('drawer portal has attached');
|
|
197
|
+
}
|
|
198
|
+
return this.portalOutlet.attachTemplatePortal(portal);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/** @nocollapse */ XDrawerContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
/** @nocollapse */ XDrawerContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerContainerComponent, selector: "x-drawer-container", host: { listeners: { "@x-slide-animation.done": "done($event)", "@x-slide-animation.start": "start($event)" }, properties: { "class.x-drawer-container": "this._has", "@x-slide-animation": "this.placement" } }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".x-drawer-container{margin:0;height:100%;width:100%;background-color:var(--x-background);position:relative;box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);overflow:auto;padding:1rem}.x-drawer-container-title{display:block;margin:0 0 .5rem;font-weight:600;color:var(--x-text-300);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.x-drawer-container-content{display:block;margin:0 -1rem;padding:0 1rem;overflow:auto}\n"], directives: [{ type: i1$1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [XSlideAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerContainerComponent, decorators: [{
|
|
204
|
+
type: Component,
|
|
205
|
+
args: [{
|
|
206
|
+
selector: 'x-drawer-container',
|
|
207
|
+
templateUrl: './drawer-container.component.html',
|
|
208
|
+
styleUrls: ['./drawer-container.component.scss'],
|
|
209
|
+
encapsulation: ViewEncapsulation.None,
|
|
210
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
211
|
+
animations: [XSlideAnimation]
|
|
212
|
+
}]
|
|
213
|
+
}], ctorParameters: function () { return []; }, propDecorators: { _has: [{
|
|
214
|
+
type: HostBinding,
|
|
215
|
+
args: ['class.x-drawer-container']
|
|
216
|
+
}], placement: [{
|
|
217
|
+
type: HostBinding,
|
|
218
|
+
args: ['@x-slide-animation']
|
|
219
|
+
}], done: [{
|
|
220
|
+
type: HostListener,
|
|
221
|
+
args: ['@x-slide-animation.done', ['$event']]
|
|
222
|
+
}], start: [{
|
|
223
|
+
type: HostListener,
|
|
224
|
+
args: ['@x-slide-animation.start', ['$event']]
|
|
225
|
+
}], portalOutlet: [{
|
|
226
|
+
type: ViewChild,
|
|
227
|
+
args: [CdkPortalOutlet, { static: true }]
|
|
228
|
+
}] } });
|
|
229
|
+
|
|
230
|
+
// TODO: add more function
|
|
231
|
+
class XDrawerRef {
|
|
232
|
+
constructor(overlayRef, containerInstance) {
|
|
233
|
+
this.overlayRef = overlayRef;
|
|
234
|
+
this.containerInstance = containerInstance;
|
|
235
|
+
}
|
|
236
|
+
close() {
|
|
237
|
+
this.containerInstance.animationChanged
|
|
238
|
+
.pipe(filter((event) => event.state === 'void' && event.action === 'done'), take(1))
|
|
239
|
+
.subscribe(() => {
|
|
240
|
+
this.overlayRef.detach();
|
|
241
|
+
});
|
|
242
|
+
this.containerInstance.placement = 'void';
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
class XDrawerCloseDirective {
|
|
247
|
+
constructor(drawerRef) {
|
|
248
|
+
this.drawerRef = drawerRef;
|
|
249
|
+
}
|
|
250
|
+
onCloseClick() {
|
|
251
|
+
this.drawerRef && this.drawerRef.close();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/** @nocollapse */ XDrawerCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerCloseDirective, deps: [{ token: XDrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
255
|
+
/** @nocollapse */ XDrawerCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerCloseDirective, selector: "[x-drawer-close]", host: { listeners: { "click": "onCloseClick($event)" } }, ngImport: i0 });
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerCloseDirective, decorators: [{
|
|
257
|
+
type: Directive,
|
|
258
|
+
args: [{
|
|
259
|
+
selector: `[x-drawer-close]`
|
|
260
|
+
}]
|
|
261
|
+
}], ctorParameters: function () { return [{ type: XDrawerRef, decorators: [{
|
|
262
|
+
type: Optional
|
|
263
|
+
}] }]; }, propDecorators: { onCloseClick: [{
|
|
264
|
+
type: HostListener,
|
|
265
|
+
args: ['click', ['$event']]
|
|
266
|
+
}] } });
|
|
267
|
+
class XDrawerTitleDirective {
|
|
268
|
+
constructor() {
|
|
269
|
+
this._has = true;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/** @nocollapse */ XDrawerTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
273
|
+
/** @nocollapse */ XDrawerTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerTitleDirective, selector: "[x-drawer-title]", host: { properties: { "class.x-drawer-container-title": "this._has" } }, ngImport: i0 });
|
|
274
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerTitleDirective, decorators: [{
|
|
275
|
+
type: Directive,
|
|
276
|
+
args: [{
|
|
277
|
+
selector: `[x-drawer-title]`
|
|
278
|
+
}]
|
|
279
|
+
}], propDecorators: { _has: [{
|
|
280
|
+
type: HostBinding,
|
|
281
|
+
args: ['class.x-drawer-container-title']
|
|
282
|
+
}] } });
|
|
283
|
+
class XDrawerContentDirective {
|
|
284
|
+
constructor() {
|
|
285
|
+
this._has = true;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/** @nocollapse */ XDrawerContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
289
|
+
/** @nocollapse */ XDrawerContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: XDrawerContentDirective, selector: "[x-drawer-content], x-drawer-content", host: { properties: { "class.x-drawer-container-content": "this._has" } }, ngImport: i0 });
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerContentDirective, decorators: [{
|
|
291
|
+
type: Directive,
|
|
292
|
+
args: [{
|
|
293
|
+
selector: `[x-drawer-content], x-drawer-content`
|
|
294
|
+
}]
|
|
295
|
+
}], propDecorators: { _has: [{
|
|
296
|
+
type: HostBinding,
|
|
297
|
+
args: ['class.x-drawer-container-content']
|
|
298
|
+
}] } });
|
|
299
|
+
|
|
300
|
+
class XDrawerService {
|
|
301
|
+
constructor(portalService, configService, overlay) {
|
|
302
|
+
this.portalService = portalService;
|
|
303
|
+
this.configService = configService;
|
|
304
|
+
this.overlay = overlay;
|
|
305
|
+
this.default = {
|
|
306
|
+
placement: 'right',
|
|
307
|
+
size: '30%',
|
|
308
|
+
hasBackdrop: true,
|
|
309
|
+
backdropClose: true
|
|
310
|
+
};
|
|
311
|
+
this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);
|
|
312
|
+
Object.assign(this.default, this.configDefault);
|
|
313
|
+
}
|
|
314
|
+
create(content, option = {}) {
|
|
315
|
+
fillDefault(option, this.default);
|
|
316
|
+
const width = ['left', 'right'].includes(option.placement) ? option.size : '100%';
|
|
317
|
+
const height = ['top', 'bottom'].includes(option.placement) ? option.size : '100%';
|
|
318
|
+
const portal = this.portalService.attach({
|
|
319
|
+
content: XDrawerContainerComponent,
|
|
320
|
+
viewContainerRef: option.viewContainerRef,
|
|
321
|
+
overlayConfig: {
|
|
322
|
+
hasBackdrop: option.hasBackdrop,
|
|
323
|
+
panelClass: option.className,
|
|
324
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
325
|
+
positionStrategy: this.portalService.setPosition(option.placement, width, height)
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
const { overlayRef, componentRef } = portal || {};
|
|
329
|
+
const { instance } = componentRef || {};
|
|
330
|
+
instance.placement = option.placement;
|
|
331
|
+
const drawerRef = new XDrawerRef(overlayRef, instance);
|
|
332
|
+
if (content instanceof TemplateRef) {
|
|
333
|
+
instance.attachTemplatePortal(new TemplatePortal(content, option.viewContainerRef, { $implicit: option.data, drawerRef: drawerRef }));
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
const injector = this.portalService.createInjector([
|
|
337
|
+
{ provide: X_DRAWER_DATA, useValue: option.data },
|
|
338
|
+
{ provide: XDrawerRef, useValue: drawerRef }
|
|
339
|
+
]);
|
|
340
|
+
instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));
|
|
341
|
+
}
|
|
342
|
+
if (option.hasBackdrop && option.backdropClose && overlayRef)
|
|
343
|
+
overlayRef.backdropClick().subscribe(() => {
|
|
344
|
+
drawerRef.close();
|
|
345
|
+
});
|
|
346
|
+
return drawerRef;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/** @nocollapse */ XDrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerService, deps: [{ token: i2.XPortalService }, { token: i3.XConfigService }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
350
|
+
/** @nocollapse */ XDrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerService });
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerService, decorators: [{
|
|
352
|
+
type: Injectable
|
|
353
|
+
}], ctorParameters: function () { return [{ type: i2.XPortalService }, { type: i3.XConfigService }, { type: i1.Overlay }]; } });
|
|
354
|
+
|
|
156
355
|
class XDrawerModule {
|
|
157
356
|
}
|
|
158
357
|
/** @nocollapse */ XDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
159
|
-
/** @nocollapse */ XDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerModule, declarations: [XDrawerComponent,
|
|
160
|
-
|
|
358
|
+
/** @nocollapse */ XDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerModule, declarations: [XDrawerComponent,
|
|
359
|
+
XDrawerCloseDirective,
|
|
360
|
+
XDrawerTitleDirective,
|
|
361
|
+
XDrawerContentDirective,
|
|
362
|
+
XDrawerContainerComponent,
|
|
363
|
+
XDrawerProperty], imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule], exports: [XDrawerComponent, XDrawerCloseDirective, XDrawerTitleDirective, XDrawerContentDirective, XDrawerContainerComponent] });
|
|
364
|
+
/** @nocollapse */ XDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerModule, providers: [XDrawerService], imports: [[CommonModule, XOutletModule, XButtonModule, XPortalModule]] });
|
|
161
365
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDrawerModule, decorators: [{
|
|
162
366
|
type: NgModule,
|
|
163
367
|
args: [{
|
|
164
|
-
declarations: [
|
|
165
|
-
|
|
166
|
-
|
|
368
|
+
declarations: [
|
|
369
|
+
XDrawerComponent,
|
|
370
|
+
XDrawerCloseDirective,
|
|
371
|
+
XDrawerTitleDirective,
|
|
372
|
+
XDrawerContentDirective,
|
|
373
|
+
XDrawerContainerComponent,
|
|
374
|
+
XDrawerProperty
|
|
375
|
+
],
|
|
376
|
+
exports: [XDrawerComponent, XDrawerCloseDirective, XDrawerTitleDirective, XDrawerContentDirective, XDrawerContainerComponent],
|
|
377
|
+
imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule],
|
|
378
|
+
providers: [XDrawerService]
|
|
167
379
|
}]
|
|
168
380
|
}] });
|
|
169
381
|
|
|
@@ -171,5 +383,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
|
|
|
171
383
|
* Generated bundle index. Do not edit.
|
|
172
384
|
*/
|
|
173
385
|
|
|
174
|
-
export { XDrawerComponent, XDrawerModule, XDrawerPrefix, XDrawerProperty };
|
|
386
|
+
export { XDrawerCloseDirective, XDrawerComponent, XDrawerContainerComponent, XDrawerContentDirective, XDrawerModule, XDrawerPrefix, XDrawerProperty, XDrawerRef, XDrawerService, XDrawerTitleDirective, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA };
|
|
175
387
|
//# sourceMappingURL=ng-nest-ui-drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-drawer.js","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XTemplate, XPosition, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nconst X_CONFIG_NAME = 'drawer';\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDrawerProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n @Input() @XWithConfig<XPosition>(X_CONFIG_NAME, 'right') placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '30%') size?: string;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n @Output() close = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏的事件\r\n * @en_US Show/hide event\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n SimpleChanges,\r\n OnChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty } from './drawer.property';\r\nimport { XIsChange, XIsEmpty, XSlideAnimation, XConfigService } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subscription } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements OnInit, OnChanges {\r\n @ViewChild('drawerTpl', { static: true }) drawerTpl!: TemplateRef<void>;\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public overlay: Overlay,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n XIsChange(simples.visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XDrawerPrefix}-${this.placement}`]: !XIsEmpty(this.placement),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title)\r\n };\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n const width = this.placement === 'left' || this.placement === 'right' ? this.size : '100%';\r\n const height = this.placement === 'top' || this.placement === 'bottom' ? this.size : '100%';\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: true,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPosition(this.placement, width, height)\r\n }\r\n });\r\n if (this.portal.overlayRef) this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.unsubscribe();\r\n this.visibleChange.emit(this.visible as boolean);\r\n this.close.emit();\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n <div class=\"x-drawer\" [ngClass]=\"classMap\" [@x-slide-animation]=\"placement\">\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XDrawerProperty } from './drawer.property';\r\n\r\n@NgModule({\r\n declarations: [XDrawerComponent, XDrawerProperty],\r\n exports: [XDrawerComponent],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule]\r\n})\r\nexport class XDrawerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-drawer.js","sources":["../../../../lib/ng-nest/ui/drawer/drawer.property.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.ts","../../../../lib/ng-nest/ui/drawer/drawer.component.html","../../../../lib/ng-nest/ui/drawer/drawer-container.component.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.component.html","../../../../lib/ng-nest/ui/drawer/drawer-ref.ts","../../../../lib/ng-nest/ui/drawer/drawer-container.directives.ts","../../../../lib/ng-nest/ui/drawer/drawer.service.ts","../../../../lib/ng-nest/ui/drawer/drawer.module.ts","../../../../lib/ng-nest/ui/drawer/ng-nest-ui-drawer.ts"],"sourcesContent":["import { XTemplate, XPosition, XProperty, XInputBoolean, XBoolean, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component, InjectionToken, ViewContainerRef } from '@angular/core';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n/**\r\n * Drawer\r\n * @selector x-drawer\r\n * @decorator component\r\n */\r\nexport const XDrawerPrefix = 'x-drawer';\r\nexport const X_DRAWER_CONFIG_NAME = 'drawer';\r\nexport const X_DRAWER_DATA = new InjectionToken<any>('XDrawerData');\r\n\r\n/**\r\n * Drawer Property\r\n */\r\n@Component({ template: '' })\r\nexport class XDrawerProperty extends XProperty {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n @Input() title?: XTemplate;\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n @Input() @XInputBoolean() visible?: XBoolean;\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n */\r\n @Input() @XWithConfig<XPosition>(X_DRAWER_CONFIG_NAME, 'right') placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '30%') size?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) backdropClose!: XBoolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_DRAWER_CONFIG_NAME, true) hasBackdrop!: XBoolean;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n @Input() @XWithConfig<string>(X_DRAWER_CONFIG_NAME, '') className!: string;\r\n /**\r\n * @zh_CN 关闭的事件\r\n * @en_US Closed event\r\n */\r\n @Output() close = new EventEmitter();\r\n /**\r\n * @zh_CN 显示/隐藏的事件\r\n * @en_US Show/hide event\r\n */\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n}\r\n\r\n/**\r\n * Drawer Option\r\n */\r\nexport interface XDrawerOption {\r\n /**\r\n * @zh_CN 展示方向\r\n * @en_US Display direction\r\n * @default 'right'\r\n * @withConfig true\r\n */\r\n placement?: XPosition;\r\n /**\r\n * @zh_CN 尺寸,支持固定值\r\n * @en_US Size, supports fixed value\r\n * @default '30%'\r\n * @withConfig true\r\n */\r\n size?: string;\r\n /**\r\n * @zh_CN 自定义样式名\r\n * @en_US Custom style name\r\n */\r\n className?: string;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default true\r\n * @withConfig true\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 是否显示背景遮罩\r\n * @en_US Whether to display the background mask\r\n * @default true\r\n * @withConfig true\r\n */\r\n hasBackdrop?: boolean;\r\n /**\r\n * @zh_CN 数据,通过 \"@Inject(X_DRAWER_DATA)\" 来接收数据\r\n * @en_US Data. Receive data by \"@Inject(X_DRAWER_DATA)\"\r\n */\r\n data?: any;\r\n /**\r\n * @en_US 视图容器实例可以包含其他视图容器。\r\n * @en_US A view container instance can contain other view containers.\r\n */\r\n viewContainerRef?: ViewContainerRef;\r\n}\r\n\r\n/**\r\n * @zh_CN 创建的抽屉对象\r\n * @en_US Drawer object created\r\n */\r\nexport interface XDrawerOverlayRef extends XPortalOverlayRef<XDrawerContainerComponent> {\r\n drawerRef?: XDrawerRef<any>;\r\n}\r\n\r\nexport type XDrawerAnimationState = XPosition | 'void';\r\n\r\nexport interface XDrawerAnimationEvent {\r\n state: XDrawerAnimationState;\r\n action: 'start' | 'done';\r\n totalTime: number;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n SimpleChanges,\r\n OnChanges,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { XDrawerPrefix, XDrawerProperty } from './drawer.property';\r\nimport { XIsChange, XIsEmpty, XSlideAnimation, XConfigService } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { Subscription } from 'rxjs';\r\nimport { Overlay } from '@angular/cdk/overlay';\r\n\r\n@Component({\r\n selector: `${XDrawerPrefix}`,\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerComponent extends XDrawerProperty implements OnInit, OnChanges {\r\n @ViewChild('drawerTpl', { static: true }) drawerTpl!: TemplateRef<void>;\r\n portal!: XPortalOverlayRef<any>;\r\n back$: Subscription | null = null;\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public overlay: Overlay,\r\n public portalService: XPortalService,\r\n public viewContainerRef: ViewContainerRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setClassMap();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { visible } = simples;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribe();\r\n }\r\n\r\n unsubscribe() {\r\n this.back$?.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n this.classMap = {\r\n [`${XDrawerPrefix}-${this.placement}`]: !XIsEmpty(this.placement),\r\n [`${XDrawerPrefix}-no-title`]: XIsEmpty(this.title)\r\n };\r\n }\r\n\r\n setVisible() {\r\n if (this.visible) {\r\n this.createPortal();\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n createPortal() {\r\n const width = this.placement === 'left' || this.placement === 'right' ? this.size : '100%';\r\n const height = this.placement === 'top' || this.placement === 'bottom' ? this.size : '100%';\r\n this.portal = this.portalService.attach({\r\n content: this.drawerTpl,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: true,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPosition(this.placement, width, height)\r\n }\r\n });\r\n if (this.portal.overlayRef) this.back$ = this.portal.overlayRef.backdropClick().subscribe(() => this.closePortal());\r\n }\r\n\r\n portalAttached() {\r\n return this.portal?.overlayRef?.hasAttached();\r\n }\r\n\r\n closePortal() {\r\n if (this.portalAttached()) {\r\n this.portal?.overlayRef?.detach();\r\n this.unsubscribe();\r\n this.visibleChange.emit(this.visible as boolean);\r\n this.close.emit();\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","<ng-template #drawerTpl>\r\n <div class=\"x-drawer\" [ngClass]=\"classMap\" [@x-slide-animation]=\"placement\">\r\n <div class=\"x-drawer-header\" *ngIf=\"title\">\r\n <div class=\"x-drawer-title\">\r\n <ng-container *xOutlet=\"title\">{{ title }}</ng-container>\r\n </div>\r\n <x-button class=\"x-drawer-close\" icon=\"fto-x\" (click)=\"closePortal()\" onlyIcon closable></x-button>\r\n </div>\r\n <div class=\"x-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</ng-template>\r\n","import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ComponentRef,\r\n EmbeddedViewRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { XSlideAnimation } from '@ng-nest/ui/core';\r\nimport { XDrawerAnimationEvent, XDrawerAnimationState } from './drawer.property';\r\nimport { AnimationEvent } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'x-drawer-container',\r\n templateUrl: './drawer-container.component.html',\r\n styleUrls: ['./drawer-container.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XSlideAnimation]\r\n})\r\nexport class XDrawerContainerComponent extends BasePortalOutlet {\r\n @HostBinding('class.x-drawer-container') _has = true;\r\n @HostBinding('@x-slide-animation') public placement?: XDrawerAnimationState;\r\n @HostListener('@x-slide-animation.done', ['$event']) done({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'done', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @HostListener('@x-slide-animation.start', ['$event']) start({ toState, totalTime }: AnimationEvent) {\r\n this.animationChanged.next({ action: 'start', state: toState as XDrawerAnimationState, totalTime });\r\n }\r\n @ViewChild(CdkPortalOutlet, { static: true }) portalOutlet!: CdkPortalOutlet;\r\n\r\n animationChanged = new EventEmitter<XDrawerAnimationEvent>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachComponentPortal(portal);\r\n }\r\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\r\n if (this.portalOutlet.hasAttached()) {\r\n throw Error('drawer portal has attached');\r\n }\r\n return this.portalOutlet.attachTemplatePortal(portal);\r\n }\r\n}\r\n","<ng-template cdkPortalOutlet></ng-template>\r\n","import { OverlayRef } from '@angular/cdk/overlay';\r\nimport { filter, take } from 'rxjs/operators';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\n\r\n// TODO: add more function\r\nexport class XDrawerRef<C> {\r\n componentInstance!: C;\r\n constructor(public overlayRef: OverlayRef, public containerInstance: XDrawerContainerComponent) {}\r\n close() {\r\n this.containerInstance.animationChanged\r\n .pipe(\r\n filter((event) => event.state === 'void' && event.action === 'done'),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n this.overlayRef.detach();\r\n });\r\n this.containerInstance.placement = 'void';\r\n }\r\n}\r\n","import { Directive, HostBinding, HostListener, Optional } from '@angular/core';\r\nimport { XDrawerRef } from './drawer-ref';\r\n\r\n@Directive({\r\n selector: `[x-drawer-close]`\r\n})\r\nexport class XDrawerCloseDirective {\r\n @HostListener('click', ['$event']) onCloseClick() {\r\n this.drawerRef && this.drawerRef.close();\r\n }\r\n constructor(@Optional() public drawerRef: XDrawerRef<any>) {}\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-title]`\r\n})\r\nexport class XDrawerTitleDirective {\r\n @HostBinding('class.x-drawer-container-title') _has = true;\r\n}\r\n\r\n@Directive({\r\n selector: `[x-drawer-content], x-drawer-content`\r\n})\r\nexport class XDrawerContentDirective {\r\n @HostBinding('class.x-drawer-container-content') _has = true;\r\n}\r\n","import { Overlay } from '@angular/cdk/overlay';\r\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\r\nimport { Injectable, TemplateRef } from '@angular/core';\r\nimport { fillDefault, XConfigService, XDrawerConfig } from '@ng-nest/ui/core';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerRef } from './drawer-ref';\r\nimport { XDrawerOption, X_DRAWER_CONFIG_NAME, X_DRAWER_DATA } from './drawer.property';\r\n\r\n@Injectable()\r\nexport class XDrawerService {\r\n default: XDrawerOption = {\r\n placement: 'right',\r\n size: '30%',\r\n hasBackdrop: true,\r\n backdropClose: true\r\n };\r\n configDefault?: XDrawerConfig;\r\n\r\n constructor(public portalService: XPortalService, public configService: XConfigService, public overlay: Overlay) {\r\n this.configDefault = this.configService.getConfigForComponent(X_DRAWER_CONFIG_NAME);\r\n Object.assign(this.default, this.configDefault);\r\n }\r\n\r\n create<T>(content: TemplateRef<any> | ComponentType<T>, option: XDrawerOption = {}): XDrawerRef<T> {\r\n fillDefault(option, this.default);\r\n const width = ['left', 'right'].includes(option.placement as string) ? option.size : '100%';\r\n const height = ['top', 'bottom'].includes(option.placement as string) ? option.size : '100%';\r\n const portal = this.portalService.attach<XDrawerContainerComponent>({\r\n content: XDrawerContainerComponent,\r\n viewContainerRef: option.viewContainerRef,\r\n overlayConfig: {\r\n hasBackdrop: option.hasBackdrop,\r\n panelClass: option.className,\r\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\r\n positionStrategy: this.portalService.setPosition(option.placement, width, height)\r\n }\r\n });\r\n const { overlayRef, componentRef } = portal || {};\r\n const { instance } = componentRef! || {};\r\n instance.placement = option.placement;\r\n const drawerRef = new XDrawerRef<T>(overlayRef!, instance);\r\n if (content instanceof TemplateRef) {\r\n instance.attachTemplatePortal(\r\n new TemplatePortal(content, option.viewContainerRef!, { $implicit: option.data, drawerRef: drawerRef })\r\n );\r\n } else {\r\n const injector = this.portalService.createInjector([\r\n { provide: X_DRAWER_DATA, useValue: option.data },\r\n { provide: XDrawerRef, useValue: drawerRef }\r\n ]);\r\n\r\n instance.attachComponentPortal(new ComponentPortal(content, option.viewContainerRef, injector));\r\n }\r\n if (option.hasBackdrop && option.backdropClose && overlayRef)\r\n overlayRef.backdropClick().subscribe(() => {\r\n drawerRef.close();\r\n });\r\n\r\n return drawerRef;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XDrawerComponent } from './drawer.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XPortalModule } from '@ng-nest/ui/portal';\r\nimport { XDrawerProperty } from './drawer.property';\r\nimport { XDrawerService } from './drawer.service';\r\nimport { XDrawerContainerComponent } from './drawer-container.component';\r\nimport { XDrawerCloseDirective, XDrawerContentDirective, XDrawerTitleDirective } from './drawer-container.directives';\r\n\r\n@NgModule({\r\n declarations: [\r\n XDrawerComponent,\r\n XDrawerCloseDirective,\r\n XDrawerTitleDirective,\r\n XDrawerContentDirective,\r\n XDrawerContainerComponent,\r\n XDrawerProperty\r\n ],\r\n exports: [XDrawerComponent, XDrawerCloseDirective, XDrawerTitleDirective, XDrawerContentDirective, XDrawerContainerComponent],\r\n imports: [CommonModule, XOutletModule, XButtonModule, XPortalModule],\r\n providers: [XDrawerService]\r\n})\r\nexport class XDrawerModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ class XDropdownPortalComponent {
|
|
|
104
104
|
this.animating(false);
|
|
105
105
|
event.toState === 'void' && this.destroyPortal();
|
|
106
106
|
}
|
|
107
|
-
start(
|
|
107
|
+
start() {
|
|
108
108
|
this.animating(true);
|
|
109
109
|
}
|
|
110
110
|
mouseenter() {
|
|
@@ -275,7 +275,8 @@ class XDropdownComponent extends XDropdownProperty {
|
|
|
275
275
|
this.setSubject();
|
|
276
276
|
}
|
|
277
277
|
ngOnChanges(changes) {
|
|
278
|
-
|
|
278
|
+
const { data } = changes;
|
|
279
|
+
XIsChange(data) && this.setData();
|
|
279
280
|
}
|
|
280
281
|
ngOnDestroy() {
|
|
281
282
|
this._unSubject.next();
|
|
@@ -284,7 +285,7 @@ class XDropdownComponent extends XDropdownProperty {
|
|
|
284
285
|
this.hoverDelayUnsub.complete();
|
|
285
286
|
}
|
|
286
287
|
setSubject() {
|
|
287
|
-
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((
|
|
288
|
+
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
|
|
288
289
|
this.closePortal();
|
|
289
290
|
});
|
|
290
291
|
}
|