@ng-nest/ui 17.0.12 → 18.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/affix/affix.component.d.ts +0 -2
- package/affix/affix.property.d.ts +12 -7
- package/alert/alert.component.d.ts +12 -11
- package/alert/alert.property.d.ts +36 -35
- package/anchor/anchor.component.d.ts +15 -18
- package/anchor/anchor.property.d.ts +17 -8
- package/api/api.component.d.ts +2 -7
- package/auto-complete/auto-complete-portal.component.d.ts +20 -25
- package/auto-complete/auto-complete.component.d.ts +17 -34
- package/auto-complete/auto-complete.property.d.ts +282 -20
- package/avatar/avatar.component.d.ts +29 -19
- package/avatar/avatar.property.d.ts +78 -12
- package/back-top/back-top.component.d.ts +12 -17
- package/back-top/back-top.property.d.ts +12 -8
- package/badge/badge.component.d.ts +9 -16
- package/badge/badge.property.d.ts +95 -13
- package/base-form/base-form.component.d.ts +53 -26
- package/base-form/base-form.module.d.ts +1 -2
- package/base-form/base-form.property.d.ts +173 -45
- package/button/button.component.d.ts +16 -14
- package/button/button.property.d.ts +242 -100
- package/button/buttons.component.d.ts +8 -10
- package/calendar/calendar.component.d.ts +41 -27
- package/calendar/calendar.property.d.ts +69 -10
- package/card/card.component.d.ts +4 -6
- package/card/card.property.d.ts +50 -9
- package/carousel/carousel-panel.component.d.ts +15 -14
- package/carousel/carousel.component.d.ts +18 -19
- package/carousel/carousel.property.d.ts +168 -28
- package/cascade/cascade-portal.component.d.ts +28 -28
- package/cascade/cascade.component.d.ts +24 -30
- package/cascade/cascade.property.d.ts +292 -20
- package/checkbox/checkbox.component.d.ts +17 -17
- package/checkbox/checkbox.property.d.ts +274 -35
- package/collapse/collapse-panel.component.d.ts +5 -2
- package/collapse/collapse.component.d.ts +3 -7
- package/collapse/collapse.property.d.ts +113 -20
- package/color/color.component.d.ts +4 -9
- package/color/color.property.d.ts +36 -8
- package/color-picker/color-picker-portal.component.d.ts +40 -52
- package/color-picker/color-picker.component.d.ts +19 -28
- package/color-picker/color-picker.property.d.ts +260 -10
- package/comment/comment-reply.component.d.ts +1 -8
- package/comment/comment.component.d.ts +4 -14
- package/comment/comment.property.d.ts +21 -15
- package/container/aside.component.d.ts +3 -8
- package/container/container.component.d.ts +5 -9
- package/container/container.property.d.ts +33 -19
- package/container/footer.component.d.ts +2 -5
- package/container/header.component.d.ts +2 -5
- package/container/main.component.d.ts +2 -7
- package/core/animation/badge.d.ts +8 -0
- package/core/animation/connect.d.ts +8 -1
- package/core/animation/consts.d.ts +4 -0
- package/core/animation/drop.d.ts +4 -0
- package/core/animation/fade.d.ts +4 -0
- package/core/animation/move.d.ts +4 -0
- package/core/animation/opacity.d.ts +4 -0
- package/core/animation/slide.d.ts +4 -1
- package/core/config/config.d.ts +174 -108
- package/core/config/config.service.d.ts +5 -5
- package/core/config/index.d.ts +1 -0
- package/core/functions/chunk.d.ts +12 -1
- package/core/functions/clone-deep.d.ts +16 -0
- package/core/functions/convert.d.ts +77 -4
- package/core/functions/csspx.d.ts +5 -0
- package/core/functions/date.d.ts +59 -3
- package/core/functions/drop.d.ts +13 -1
- package/core/functions/flex.d.ts +4 -0
- package/core/functions/group-by.d.ts +5 -1
- package/core/functions/guid.d.ts +2 -1
- package/core/functions/has-in.d.ts +4 -0
- package/core/functions/order-by.d.ts +5 -1
- package/core/functions/parent-path.d.ts +8 -0
- package/core/functions/property.d.ts +12 -6
- package/core/functions/public-api.d.ts +1 -0
- package/core/functions/remove.d.ts +5 -1
- package/core/functions/resize.d.ts +13 -1
- package/core/interfaces/data.type.d.ts +172 -3
- package/core/interfaces/identify.type.d.ts +60 -0
- package/core/interfaces/layout.type.d.ts +88 -37
- package/core/interfaces/result-list.type.d.ts +91 -3
- package/core/services/http.service.d.ts +0 -22
- package/core/services/repository.service.d.ts +1 -1
- package/core/services/reuse-strategy.service.d.ts +0 -22
- package/core/services/storage.service.d.ts +0 -21
- package/core/theme/theme.d.ts +45 -1
- package/core/theme/theme.service.d.ts +46 -11
- package/core/util/animation.d.ts +1 -1
- package/core/util/camel-to-kebab.d.ts +13 -0
- package/core/util/check.d.ts +10 -2
- package/core/util/computed-style.d.ts +8 -0
- package/core/util/host.d.ts +3 -2
- package/core/util/html.d.ts +3 -2
- package/core/util/kebab-to-camel.d.ts +13 -0
- package/core/util/log.d.ts +10 -2
- package/core/util/option.d.ts +3 -4
- package/core/util/public-api.d.ts +2 -0
- package/crumb/crumb.component.d.ts +1 -10
- package/crumb/crumb.property.d.ts +12 -8
- package/date-picker/date-picker-portal.component.d.ts +80 -33
- package/date-picker/date-picker.component.d.ts +74 -32
- package/date-picker/date-picker.property.d.ts +662 -214
- package/date-picker/date-range-portal.component.d.ts +102 -49
- package/date-picker/date-range.component.d.ts +87 -43
- package/date-picker/picker-date.component.d.ts +63 -17
- package/date-picker/picker-month.component.d.ts +59 -13
- package/date-picker/picker-quarter.component.d.ts +61 -15
- package/date-picker/picker-year.component.d.ts +8 -11
- package/description/description-item.component.d.ts +1 -1
- package/description/description.component.d.ts +6 -10
- package/description/description.property.d.ts +135 -16
- package/dialog/dialog-portal.component.d.ts +5 -6
- package/dialog/dialog-portal.directives.d.ts +1 -1
- package/dialog/dialog.component.d.ts +30 -23
- package/dialog/dialog.property.d.ts +77 -134
- package/doc/doc.component.d.ts +2 -5
- package/drag/drag.directive.d.ts +1 -1
- package/drag/drag.property.d.ts +4 -5
- package/drawer/drawer-container.component.d.ts +1 -1
- package/drawer/drawer-portal.component.d.ts +1 -1
- package/drawer/drawer.component.d.ts +15 -14
- package/drawer/drawer.property.d.ts +26 -18
- package/dropdown/dropdown-portal.component.d.ts +36 -45
- package/dropdown/dropdown.component.d.ts +17 -21
- package/dropdown/dropdown.property.d.ts +24 -21
- package/empty/empty.component.d.ts +0 -7
- package/empty/empty.property.d.ts +27 -4
- package/esm2022/affix/affix.component.mjs +6 -11
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/affix/affix.property.mjs +22 -20
- package/esm2022/alert/alert.component.mjs +39 -44
- package/esm2022/alert/alert.module.mjs +5 -5
- package/esm2022/alert/alert.property.mjs +102 -107
- package/esm2022/anchor/anchor-inner.component.mjs +4 -4
- package/esm2022/anchor/anchor.component.mjs +73 -95
- package/esm2022/anchor/anchor.module.mjs +5 -5
- package/esm2022/anchor/anchor.property.mjs +45 -35
- package/esm2022/api/api.component.mjs +11 -14
- package/esm2022/api/api.module.mjs +5 -5
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +36 -47
- package/esm2022/auto-complete/auto-complete.component.mjs +122 -162
- package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
- package/esm2022/auto-complete/auto-complete.property.mjs +142 -55
- package/esm2022/avatar/avatar-group.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +75 -81
- package/esm2022/avatar/avatar.module.mjs +5 -5
- package/esm2022/avatar/avatar.property.mjs +116 -45
- package/esm2022/back-top/back-top.component.mjs +57 -73
- package/esm2022/back-top/back-top.module.mjs +5 -5
- package/esm2022/back-top/back-top.property.mjs +37 -29
- package/esm2022/badge/badge.component.mjs +51 -59
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/badge/badge.property.mjs +111 -38
- package/esm2022/base-form/base-form.component.mjs +89 -81
- package/esm2022/base-form/base-form.module.mjs +7 -8
- package/esm2022/base-form/base-form.property.mjs +200 -89
- package/esm2022/button/button.component.mjs +50 -59
- package/esm2022/button/button.module.mjs +5 -5
- package/esm2022/button/button.property.mjs +293 -98
- package/esm2022/button/buttons.component.mjs +35 -21
- package/esm2022/calendar/calendar.component.mjs +56 -84
- package/esm2022/calendar/calendar.module.mjs +5 -5
- package/esm2022/calendar/calendar.property.mjs +78 -24
- package/esm2022/card/card.component.mjs +10 -14
- package/esm2022/card/card.module.mjs +5 -5
- package/esm2022/card/card.property.mjs +57 -22
- package/esm2022/carousel/carousel-panel.component.mjs +98 -76
- package/esm2022/carousel/carousel.component.mjs +55 -65
- package/esm2022/carousel/carousel.module.mjs +5 -5
- package/esm2022/carousel/carousel.property.mjs +215 -85
- package/esm2022/cascade/cascade-portal.component.mjs +77 -69
- package/esm2022/cascade/cascade.component.mjs +107 -135
- package/esm2022/cascade/cascade.module.mjs +5 -5
- package/esm2022/cascade/cascade.property.mjs +137 -48
- package/esm2022/checkbox/checkbox.component.mjs +68 -83
- package/esm2022/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/checkbox/checkbox.property.mjs +136 -73
- package/esm2022/collapse/collapse-panel.component.mjs +31 -21
- package/esm2022/collapse/collapse.component.mjs +16 -21
- package/esm2022/collapse/collapse.module.mjs +5 -5
- package/esm2022/collapse/collapse.property.mjs +156 -66
- package/esm2022/color/color.component.mjs +25 -26
- package/esm2022/color/color.module.mjs +5 -5
- package/esm2022/color/color.property.mjs +47 -27
- package/esm2022/color-picker/color-picker-portal.component.mjs +120 -130
- package/esm2022/color-picker/color-picker.component.mjs +76 -117
- package/esm2022/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/color-picker/color-picker.property.mjs +123 -27
- package/esm2022/comment/comment-reply.component.mjs +9 -24
- package/esm2022/comment/comment.component.mjs +11 -40
- package/esm2022/comment/comment.module.mjs +5 -5
- package/esm2022/comment/comment.property.mjs +27 -50
- package/esm2022/container/aside.component.mjs +12 -15
- package/esm2022/container/container.component.mjs +21 -24
- package/esm2022/container/container.module.mjs +5 -5
- package/esm2022/container/container.property.mjs +55 -51
- package/esm2022/container/footer.component.mjs +14 -16
- package/esm2022/container/header.component.mjs +14 -16
- package/esm2022/container/main.component.mjs +10 -13
- package/esm2022/core/animation/badge.mjs +17 -3
- package/esm2022/core/animation/connect.mjs +17 -99
- package/esm2022/core/animation/consts.mjs +5 -1
- package/esm2022/core/animation/drop.mjs +5 -1
- package/esm2022/core/animation/fade.mjs +13 -3
- package/esm2022/core/animation/move.mjs +5 -1
- package/esm2022/core/animation/opacity.mjs +5 -1
- package/esm2022/core/animation/slide.mjs +5 -23
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/core/config/config.service.mjs +11 -59
- package/esm2022/core/config/index.mjs +2 -0
- package/esm2022/core/functions/chunk.mjs +12 -1
- package/esm2022/core/functions/clone-deep.mjs +17 -1
- package/esm2022/core/functions/convert.mjs +110 -13
- package/esm2022/core/functions/csspx.mjs +17 -0
- package/esm2022/core/functions/date.mjs +80 -4
- package/esm2022/core/functions/drop.mjs +13 -1
- package/esm2022/core/functions/flex.mjs +5 -1
- package/esm2022/core/functions/group-by.mjs +5 -1
- package/esm2022/core/functions/guid.mjs +3 -2
- package/esm2022/core/functions/has-in.mjs +5 -1
- package/esm2022/core/functions/order-by.mjs +5 -1
- package/esm2022/core/functions/parent-path.mjs +9 -1
- package/esm2022/core/functions/property.mjs +16 -8
- package/esm2022/core/functions/public-api.mjs +2 -1
- package/esm2022/core/functions/remove.mjs +5 -1
- package/esm2022/core/functions/resize.mjs +7 -5
- package/esm2022/core/interfaces/data.type.mjs +97 -8
- package/esm2022/core/interfaces/identify.type.mjs +5 -2
- package/esm2022/core/interfaces/layout.type.mjs +1 -1
- package/esm2022/core/interfaces/result-list.type.mjs +1 -1
- package/esm2022/core/services/http.service.mjs +4 -33
- package/esm2022/core/services/preloading-strategy.service.mjs +4 -6
- package/esm2022/core/services/repository.service.mjs +1 -1
- package/esm2022/core/services/reuse-strategy.service.mjs +1 -26
- package/esm2022/core/services/storage.service.mjs +4 -26
- package/esm2022/core/theme/theme.mjs +55 -11
- package/esm2022/core/theme/theme.service.mjs +92 -20
- package/esm2022/core/util/animation.mjs +2 -23
- package/esm2022/core/util/camel-to-kebab.mjs +16 -0
- package/esm2022/core/util/check.mjs +11 -3
- package/esm2022/core/util/computed-style.mjs +9 -1
- package/esm2022/core/util/host.mjs +4 -3
- package/esm2022/core/util/html.mjs +5 -4
- package/esm2022/core/util/kebab-to-camel.mjs +16 -0
- package/esm2022/core/util/log.mjs +11 -3
- package/esm2022/core/util/option.mjs +4 -5
- package/esm2022/core/util/public-api.mjs +3 -1
- package/esm2022/crumb/crumb.component.mjs +6 -29
- package/esm2022/crumb/crumb.module.mjs +5 -5
- package/esm2022/crumb/crumb.property.mjs +21 -26
- package/esm2022/date-picker/date-picker-portal.component.mjs +86 -102
- package/esm2022/date-picker/date-picker.component.mjs +157 -191
- package/esm2022/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/date-picker/date-picker.property.mjs +440 -462
- package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
- package/esm2022/date-picker/date-range-portal.component.mjs +172 -186
- package/esm2022/date-picker/date-range.component.mjs +224 -266
- package/esm2022/date-picker/picker-date.component.mjs +150 -150
- package/esm2022/date-picker/picker-month.component.mjs +115 -118
- package/esm2022/date-picker/picker-quarter.component.mjs +120 -119
- package/esm2022/date-picker/picker-year.component.mjs +121 -108
- package/esm2022/description/description-item.component.mjs +12 -11
- package/esm2022/description/description.component.mjs +33 -48
- package/esm2022/description/description.module.mjs +5 -5
- package/esm2022/description/description.property.mjs +175 -52
- package/esm2022/dialog/dialog-container.component.mjs +4 -4
- package/esm2022/dialog/dialog-portal.component.mjs +29 -35
- package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
- package/esm2022/dialog/dialog-ref.mjs +3 -3
- package/esm2022/dialog/dialog.component.mjs +119 -133
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/dialog/dialog.property.mjs +149 -139
- package/esm2022/dialog/dialog.service.mjs +8 -8
- package/esm2022/doc/doc.component.mjs +11 -12
- package/esm2022/doc/doc.module.mjs +5 -5
- package/esm2022/drag/drag.directive.mjs +8 -21
- package/esm2022/drag/drag.module.mjs +5 -5
- package/esm2022/drag/drag.property.mjs +10 -16
- package/esm2022/drawer/drawer-container.component.mjs +9 -9
- package/esm2022/drawer/drawer-portal.component.mjs +11 -13
- package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
- package/esm2022/drawer/drawer.component.mjs +40 -59
- package/esm2022/drawer/drawer.module.mjs +5 -5
- package/esm2022/drawer/drawer.property.mjs +47 -54
- package/esm2022/drawer/drawer.service.mjs +6 -6
- package/esm2022/dropdown/dropdown-portal.component.mjs +90 -91
- package/esm2022/dropdown/dropdown.component.mjs +75 -91
- package/esm2022/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/dropdown/dropdown.property.mjs +62 -59
- package/esm2022/empty/empty.component.mjs +6 -26
- package/esm2022/empty/empty.module.mjs +5 -5
- package/esm2022/empty/empty.property.mjs +41 -20
- package/esm2022/examples/examples.component.mjs +11 -12
- package/esm2022/examples/examples.module.mjs +5 -5
- package/esm2022/find/find.component.mjs +188 -232
- package/esm2022/find/find.module.mjs +5 -5
- package/esm2022/find/find.property.mjs +234 -193
- package/esm2022/form/control.component.mjs +136 -114
- package/esm2022/form/form.component.mjs +28 -36
- package/esm2022/form/form.module.mjs +5 -5
- package/esm2022/form/form.property.mjs +57 -55
- package/esm2022/highlight/highlight.component.mjs +54 -59
- package/esm2022/highlight/highlight.module.mjs +5 -5
- package/esm2022/highlight/highlight.property.mjs +25 -21
- package/esm2022/highlight/highlight.service.mjs +17 -0
- package/esm2022/highlight/public-api.mjs +2 -1
- package/esm2022/i18n/i18n.directive.mjs +17 -31
- package/esm2022/i18n/i18n.module.mjs +5 -5
- package/esm2022/i18n/i18n.pipe.mjs +4 -4
- package/esm2022/i18n/i18n.property.mjs +2 -2
- package/esm2022/i18n/i18n.service.mjs +4 -4
- package/esm2022/i18n/languages/ar_EG.mjs +122 -77
- package/esm2022/i18n/languages/bg_BG.mjs +135 -87
- package/esm2022/i18n/languages/ca_ES.mjs +130 -82
- package/esm2022/i18n/languages/cs_CZ.mjs +127 -79
- package/esm2022/i18n/languages/da_DK.mjs +129 -81
- package/esm2022/i18n/languages/de_DE.mjs +125 -77
- package/esm2022/i18n/languages/el_GR.mjs +132 -84
- package/esm2022/i18n/languages/en_GB.mjs +5 -2
- package/esm2022/i18n/languages/en_US.mjs +5 -2
- package/esm2022/i18n/languages/es_ES.mjs +131 -83
- package/esm2022/i18n/languages/et_EE.mjs +130 -82
- package/esm2022/i18n/languages/fa_IR.mjs +109 -61
- package/esm2022/i18n/languages/fi_FI.mjs +134 -86
- package/esm2022/i18n/languages/fr_BE.mjs +128 -80
- package/esm2022/i18n/languages/fr_FR.mjs +127 -79
- package/esm2022/i18n/languages/he_IL.mjs +119 -74
- package/esm2022/i18n/languages/hi_IN.mjs +104 -56
- package/esm2022/i18n/languages/hr_HR.mjs +133 -85
- package/esm2022/i18n/languages/hu_HU.mjs +132 -84
- package/esm2022/i18n/languages/hy_AM.mjs +133 -85
- package/esm2022/i18n/languages/id_ID.mjs +119 -71
- package/esm2022/i18n/languages/is_IS.mjs +125 -77
- package/esm2022/i18n/languages/it_IT.mjs +127 -79
- package/esm2022/i18n/languages/ja_JP.mjs +95 -47
- package/esm2022/i18n/languages/ka_GE.mjs +106 -58
- package/esm2022/i18n/languages/kn_IN.mjs +110 -62
- package/esm2022/i18n/languages/ko_KR.mjs +126 -70
- package/esm2022/i18n/languages/ku_IQ.mjs +117 -85
- package/esm2022/i18n/languages/lv_LV.mjs +128 -72
- package/esm2022/i18n/languages/mn_MN.mjs +138 -82
- package/esm2022/i18n/languages/ms_MY.mjs +124 -68
- package/esm2022/i18n/languages/nb_NO.mjs +133 -77
- package/esm2022/i18n/languages/ne_NP.mjs +117 -61
- package/esm2022/i18n/languages/nl_BE.mjs +134 -78
- package/esm2022/i18n/languages/nl_NL.mjs +134 -78
- package/esm2022/i18n/languages/pl_PL.mjs +132 -76
- package/esm2022/i18n/languages/pt_BR.mjs +133 -77
- package/esm2022/i18n/languages/pt_PT.mjs +133 -77
- package/esm2022/i18n/languages/ro_RO.mjs +130 -74
- package/esm2022/i18n/languages/ru_RU.mjs +131 -75
- package/esm2022/i18n/languages/sk_SK.mjs +130 -83
- package/esm2022/i18n/languages/sl_SI.mjs +121 -73
- package/esm2022/i18n/languages/sr_RS.mjs +138 -90
- package/esm2022/i18n/languages/sv_SE.mjs +132 -84
- package/esm2022/i18n/languages/ta_IN.mjs +117 -61
- package/esm2022/i18n/languages/th_TH.mjs +99 -43
- package/esm2022/i18n/languages/tr_TR.mjs +126 -70
- package/esm2022/i18n/languages/uk_UA.mjs +124 -68
- package/esm2022/i18n/languages/vi_VN.mjs +133 -77
- package/esm2022/i18n/languages/zh_CN.mjs +5 -2
- package/esm2022/i18n/languages/zh_TW.mjs +5 -2
- package/esm2022/icon/icon.component.mjs +48 -77
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/icon/icon.property.mjs +52 -30
- package/esm2022/icon/icon.service.mjs +15 -14
- package/esm2022/image/image-group.component.mjs +15 -15
- package/esm2022/image/image-preview.component.mjs +47 -46
- package/esm2022/image/image.component.mjs +34 -53
- package/esm2022/image/image.module.mjs +5 -5
- package/esm2022/image/image.property.mjs +152 -38
- package/esm2022/index.mjs +1 -3
- package/esm2022/inner/inner.component.mjs +15 -20
- package/esm2022/inner/inner.module.mjs +5 -5
- package/esm2022/inner/inner.property.mjs +17 -15
- package/esm2022/input/input-group.component.mjs +5 -7
- package/esm2022/input/input.component.mjs +130 -143
- package/esm2022/input/input.module.mjs +5 -5
- package/esm2022/input/input.property.mjs +205 -143
- package/esm2022/input-number/input-number.component.mjs +68 -86
- package/esm2022/input-number/input-number.module.mjs +5 -5
- package/esm2022/input-number/input-number.property.mjs +130 -60
- package/esm2022/keyword/keyword.directive.mjs +46 -54
- package/esm2022/keyword/keyword.module.mjs +5 -5
- package/esm2022/keyword/keyword.property.mjs +32 -28
- package/esm2022/layout/col.component.mjs +48 -51
- package/esm2022/layout/layout.module.mjs +5 -5
- package/esm2022/layout/layout.property.mjs +125 -63
- package/esm2022/layout/row.component.mjs +36 -27
- package/esm2022/link/link.component.mjs +18 -45
- package/esm2022/link/link.module.mjs +5 -5
- package/esm2022/link/link.property.mjs +101 -41
- package/esm2022/list/list-drop-group.directive.mjs +9 -18
- package/esm2022/list/list-option.component.mjs +16 -33
- package/esm2022/list/list.component.mjs +160 -164
- package/esm2022/list/list.module.mjs +5 -5
- package/esm2022/list/list.property.mjs +195 -188
- package/esm2022/loading/loading.component.mjs +44 -45
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/loading/loading.property.mjs +50 -52
- package/esm2022/menu/menu-node.component.mjs +21 -21
- package/esm2022/menu/menu.component.mjs +57 -76
- package/esm2022/menu/menu.module.mjs +5 -5
- package/esm2022/menu/menu.property.mjs +56 -73
- package/esm2022/message/message.component.mjs +8 -8
- package/esm2022/message/message.module.mjs +5 -5
- package/esm2022/message/message.property.mjs +1 -1
- package/esm2022/message/message.service.mjs +7 -7
- package/esm2022/message-box/message-box.component.mjs +5 -5
- package/esm2022/message-box/message-box.module.mjs +5 -5
- package/esm2022/message-box/message-box.service.mjs +6 -6
- package/esm2022/notification/notification.component.mjs +8 -8
- package/esm2022/notification/notification.module.mjs +5 -5
- package/esm2022/notification/notification.property.mjs +1 -1
- package/esm2022/notification/notification.service.mjs +8 -8
- package/esm2022/outlet/outlet.directive.mjs +12 -14
- package/esm2022/outlet/outlet.module.mjs +5 -5
- package/esm2022/outlet/outlet.property.mjs +2 -2
- package/esm2022/page-header/page-header.component.mjs +12 -28
- package/esm2022/page-header/page-header.module.mjs +5 -5
- package/esm2022/page-header/page-header.property.mjs +31 -27
- package/esm2022/pagination/pagination.component.mjs +74 -100
- package/esm2022/pagination/pagination.module.mjs +5 -5
- package/esm2022/pagination/pagination.property.mjs +99 -136
- package/esm2022/pattern/pattern.component.mjs +12 -13
- package/esm2022/pattern/pattern.module.mjs +5 -5
- package/esm2022/pattern/pattern.property.mjs +2 -2
- package/esm2022/popconfirm/popconfirm.component.mjs +35 -47
- package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
- package/esm2022/popconfirm/popconfirm.property.mjs +76 -62
- package/esm2022/popover/popover-portal.component.mjs +24 -75
- package/esm2022/popover/popover.directive.mjs +70 -86
- package/esm2022/popover/popover.module.mjs +5 -5
- package/esm2022/popover/popover.property.mjs +71 -58
- package/esm2022/portal/portal.module.mjs +5 -5
- package/esm2022/portal/portal.property.mjs +3 -3
- package/esm2022/portal/portal.service.mjs +4 -4
- package/esm2022/progress/progress.component.mjs +173 -167
- package/esm2022/progress/progress.module.mjs +5 -5
- package/esm2022/progress/progress.property.mjs +67 -71
- package/esm2022/radio/radio.component.mjs +45 -61
- package/esm2022/radio/radio.module.mjs +5 -5
- package/esm2022/radio/radio.property.mjs +139 -66
- package/esm2022/rate/rate.component.mjs +61 -79
- package/esm2022/rate/rate.module.mjs +5 -5
- package/esm2022/rate/rate.property.mjs +121 -29
- package/esm2022/resizable/resizable.directive.mjs +30 -45
- package/esm2022/resizable/resizable.module.mjs +5 -5
- package/esm2022/resizable/resizable.property.mjs +16 -46
- package/esm2022/result/result.component.mjs +13 -17
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/result/result.property.mjs +25 -17
- package/esm2022/ripple/ripple.directive.mjs +40 -27
- package/esm2022/ripple/ripple.module.mjs +5 -5
- package/esm2022/ripple/ripple.property.mjs +27 -20
- package/esm2022/select/select-portal.component.mjs +52 -67
- package/esm2022/select/select.component.mjs +301 -289
- package/esm2022/select/select.module.mjs +5 -5
- package/esm2022/select/select.property.mjs +195 -102
- package/esm2022/skeleton/skeleton.component.mjs +12 -23
- package/esm2022/skeleton/skeleton.module.mjs +5 -5
- package/esm2022/skeleton/skeleton.property.mjs +31 -28
- package/esm2022/slider/slider.component.mjs +103 -149
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/slider/slider.property.mjs +60 -79
- package/esm2022/slider-select/slider-select.component.mjs +201 -220
- package/esm2022/slider-select/slider-select.module.mjs +5 -5
- package/esm2022/slider-select/slider-select.property.mjs +143 -70
- package/esm2022/statistic/countdown.component.mjs +13 -16
- package/esm2022/statistic/statistic.component.mjs +23 -21
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/statistic/statistic.property.mjs +68 -34
- package/esm2022/steps/steps.component.mjs +33 -63
- package/esm2022/steps/steps.module.mjs +5 -5
- package/esm2022/steps/steps.property.mjs +28 -39
- package/esm2022/switch/switch.component.mjs +22 -37
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/switch/switch.property.mjs +122 -32
- package/esm2022/table/table-body.component.mjs +134 -139
- package/esm2022/table/table-foot.component.mjs +15 -18
- package/esm2022/table/table-head.component.mjs +60 -91
- package/esm2022/table/table.component.mjs +192 -222
- package/esm2022/table/table.module.mjs +5 -5
- package/esm2022/table/table.property.mjs +396 -341
- package/esm2022/tabs/tab-content.component.mjs +13 -16
- package/esm2022/tabs/tab-link.directive.mjs +7 -7
- package/esm2022/tabs/tab.component.mjs +9 -17
- package/esm2022/tabs/tabs.component.mjs +83 -135
- package/esm2022/tabs/tabs.module.mjs +5 -5
- package/esm2022/tabs/tabs.property.mjs +80 -91
- package/esm2022/tag/tag.component.mjs +19 -33
- package/esm2022/tag/tag.module.mjs +5 -5
- package/esm2022/tag/tag.property.mjs +44 -68
- package/esm2022/text-retract/text-retract.component.mjs +29 -46
- package/esm2022/text-retract/text-retract.module.mjs +5 -5
- package/esm2022/text-retract/text-retract.property.mjs +22 -18
- package/esm2022/textarea/textarea.component.mjs +49 -79
- package/esm2022/textarea/textarea.module.mjs +5 -5
- package/esm2022/textarea/textarea.property.mjs +124 -47
- package/esm2022/theme/theme.component.mjs +86 -81
- package/esm2022/theme/theme.module.mjs +5 -5
- package/esm2022/theme/theme.property.mjs +35 -46
- package/esm2022/time-ago/time-ago.module.mjs +5 -5
- package/esm2022/time-ago/time-ago.pipe.mjs +12 -11
- package/esm2022/time-ago/time-ago.property.mjs +2 -2
- package/esm2022/time-picker/time-picker-frame.component.mjs +173 -188
- package/esm2022/time-picker/time-picker-portal.component.mjs +35 -42
- package/esm2022/time-picker/time-picker.component.mjs +139 -170
- package/esm2022/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/time-picker/time-picker.property.mjs +158 -70
- package/esm2022/time-range/time-range.module.mjs +5 -5
- package/esm2022/time-range/time-range.pipe.mjs +10 -10
- package/esm2022/time-range/time-range.property.mjs +2 -2
- package/esm2022/timeline/timeline.component.mjs +14 -38
- package/esm2022/timeline/timeline.module.mjs +5 -5
- package/esm2022/timeline/timeline.property.mjs +30 -30
- package/esm2022/tooltip/tooltip-portal.component.mjs +51 -65
- package/esm2022/tooltip/tooltip.directive.mjs +65 -62
- package/esm2022/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/tooltip/tooltip.property.mjs +53 -47
- package/esm2022/transfer/transfer.component.mjs +225 -184
- package/esm2022/transfer/transfer.module.mjs +5 -5
- package/esm2022/transfer/transfer.property.mjs +84 -76
- package/esm2022/tree/tree-node.component.mjs +142 -132
- package/esm2022/tree/tree.component.mjs +236 -232
- package/esm2022/tree/tree.module.mjs +5 -5
- package/esm2022/tree/tree.property.mjs +228 -226
- package/esm2022/tree/tree.service.mjs +4 -4
- package/esm2022/tree-file/tree-file.component.mjs +34 -43
- package/esm2022/tree-file/tree-file.module.mjs +5 -5
- package/esm2022/tree-file/tree-file.property.mjs +45 -56
- package/esm2022/tree-select/tree-select-portal.component.mjs +45 -78
- package/esm2022/tree-select/tree-select.component.mjs +283 -296
- package/esm2022/tree-select/tree-select.module.mjs +5 -5
- package/esm2022/tree-select/tree-select.property.mjs +203 -125
- package/esm2022/typography/typography.component.mjs +13 -10
- package/esm2022/typography/typography.module.mjs +5 -5
- package/esm2022/typography/typography.property.mjs +12 -11
- package/esm2022/upload/upload-portal.component.mjs +54 -57
- package/esm2022/upload/upload.component.mjs +79 -98
- package/esm2022/upload/upload.module.mjs +5 -5
- package/esm2022/upload/upload.property.mjs +73 -68
- package/examples/examples.component.d.ts +2 -5
- package/fesm2022/ng-nest-ui-affix.mjs +30 -32
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +142 -152
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +121 -133
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +14 -17
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +296 -260
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +195 -130
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +95 -103
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +161 -96
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +286 -166
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +376 -175
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +134 -108
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +67 -36
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +365 -223
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +318 -249
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +203 -155
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +202 -106
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +316 -270
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +73 -54
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +44 -108
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +119 -123
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +985 -664
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +28 -55
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +1552 -1671
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +218 -109
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +325 -334
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +14 -15
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +20 -39
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +116 -145
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +223 -238
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +49 -46
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +14 -15
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +422 -425
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +216 -201
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +93 -81
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +5892 -3516
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +114 -120
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +244 -147
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +33 -35
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +198 -146
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +340 -292
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +78 -82
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +205 -140
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +119 -86
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +376 -400
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +94 -97
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +131 -167
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +17 -17
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +18 -18
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +16 -18
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +44 -55
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +173 -236
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +16 -17
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +110 -107
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +163 -215
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +10 -10
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +240 -238
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +184 -127
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +182 -108
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +46 -91
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +38 -34
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +68 -48
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +547 -459
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +44 -52
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +344 -290
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +163 -228
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +102 -68
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +61 -102
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +145 -69
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +784 -800
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +185 -259
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +63 -101
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +52 -64
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +173 -126
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +123 -129
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +16 -15
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +498 -463
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +14 -14
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +44 -68
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +168 -170
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +311 -262
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +80 -99
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +527 -495
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +601 -587
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +26 -22
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +204 -220
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui.mjs +0 -2
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/find/find.component.d.ts +30 -34
- package/find/find.property.d.ts +321 -108
- package/form/control.component.d.ts +37 -18
- package/form/form.component.d.ts +8 -10
- package/form/form.property.d.ts +111 -27
- package/highlight/highlight.component.d.ts +10 -17
- package/highlight/highlight.property.d.ts +40 -11
- package/highlight/highlight.service.d.ts +8 -0
- package/highlight/public-api.d.ts +1 -0
- package/i18n/i18n.directive.d.ts +6 -9
- package/i18n/i18n.property.d.ts +6 -2
- package/i18n/i18n.service.d.ts +2 -2
- package/i18n/languages/ar_EG.d.ts +56 -0
- package/i18n/languages/bg_BG.d.ts +56 -0
- package/i18n/languages/ca_ES.d.ts +56 -0
- package/i18n/languages/cs_CZ.d.ts +56 -0
- package/i18n/languages/da_DK.d.ts +56 -0
- package/i18n/languages/de_DE.d.ts +56 -0
- package/i18n/languages/el_GR.d.ts +56 -0
- package/i18n/languages/en_GB.d.ts +3 -0
- package/i18n/languages/en_US.d.ts +3 -0
- package/i18n/languages/es_ES.d.ts +56 -0
- package/i18n/languages/et_EE.d.ts +56 -0
- package/i18n/languages/fa_IR.d.ts +56 -0
- package/i18n/languages/fi_FI.d.ts +56 -0
- package/i18n/languages/fr_BE.d.ts +60 -4
- package/i18n/languages/fr_FR.d.ts +56 -0
- package/i18n/languages/he_IL.d.ts +56 -0
- package/i18n/languages/hi_IN.d.ts +56 -0
- package/i18n/languages/hr_HR.d.ts +56 -0
- package/i18n/languages/hu_HU.d.ts +56 -0
- package/i18n/languages/hy_AM.d.ts +56 -0
- package/i18n/languages/id_ID.d.ts +56 -0
- package/i18n/languages/is_IS.d.ts +56 -0
- package/i18n/languages/it_IT.d.ts +56 -0
- package/i18n/languages/ja_JP.d.ts +56 -0
- package/i18n/languages/ka_GE.d.ts +56 -0
- package/i18n/languages/kn_IN.d.ts +56 -0
- package/i18n/languages/ko_KR.d.ts +56 -0
- package/i18n/languages/ku_IQ.d.ts +32 -0
- package/i18n/languages/lv_LV.d.ts +56 -0
- package/i18n/languages/mn_MN.d.ts +56 -0
- package/i18n/languages/ms_MY.d.ts +56 -0
- package/i18n/languages/nb_NO.d.ts +56 -0
- package/i18n/languages/ne_NP.d.ts +56 -0
- package/i18n/languages/nl_BE.d.ts +56 -0
- package/i18n/languages/nl_NL.d.ts +56 -0
- package/i18n/languages/pl_PL.d.ts +56 -0
- package/i18n/languages/pt_BR.d.ts +56 -0
- package/i18n/languages/pt_PT.d.ts +56 -0
- package/i18n/languages/ro_RO.d.ts +56 -0
- package/i18n/languages/ru_RU.d.ts +56 -0
- package/i18n/languages/sk_SK.d.ts +56 -1
- package/i18n/languages/sl_SI.d.ts +56 -0
- package/i18n/languages/sr_RS.d.ts +56 -0
- package/i18n/languages/sv_SE.d.ts +56 -0
- package/i18n/languages/ta_IN.d.ts +56 -0
- package/i18n/languages/th_TH.d.ts +56 -0
- package/i18n/languages/tr_TR.d.ts +56 -0
- package/i18n/languages/uk_UA.d.ts +56 -0
- package/i18n/languages/vi_VN.d.ts +56 -0
- package/i18n/languages/zh_CN.d.ts +3 -0
- package/i18n/languages/zh_TW.d.ts +3 -0
- package/icon/icon.component.d.ts +8 -14
- package/icon/icon.property.d.ts +31 -13
- package/icon/icon.service.d.ts +1 -1
- package/image/image-group.component.d.ts +1 -3
- package/image/image-preview.component.d.ts +11 -13
- package/image/image.component.d.ts +10 -11
- package/image/image.property.d.ts +117 -16
- package/index.d.ts +0 -2
- package/inner/inner.component.d.ts +3 -10
- package/inner/inner.property.d.ts +8 -4
- package/input/input-group.component.d.ts +0 -2
- package/input/input.component.d.ts +32 -30
- package/input/input.property.d.ts +347 -65
- package/input-number/input-number.component.d.ts +14 -19
- package/input-number/input-number.property.d.ts +292 -26
- package/keyword/keyword.directive.d.ts +4 -12
- package/keyword/keyword.property.d.ts +11 -7
- package/layout/col.component.d.ts +8 -11
- package/layout/layout.property.d.ts +79 -18
- package/layout/row.component.d.ts +7 -8
- package/link/link.component.d.ts +7 -13
- package/link/link.property.d.ts +64 -11
- package/list/list-drop-group.directive.d.ts +3 -5
- package/list/list-option.component.d.ts +7 -9
- package/list/list.component.d.ts +35 -30
- package/list/list.property.d.ts +126 -61
- package/loading/loading.component.d.ts +12 -12
- package/loading/loading.property.d.ts +20 -11
- package/menu/menu-node.component.d.ts +11 -8
- package/menu/menu.component.d.ts +18 -19
- package/menu/menu.property.d.ts +23 -28
- package/message/message.property.d.ts +1 -1
- package/notification/notification.property.d.ts +1 -1
- package/outlet/outlet.directive.d.ts +4 -4
- package/outlet/outlet.property.d.ts +1 -1
- package/package.json +117 -123
- package/page-header/page-header.component.d.ts +4 -8
- package/page-header/page-header.property.d.ts +11 -8
- package/pagination/pagination.component.d.ts +15 -22
- package/pagination/pagination.property.d.ts +34 -66
- package/pattern/pattern.component.d.ts +2 -5
- package/pattern/pattern.property.d.ts +1 -1
- package/popconfirm/popconfirm.component.d.ts +12 -14
- package/popconfirm/popconfirm.property.d.ts +32 -19
- package/popover/popover-portal.component.d.ts +16 -33
- package/popover/popover.directive.d.ts +6 -12
- package/popover/popover.property.d.ts +31 -22
- package/portal/portal.property.d.ts +4 -4
- package/portal/portal.service.d.ts +2 -2
- package/progress/progress.component.d.ts +25 -30
- package/progress/progress.property.d.ts +29 -20
- package/radio/radio.component.d.ts +14 -15
- package/radio/radio.property.d.ts +271 -31
- package/rate/rate.component.d.ts +14 -17
- package/rate/rate.property.d.ts +259 -12
- package/resizable/resizable.directive.d.ts +5 -5
- package/resizable/resizable.property.d.ts +14 -14
- package/result/result.component.d.ts +5 -7
- package/result/result.property.d.ts +11 -7
- package/ripple/ripple.directive.d.ts +5 -4
- package/ripple/ripple.property.d.ts +14 -5
- package/select/select-portal.component.d.ts +39 -43
- package/select/select.component.d.ts +53 -56
- package/select/select.property.d.ts +317 -37
- package/skeleton/skeleton.component.d.ts +4 -8
- package/skeleton/skeleton.property.d.ts +17 -8
- package/slider/slider.component.d.ts +34 -31
- package/slider/slider.property.d.ts +26 -22
- package/slider-select/slider-select.component.d.ts +38 -38
- package/slider-select/slider-select.property.d.ts +302 -28
- package/statistic/countdown.component.d.ts +2 -5
- package/statistic/statistic.component.d.ts +3 -8
- package/statistic/statistic.property.d.ts +44 -13
- package/steps/steps.component.d.ts +6 -16
- package/steps/steps.property.d.ts +15 -10
- package/style/core/index.css +0 -38
- package/style/core/index.css.map +1 -1
- package/style/core/var.scss +0 -4
- package/style/mixins/compatibility.scss +0 -1
- package/style/mixins/form.scss +8 -2
- package/style/params/index.scss +0 -1
- package/style/params/primary.scss +7 -28
- package/switch/switch.component.d.ts +9 -10
- package/switch/switch.property.d.ts +265 -16
- package/table/table-body.component.d.ts +21 -20
- package/table/table-foot.component.d.ts +7 -5
- package/table/table-head.component.d.ts +17 -19
- package/table/table.component.d.ts +62 -50
- package/table/table.property.d.ts +180 -178
- package/tabs/tab-content.component.d.ts +6 -8
- package/tabs/tab.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +17 -24
- package/tabs/tabs.property.d.ts +28 -24
- package/tag/tag.component.d.ts +7 -8
- package/tag/tag.property.d.ts +19 -21
- package/text-retract/text-retract.component.d.ts +4 -14
- package/text-retract/text-retract.property.d.ts +9 -5
- package/textarea/textarea.component.d.ts +17 -20
- package/textarea/textarea.property.d.ts +266 -30
- package/theme/theme.component.d.ts +24 -13
- package/theme/theme.property.d.ts +67 -16
- package/time-ago/time-ago.pipe.d.ts +7 -3
- package/time-ago/time-ago.property.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +52 -39
- package/time-picker/time-picker-portal.component.d.ts +29 -29
- package/time-picker/time-picker.component.d.ts +29 -30
- package/time-picker/time-picker.property.d.ts +314 -23
- package/time-range/time-range.property.d.ts +1 -1
- package/timeline/timeline.component.d.ts +5 -13
- package/timeline/timeline.property.d.ts +12 -8
- package/tooltip/tooltip-portal.component.d.ts +23 -29
- package/tooltip/tooltip.directive.d.ts +10 -9
- package/tooltip/tooltip.property.d.ts +18 -14
- package/transfer/transfer.component.d.ts +23 -20
- package/transfer/transfer.property.d.ts +81 -25
- package/tree/tree-node.component.d.ts +21 -21
- package/tree/tree.component.d.ts +29 -28
- package/tree/tree.property.d.ts +129 -79
- package/tree-file/tree-file.component.d.ts +7 -9
- package/tree-file/tree-file.property.d.ts +40 -16
- package/tree-select/tree-select-portal.component.d.ts +38 -49
- package/tree-select/tree-select.component.d.ts +50 -53
- package/tree-select/tree-select.property.d.ts +328 -39
- package/typography/typography.component.d.ts +1 -1
- package/typography/typography.property.d.ts +3 -3
- package/upload/upload-portal.component.d.ts +14 -14
- package/upload/upload.component.d.ts +18 -17
- package/upload/upload.property.d.ts +73 -24
- package/border/border.component.d.ts +0 -11
- package/border/border.module.d.ts +0 -7
- package/border/border.property.d.ts +0 -6
- package/border/index.d.ts +0 -5
- package/border/public-api.d.ts +0 -3
- package/esm2022/border/border.component.mjs +0 -21
- package/esm2022/border/border.module.mjs +0 -16
- package/esm2022/border/border.property.mjs +0 -7
- package/esm2022/border/ng-nest-ui-border.mjs +0 -5
- package/esm2022/border/public-api.mjs +0 -4
- package/fesm2022/ng-nest-ui-border.mjs +0 -47
- package/fesm2022/ng-nest-ui-border.mjs.map +0 -1
- package/style/params/colors.scss +0 -38
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { XControlValueAccessor, XValueAccessor } from '@ng-nest/ui/base-form';
|
|
2
|
+
import { input, model, Component, inject, viewChild, signal, computed, ViewEncapsulation, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import { XToDataConvert, XToBoolean, XIsArray, XIsObjectArray, XIsChange, XIsUndefined, XIsEmpty, XRemove, XSetData, XIsFunction, XIsObject, XIsBoolean } from '@ng-nest/ui/core';
|
|
4
|
+
import { XFormControlFunction, XValueAccessor } from '@ng-nest/ui/base-form';
|
|
6
5
|
import { Subject } from 'rxjs';
|
|
7
|
-
import { map,
|
|
6
|
+
import { map, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
8
7
|
import * as i2 from '@angular/cdk/drag-drop';
|
|
9
8
|
import { transferArrayItem, moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
10
|
-
import { XI18nService, XI18nPipe } from '@ng-nest/ui/i18n';
|
|
9
|
+
import { XI18nService, zh_CN, XI18nPipe } from '@ng-nest/ui/i18n';
|
|
11
10
|
import { XTreeComponent } from '@ng-nest/ui/tree';
|
|
12
11
|
import { XTableComponent } from '@ng-nest/ui/table';
|
|
13
|
-
import {
|
|
12
|
+
import { NgStyle, NgTemplateOutlet, NgClass } from '@angular/common';
|
|
14
13
|
import * as i1 from '@angular/forms';
|
|
15
14
|
import { FormsModule } from '@angular/forms';
|
|
16
15
|
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
@@ -19,6 +18,7 @@ import { XButtonComponent } from '@ng-nest/ui/button';
|
|
|
19
18
|
import { XInputComponent } from '@ng-nest/ui/input';
|
|
20
19
|
import { XKeywordDirective } from '@ng-nest/ui/keyword';
|
|
21
20
|
import { XLinkComponent } from '@ng-nest/ui/link';
|
|
21
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Transfer
|
|
@@ -26,155 +26,167 @@ import { XLinkComponent } from '@ng-nest/ui/link';
|
|
|
26
26
|
* @decorator component
|
|
27
27
|
*/
|
|
28
28
|
const XTransferPrefix = 'x-transfer';
|
|
29
|
-
const
|
|
29
|
+
const X_TRANSFER_CONFIG_NAME = 'transfer';
|
|
30
30
|
/**
|
|
31
31
|
* Transfer Property
|
|
32
32
|
*/
|
|
33
|
-
class XTransferProperty extends
|
|
33
|
+
class XTransferProperty extends XFormControlFunction(X_TRANSFER_CONFIG_NAME) {
|
|
34
34
|
constructor() {
|
|
35
35
|
super(...arguments);
|
|
36
36
|
/**
|
|
37
37
|
* @zh_CN 数据对象
|
|
38
38
|
* @en_US Data object
|
|
39
39
|
*/
|
|
40
|
-
this.data = [];
|
|
40
|
+
this.data = input([], { transform: XToDataConvert });
|
|
41
|
+
/**
|
|
42
|
+
* @zh_CN 选择的类型
|
|
43
|
+
* @en_US Type
|
|
44
|
+
*/
|
|
45
|
+
this.type = input(this.config?.type ?? 'list');
|
|
46
|
+
/**
|
|
47
|
+
* @zh_CN 标题
|
|
48
|
+
* @en_US Title
|
|
49
|
+
* @default ['List', 'Selected']
|
|
50
|
+
*/
|
|
51
|
+
this.titles = input(this.config?.titles ?? null);
|
|
52
|
+
/**
|
|
53
|
+
* @zh_CN 穿梭框样式,使用方式与 ngStyle 相同
|
|
54
|
+
* @en_US shuttle box style, same as ngStyle
|
|
55
|
+
*/
|
|
56
|
+
this.listStyle = input(this.config?.listStyle ?? null);
|
|
57
|
+
/**
|
|
58
|
+
* @zh_CN 隐藏全选复选框
|
|
59
|
+
* @en_US Hidden check all
|
|
60
|
+
*/
|
|
61
|
+
this.hiddenCheckAll = input();
|
|
62
|
+
/**
|
|
63
|
+
* @zh_CN 是否能拖动, type
|
|
64
|
+
* @en_US Can drag
|
|
65
|
+
*/
|
|
66
|
+
this.drag = input(this.config?.drag ?? false, { transform: XToBoolean });
|
|
67
|
+
/**
|
|
68
|
+
* @zh_CN 是否显示搜索。type 为 'table',需要设置 tableHeadSearchTpl 和 tableQuery 来配合使用
|
|
69
|
+
* @en_US Whether to display search
|
|
70
|
+
*/
|
|
71
|
+
this.search = input(false, { transform: XToBoolean });
|
|
72
|
+
/**
|
|
73
|
+
* @zh_CN 表格列头搜索自定义模板
|
|
74
|
+
* @en_US table head search custom template
|
|
75
|
+
*/
|
|
76
|
+
this.tableHeadSearchTpl = input();
|
|
77
|
+
/**
|
|
78
|
+
* @zh_CN 行数据自定义模板
|
|
79
|
+
* @en_US Data customization template
|
|
80
|
+
*/
|
|
81
|
+
this.nodeTpl = input();
|
|
82
|
+
/**
|
|
83
|
+
* @zh_CN 标题自定义模板
|
|
84
|
+
* @en_US Title custom template
|
|
85
|
+
*/
|
|
86
|
+
this.titleTpl = input();
|
|
87
|
+
/**
|
|
88
|
+
* @zh_CN 底部自定义模版
|
|
89
|
+
* @en_US Bottom Custom Template
|
|
90
|
+
*/
|
|
91
|
+
this.footerTpl = input();
|
|
92
|
+
/**
|
|
93
|
+
* @zh_CN 表格列集合
|
|
94
|
+
* @en_US Table column set
|
|
95
|
+
*/
|
|
96
|
+
this.tableColumns = input();
|
|
97
|
+
/**
|
|
98
|
+
* @zh_CN 表格页码
|
|
99
|
+
* @en_US Table page number
|
|
100
|
+
*/
|
|
101
|
+
this.tableIndex = model(1);
|
|
102
|
+
/**
|
|
103
|
+
* @zh_CN 表每页数据条数
|
|
104
|
+
* @en_US Number of data items per page
|
|
105
|
+
*/
|
|
106
|
+
this.tableSize = model(10);
|
|
41
107
|
/**
|
|
42
108
|
* @zh_CN 表格查询条件
|
|
43
109
|
* @en_US Number of data items per page
|
|
44
110
|
*/
|
|
45
|
-
this.tableQuery = {};
|
|
111
|
+
this.tableQuery = input({});
|
|
46
112
|
/**
|
|
47
113
|
* @zh_CN 表格数据总条数
|
|
48
114
|
* @en_US Total number of table data
|
|
49
115
|
*/
|
|
50
|
-
this.tableTotal = 0;
|
|
116
|
+
this.tableTotal = model(0);
|
|
117
|
+
/**
|
|
118
|
+
* @zh_CN 反选操作
|
|
119
|
+
* @en_US Inverse select
|
|
120
|
+
*/
|
|
121
|
+
this.inverse = input(false, { transform: XToBoolean });
|
|
51
122
|
}
|
|
52
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
53
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
123
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XTransferProperty, selector: "x-transfer-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, titles: { classPropertyName: "titles", publicName: "titles", isSignal: true, isRequired: false, transformFunction: null }, listStyle: { classPropertyName: "listStyle", publicName: "listStyle", isSignal: true, isRequired: false, transformFunction: null }, hiddenCheckAll: { classPropertyName: "hiddenCheckAll", publicName: "hiddenCheckAll", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, tableHeadSearchTpl: { classPropertyName: "tableHeadSearchTpl", publicName: "tableHeadSearchTpl", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, titleTpl: { classPropertyName: "titleTpl", publicName: "titleTpl", isSignal: true, isRequired: false, transformFunction: null }, footerTpl: { classPropertyName: "footerTpl", publicName: "footerTpl", isSignal: true, isRequired: false, transformFunction: null }, tableColumns: { classPropertyName: "tableColumns", publicName: "tableColumns", isSignal: true, isRequired: false, transformFunction: null }, tableIndex: { classPropertyName: "tableIndex", publicName: "tableIndex", isSignal: true, isRequired: false, transformFunction: null }, tableSize: { classPropertyName: "tableSize", publicName: "tableSize", isSignal: true, isRequired: false, transformFunction: null }, tableQuery: { classPropertyName: "tableQuery", publicName: "tableQuery", isSignal: true, isRequired: false, transformFunction: null }, tableTotal: { classPropertyName: "tableTotal", publicName: "tableTotal", isSignal: true, isRequired: false, transformFunction: null }, inverse: { classPropertyName: "inverse", publicName: "inverse", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tableIndex: "tableIndexChange", tableSize: "tableSizeChange", tableTotal: "tableTotalChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
54
125
|
}
|
|
55
|
-
|
|
56
|
-
XDataConvert()
|
|
57
|
-
], XTransferProperty.prototype, "data", void 0);
|
|
58
|
-
__decorate([
|
|
59
|
-
XWithConfig(X_CONFIG_NAME, 'list')
|
|
60
|
-
], XTransferProperty.prototype, "type", void 0);
|
|
61
|
-
__decorate([
|
|
62
|
-
XWithConfig(X_CONFIG_NAME)
|
|
63
|
-
], XTransferProperty.prototype, "titles", void 0);
|
|
64
|
-
__decorate([
|
|
65
|
-
XWithConfig(X_CONFIG_NAME)
|
|
66
|
-
], XTransferProperty.prototype, "listStyle", void 0);
|
|
67
|
-
__decorate([
|
|
68
|
-
XWithConfig(X_CONFIG_NAME, false),
|
|
69
|
-
XInputBoolean()
|
|
70
|
-
], XTransferProperty.prototype, "drag", void 0);
|
|
71
|
-
__decorate([
|
|
72
|
-
XInputBoolean()
|
|
73
|
-
], XTransferProperty.prototype, "search", void 0);
|
|
74
|
-
__decorate([
|
|
75
|
-
XWithConfig(X_CONFIG_NAME, 1)
|
|
76
|
-
], XTransferProperty.prototype, "tableIndex", void 0);
|
|
77
|
-
__decorate([
|
|
78
|
-
XWithConfig(X_CONFIG_NAME, 10)
|
|
79
|
-
], XTransferProperty.prototype, "tableSize", void 0);
|
|
80
|
-
__decorate([
|
|
81
|
-
XInputBoolean()
|
|
82
|
-
], XTransferProperty.prototype, "inverse", void 0);
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XTransferProperty, decorators: [{
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferProperty, decorators: [{
|
|
84
127
|
type: Component,
|
|
85
128
|
args: [{ selector: `${XTransferPrefix}-property`, template: '' }]
|
|
86
|
-
}]
|
|
87
|
-
type: Input
|
|
88
|
-
}], type: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], titles: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], listStyle: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], hiddenCheckAll: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], drag: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], search: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], tableHeadSearchTpl: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], nodeTpl: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], titleTpl: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], footerTpl: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], tableColumns: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], tableIndex: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], tableSize: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], tableQuery: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], tableTotal: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], inverse: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}] } });
|
|
129
|
+
}] });
|
|
121
130
|
|
|
122
131
|
class XTransferComponent extends XTransferProperty {
|
|
123
132
|
constructor() {
|
|
124
133
|
super(...arguments);
|
|
125
|
-
this.
|
|
126
|
-
this.
|
|
134
|
+
this.i18n = inject(XI18nService);
|
|
135
|
+
this.leftTableCom = viewChild(XTableComponent);
|
|
136
|
+
this.rightTableCom = viewChild(XTableComponent);
|
|
137
|
+
this.nodes = signal([]);
|
|
138
|
+
this.left = signal({
|
|
127
139
|
list: [],
|
|
128
140
|
searchList: [],
|
|
129
141
|
checkedCount: 0,
|
|
130
142
|
direction: 'left',
|
|
131
143
|
disabledButton: true
|
|
132
|
-
};
|
|
133
|
-
this.right = {
|
|
144
|
+
});
|
|
145
|
+
this.right = signal({
|
|
134
146
|
list: [],
|
|
135
147
|
searchList: [],
|
|
136
148
|
checkedCount: 0,
|
|
137
149
|
direction: 'right',
|
|
138
150
|
disabledButton: true
|
|
139
|
-
};
|
|
140
|
-
this.searchInput = '';
|
|
151
|
+
});
|
|
152
|
+
this.searchInput = signal('');
|
|
141
153
|
this.searchInputLeftChange = new Subject();
|
|
142
154
|
this.searchInputRightChange = new Subject();
|
|
143
|
-
this.searchDebounceTime = 200;
|
|
144
|
-
this.locale = {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
this.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
155
|
+
this.searchDebounceTime = signal(200);
|
|
156
|
+
this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.transfer)), {
|
|
157
|
+
initialValue: zh_CN.transfer
|
|
158
|
+
});
|
|
159
|
+
this.localTitle = computed(() => {
|
|
160
|
+
if (this.type() === 'tree') {
|
|
161
|
+
return this.locale().treeTitle;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
return this.locale().listTitle;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
this.unSubject = new Subject();
|
|
168
|
+
this.treeActivatedId = signal([]);
|
|
169
|
+
this.tableData = signal([]);
|
|
170
|
+
this.tableCheckboxColumn = signal(null);
|
|
171
|
+
this.isObjectArray = signal(false);
|
|
172
|
+
this.values = computed(() => {
|
|
173
|
+
if (this.isObjectArray()) {
|
|
174
|
+
return this.value().map((x) => x.id);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
return this.value();
|
|
178
|
+
}
|
|
179
|
+
});
|
|
160
180
|
}
|
|
161
181
|
writeValue(value) {
|
|
162
|
-
this.value
|
|
182
|
+
this.value.set(value);
|
|
163
183
|
if (XIsArray(value)) {
|
|
164
|
-
this.treeActivatedId
|
|
184
|
+
this.treeActivatedId.set([...value]);
|
|
165
185
|
if (XIsObjectArray(value)) {
|
|
166
|
-
this.isObjectArray
|
|
186
|
+
this.isObjectArray.set(true);
|
|
167
187
|
}
|
|
168
188
|
}
|
|
169
|
-
this.setList(this.nodes);
|
|
170
|
-
}
|
|
171
|
-
get values() {
|
|
172
|
-
if (this.isObjectArray) {
|
|
173
|
-
return this.value.map((x) => x.id);
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
return this.value;
|
|
177
|
-
}
|
|
189
|
+
this.setList(this.nodes());
|
|
178
190
|
}
|
|
179
191
|
ngOnInit() {
|
|
180
192
|
this.setTitles();
|
|
@@ -183,22 +195,15 @@ class XTransferComponent extends XTransferProperty {
|
|
|
183
195
|
this.getTableCheckColumn();
|
|
184
196
|
this.setFooterTpl();
|
|
185
197
|
this.setTableHeadSearchTpl();
|
|
186
|
-
this.i18n.localeChange
|
|
187
|
-
.pipe(map((x) => x.transfer), takeUntil(this._unSubject))
|
|
188
|
-
.subscribe((x) => {
|
|
189
|
-
this.locale = x;
|
|
190
|
-
XIsEmpty(this.titles) && this.setTitles();
|
|
191
|
-
this.cdr.markForCheck();
|
|
192
|
-
});
|
|
193
198
|
this.searchInputLeftChange
|
|
194
|
-
.pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this.
|
|
199
|
+
.pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))
|
|
195
200
|
.subscribe(() => {
|
|
196
|
-
this.setSearchInputChange(this.left);
|
|
201
|
+
this.setSearchInputChange(this.left());
|
|
197
202
|
});
|
|
198
203
|
this.searchInputRightChange
|
|
199
|
-
.pipe(debounceTime(this.searchDebounceTime), distinctUntilChanged(), takeUntil(this.
|
|
204
|
+
.pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))
|
|
200
205
|
.subscribe(() => {
|
|
201
|
-
this.setSearchInputChange(this.right);
|
|
206
|
+
this.setSearchInputChange(this.right());
|
|
202
207
|
});
|
|
203
208
|
}
|
|
204
209
|
ngOnChanges(changes) {
|
|
@@ -206,8 +211,8 @@ class XTransferComponent extends XTransferProperty {
|
|
|
206
211
|
XIsChange(data) && this.setData();
|
|
207
212
|
}
|
|
208
213
|
ngOnDestroy() {
|
|
209
|
-
this.
|
|
210
|
-
this.
|
|
214
|
+
this.unSubject.next();
|
|
215
|
+
this.unSubject.complete();
|
|
211
216
|
}
|
|
212
217
|
onSearchInputChange(source) {
|
|
213
218
|
if (source.direction === 'left') {
|
|
@@ -224,7 +229,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
224
229
|
source.list = [...source.searchList];
|
|
225
230
|
}
|
|
226
231
|
else {
|
|
227
|
-
switch (this.type) {
|
|
232
|
+
switch (this.type()) {
|
|
228
233
|
case 'list':
|
|
229
234
|
source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);
|
|
230
235
|
break;
|
|
@@ -254,23 +259,20 @@ class XTransferComponent extends XTransferProperty {
|
|
|
254
259
|
break;
|
|
255
260
|
}
|
|
256
261
|
}
|
|
257
|
-
this.setListCount(this.type, source);
|
|
258
|
-
this.cdr.
|
|
262
|
+
this.setListCount(this.type(), source);
|
|
263
|
+
this.cdr.markForCheck();
|
|
259
264
|
}
|
|
260
265
|
checkedAllChange($event, source) {
|
|
261
266
|
let list = (source.list?.filter((x) => !x.disabled)).map((x) => {
|
|
262
267
|
x.checked = $event;
|
|
263
268
|
return x;
|
|
264
269
|
});
|
|
265
|
-
if (this.type === 'tree' && source.direction === 'left') {
|
|
266
|
-
this.treeActivatedId
|
|
267
|
-
? source.list.map((x) => x.id)
|
|
268
|
-
: source.list.filter((x) => x.disabled).map((x) => x.id);
|
|
270
|
+
if (this.type() === 'tree' && source.direction === 'left') {
|
|
271
|
+
this.treeActivatedId.set($event ? source.list.map((x) => x.id) : source.list.filter((x) => x.disabled).map((x) => x.id));
|
|
269
272
|
}
|
|
270
273
|
source.checkedCount = $event ? list.length : 0;
|
|
271
274
|
source.indeterminate = $event;
|
|
272
275
|
this.setButtonDisabled(source);
|
|
273
|
-
this.cdr.detectChanges();
|
|
274
276
|
}
|
|
275
277
|
checkedChange($event, source) {
|
|
276
278
|
if (!$event)
|
|
@@ -279,12 +281,11 @@ class XTransferComponent extends XTransferProperty {
|
|
|
279
281
|
source.checkedCount++;
|
|
280
282
|
this.setCheckedAll(source);
|
|
281
283
|
this.setButtonDisabled(source);
|
|
282
|
-
this.cdr.detectChanges();
|
|
283
284
|
}
|
|
284
285
|
move(from, to) {
|
|
285
286
|
if (from.disabledButton)
|
|
286
287
|
return;
|
|
287
|
-
switch (this.type) {
|
|
288
|
+
switch (this.type()) {
|
|
288
289
|
case 'list':
|
|
289
290
|
this.moveList(from, to);
|
|
290
291
|
break;
|
|
@@ -302,7 +303,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
302
303
|
let index = from.list?.indexOf(x);
|
|
303
304
|
x.checked = false;
|
|
304
305
|
transferArrayItem(from.list, to.list, index, j);
|
|
305
|
-
if (this.search) {
|
|
306
|
+
if (this.search()) {
|
|
306
307
|
index = from.searchList?.indexOf(x);
|
|
307
308
|
transferArrayItem(from.searchList, to.searchList, index, j);
|
|
308
309
|
}
|
|
@@ -316,12 +317,11 @@ class XTransferComponent extends XTransferProperty {
|
|
|
316
317
|
this.setButtonDisabled(from, to);
|
|
317
318
|
this.setSearchList(from, to);
|
|
318
319
|
this.setValue();
|
|
319
|
-
this.cdr.detectChanges();
|
|
320
320
|
}
|
|
321
321
|
moveTree(from, to) {
|
|
322
322
|
let checkedItems = [];
|
|
323
323
|
if (to.direction === 'right') {
|
|
324
|
-
checkedItems = from.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id));
|
|
324
|
+
checkedItems = from.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id));
|
|
325
325
|
checkedItems.forEach((x) => {
|
|
326
326
|
x.disabled = true;
|
|
327
327
|
x.change && x.change();
|
|
@@ -337,7 +337,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
337
337
|
}
|
|
338
338
|
else {
|
|
339
339
|
checkedItems = XRemove(from.list, (x) => !x.disabled && x.checked);
|
|
340
|
-
if (this.search) {
|
|
340
|
+
if (this.search()) {
|
|
341
341
|
XRemove(from.searchList, (x) => !x.disabled && x.checked);
|
|
342
342
|
}
|
|
343
343
|
for (let item of checkedItems) {
|
|
@@ -345,9 +345,12 @@ class XTransferComponent extends XTransferProperty {
|
|
|
345
345
|
if (node) {
|
|
346
346
|
node.checked = false;
|
|
347
347
|
node.disabled = false;
|
|
348
|
-
const idx = this.treeActivatedId.findIndex((x) => x === node.id);
|
|
348
|
+
const idx = this.treeActivatedId().findIndex((x) => x === node.id);
|
|
349
349
|
if (idx >= 0) {
|
|
350
|
-
this.treeActivatedId.
|
|
350
|
+
this.treeActivatedId.update((x) => {
|
|
351
|
+
x.splice(idx, 1);
|
|
352
|
+
return [...x];
|
|
353
|
+
});
|
|
351
354
|
}
|
|
352
355
|
node.change && node.change();
|
|
353
356
|
}
|
|
@@ -376,7 +379,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
376
379
|
}),
|
|
377
380
|
...to.list
|
|
378
381
|
];
|
|
379
|
-
this.tableData
|
|
382
|
+
this.tableData.set([...from.list]);
|
|
380
383
|
this.setCheckedCount('table', from);
|
|
381
384
|
this.setCheckedCount('list', to);
|
|
382
385
|
}
|
|
@@ -390,7 +393,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
390
393
|
}
|
|
391
394
|
}
|
|
392
395
|
from.list = [...from.list];
|
|
393
|
-
this.tableData
|
|
396
|
+
this.tableData.set([...to.list]);
|
|
394
397
|
this.setCheckedCount('table', to);
|
|
395
398
|
this.setCheckedCount('list', from);
|
|
396
399
|
}
|
|
@@ -407,14 +410,13 @@ class XTransferComponent extends XTransferProperty {
|
|
|
407
410
|
}
|
|
408
411
|
else {
|
|
409
412
|
transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);
|
|
410
|
-
this.setCheckedCount('list', this.left, this.right);
|
|
411
|
-
this.setCheckedAll(this.left, this.right);
|
|
412
|
-
this.setListCount('list', this.left, this.right);
|
|
413
|
-
this.setButtonDisabled(this.left, this.right);
|
|
413
|
+
this.setCheckedCount('list', this.left(), this.right());
|
|
414
|
+
this.setCheckedAll(this.left(), this.right());
|
|
415
|
+
this.setListCount('list', this.left(), this.right());
|
|
416
|
+
this.setButtonDisabled(this.left(), this.right());
|
|
414
417
|
}
|
|
415
|
-
this.setSearchList(this.left, this.right);
|
|
418
|
+
this.setSearchList(this.left(), this.right());
|
|
416
419
|
this.setValue();
|
|
417
|
-
this.cdr.detectChanges();
|
|
418
420
|
}
|
|
419
421
|
predicate(item) {
|
|
420
422
|
return !item.data.disabled;
|
|
@@ -431,7 +433,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
431
433
|
else if (type === 'table') {
|
|
432
434
|
for (let source of sources) {
|
|
433
435
|
if (source.direction === 'left') {
|
|
434
|
-
source.count = this.tableTotal - this.right.list.length || 0;
|
|
436
|
+
source.count = this.tableTotal() - this.right().list.length || 0;
|
|
435
437
|
}
|
|
436
438
|
else {
|
|
437
439
|
source.count = source.list?.filter((x) => !x.disabled).length;
|
|
@@ -440,23 +442,23 @@ class XTransferComponent extends XTransferProperty {
|
|
|
440
442
|
}
|
|
441
443
|
}
|
|
442
444
|
onTreeNodeClick(_node) {
|
|
443
|
-
this.setCheckedCount('tree', this.left);
|
|
444
|
-
this.setCheckedAll(this.left);
|
|
445
|
-
this.setButtonDisabled(this.left);
|
|
445
|
+
this.setCheckedCount('tree', this.left());
|
|
446
|
+
this.setCheckedAll(this.left());
|
|
447
|
+
this.setButtonDisabled(this.left());
|
|
446
448
|
}
|
|
447
449
|
onTableCheckedRow(row, source) {
|
|
448
|
-
if (!this.tableCheckboxColumn)
|
|
450
|
+
if (!this.tableCheckboxColumn())
|
|
449
451
|
return;
|
|
450
|
-
let checked = row[this.tableCheckboxColumn.id];
|
|
452
|
+
let checked = row[this.tableCheckboxColumn().id];
|
|
451
453
|
row.checked = checked;
|
|
452
454
|
this.setCheckedCount('table', source);
|
|
453
455
|
this.setCheckedAll(source);
|
|
454
456
|
this.setButtonDisabled(source);
|
|
455
457
|
}
|
|
456
458
|
onTableCheckedAll(row, source) {
|
|
457
|
-
if (!this.tableCheckboxColumn)
|
|
459
|
+
if (!this.tableCheckboxColumn())
|
|
458
460
|
return;
|
|
459
|
-
let checked = row.checkbox[this.tableCheckboxColumn.id];
|
|
461
|
+
let checked = row.checkbox[this.tableCheckboxColumn().id];
|
|
460
462
|
for (let item of source.list) {
|
|
461
463
|
if (!item.disabled) {
|
|
462
464
|
item.checked = checked;
|
|
@@ -478,12 +480,11 @@ class XTransferComponent extends XTransferProperty {
|
|
|
478
480
|
this.setCheckedCount(type, source);
|
|
479
481
|
this.setCheckedAll(source);
|
|
480
482
|
this.setButtonDisabled(source);
|
|
481
|
-
this.cdr.detectChanges();
|
|
482
483
|
}
|
|
483
484
|
getTableCheckColumn() {
|
|
484
|
-
if (this.type !== 'table' || XIsEmpty(this.tableColumns))
|
|
485
|
+
if (this.type() !== 'table' || XIsEmpty(this.tableColumns()))
|
|
485
486
|
return;
|
|
486
|
-
this.tableCheckboxColumn
|
|
487
|
+
this.tableCheckboxColumn.set(this.tableColumns().find((x) => x.rowChecked));
|
|
487
488
|
}
|
|
488
489
|
setCheckedAll(...sources) {
|
|
489
490
|
for (let source of sources) {
|
|
@@ -508,7 +509,7 @@ class XTransferComponent extends XTransferProperty {
|
|
|
508
509
|
source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;
|
|
509
510
|
}
|
|
510
511
|
else if (type === 'tree') {
|
|
511
|
-
source.checkedCount = source.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId) && this.treeActivatedId.includes(x.id)).length;
|
|
512
|
+
source.checkedCount = source.list?.filter((x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id)).length;
|
|
512
513
|
}
|
|
513
514
|
}
|
|
514
515
|
}
|
|
@@ -517,16 +518,16 @@ class XTransferComponent extends XTransferProperty {
|
|
|
517
518
|
source.disabledButton = source.checkedCount === 0;
|
|
518
519
|
}
|
|
519
520
|
setValue() {
|
|
520
|
-
if (this.isObjectArray) {
|
|
521
|
-
this.value
|
|
521
|
+
if (this.isObjectArray()) {
|
|
522
|
+
this.value.set(this.right().list);
|
|
522
523
|
}
|
|
523
524
|
else {
|
|
524
|
-
this.value
|
|
525
|
+
this.value.set(this.right().list?.map((x) => x.id));
|
|
525
526
|
}
|
|
526
|
-
this.onChange(this.value);
|
|
527
|
+
this.onChange && this.onChange(this.value());
|
|
527
528
|
}
|
|
528
529
|
setSearchList(...sources) {
|
|
529
|
-
if (this.search) {
|
|
530
|
+
if (this.search()) {
|
|
530
531
|
for (let source of sources) {
|
|
531
532
|
if (XIsEmpty(source.searchInput)) {
|
|
532
533
|
source.searchList = [...source.list];
|
|
@@ -535,162 +536,216 @@ class XTransferComponent extends XTransferProperty {
|
|
|
535
536
|
}
|
|
536
537
|
}
|
|
537
538
|
setData() {
|
|
538
|
-
if (this.type === 'table') {
|
|
539
|
+
if (this.type() === 'table') {
|
|
539
540
|
this.getTableData();
|
|
540
541
|
return;
|
|
541
542
|
}
|
|
542
|
-
XSetData(this.data, this.
|
|
543
|
+
XSetData(this.data(), this.unSubject).subscribe((x) => {
|
|
543
544
|
this.setList(x);
|
|
544
545
|
});
|
|
545
546
|
}
|
|
546
547
|
setList(data) {
|
|
547
548
|
if (XIsEmpty(data))
|
|
548
549
|
return;
|
|
549
|
-
switch (this.type) {
|
|
550
|
+
switch (this.type()) {
|
|
550
551
|
case 'list':
|
|
551
|
-
this.nodes
|
|
552
|
-
if (!XIsEmpty(this.values)) {
|
|
553
|
-
this.left.
|
|
554
|
-
|
|
552
|
+
this.nodes.set(data);
|
|
553
|
+
if (!XIsEmpty(this.values())) {
|
|
554
|
+
this.left.update((x) => {
|
|
555
|
+
x.list = this.nodes().filter((x) => this.values().indexOf(x.id) < 0);
|
|
556
|
+
return { ...x };
|
|
557
|
+
});
|
|
558
|
+
this.right.update((x) => {
|
|
559
|
+
x.list = this.nodes().filter((x) => this.values().indexOf(x.id) >= 0);
|
|
560
|
+
return { ...x };
|
|
561
|
+
});
|
|
555
562
|
}
|
|
556
563
|
else {
|
|
557
|
-
this.left.
|
|
564
|
+
this.left.update((x) => {
|
|
565
|
+
x.list = [...this.nodes()];
|
|
566
|
+
return { ...x };
|
|
567
|
+
});
|
|
558
568
|
}
|
|
559
|
-
this.setSearchList(this.left, this.right);
|
|
560
|
-
this.setListCount(this.type, this.left, this.right);
|
|
569
|
+
this.setSearchList(this.left(), this.right());
|
|
570
|
+
this.setListCount(this.type(), this.left(), this.right());
|
|
561
571
|
break;
|
|
562
572
|
case 'tree':
|
|
563
|
-
this.nodes
|
|
573
|
+
this.nodes.set(data);
|
|
564
574
|
this.setTreeNodeDisabled();
|
|
565
|
-
this.left.
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
575
|
+
this.left.update((x) => {
|
|
576
|
+
x.list = [...this.nodes()];
|
|
577
|
+
return { ...x };
|
|
578
|
+
});
|
|
579
|
+
if (!XIsEmpty(this.values())) {
|
|
580
|
+
this.right.update((z) => {
|
|
581
|
+
z.list = this.nodes()
|
|
582
|
+
.filter((x) => this.values().indexOf(x.id) >= 0)
|
|
583
|
+
.map((x) => {
|
|
584
|
+
let res = { ...x };
|
|
585
|
+
res.checked = false;
|
|
586
|
+
res.disabled = false;
|
|
587
|
+
return res;
|
|
588
|
+
});
|
|
589
|
+
return { ...z };
|
|
574
590
|
});
|
|
575
591
|
}
|
|
576
|
-
this.setSearchList(this.left, this.right);
|
|
577
|
-
this.setListCount(this.type, this.left, this.right);
|
|
592
|
+
this.setSearchList(this.left(), this.right());
|
|
593
|
+
this.setListCount(this.type(), this.left(), this.right());
|
|
578
594
|
break;
|
|
579
595
|
case 'table':
|
|
580
|
-
this.nodes
|
|
596
|
+
this.nodes.set(data);
|
|
581
597
|
this.setTableDataDisabled();
|
|
582
|
-
this.left.
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
598
|
+
this.left.update((x) => {
|
|
599
|
+
x.list = [...this.nodes()];
|
|
600
|
+
return { ...x };
|
|
601
|
+
});
|
|
602
|
+
if (!XIsEmpty(this.values())) {
|
|
603
|
+
if (this.isObjectArray()) {
|
|
604
|
+
this.right.update((z) => {
|
|
605
|
+
z.list = [
|
|
606
|
+
...this.value().map((x) => {
|
|
607
|
+
let res = { ...x };
|
|
608
|
+
res.disabled = false;
|
|
609
|
+
res.checked = false;
|
|
610
|
+
return res;
|
|
611
|
+
})
|
|
612
|
+
];
|
|
613
|
+
return { ...z };
|
|
614
|
+
});
|
|
593
615
|
}
|
|
594
616
|
else {
|
|
595
|
-
this.right.
|
|
617
|
+
this.right.update((x) => {
|
|
618
|
+
x.list = [...this.value()];
|
|
619
|
+
return { ...x };
|
|
620
|
+
});
|
|
596
621
|
}
|
|
597
622
|
}
|
|
598
|
-
this.setSearchList(this.left, this.right);
|
|
599
|
-
this.setListCount(this.type, this.left, this.right);
|
|
623
|
+
this.setSearchList(this.left(), this.right());
|
|
624
|
+
this.setListCount(this.type(), this.left(), this.right());
|
|
600
625
|
break;
|
|
601
626
|
}
|
|
602
|
-
this.cdr.detectChanges();
|
|
603
627
|
}
|
|
604
628
|
getTableData() {
|
|
605
|
-
if (XIsFunction(this.data)) {
|
|
606
|
-
this.data(this.tableIndex, this.tableSize, this.tableQuery).subscribe((x) => {
|
|
607
|
-
this.tableTotal
|
|
608
|
-
this.tableData
|
|
629
|
+
if (XIsFunction(this.data())) {
|
|
630
|
+
this.data()(this.tableIndex(), this.tableSize(), this.tableQuery()).subscribe((x) => {
|
|
631
|
+
this.tableTotal.set(x.total);
|
|
632
|
+
this.tableData.set(x.list);
|
|
609
633
|
this.setList(x.list);
|
|
610
634
|
});
|
|
611
635
|
}
|
|
612
636
|
}
|
|
613
637
|
setTitles() {
|
|
614
638
|
let titles = [];
|
|
615
|
-
if (XIsEmpty(this.titles)) {
|
|
616
|
-
titles = [this.localTitle, this.locale.selectedTitle];
|
|
639
|
+
if (XIsEmpty(this.titles())) {
|
|
640
|
+
titles = [this.localTitle(), this.locale().selectedTitle];
|
|
617
641
|
}
|
|
618
642
|
else {
|
|
619
|
-
titles = this.titles;
|
|
643
|
+
titles = this.titles();
|
|
644
|
+
}
|
|
645
|
+
if (titles.length > 0) {
|
|
646
|
+
this.left.update((x) => {
|
|
647
|
+
x.title = titles[0];
|
|
648
|
+
return { ...x };
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
if (titles.length > 1) {
|
|
652
|
+
this.right.update((x) => {
|
|
653
|
+
x.title = titles[1];
|
|
654
|
+
return { ...x };
|
|
655
|
+
});
|
|
620
656
|
}
|
|
621
|
-
if (titles.length > 0)
|
|
622
|
-
this.left.title = titles[0];
|
|
623
|
-
if (titles.length > 1)
|
|
624
|
-
this.right.title = titles[1];
|
|
625
|
-
this.cdr.detectChanges();
|
|
626
657
|
}
|
|
627
658
|
setListStyle() {
|
|
628
|
-
if (XIsEmpty(this.listStyle))
|
|
659
|
+
if (XIsEmpty(this.listStyle()))
|
|
629
660
|
return;
|
|
630
661
|
let styles = [];
|
|
631
|
-
if (XIsObject(this.listStyle)) {
|
|
632
|
-
styles = [this.listStyle, this.listStyle];
|
|
662
|
+
if (XIsObject(this.listStyle())) {
|
|
663
|
+
styles = [this.listStyle(), this.listStyle()];
|
|
633
664
|
}
|
|
634
|
-
else if (XIsObjectArray(this.listStyle)) {
|
|
635
|
-
styles = this.listStyle;
|
|
665
|
+
else if (XIsObjectArray(this.listStyle())) {
|
|
666
|
+
styles = this.listStyle();
|
|
636
667
|
}
|
|
637
668
|
if (styles.length > 0)
|
|
638
|
-
this.left.
|
|
669
|
+
this.left.update((x) => {
|
|
670
|
+
x.listStyle = styles[0];
|
|
671
|
+
return { ...x };
|
|
672
|
+
});
|
|
639
673
|
if (styles.length > 1)
|
|
640
|
-
this.right.
|
|
641
|
-
|
|
674
|
+
this.right.update((x) => {
|
|
675
|
+
x.listStyle = styles[1];
|
|
676
|
+
return { ...x };
|
|
677
|
+
});
|
|
642
678
|
}
|
|
643
679
|
setTreeNodeDisabled() {
|
|
644
|
-
if (!XIsEmpty(this.values) && this.nodes) {
|
|
645
|
-
for (let item of this.nodes) {
|
|
646
|
-
let hasIn = this.values.indexOf(item.id) >= 0;
|
|
680
|
+
if (!XIsEmpty(this.values()) && this.nodes()) {
|
|
681
|
+
for (let item of this.nodes()) {
|
|
682
|
+
let hasIn = this.values().indexOf(item.id) >= 0;
|
|
647
683
|
item.disabled = hasIn;
|
|
648
684
|
item.checked = hasIn;
|
|
649
685
|
}
|
|
650
686
|
}
|
|
651
687
|
}
|
|
652
688
|
setTableDataDisabled() {
|
|
653
|
-
if (!XIsEmpty(this.values) && this.nodes) {
|
|
654
|
-
for (let item of this.nodes) {
|
|
655
|
-
let hasIn = this.values.indexOf(item.id) >= 0;
|
|
689
|
+
if (!XIsEmpty(this.values()) && this.nodes()) {
|
|
690
|
+
for (let item of this.nodes()) {
|
|
691
|
+
let hasIn = this.values().indexOf(item.id) >= 0;
|
|
656
692
|
item.disabled = hasIn;
|
|
657
693
|
item.checked = hasIn;
|
|
658
694
|
}
|
|
659
695
|
}
|
|
660
696
|
}
|
|
661
697
|
setHiddenCheckAll() {
|
|
662
|
-
if (XIsEmpty(this.hiddenCheckAll))
|
|
698
|
+
if (XIsEmpty(this.hiddenCheckAll()))
|
|
663
699
|
return;
|
|
664
|
-
if (this.hiddenCheckAll.length > 0 && XIsBoolean(this.hiddenCheckAll[0]))
|
|
665
|
-
this.left.
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
700
|
+
if (this.hiddenCheckAll().length > 0 && XIsBoolean(this.hiddenCheckAll()[0])) {
|
|
701
|
+
this.left.update((x) => {
|
|
702
|
+
x.hiddenCheckAll = this.hiddenCheckAll()[0];
|
|
703
|
+
return { ...x };
|
|
704
|
+
});
|
|
705
|
+
}
|
|
706
|
+
if (this.hiddenCheckAll().length > 1 && XIsBoolean(this.hiddenCheckAll()[1])) {
|
|
707
|
+
this.right.update((x) => {
|
|
708
|
+
x.hiddenCheckAll = this.hiddenCheckAll()[1];
|
|
709
|
+
return { ...x };
|
|
710
|
+
});
|
|
711
|
+
}
|
|
669
712
|
}
|
|
670
713
|
setFooterTpl() {
|
|
671
|
-
if (XIsUndefined(this.footerTpl))
|
|
714
|
+
if (XIsUndefined(this.footerTpl()))
|
|
672
715
|
return;
|
|
673
|
-
if (this.footerTpl.length > 0) {
|
|
674
|
-
this.left.
|
|
716
|
+
if (this.footerTpl().length > 0) {
|
|
717
|
+
this.left.update((x) => {
|
|
718
|
+
x.footerTpl = this.footerTpl()[0];
|
|
719
|
+
return { ...x };
|
|
720
|
+
});
|
|
675
721
|
}
|
|
676
|
-
if (this.footerTpl.length > 1) {
|
|
677
|
-
this.right.
|
|
722
|
+
if (this.footerTpl().length > 1) {
|
|
723
|
+
this.right.update((x) => {
|
|
724
|
+
x.footerTpl = this.footerTpl()[1];
|
|
725
|
+
return { ...x };
|
|
726
|
+
});
|
|
678
727
|
}
|
|
679
728
|
}
|
|
680
729
|
setTableHeadSearchTpl() {
|
|
681
|
-
if (XIsUndefined(this.tableHeadSearchTpl))
|
|
730
|
+
if (XIsUndefined(this.tableHeadSearchTpl()))
|
|
682
731
|
return;
|
|
683
|
-
if (this.tableHeadSearchTpl.length > 0) {
|
|
684
|
-
this.left.
|
|
732
|
+
if (this.tableHeadSearchTpl().length > 0) {
|
|
733
|
+
this.left.update((x) => {
|
|
734
|
+
x.tableHeadSearchTpl = this.tableHeadSearchTpl()[0];
|
|
735
|
+
return { ...x };
|
|
736
|
+
});
|
|
685
737
|
}
|
|
686
|
-
if (this.tableHeadSearchTpl.length > 1) {
|
|
687
|
-
this.right.
|
|
738
|
+
if (this.tableHeadSearchTpl().length > 1) {
|
|
739
|
+
this.right.update((x) => {
|
|
740
|
+
x.tableHeadSearchTpl = this.tableHeadSearchTpl()[1];
|
|
741
|
+
return { ...x };
|
|
742
|
+
});
|
|
688
743
|
}
|
|
689
744
|
}
|
|
690
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
691
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: XTransferComponent, isStandalone: true, selector: "x-transfer", providers: [XValueAccessor(XTransferComponent)], viewQueries: [{ propertyName: "leftTableCom", first: true, predicate: ["leftTableCom"], descendants: true }, { propertyName: "rightTableCom", first: true, predicate: ["rightTableCom"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n @switch (type) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left.list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left.footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left.disabledButton\"\r\n (click)=\"move(left, right)\"\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right.disabledButton\"\r\n (click)=\"move(right, left)\"\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n @switch (type) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right.list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right.footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse && type === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search && type !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-item{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{margin:0;height:100%;padding:.25rem;list-style:none}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTreeComponent, selector: "x-tree" }, { kind: "component", type: XTableComponent, selector: "x-table" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
745
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
746
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XTransferComponent, isStandalone: true, selector: "x-transfer", providers: [XValueAccessor(XTransferComponent)], viewQueries: [{ propertyName: "leftTableCom", first: true, predicate: XTableComponent, descendants: true, isSignal: true }, { propertyName: "rightTableCom", first: true, predicate: XTableComponent, descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #transfer class=\"x-transfer\" cdkDropListGroup>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left() }\"></ng-container>\r\n <div [ngStyle]=\"left().listStyle!\" class=\"x-transfer-list x-transfer-{{ type() }}\">\r\n @switch (type()) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left().list\"\r\n [cdkDropListDisabled]=\"!drag() && type() === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left() }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left().list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left().searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData()\"\r\n [columns]=\"tableColumns()!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery()\"\r\n [total]=\"tableTotal()\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, left())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left().footerTpl!; context: { $source: left() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left().disabledButton!\"\r\n (click)=\"move(left(), right())\"\r\n flat\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right().disabledButton!\"\r\n (click)=\"move(right(), left())\"\r\n flat\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right() }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right().listStyle!\" class=\"x-transfer-list\">\r\n @switch (type()) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right().list!\"\r\n [columns]=\"tableColumns()!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, right())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right().list\"\r\n [cdkDropListDisabled]=\"!drag() || (drag() && type() !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right() }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right().footerTpl!; context: { $source: right() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl() ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse() && type() === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search() && type() !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl() ? nodeTpl() : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-tree{padding:0 .125rem}.x-transfer-item{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{margin:0;height:100%;padding:.25rem;list-style:none}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTreeComponent, selector: "x-tree" }, { kind: "component", type: XTableComponent, selector: "x-table" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "pipe", type: XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
692
747
|
}
|
|
693
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
748
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferComponent, decorators: [{
|
|
694
749
|
type: Component,
|
|
695
750
|
args: [{ selector: `${XTransferPrefix}`, standalone: true, imports: [
|
|
696
751
|
NgClass,
|
|
@@ -707,21 +762,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
707
762
|
XKeywordDirective,
|
|
708
763
|
XLinkComponent,
|
|
709
764
|
XI18nPipe
|
|
710
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTransferComponent)], template: "<div #transfer class=\"x-transfer\" cdkDropListGroup [ngClass]=\"classMap\">\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left }\"></ng-container>\r\n <div [ngStyle]=\"left.listStyle!\" class=\"x-transfer-list\">\r\n @switch (type) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left.list\"\r\n [cdkDropListDisabled]=\"!drag && type === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left.list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left.list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, left)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left.tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left.footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left.footerTpl; context: { $source: left }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left.disabledButton\"\r\n (click)=\"move(left, right)\"\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right.disabledButton\"\r\n (click)=\"move(right, left)\"\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right.footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right.listStyle!\" class=\"x-transfer-list\">\r\n @switch (type) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right.list!\"\r\n [columns]=\"tableColumns!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event, right)\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right)\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right.tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right.list\"\r\n [cdkDropListDisabled]=\"!drag || (drag && type !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right.list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right.footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right.footerTpl; context: { $source: right }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse && type === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search && type !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl ? nodeTpl : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-item{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{margin:0;height:100%;padding:.25rem;list-style:none}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
|
|
711
|
-
}]
|
|
712
|
-
type: ViewChild,
|
|
713
|
-
args: ['leftTableCom']
|
|
714
|
-
}], rightTableCom: [{
|
|
715
|
-
type: ViewChild,
|
|
716
|
-
args: ['rightTableCom']
|
|
717
|
-
}] } });
|
|
765
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTransferComponent)], template: "<div #transfer class=\"x-transfer\" cdkDropListGroup>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left() }\"></ng-container>\r\n <div [ngStyle]=\"left().listStyle!\" class=\"x-transfer-list x-transfer-{{ type() }}\">\r\n @switch (type()) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left().list\"\r\n [cdkDropListDisabled]=\"!drag() && type() === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left() }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left().list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left().searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData()\"\r\n [columns]=\"tableColumns()!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery()\"\r\n [total]=\"tableTotal()\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, left())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left().footerTpl!; context: { $source: left() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left().disabledButton!\"\r\n (click)=\"move(left(), right())\"\r\n flat\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right().disabledButton!\"\r\n (click)=\"move(right(), left())\"\r\n flat\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right() }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right().listStyle!\" class=\"x-transfer-list\">\r\n @switch (type()) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right().list!\"\r\n [columns]=\"tableColumns()!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, right())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right().list\"\r\n [cdkDropListDisabled]=\"!drag() || (drag() && type() !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right() }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right().footerTpl!; context: { $source: right() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl() ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse() && type() === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search() && type() !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl() ? nodeTpl() : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n", styles: [".x-transfer{margin:0;padding:0;display:inline-flex;align-items:center}.x-transfer-title{padding:.25rem .5625rem;display:flex;align-items:center;justify-content:space-between;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top-left-radius:var(--x-border-radius);border-top-right-radius:var(--x-border-radius);background-color:var(--x-background);color:var(--x-text-300)}.x-transfer-title-left{display:inline-flex;align-items:center}.x-transfer-inverse{margin:0 .5rem}.x-transfer-total{margin-left:.325rem}.x-transfer-box{min-width:12rem}.x-transfer-list{display:flex;flex-direction:column;height:18rem;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-top:none;border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius);overflow:auto}.x-transfer-tree{padding:0 .125rem}.x-transfer-item{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-transfer-droplist{margin:0;height:100%;padding:.25rem;list-style:none}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:hover{background-color:transparent}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item.cdk-drag-placeholder{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-transfer-droplist.cdk-drop-list-dragging .x-transfer-item:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-transfer-buttons{margin:0 1rem;display:flex;flex-direction:column}.x-transfer-buttons>x-button:not(:first-child){margin-top:.5rem}.x-transfer-search{padding:.5rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-transfer-search x-input{width:100%}.x-transfer-tree-label{flex:1}.x-transfer-footer{padding:.25rem .5625rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-bottom-left-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-transfer-has-footer .x-transfer-list{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}body>li.x-transfer-item.cdk-drag-preview{margin:0;padding:.125rem .25rem;border-radius:var(--x-border-radius);display:flex;align-items:center;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>li.x-transfer-item.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
|
|
766
|
+
}] });
|
|
718
767
|
|
|
719
768
|
class XTransferModule {
|
|
720
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
721
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
722
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
769
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
770
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XTransferModule, imports: [XTransferComponent], exports: [XTransferComponent] }); }
|
|
771
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferModule, imports: [XTransferComponent] }); }
|
|
723
772
|
}
|
|
724
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
773
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTransferModule, decorators: [{
|
|
725
774
|
type: NgModule,
|
|
726
775
|
args: [{
|
|
727
776
|
exports: [XTransferComponent],
|