@ng-nest/ui 17.0.2 → 17.0.4
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/calendar/calendar.component.d.ts +0 -1
- package/carousel/carousel.component.d.ts +0 -1
- package/checkbox/checkbox.component.d.ts +0 -2
- package/checkbox/checkbox.property.d.ts +11 -1
- package/color/color.component.d.ts +0 -1
- package/crumb/crumb.component.d.ts +0 -1
- package/date-picker/picker-date.component.d.ts +0 -1
- package/esm2022/affix/affix.component.mjs +3 -3
- package/esm2022/affix/affix.module.mjs +4 -4
- package/esm2022/affix/affix.property.mjs +3 -3
- package/esm2022/alert/alert.component.mjs +7 -15
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/alert/alert.property.mjs +3 -3
- package/esm2022/anchor/anchor-inner.component.mjs +3 -3
- package/esm2022/anchor/anchor.component.mjs +7 -10
- package/esm2022/anchor/anchor.module.mjs +4 -4
- package/esm2022/anchor/anchor.property.mjs +6 -6
- package/esm2022/api/api.component.mjs +3 -3
- package/esm2022/api/api.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
- package/esm2022/auto-complete/auto-complete.component.mjs +3 -3
- package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
- package/esm2022/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/avatar.component.mjs +6 -7
- package/esm2022/avatar/avatar.module.mjs +4 -4
- package/esm2022/avatar/avatar.property.mjs +6 -6
- package/esm2022/back-top/back-top.component.mjs +7 -9
- package/esm2022/back-top/back-top.module.mjs +4 -4
- package/esm2022/back-top/back-top.property.mjs +3 -3
- package/esm2022/badge/badge.component.mjs +6 -7
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/badge/badge.property.mjs +3 -3
- package/esm2022/base-form/base-form.component.mjs +3 -3
- package/esm2022/base-form/base-form.module.mjs +4 -4
- package/esm2022/base-form/base-form.property.mjs +3 -3
- package/esm2022/border/border.component.mjs +3 -3
- package/esm2022/border/border.module.mjs +4 -4
- package/esm2022/button/button.component.mjs +6 -7
- package/esm2022/button/button.module.mjs +5 -5
- package/esm2022/button/button.property.mjs +6 -6
- package/esm2022/button/buttons.component.mjs +5 -6
- package/esm2022/calendar/calendar.component.mjs +10 -12
- package/esm2022/calendar/calendar.module.mjs +4 -4
- package/esm2022/calendar/calendar.property.mjs +3 -3
- package/esm2022/card/card.component.mjs +6 -7
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/card/card.property.mjs +3 -3
- package/esm2022/carousel/carousel-panel.component.mjs +5 -7
- package/esm2022/carousel/carousel.component.mjs +6 -10
- package/esm2022/carousel/carousel.module.mjs +5 -5
- package/esm2022/carousel/carousel.property.mjs +7 -7
- package/esm2022/cascade/cascade-portal.component.mjs +6 -8
- package/esm2022/cascade/cascade.component.mjs +7 -9
- package/esm2022/cascade/cascade.module.mjs +4 -4
- package/esm2022/cascade/cascade.property.mjs +3 -3
- package/esm2022/checkbox/checkbox.component.mjs +7 -13
- package/esm2022/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/checkbox/checkbox.property.mjs +30 -4
- package/esm2022/collapse/collapse-panel.component.mjs +5 -7
- package/esm2022/collapse/collapse.component.mjs +5 -6
- package/esm2022/collapse/collapse.module.mjs +5 -5
- package/esm2022/collapse/collapse.property.mjs +6 -6
- package/esm2022/color/color.component.mjs +6 -10
- package/esm2022/color/color.module.mjs +5 -5
- package/esm2022/color/color.property.mjs +3 -3
- package/esm2022/color-picker/color-picker-portal.component.mjs +6 -14
- package/esm2022/color-picker/color-picker.component.mjs +6 -6
- package/esm2022/color-picker/color-picker.module.mjs +4 -4
- package/esm2022/color-picker/color-picker.property.mjs +3 -3
- package/esm2022/comment/comment-reply.component.mjs +5 -6
- package/esm2022/comment/comment.component.mjs +5 -8
- package/esm2022/comment/comment.module.mjs +4 -4
- package/esm2022/comment/comment.property.mjs +6 -6
- package/esm2022/container/aside.component.mjs +5 -6
- package/esm2022/container/container.component.mjs +5 -6
- package/esm2022/container/container.module.mjs +5 -5
- package/esm2022/container/container.property.mjs +12 -12
- package/esm2022/container/footer.component.mjs +5 -6
- package/esm2022/container/header.component.mjs +5 -6
- package/esm2022/container/main.component.mjs +5 -6
- package/esm2022/core/config/config.service.mjs +3 -3
- package/esm2022/core/services/http.service.mjs +3 -3
- package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
- package/esm2022/core/services/storage.service.mjs +3 -3
- package/esm2022/core/theme/theme.service.mjs +3 -3
- package/esm2022/crumb/crumb.component.mjs +6 -10
- package/esm2022/crumb/crumb.module.mjs +4 -4
- package/esm2022/crumb/crumb.property.mjs +3 -3
- package/esm2022/date-picker/date-picker-portal.component.mjs +9 -9
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/date-picker/date-picker.property.mjs +18 -18
- package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
- package/esm2022/date-picker/date-range-portal.component.mjs +8 -7
- package/esm2022/date-picker/date-range.component.mjs +8 -11
- package/esm2022/date-picker/picker-date.component.mjs +6 -10
- package/esm2022/date-picker/picker-month.component.mjs +6 -7
- package/esm2022/date-picker/picker-quarter.component.mjs +6 -7
- package/esm2022/date-picker/picker-year.component.mjs +6 -7
- package/esm2022/description/description-item.component.mjs +6 -7
- package/esm2022/description/description.component.mjs +6 -7
- package/esm2022/description/description.module.mjs +5 -5
- package/esm2022/description/description.property.mjs +6 -6
- package/esm2022/dialog/dialog-container.component.mjs +6 -7
- package/esm2022/dialog/dialog-portal.component.mjs +7 -12
- package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
- package/esm2022/dialog/dialog.component.mjs +6 -7
- package/esm2022/dialog/dialog.module.mjs +5 -6
- package/esm2022/dialog/dialog.property.mjs +6 -6
- package/esm2022/dialog/dialog.service.mjs +3 -3
- package/esm2022/doc/doc.component.mjs +5 -6
- package/esm2022/doc/doc.module.mjs +5 -5
- package/esm2022/drag/drag.directive.mjs +3 -3
- package/esm2022/drag/drag.module.mjs +4 -4
- package/esm2022/drag/drag.property.mjs +3 -3
- package/esm2022/drawer/drawer-container.component.mjs +6 -7
- package/esm2022/drawer/drawer-portal.component.mjs +5 -6
- package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
- package/esm2022/drawer/drawer.component.mjs +6 -7
- package/esm2022/drawer/drawer.module.mjs +5 -6
- package/esm2022/drawer/drawer.property.mjs +6 -6
- package/esm2022/drawer/drawer.service.mjs +3 -3
- package/esm2022/dropdown/dropdown-portal.component.mjs +5 -6
- package/esm2022/dropdown/dropdown.component.mjs +9 -20
- package/esm2022/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/dropdown/dropdown.property.mjs +3 -3
- package/esm2022/empty/empty.component.mjs +5 -7
- package/esm2022/empty/empty.module.mjs +4 -4
- package/esm2022/empty/empty.property.mjs +3 -3
- package/esm2022/examples/examples.component.mjs +5 -6
- package/esm2022/examples/examples.module.mjs +5 -5
- package/esm2022/find/find.component.mjs +8 -12
- package/esm2022/find/find.module.mjs +4 -4
- package/esm2022/find/find.property.mjs +3 -3
- package/esm2022/form/control.component.mjs +7 -10
- package/esm2022/form/form.component.mjs +9 -12
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/form.property.mjs +6 -6
- package/esm2022/highlight/highlight.component.mjs +6 -7
- package/esm2022/highlight/highlight.module.mjs +4 -4
- package/esm2022/highlight/highlight.property.mjs +3 -3
- package/esm2022/i18n/i18n.directive.mjs +3 -3
- package/esm2022/i18n/i18n.module.mjs +4 -4
- package/esm2022/i18n/i18n.pipe.mjs +3 -3
- package/esm2022/i18n/i18n.service.mjs +3 -3
- package/esm2022/icon/icon.component.mjs +3 -3
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/icon/icon.property.mjs +3 -3
- package/esm2022/icon/icon.service.mjs +3 -3
- package/esm2022/image/image-group.component.mjs +12 -7
- package/esm2022/image/image-preview.component.mjs +7 -8
- package/esm2022/image/image.component.mjs +6 -7
- package/esm2022/image/image.module.mjs +5 -5
- package/esm2022/image/image.property.mjs +6 -6
- package/esm2022/inner/inner.component.mjs +5 -6
- package/esm2022/inner/inner.module.mjs +5 -5
- package/esm2022/inner/inner.property.mjs +3 -3
- package/esm2022/input/input-group.component.mjs +5 -6
- package/esm2022/input/input.component.mjs +7 -8
- package/esm2022/input/input.module.mjs +5 -5
- package/esm2022/input/input.property.mjs +6 -6
- package/esm2022/input-number/input-number.component.mjs +7 -8
- package/esm2022/input-number/input-number.module.mjs +4 -4
- package/esm2022/input-number/input-number.property.mjs +3 -3
- package/esm2022/keyword/keyword.directive.mjs +3 -3
- package/esm2022/keyword/keyword.module.mjs +4 -4
- package/esm2022/keyword/keyword.property.mjs +3 -3
- package/esm2022/layout/col.component.mjs +3 -3
- package/esm2022/layout/layout.module.mjs +4 -4
- package/esm2022/layout/layout.property.mjs +6 -6
- package/esm2022/layout/row.component.mjs +3 -3
- package/esm2022/link/link.component.mjs +6 -7
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/link/link.property.mjs +3 -3
- package/esm2022/list/list-drop-group.directive.mjs +3 -3
- package/esm2022/list/list-option.component.mjs +6 -7
- package/esm2022/list/list.component.mjs +9 -12
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/list.property.mjs +6 -6
- package/esm2022/loading/loading.component.mjs +6 -7
- package/esm2022/loading/loading.module.mjs +4 -4
- package/esm2022/loading/loading.property.mjs +3 -3
- package/esm2022/menu/menu-node.component.mjs +7 -8
- package/esm2022/menu/menu.component.mjs +6 -10
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu/menu.property.mjs +6 -6
- package/esm2022/message/message.component.mjs +5 -10
- package/esm2022/message/message.module.mjs +4 -4
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message-box/message-box.component.mjs +6 -9
- package/esm2022/message-box/message-box.module.mjs +4 -4
- package/esm2022/message-box/message-box.service.mjs +3 -3
- package/esm2022/notification/notification.component.mjs +5 -10
- package/esm2022/notification/notification.module.mjs +4 -4
- package/esm2022/notification/notification.service.mjs +3 -3
- package/esm2022/outlet/outlet.directive.mjs +3 -3
- package/esm2022/outlet/outlet.module.mjs +4 -4
- package/esm2022/page-header/page-header.component.mjs +5 -7
- package/esm2022/page-header/page-header.module.mjs +4 -4
- package/esm2022/page-header/page-header.property.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +6 -12
- package/esm2022/pagination/pagination.module.mjs +4 -4
- package/esm2022/pagination/pagination.property.mjs +3 -3
- package/esm2022/pattern/pattern.component.mjs +5 -6
- package/esm2022/pattern/pattern.module.mjs +5 -5
- package/esm2022/popconfirm/popconfirm.component.mjs +5 -7
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
- package/esm2022/popover/popover-portal.component.mjs +6 -7
- package/esm2022/popover/popover.directive.mjs +3 -3
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/popover/popover.property.mjs +3 -3
- package/esm2022/portal/portal.module.mjs +4 -4
- package/esm2022/portal/portal.service.mjs +3 -3
- package/esm2022/progress/progress.component.mjs +6 -7
- package/esm2022/progress/progress.module.mjs +4 -4
- package/esm2022/progress/progress.property.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +6 -10
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/radio/radio.property.mjs +14 -4
- package/esm2022/rate/rate.component.mjs +6 -7
- package/esm2022/rate/rate.module.mjs +4 -4
- package/esm2022/rate/rate.property.mjs +3 -3
- package/esm2022/resizable/resizable.directive.mjs +3 -3
- package/esm2022/resizable/resizable.module.mjs +4 -4
- package/esm2022/resizable/resizable.property.mjs +3 -3
- package/esm2022/result/result.component.mjs +6 -7
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/result/result.property.mjs +3 -3
- package/esm2022/ripple/ripple.directive.mjs +3 -3
- package/esm2022/ripple/ripple.module.mjs +4 -4
- package/esm2022/ripple/ripple.property.mjs +3 -3
- package/esm2022/select/select-portal.component.mjs +5 -6
- package/esm2022/select/select.component.mjs +7 -8
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/select/select.property.mjs +3 -3
- package/esm2022/skeleton/skeleton.component.mjs +6 -7
- package/esm2022/skeleton/skeleton.module.mjs +4 -4
- package/esm2022/skeleton/skeleton.property.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +6 -10
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/slider/slider.property.mjs +3 -3
- package/esm2022/slider-select/slider-select.component.mjs +9 -9
- package/esm2022/slider-select/slider-select.module.mjs +4 -4
- package/esm2022/slider-select/slider-select.property.mjs +3 -3
- package/esm2022/statistic/countdown.component.mjs +3 -3
- package/esm2022/statistic/statistic.component.mjs +6 -7
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/statistic/statistic.property.mjs +6 -6
- package/esm2022/steps/steps.component.mjs +6 -10
- package/esm2022/steps/steps.module.mjs +4 -4
- package/esm2022/steps/steps.property.mjs +3 -3
- package/esm2022/switch/switch.component.mjs +6 -7
- package/esm2022/switch/switch.module.mjs +4 -4
- package/esm2022/switch/switch.property.mjs +3 -3
- package/esm2022/table/table-body.component.mjs +10 -10
- package/esm2022/table/table-foot.component.mjs +5 -6
- package/esm2022/table/table-head.component.mjs +11 -13
- package/esm2022/table/table.component.mjs +7 -8
- package/esm2022/table/table.module.mjs +5 -5
- package/esm2022/table/table.property.mjs +12 -12
- package/esm2022/tabs/tab-content.component.mjs +6 -7
- package/esm2022/tabs/tab-link.directive.mjs +6 -6
- package/esm2022/tabs/tab.component.mjs +5 -6
- package/esm2022/tabs/tabs.component.mjs +6 -7
- package/esm2022/tabs/tabs.module.mjs +5 -5
- package/esm2022/tabs/tabs.property.mjs +6 -6
- package/esm2022/tag/tag.component.mjs +6 -7
- package/esm2022/tag/tag.module.mjs +4 -4
- package/esm2022/tag/tag.property.mjs +3 -3
- package/esm2022/text-retract/text-retract.component.mjs +5 -7
- package/esm2022/text-retract/text-retract.module.mjs +4 -4
- package/esm2022/text-retract/text-retract.property.mjs +3 -3
- package/esm2022/textarea/textarea.component.mjs +7 -8
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/textarea/textarea.property.mjs +3 -3
- package/esm2022/theme/theme.component.mjs +6 -9
- package/esm2022/theme/theme.module.mjs +4 -4
- package/esm2022/theme/theme.property.mjs +3 -3
- package/esm2022/time-ago/time-ago.module.mjs +4 -4
- package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
- package/esm2022/time-picker/time-picker-frame.component.mjs +6 -8
- package/esm2022/time-picker/time-picker-portal.component.mjs +5 -7
- package/esm2022/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/time-picker/time-picker.property.mjs +3 -3
- package/esm2022/time-range/time-range.module.mjs +4 -4
- package/esm2022/time-range/time-range.pipe.mjs +3 -3
- package/esm2022/timeline/timeline.component.mjs +6 -7
- package/esm2022/timeline/timeline.module.mjs +4 -4
- package/esm2022/timeline/timeline.property.mjs +3 -3
- package/esm2022/tooltip/tooltip-portal.component.mjs +6 -7
- package/esm2022/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.property.mjs +3 -3
- package/esm2022/transfer/transfer.component.mjs +11 -10
- package/esm2022/transfer/transfer.module.mjs +4 -4
- package/esm2022/transfer/transfer.property.mjs +3 -3
- package/esm2022/tree/tree-node.component.mjs +8 -9
- package/esm2022/tree/tree.component.mjs +7 -9
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree/tree.property.mjs +6 -6
- package/esm2022/tree/tree.service.mjs +3 -3
- package/esm2022/tree-file/tree-file.component.mjs +7 -8
- package/esm2022/tree-file/tree-file.module.mjs +4 -4
- package/esm2022/tree-file/tree-file.property.mjs +3 -3
- package/esm2022/tree-select/tree-select-portal.component.mjs +5 -7
- package/esm2022/tree-select/tree-select.component.mjs +7 -8
- package/esm2022/tree-select/tree-select.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.property.mjs +3 -3
- package/esm2022/typography/typography.component.mjs +3 -3
- package/esm2022/typography/typography.module.mjs +4 -4
- package/esm2022/typography/typography.property.mjs +3 -3
- package/esm2022/upload/upload-portal.component.mjs +6 -6
- package/esm2022/upload/upload.component.mjs +7 -11
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/upload/upload.property.mjs +3 -3
- package/fesm2022/ng-nest-ui-affix.mjs +10 -10
- package/fesm2022/ng-nest-ui-alert.mjs +13 -21
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +19 -22
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
- package/fesm2022/ng-nest-ui-avatar.mjs +18 -19
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +13 -15
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +12 -13
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-border.mjs +7 -7
- package/fesm2022/ng-nest-ui-button.mjs +19 -20
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +16 -18
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +12 -13
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +19 -23
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +18 -21
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +39 -19
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +18 -20
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +16 -24
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +12 -16
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +18 -21
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +36 -37
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-crumb.mjs +12 -16
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +66 -69
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +20 -21
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +48 -54
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +8 -9
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +37 -39
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +19 -30
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +11 -13
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +8 -9
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +14 -18
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +23 -27
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +12 -13
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2022/ng-nest-ui-icon.mjs +13 -13
- package/fesm2022/ng-nest-ui-image.mjs +31 -26
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -12
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +13 -14
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +20 -21
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +16 -16
- package/fesm2022/ng-nest-ui-link.mjs +12 -13
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +26 -28
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +12 -13
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +20 -24
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +12 -15
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +11 -16
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +11 -16
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +11 -13
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +12 -18
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +8 -9
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -13
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +15 -16
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +12 -13
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +22 -16
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +12 -13
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +12 -13
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2022/ng-nest-ui-select.mjs +17 -18
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +12 -13
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +15 -15
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +12 -16
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +18 -19
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +12 -16
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +12 -13
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +45 -46
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +29 -30
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +12 -13
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -13
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +13 -14
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +12 -15
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +20 -21
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +12 -13
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +15 -16
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +17 -16
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +13 -14
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +17 -18
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +26 -27
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +17 -21
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/find/find.component.d.ts +0 -1
- package/form/form.component.d.ts +1 -2
- package/image/image-group.component.d.ts +2 -0
- package/menu/menu.component.d.ts +0 -1
- package/message/message.component.d.ts +0 -1
- package/notification/notification.component.d.ts +0 -1
- package/package.json +60 -60
- package/pagination/pagination.component.d.ts +0 -1
- package/radio/radio.component.d.ts +0 -1
- package/radio/radio.property.d.ts +6 -1
- package/slider/slider.component.d.ts +0 -1
- package/steps/steps.component.d.ts +0 -1
- package/table/table-head.component.d.ts +0 -1
- package/upload/upload.component.d.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ selector: `${XFindPrefix}-property`, template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列头名称\r\n * @en_US Ball Form Select List Name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '选择') dialogCheckboxLabel!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列宽\r\n * @en_US Ball Form Select List width\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 60) @XInputNumber() dialogCheckboxWidth!: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示信息\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '请选择数据') dialogEmptyContent!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头名称\r\n * @en_US Ball Form Select Box List Name\r\n */\r\n dialogCheckboxLabel?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头宽度\r\n * @en_US Ball Form Select Box List width\r\n */\r\n dialogCheckboxWidth?: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示内容\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n dialogEmptyContent?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges,\r\n inject,\r\n OnChanges,\r\n AfterViewInit,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport {\r\n XClearClass,\r\n XResize,\r\n XIsUndefined,\r\n XIsChange,\r\n XConfigService,\r\n XIsEmpty,\r\n XResizeObserver\r\n} from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor, XControlValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XTagComponent } from '@ng-nest/ui/tag';\r\nimport { XEmptyComponent } from '@ng-nest/ui/empty';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagComponent,\r\n XButtonComponent,\r\n XDialogComponent,\r\n XTableComponent,\r\n XTreeComponent,\r\n XIconComponent,\r\n XEmptyComponent,\r\n XInputComponent,\r\n XControlValueAccessor\r\n ],\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent\r\n extends XFindProperty\r\n implements OnInit, OnChanges, AfterViewInit, OnDestroy\r\n{\r\n @ViewChild('find', { static: true }) find!: ElementRef<HTMLElement>;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef<HTMLElement>;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef<HTMLElement>;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) ||\r\n this.treeData instanceof Function ||\r\n this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n configService = inject(XConfigService);\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [\r\n {\r\n id: '$checked',\r\n label: this.dialogCheckboxLabel,\r\n rowChecked: true,\r\n type: 'checkbox',\r\n width: this.dialogCheckboxWidth\r\n },\r\n ...this.tableColumns\r\n ];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.dialogVisible = false;\r\n this.sure();\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // data['$checked'] = !data['$checked'];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [\r\n ...this.tableQuery.filter,\r\n { field: this.treeTableConnect, value: node.id, operation: '=' }\r\n ];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n trackByItem(_index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label\r\n *ngIf=\"label\"\r\n [class.x-find-label-required]=\"required\"\r\n [style.width]=\"labelWidth\"\r\n [ngClass]=\"labelMap\"\r\n >{{ label }}</label\r\n >\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag\r\n *ngIf=\"value\"\r\n closable\r\n [disabled]=\"disabled\"\r\n [bordered]=\"bordered\"\r\n [size]=\"size\"\r\n (close)=\"tagClose()\"\r\n >{{ value[columnLabel] }}</x-tag\r\n >\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [className]=\"'x-find-dialog-container'\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div\r\n class=\"x-find-dialog-tree\"\r\n *ngIf=\"hasTree\"\r\n #treeRef\r\n [style.height.px]=\"hasTreeTable && multiple && height\"\r\n >\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input\r\n [label]=\"search.label\"\r\n direction=\"row\"\r\n (xKeydown)=\"searchKeyDown($event)\"\r\n [(ngModel)]=\"search.value\"\r\n ></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{\r\n search.button || '查询'\r\n }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div\r\n *ngIf=\"multiple\"\r\n class=\"x-find-dialog-checked\"\r\n [class.x-find-empty]=\"getEmpty\"\r\n [style.height.px]=\"height\"\r\n >\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag\r\n *ngFor=\"let item of temp; index as i; trackBy: trackByItem\"\r\n closable\r\n (close)=\"tempClose(i, item)\"\r\n >\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XFindComponent } from './find.component';\r\n\r\n@NgModule({\r\n exports: [XFindComponent],\r\n imports: [XFindComponent]\r\n})\r\nexport class XFindModule {}\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-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ selector: `${XFindPrefix}-property`, template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列头名称\r\n * @en_US Ball Form Select List Name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '选择') dialogCheckboxLabel!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列宽\r\n * @en_US Ball Form Select List width\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 60) @XInputNumber() dialogCheckboxWidth!: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示信息\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '请选择数据') dialogEmptyContent!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头名称\r\n * @en_US Ball Form Select Box List Name\r\n */\r\n dialogCheckboxLabel?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头宽度\r\n * @en_US Ball Form Select Box List width\r\n */\r\n dialogCheckboxWidth?: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示内容\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n dialogEmptyContent?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges,\r\n inject,\r\n OnChanges,\r\n AfterViewInit,\r\n OnDestroy\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport {\r\n XClearClass,\r\n XResize,\r\n XIsUndefined,\r\n XIsChange,\r\n XConfigService,\r\n XIsEmpty,\r\n XResizeObserver\r\n} from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor, XControlValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XTagComponent } from '@ng-nest/ui/tag';\r\nimport { XEmptyComponent } from '@ng-nest/ui/empty';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { NgClass } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagComponent,\r\n XButtonComponent,\r\n XDialogComponent,\r\n XTableComponent,\r\n XTreeComponent,\r\n XIconComponent,\r\n XEmptyComponent,\r\n XInputComponent,\r\n XControlValueAccessor\r\n ],\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent extends XFindProperty implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n @ViewChild('find', { static: true }) find!: ElementRef<HTMLElement>;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef<HTMLElement>;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef<HTMLElement>;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) ||\r\n this.treeData instanceof Function ||\r\n this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n configService = inject(XConfigService);\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [\r\n {\r\n id: '$checked',\r\n label: this.dialogCheckboxLabel,\r\n rowChecked: true,\r\n type: 'checkbox',\r\n width: this.dialogCheckboxWidth\r\n },\r\n ...this.tableColumns\r\n ];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.dialogVisible = false;\r\n this.sure();\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // data['$checked'] = !data['$checked'];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [\r\n ...this.tableQuery.filter,\r\n { field: this.treeTableConnect, value: node.id, operation: '=' }\r\n ];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n @if (label) {\r\n <label [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n @if (multiple) {\r\n @for (item of value; track item.id; let i = $index) {\r\n <x-tag closable [size]=\"size\" [bordered]=\"bordered\" [disabled]=\"disabled\" (close)=\"tagClose(i)\">{{\r\n item[columnLabel]\r\n }}</x-tag>\r\n }\r\n } @else if (value) {\r\n <x-tag closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [className]=\"'x-find-dialog-container'\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n @if (hasTree) {\r\n <div class=\"x-find-dialog-tree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n }\r\n @if (hasTable) {\r\n <div class=\"x-find-dialog-table\" #tableRef>\r\n @if (hasSearch) {\r\n <div class=\"x-find-search\">\r\n <x-input\r\n [label]=\"search.label\"\r\n direction=\"row\"\r\n (xKeydown)=\"searchKeyDown($event)\"\r\n [(ngModel)]=\"search.value\"\r\n ></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '查询' }}</x-button>\r\n </div>\r\n }\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n }\r\n @if (multiple) {\r\n <div class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n @if (getEmpty) {\r\n <x-empty [content]=\"dialogEmptyContent\"></x-empty>\r\n }\r\n <div class=\"x-find-dialog-tags\">\r\n @for (item of temp; track item.id; let i = $index) {\r\n <x-tag closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n @if (node.$checked) {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XFindComponent } from './find.component';\r\n\r\n@NgModule({\r\n exports: [XFindComponent],\r\n imports: [XFindComponent]\r\n})\r\nexport class XFindModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,11 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { EventEmitter, Component, Input, Output, ChangeDetectorRef, inject, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import { XWithConfig, XInputNumber, XIdentity, XIsEmpty, XConfigService, XIsFunction, XIsChange } from '@ng-nest/ui/core';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i1 from '@angular/forms';
|
|
6
6
|
import { UntypedFormGroup, UntypedFormControl, Validators, FormControlName, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
7
|
import { XFormProp, XFormInputValidator } from '@ng-nest/ui/base-form';
|
|
8
8
|
import { XRowComponent, XColComponent } from '@ng-nest/ui/layout';
|
|
9
|
-
import
|
|
10
|
-
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
11
10
|
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
12
11
|
import { Subject } from 'rxjs';
|
|
13
12
|
import { takeUntil, map } from 'rxjs/operators';
|
|
@@ -23,7 +22,7 @@ import { XRadioComponent } from '@ng-nest/ui/radio';
|
|
|
23
22
|
import { XRateComponent } from '@ng-nest/ui/rate';
|
|
24
23
|
import { XSliderSelectComponent } from '@ng-nest/ui/slider-select';
|
|
25
24
|
import { XSwitchComponent } from '@ng-nest/ui/switch';
|
|
26
|
-
import * as
|
|
25
|
+
import * as i2 from '@ng-nest/ui/time-picker';
|
|
27
26
|
import { XTimePickerModule } from '@ng-nest/ui/time-picker';
|
|
28
27
|
import { XTextareaComponent } from '@ng-nest/ui/textarea';
|
|
29
28
|
import { XFindComponent } from '@ng-nest/ui/find';
|
|
@@ -69,8 +68,8 @@ class XFormProperty extends XFormProp {
|
|
|
69
68
|
*/
|
|
70
69
|
this.xSubmit = new EventEmitter();
|
|
71
70
|
}
|
|
72
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
73
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
71
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XFormProperty, selector: "x-form-property", inputs: { formGroup: "formGroup", title: "title", space: "space", span: "span", labelSuffix: "labelSuffix", controls: "controls", width: "width", controlTpl: "controlTpl" }, outputs: { xSubmit: "xSubmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
74
73
|
}
|
|
75
74
|
__decorate([
|
|
76
75
|
XWithConfig(X_CONFIG_NAME, 1),
|
|
@@ -85,7 +84,7 @@ __decorate([
|
|
|
85
84
|
__decorate([
|
|
86
85
|
XWithConfig(X_CONFIG_NAME, '100%')
|
|
87
86
|
], XFormProperty.prototype, "width", void 0);
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormProperty, decorators: [{
|
|
89
88
|
type: Component,
|
|
90
89
|
args: [{ selector: `${XFormPrefix}-property`, template: '' }]
|
|
91
90
|
}], propDecorators: { formGroup: [{
|
|
@@ -129,10 +128,10 @@ const XControlPrefix = 'x-control';
|
|
|
129
128
|
* Control Property
|
|
130
129
|
*/
|
|
131
130
|
class XControlProperty {
|
|
132
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
133
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
131
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XControlProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XControlProperty, selector: "x-control-property", inputs: { option: "option" }, ngImport: i0, template: '', isInline: true }); }
|
|
134
133
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XControlProperty, decorators: [{
|
|
136
135
|
type: Component,
|
|
137
136
|
args: [{ selector: `${XControlPrefix}-property`, template: '' }]
|
|
138
137
|
}], propDecorators: { option: [{
|
|
@@ -389,13 +388,12 @@ class XControlComponent extends XControlProperty {
|
|
|
389
388
|
return new XInputControl(option);
|
|
390
389
|
}
|
|
391
390
|
}
|
|
392
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
393
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
391
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XControlComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
392
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XControlComponent, isStandalone: true, selector: "x-control", inputs: { option: "option", form: "form" }, viewQueries: [{ propertyName: "control", first: true, predicate: FormControlName, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n @switch (option.control) {\r\n @case ('input') {\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n }\r\n @case ('select') {\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n }\r\n @case ('cascade') {\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n }\r\n @case ('checkbox') {\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n }\r\n @case ('color-picker') {\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n }\r\n @case ('date-picker') {\r\n <x-date-picker\r\n [formControlName]=\"option.id\"\r\n (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"\r\n ></x-date-picker>\r\n }\r\n @case ('input-number') {\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n }\r\n @case ('radio') {\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n }\r\n @case ('rate') {\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n }\r\n @case ('slider-select') {\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n }\r\n @case ('switch') {\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n }\r\n @case ('time-picker') {\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n }\r\n @case ('textarea') {\r\n <x-textarea\r\n [formControlName]=\"option.id\"\r\n (clearEmit)=\"option.clearClick && option.clearClick($event)\"\r\n ></x-textarea>\r\n }\r\n @case ('auto-complete') {\r\n <x-auto-complete\r\n [formControlName]=\"option.id\"\r\n (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"\r\n ></x-auto-complete>\r\n }\r\n @case ('find') {\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n }\r\n }\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XSelectComponent, selector: "x-select" }, { kind: "component", type: XCascadeComponent, selector: "x-cascade" }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: XColorPickerComponent, selector: "x-color-picker" }, { kind: "component", type: XDatePickerComponent, selector: "x-date-picker" }, { kind: "component", type: XInputNumberComponent, selector: "x-input-number" }, { kind: "component", type: XRadioComponent, selector: "x-radio" }, { kind: "component", type: XRateComponent, selector: "x-rate" }, { kind: "component", type: XSliderSelectComponent, selector: "x-slider-select" }, { kind: "component", type: XSwitchComponent, selector: "x-switch" }, { kind: "ngmodule", type: XTimePickerModule }, { kind: "component", type: i2.XTimePickerComponent, selector: "x-time-picker" }, { kind: "component", type: XTextareaComponent, selector: "x-textarea" }, { kind: "component", type: XFindComponent, selector: "x-find" }, { kind: "component", type: XAutoCompleteComponent, selector: "x-auto-complete" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
394
393
|
}
|
|
395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XControlComponent, decorators: [{
|
|
396
395
|
type: Component,
|
|
397
396
|
args: [{ selector: 'x-control', standalone: true, imports: [
|
|
398
|
-
CommonModule,
|
|
399
397
|
FormsModule,
|
|
400
398
|
ReactiveFormsModule,
|
|
401
399
|
XInputComponent,
|
|
@@ -413,7 +411,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
413
411
|
XTextareaComponent,
|
|
414
412
|
XFindComponent,
|
|
415
413
|
XAutoCompleteComponent
|
|
416
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n
|
|
414
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-control\" [formGroup]=\"form.formGroup\">\r\n @switch (option.control) {\r\n @case ('input') {\r\n <x-input [formControlName]=\"option.id\" (clearEmit)=\"option.clearClick && option.clearClick($event)\"></x-input>\r\n }\r\n @case ('select') {\r\n <x-select [formControlName]=\"option.id\"></x-select>\r\n }\r\n @case ('cascade') {\r\n <x-cascade [formControlName]=\"option.id\" (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"></x-cascade>\r\n }\r\n @case ('checkbox') {\r\n <x-checkbox [formControlName]=\"option.id\"></x-checkbox>\r\n }\r\n @case ('color-picker') {\r\n <x-color-picker [formControlName]=\"option.id\"></x-color-picker>\r\n }\r\n @case ('date-picker') {\r\n <x-date-picker\r\n [formControlName]=\"option.id\"\r\n (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"\r\n ></x-date-picker>\r\n }\r\n @case ('input-number') {\r\n <x-input-number [formControlName]=\"option.id\"></x-input-number>\r\n }\r\n @case ('radio') {\r\n <x-radio [formControlName]=\"option.id\"></x-radio>\r\n }\r\n @case ('rate') {\r\n <x-rate [formControlName]=\"option.id\"></x-rate>\r\n }\r\n @case ('slider-select') {\r\n <x-slider-select [formControlName]=\"option.id\"></x-slider-select>\r\n }\r\n @case ('switch') {\r\n <x-switch [formControlName]=\"option.id\"></x-switch>\r\n }\r\n @case ('time-picker') {\r\n <x-time-picker [formControlName]=\"option.id\"></x-time-picker>\r\n }\r\n @case ('textarea') {\r\n <x-textarea\r\n [formControlName]=\"option.id\"\r\n (clearEmit)=\"option.clearClick && option.clearClick($event)\"\r\n ></x-textarea>\r\n }\r\n @case ('auto-complete') {\r\n <x-auto-complete\r\n [formControlName]=\"option.id\"\r\n (nodeEmit)=\"option.nodeClick && option.nodeClick($event)\"\r\n ></x-auto-complete>\r\n }\r\n @case ('find') {\r\n <x-find [formControlName]=\"option.id\"></x-find>\r\n }\r\n }\r\n</div>\r\n", styles: [".x-control{margin:0;padding:0}.x-control x-input,.x-control x-select,.x-control x-date-picker,.x-control x-time-picker,.x-control x-input-number,.x-control x-slider-select,.x-control x-cascade,.x-control x-color-picker,.x-control x-textarea,.x-control x-auto-complete{width:100%}\n"] }]
|
|
417
415
|
}], propDecorators: { option: [{
|
|
418
416
|
type: Input
|
|
419
417
|
}], form: [{
|
|
@@ -518,16 +516,14 @@ class XFormComponent extends XFormProperty {
|
|
|
518
516
|
this.setValidator();
|
|
519
517
|
this.xSubmit.emit(event);
|
|
520
518
|
}
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
525
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XFormComponent, isStandalone: true, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n <ng-container [ngSwitch]=\"controlsType\">\r\n <ng-container *ngSwitchCase=\"'controls'\">\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rows'\">\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n <ng-container *ngFor=\"let row of rows\">\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n <x-col\r\n [style.padding-top.rem]=\"space\"\r\n [span]=\"!control.span ? span : control.span\"\r\n *ngFor=\"let control of controls; trackBy: trackByControl\"\r\n [hidden]=\"control.hidden\"\r\n >\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n <x-icon *ngIf=\"row.icon\" [type]=\"row.icon\"></x-icon>\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XControlComponent, selector: "x-control", inputs: ["option", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
519
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
520
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XFormComponent, isStandalone: true, selector: "x-form", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @switch (controlsType) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row.id) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n @for (control of controls; track control.id) {\r\n <x-col [style.padding-top.rem]=\"space\" [span]=\"!control.span ? span : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: XRowComponent, selector: "x-row" }, { kind: "component", type: XColComponent, selector: "x-col" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XControlComponent, selector: "x-control", inputs: ["option", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
526
521
|
}
|
|
527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormComponent, decorators: [{
|
|
528
523
|
type: Component,
|
|
529
524
|
args: [{ selector: `${XFormPrefix}`, standalone: true, imports: [
|
|
530
|
-
|
|
525
|
+
NgClass,
|
|
526
|
+
NgTemplateOutlet,
|
|
531
527
|
FormsModule,
|
|
532
528
|
ReactiveFormsModule,
|
|
533
529
|
XRowComponent,
|
|
@@ -535,15 +531,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
535
531
|
XOutletDirective,
|
|
536
532
|
XIconComponent,
|
|
537
533
|
XControlComponent
|
|
538
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n
|
|
534
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup\"\r\n [style.width]=\"width\"\r\n [style.padding-bottom.rem]=\"controlsType === 'controls' ? this.space : 0\"\r\n [ngClass]=\"classMap\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @switch (controlsType) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row.id) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space\">\r\n @for (control of controls; track control.id) {\r\n <x-col [style.padding-top.rem]=\"space\" [span]=\"!control.span ? span : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\" [form]=\"this\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n", styles: [".x-form{margin:0;padding:0;display:inline-block;overflow:hidden}.x-form-title{display:inline-flex;align-items:center;font-size:var(--x-font-size-medium)}.x-form-title>x-icon{margin-right:.25rem}.x-form-category{width:100%;overflow:hidden}.x-form-rows>x-row[hidden]{display:none}.x-form-rows>x-row:not(:first-child){margin-top:1.5rem}.x-form x-col[hidden]{display:none}.x-form-has-content .x-form-content{margin-top:1.5rem}\n"] }]
|
|
539
535
|
}] });
|
|
540
536
|
|
|
541
537
|
class XFormModule {
|
|
542
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
543
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
544
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
538
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
539
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent], exports: [XFormComponent, XControlComponent] }); }
|
|
540
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormModule, imports: [XFormComponent, XControlComponent] }); }
|
|
545
541
|
}
|
|
546
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
542
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFormModule, decorators: [{
|
|
547
543
|
type: NgModule,
|
|
548
544
|
args: [{
|
|
549
545
|
exports: [XFormComponent, XControlComponent],
|