@ng-nest/ui 17.0.12 → 18.0.0
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 +4 -4
- 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 +14 -20
- package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
- package/esm2022/dialog/dialog-ref.mjs +1 -1
- package/esm2022/dialog/dialog.component.mjs +117 -131
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/dialog/dialog.property.mjs +149 -139
- package/esm2022/dialog/dialog.service.mjs +7 -7
- 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 +138 -116
- 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 +46 -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 +71 -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 +1 -1
- 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 +38 -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 +307 -316
- 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 +218 -203
- 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 +112 -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 +151 -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 +7 -7
- 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 +66 -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 +25 -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 +97 -103
- 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 +2 -2
- 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,12 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
9
|
-
import { NgStyle } from '@angular/common';
|
|
2
|
+
import { input, model, output, Component, Injectable, inject, computed, signal, ChangeDetectorRef, ElementRef, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, viewChild, viewChildren, effect, NgModule } from '@angular/core';
|
|
3
|
+
import { XPropertyFunction, XToBoolean, XToNumber, XToCssPixelValue, XProperty, XIsEmpty, XRemove, XComputedStyle, XToCssPx, XIsObjectArray, XIsArray, XIsChange, XResize, XIsFunction, XSetData, XIsUndefined } from '@ng-nest/ui/core';
|
|
4
|
+
import { Subject, debounceTime, map } from 'rxjs';
|
|
5
|
+
import * as i3 from '@angular/cdk/scrolling';
|
|
6
|
+
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
7
|
+
import { DOCUMENT, NgStyle } from '@angular/common';
|
|
10
8
|
import { XIconComponent } from '@ng-nest/ui/icon';
|
|
11
9
|
import { XCheckboxComponent } from '@ng-nest/ui/checkbox';
|
|
12
10
|
import * as i1 from '@angular/forms';
|
|
@@ -14,8 +12,8 @@ import { FormsModule } from '@angular/forms';
|
|
|
14
12
|
import { XKeywordDirective } from '@ng-nest/ui/keyword';
|
|
15
13
|
import { XLinkComponent } from '@ng-nest/ui/link';
|
|
16
14
|
import { XOutletDirective } from '@ng-nest/ui/outlet';
|
|
17
|
-
import * as
|
|
18
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
15
|
+
import * as i2 from '@angular/cdk/drag-drop';
|
|
16
|
+
import { CdkDropList, DragDropModule } from '@angular/cdk/drag-drop';
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* Tree
|
|
@@ -23,267 +21,218 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
|
23
21
|
* @decorator component
|
|
24
22
|
*/
|
|
25
23
|
const XTreePrefix = 'x-tree';
|
|
26
|
-
const
|
|
24
|
+
const X_TREE_CONFIG_NAME = 'tree';
|
|
27
25
|
/**
|
|
28
26
|
* Tree Property
|
|
29
27
|
*/
|
|
30
|
-
class XTreeProperty extends
|
|
28
|
+
class XTreeProperty extends XPropertyFunction(X_TREE_CONFIG_NAME) {
|
|
31
29
|
constructor() {
|
|
32
30
|
super(...arguments);
|
|
33
31
|
/**
|
|
34
32
|
* @zh_CN 节点数据
|
|
35
33
|
* @en_US Node data
|
|
36
34
|
*/
|
|
37
|
-
this.data = [];
|
|
35
|
+
this.data = input([]);
|
|
36
|
+
/**
|
|
37
|
+
* @zh_CN 显示多选框
|
|
38
|
+
* @en_US Show checkbox
|
|
39
|
+
*/
|
|
40
|
+
this.checkbox = input(false, { transform: XToBoolean });
|
|
41
|
+
/**
|
|
42
|
+
* @zh_CN 开启懒加载节点,data 必须设置成函数类型
|
|
43
|
+
* @en_US Open lazy loading node, data must be set to function type
|
|
44
|
+
*/
|
|
45
|
+
this.lazy = input(false, { transform: XToBoolean });
|
|
46
|
+
/**
|
|
47
|
+
* @zh_CN 当前激活的节点 Id, 当 multiple 为 true 时,值为数组(默认是 Id 数组,objectArray 为 true,对象数组)
|
|
48
|
+
* @en_US Currently active node Id. When Multiple is true, the value is the Id array
|
|
49
|
+
*/
|
|
50
|
+
this.activatedId = model(null);
|
|
38
51
|
/**
|
|
39
52
|
* @zh_CN 展开的节点
|
|
40
53
|
* @en_US Expanded node
|
|
41
54
|
*/
|
|
42
|
-
this.expanded = [];
|
|
55
|
+
this.expanded = model([]);
|
|
43
56
|
/**
|
|
44
57
|
* @zh_CN checkbox 选中的节点
|
|
45
58
|
* @en_US Checkbox selected node
|
|
46
59
|
*/
|
|
47
|
-
this.checked = [];
|
|
60
|
+
this.checked = model([]);
|
|
61
|
+
/**
|
|
62
|
+
* @zh_CN 展开所有节点
|
|
63
|
+
* @en_US Expand all nodes
|
|
64
|
+
*/
|
|
65
|
+
this.expandedAll = input(false, { transform: XToBoolean });
|
|
48
66
|
/**
|
|
49
67
|
* @zh_CN 默认展开的层级
|
|
50
68
|
* @en_US Default expanded level
|
|
51
69
|
*/
|
|
52
|
-
this.expandedLevel = -1;
|
|
70
|
+
this.expandedLevel = input(-1, { transform: XToNumber });
|
|
71
|
+
/**
|
|
72
|
+
* @zh_CN 点击节点就触发展开/收起的操作,请确保节点上没有其它操作(checkbox、自定义的操作按钮)
|
|
73
|
+
* @en_US Click the node to trigger the expand/collapse operation, please make sure that there are no other operations on the node (checkbox, custom operation button)
|
|
74
|
+
*/
|
|
75
|
+
this.nodeOpen = input(false, { transform: XToBoolean });
|
|
76
|
+
/**
|
|
77
|
+
* @zh_CN 单位间距,这个与层级的乘积算出节点的左边距
|
|
78
|
+
* @en_US Unit spacing, the product of this and the level calculates the left margin of the node
|
|
79
|
+
*/
|
|
80
|
+
this.spacing = input(this.config?.spacing ?? '1.5rem', { transform: XToCssPixelValue });
|
|
81
|
+
/**
|
|
82
|
+
* @zh_CN 标签自定义模板
|
|
83
|
+
* @en_US Label custom template
|
|
84
|
+
*/
|
|
85
|
+
this.labelTpl = input();
|
|
86
|
+
/**
|
|
87
|
+
* @zh_CN 节点的高度, 默认是自适应高度
|
|
88
|
+
* @en_US The height of the node
|
|
89
|
+
*/
|
|
90
|
+
this.nodeHeight = input(this.config?.nodeHeight ?? '', { transform: XToCssPixelValue });
|
|
91
|
+
/**
|
|
92
|
+
* @zh_CN 是否允许多次点击一个节点触发多次事件
|
|
93
|
+
* @en_US Whether to allow multiple clicks on a node to trigger multiple events
|
|
94
|
+
*/
|
|
95
|
+
this.allowManyActivated = input(false, { transform: XToBoolean });
|
|
96
|
+
/**
|
|
97
|
+
* @zh_CN 拖动节点
|
|
98
|
+
* @en_US Drag node
|
|
99
|
+
*/
|
|
100
|
+
this.drag = input(false, { transform: XToBoolean });
|
|
53
101
|
/**
|
|
54
102
|
* @zh_CN 当前点击选中的节点变化的事件
|
|
55
103
|
* @en_US The event of the currently clicked node change
|
|
56
104
|
*/
|
|
57
|
-
this.activatedChange =
|
|
105
|
+
this.activatedChange = output();
|
|
58
106
|
/**
|
|
59
107
|
* @zh_CN 使用 checkedbox 选中变化的事件
|
|
60
108
|
* @en_US Use checkedbox to select changed events
|
|
61
109
|
*/
|
|
62
|
-
this.checkboxChange =
|
|
110
|
+
this.checkboxChange = output();
|
|
63
111
|
/**
|
|
64
|
-
* @zh_CN 如果 data
|
|
112
|
+
* @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,用于弹框中的表格,弹出后再请求
|
|
65
113
|
* @en_US If data is a function type, you can use this parameter to control the request, which is often used in the form in the pop-up box, and then request it after it pops up
|
|
66
114
|
*/
|
|
67
|
-
this.manual = true;
|
|
115
|
+
this.manual = model(true);
|
|
68
116
|
/**
|
|
69
117
|
* @zh_CN checkbox 状态改变触发层级检查
|
|
70
118
|
* @en_US Checkbox status changes trigger level checks
|
|
71
119
|
*/
|
|
72
|
-
this.levelCheck = true;
|
|
120
|
+
this.levelCheck = input(true, { transform: XToBoolean });
|
|
73
121
|
/**
|
|
74
122
|
* @zh_CN 节点内容不换行显示省略号
|
|
75
123
|
* @en_US Show ellipsis without wrapping
|
|
76
124
|
*/
|
|
77
|
-
this.nodeNowrap = true;
|
|
125
|
+
this.nodeNowrap = input(true, { transform: XToBoolean });
|
|
126
|
+
/**
|
|
127
|
+
* @zh_CN 节点垂直对齐方式
|
|
128
|
+
* @en_US Show ellipsis without wrapping
|
|
129
|
+
*/
|
|
130
|
+
this.nodeAlignItems = input(this.config?.nodeAlignItems ?? 'center');
|
|
78
131
|
/**
|
|
79
132
|
* @zh_CN 树节点操作按钮
|
|
80
133
|
* @en_US Tree node operation buttons
|
|
81
134
|
*/
|
|
82
|
-
this.actions = [];
|
|
135
|
+
this.actions = input([]);
|
|
136
|
+
/**
|
|
137
|
+
* @zh_CN 滚动区域元素
|
|
138
|
+
* @en_US Rolling area element
|
|
139
|
+
*/
|
|
140
|
+
this.scrollElement = input();
|
|
141
|
+
/**
|
|
142
|
+
* @zh_CN 开启虚拟滚动
|
|
143
|
+
* @en_US Turn on virtual scrolling
|
|
144
|
+
*/
|
|
145
|
+
this.virtualScroll = input(this.config?.virtualScroll ?? false, { transform: XToBoolean });
|
|
146
|
+
/**
|
|
147
|
+
* @zh_CN 滚动区域高度,开启虚拟滚动的时候生效
|
|
148
|
+
* @en_US Rolling area height
|
|
149
|
+
*/
|
|
150
|
+
this.virtualScrollHeight = input(this.config?.virtualScrollHeight ?? '400px', {
|
|
151
|
+
transform: XToCssPixelValue
|
|
152
|
+
});
|
|
153
|
+
/**
|
|
154
|
+
* @zh_CN 虚拟滚动高度自适应指定元素
|
|
155
|
+
* @en_US virtual rolling height follows the specified object
|
|
156
|
+
*/
|
|
157
|
+
this.heightAdaption = input();
|
|
158
|
+
/**
|
|
159
|
+
* @zh_CN itemSize,对应 cdk scroll 中的参数,开启虚拟滚动才生效
|
|
160
|
+
* @en_US itemSize,corresponding to the parameters in cdk scroll
|
|
161
|
+
*/
|
|
162
|
+
this.itemSize = input(this.config?.itemSize ?? 34, { transform: XToNumber });
|
|
83
163
|
/**
|
|
84
164
|
* @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数,开启虚拟滚动才生效
|
|
85
165
|
* @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll
|
|
86
166
|
*/
|
|
87
|
-
this.minBufferPx = 100;
|
|
167
|
+
this.minBufferPx = input(100, { transform: XToNumber });
|
|
88
168
|
/**
|
|
89
169
|
* @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数,开启虚拟滚动才生效
|
|
90
170
|
* @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll
|
|
91
171
|
*/
|
|
92
|
-
this.maxBufferPx = 200;
|
|
172
|
+
this.maxBufferPx = input(200, { transform: XToNumber });
|
|
93
173
|
/**
|
|
94
|
-
* @zh_CN
|
|
95
|
-
* @en_US
|
|
174
|
+
* @zh_CN 多选功能,当前激活的节点可以是多个
|
|
175
|
+
* @en_US Multiple choice
|
|
96
176
|
*/
|
|
97
|
-
this.
|
|
177
|
+
this.multiple = input(false, { transform: XToBoolean });
|
|
98
178
|
/**
|
|
99
|
-
* @zh_CN
|
|
100
|
-
* @en_US
|
|
179
|
+
* @zh_CN 当开启多选的时候,activatedId 的值为对象数组
|
|
180
|
+
* @en_US When multiple selection is enabled, the value of activatedId is an array of objects
|
|
181
|
+
*/
|
|
182
|
+
this.objectArray = input(false, { transform: XToBoolean });
|
|
183
|
+
/**
|
|
184
|
+
* @zh_CN 关键字高亮,针对下拉树搜索
|
|
185
|
+
* @en_US Keyword highlighting
|
|
186
|
+
*/
|
|
187
|
+
this.keywordText = input();
|
|
188
|
+
/**
|
|
189
|
+
* @zh_CN 匹配关键字区分大小写,针对下拉树搜索
|
|
190
|
+
* @en_US Case-sensitive
|
|
191
|
+
*/
|
|
192
|
+
this.caseSensitive = input(this.config?.caseSensitive ?? true, { transform: XToBoolean });
|
|
193
|
+
/**
|
|
194
|
+
* @zh_CN 只能选择叶子节点
|
|
195
|
+
* @en_US Only leaf nodes can be selected
|
|
196
|
+
*/
|
|
197
|
+
this.onlyLeaf = input(this.config?.onlyLeaf ?? false, { transform: XToBoolean });
|
|
198
|
+
/**
|
|
199
|
+
* @zh_CN 展开收起的图标自定义模版
|
|
200
|
+
* @en_US Expand the folded icon custom template
|
|
101
201
|
*/
|
|
102
|
-
this.
|
|
202
|
+
this.expandedIcon = input();
|
|
203
|
+
/**
|
|
204
|
+
* @zh_CN 显示连接线
|
|
205
|
+
* @en_US Show line
|
|
206
|
+
*/
|
|
207
|
+
this.showLine = input(this.config?.showLine ?? false, { transform: XToBoolean });
|
|
103
208
|
/**
|
|
104
209
|
* @zh_CN 节点点击事件
|
|
105
210
|
* @en_US Node click event
|
|
106
211
|
*/
|
|
107
|
-
this.
|
|
212
|
+
this.nodeClick = output();
|
|
108
213
|
/**
|
|
109
214
|
* @zh_CN 节点开始拖动事件
|
|
110
215
|
* @en_US Node drag started
|
|
111
216
|
*/
|
|
112
|
-
this.nodeDragStarted =
|
|
217
|
+
this.nodeDragStarted = output();
|
|
113
218
|
/**
|
|
114
219
|
* @zh_CN 节点结束拖动事件
|
|
115
220
|
* @en_US Node drag ended
|
|
116
221
|
*/
|
|
117
|
-
this.nodeDragEnded =
|
|
222
|
+
this.nodeDragEnded = output();
|
|
118
223
|
/**
|
|
119
224
|
* @zh_CN 节点正在拖动事件
|
|
120
225
|
* @en_US Node drag moved
|
|
121
226
|
*/
|
|
122
|
-
this.nodeDragMoved =
|
|
227
|
+
this.nodeDragMoved = output();
|
|
123
228
|
}
|
|
124
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
125
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
229
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
230
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XTreeProperty, selector: "x-tree-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: true, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: true, isRequired: false, transformFunction: null }, activatedId: { classPropertyName: "activatedId", publicName: "activatedId", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, nodeOpen: { classPropertyName: "nodeOpen", publicName: "nodeOpen", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, labelTpl: { classPropertyName: "labelTpl", publicName: "labelTpl", isSignal: true, isRequired: false, transformFunction: null }, nodeHeight: { classPropertyName: "nodeHeight", publicName: "nodeHeight", isSignal: true, isRequired: false, transformFunction: null }, allowManyActivated: { classPropertyName: "allowManyActivated", publicName: "allowManyActivated", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, levelCheck: { classPropertyName: "levelCheck", publicName: "levelCheck", isSignal: true, isRequired: false, transformFunction: null }, nodeNowrap: { classPropertyName: "nodeNowrap", publicName: "nodeNowrap", isSignal: true, isRequired: false, transformFunction: null }, nodeAlignItems: { classPropertyName: "nodeAlignItems", publicName: "nodeAlignItems", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, scrollElement: { classPropertyName: "scrollElement", publicName: "scrollElement", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollHeight: { classPropertyName: "virtualScrollHeight", publicName: "virtualScrollHeight", isSignal: true, isRequired: false, transformFunction: null }, heightAdaption: { classPropertyName: "heightAdaption", publicName: "heightAdaption", isSignal: true, isRequired: false, transformFunction: null }, itemSize: { classPropertyName: "itemSize", publicName: "itemSize", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, objectArray: { classPropertyName: "objectArray", publicName: "objectArray", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, onlyLeaf: { classPropertyName: "onlyLeaf", publicName: "onlyLeaf", isSignal: true, isRequired: false, transformFunction: null }, expandedIcon: { classPropertyName: "expandedIcon", publicName: "expandedIcon", isSignal: true, isRequired: false, transformFunction: null }, showLine: { classPropertyName: "showLine", publicName: "showLine", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedId: "activatedIdChange", expanded: "expandedChange", checked: "checkedChange", activatedChange: "activatedChange", checkboxChange: "checkboxChange", manual: "manualChange", nodeClick: "nodeClick", nodeDragStarted: "nodeDragStarted", nodeDragEnded: "nodeDragEnded", nodeDragMoved: "nodeDragMoved" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
126
231
|
}
|
|
127
|
-
|
|
128
|
-
XDataConvert()
|
|
129
|
-
], XTreeProperty.prototype, "data", void 0);
|
|
130
|
-
__decorate([
|
|
131
|
-
XInputBoolean()
|
|
132
|
-
], XTreeProperty.prototype, "checkbox", void 0);
|
|
133
|
-
__decorate([
|
|
134
|
-
XInputBoolean()
|
|
135
|
-
], XTreeProperty.prototype, "lazy", void 0);
|
|
136
|
-
__decorate([
|
|
137
|
-
XInputBoolean()
|
|
138
|
-
], XTreeProperty.prototype, "expandedAll", void 0);
|
|
139
|
-
__decorate([
|
|
140
|
-
XInputNumber()
|
|
141
|
-
], XTreeProperty.prototype, "expandedLevel", void 0);
|
|
142
|
-
__decorate([
|
|
143
|
-
XInputBoolean()
|
|
144
|
-
], XTreeProperty.prototype, "nodeOpen", void 0);
|
|
145
|
-
__decorate([
|
|
146
|
-
XWithConfig(X_CONFIG_NAME, 1.5),
|
|
147
|
-
XInputNumber()
|
|
148
|
-
], XTreeProperty.prototype, "spacing", void 0);
|
|
149
|
-
__decorate([
|
|
150
|
-
XWithConfig(X_CONFIG_NAME, 0),
|
|
151
|
-
XInputNumber()
|
|
152
|
-
], XTreeProperty.prototype, "nodeHeight", void 0);
|
|
153
|
-
__decorate([
|
|
154
|
-
XInputBoolean()
|
|
155
|
-
], XTreeProperty.prototype, "allowManyActivated", void 0);
|
|
156
|
-
__decorate([
|
|
157
|
-
XInputBoolean()
|
|
158
|
-
], XTreeProperty.prototype, "drag", void 0);
|
|
159
|
-
__decorate([
|
|
160
|
-
XInputBoolean()
|
|
161
|
-
], XTreeProperty.prototype, "manual", void 0);
|
|
162
|
-
__decorate([
|
|
163
|
-
XInputBoolean()
|
|
164
|
-
], XTreeProperty.prototype, "levelCheck", void 0);
|
|
165
|
-
__decorate([
|
|
166
|
-
XInputBoolean()
|
|
167
|
-
], XTreeProperty.prototype, "nodeNowrap", void 0);
|
|
168
|
-
__decorate([
|
|
169
|
-
XWithConfig(X_CONFIG_NAME, 'center')
|
|
170
|
-
], XTreeProperty.prototype, "nodeAlignItems", void 0);
|
|
171
|
-
__decorate([
|
|
172
|
-
XWithConfig(X_CONFIG_NAME),
|
|
173
|
-
XInputBoolean()
|
|
174
|
-
], XTreeProperty.prototype, "virtualScroll", void 0);
|
|
175
|
-
__decorate([
|
|
176
|
-
XWithConfig(X_CONFIG_NAME, 400),
|
|
177
|
-
XInputNumber()
|
|
178
|
-
], XTreeProperty.prototype, "virtualScrollHeight", void 0);
|
|
179
|
-
__decorate([
|
|
180
|
-
XWithConfig(X_CONFIG_NAME, 26),
|
|
181
|
-
XInputNumber()
|
|
182
|
-
], XTreeProperty.prototype, "itemSize", void 0);
|
|
183
|
-
__decorate([
|
|
184
|
-
XInputBoolean()
|
|
185
|
-
], XTreeProperty.prototype, "multiple", void 0);
|
|
186
|
-
__decorate([
|
|
187
|
-
XInputBoolean()
|
|
188
|
-
], XTreeProperty.prototype, "objectArray", void 0);
|
|
189
|
-
__decorate([
|
|
190
|
-
XInputBoolean(),
|
|
191
|
-
XWithConfig(X_CONFIG_NAME, true)
|
|
192
|
-
], XTreeProperty.prototype, "caseSensitive", void 0);
|
|
193
|
-
__decorate([
|
|
194
|
-
XInputBoolean(),
|
|
195
|
-
XWithConfig(X_CONFIG_NAME, false)
|
|
196
|
-
], XTreeProperty.prototype, "onlyLeaf", void 0);
|
|
197
|
-
__decorate([
|
|
198
|
-
XInputBoolean(),
|
|
199
|
-
XWithConfig(X_CONFIG_NAME, false)
|
|
200
|
-
], XTreeProperty.prototype, "showLine", void 0);
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XTreeProperty, decorators: [{
|
|
232
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeProperty, decorators: [{
|
|
202
233
|
type: Component,
|
|
203
234
|
args: [{ selector: `${XTreePrefix}-property`, template: '' }]
|
|
204
|
-
}]
|
|
205
|
-
type: Input
|
|
206
|
-
}], checkbox: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], lazy: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], activatedId: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], expanded: [{
|
|
213
|
-
type: Input
|
|
214
|
-
}], checked: [{
|
|
215
|
-
type: Input
|
|
216
|
-
}], expandedAll: [{
|
|
217
|
-
type: Input
|
|
218
|
-
}], expandedLevel: [{
|
|
219
|
-
type: Input
|
|
220
|
-
}], nodeOpen: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], spacing: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], labelTpl: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], nodeHeight: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], allowManyActivated: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], drag: [{
|
|
231
|
-
type: Input
|
|
232
|
-
}], activatedChange: [{
|
|
233
|
-
type: Output
|
|
234
|
-
}], checkboxChange: [{
|
|
235
|
-
type: Output
|
|
236
|
-
}], manual: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}], levelCheck: [{
|
|
239
|
-
type: Input
|
|
240
|
-
}], nodeNowrap: [{
|
|
241
|
-
type: Input
|
|
242
|
-
}], nodeAlignItems: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], actions: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], scrollElement: [{
|
|
247
|
-
type: Input
|
|
248
|
-
}], virtualScroll: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}], virtualScrollHeight: [{
|
|
251
|
-
type: Input
|
|
252
|
-
}], heightAdaption: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], itemSize: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], minBufferPx: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], maxBufferPx: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}], multiple: [{
|
|
261
|
-
type: Input
|
|
262
|
-
}], objectArray: [{
|
|
263
|
-
type: Input
|
|
264
|
-
}], keywordText: [{
|
|
265
|
-
type: Input
|
|
266
|
-
}], caseSensitive: [{
|
|
267
|
-
type: Input
|
|
268
|
-
}], onlyLeaf: [{
|
|
269
|
-
type: Input
|
|
270
|
-
}], expandedIcon: [{
|
|
271
|
-
type: Input
|
|
272
|
-
}], showLine: [{
|
|
273
|
-
type: Input
|
|
274
|
-
}], manualChange: [{
|
|
275
|
-
type: Output
|
|
276
|
-
}], nodeClick: [{
|
|
277
|
-
type: Output
|
|
278
|
-
}], activatedIdChange: [{
|
|
279
|
-
type: Output
|
|
280
|
-
}], nodeDragStarted: [{
|
|
281
|
-
type: Output
|
|
282
|
-
}], nodeDragEnded: [{
|
|
283
|
-
type: Output
|
|
284
|
-
}], nodeDragMoved: [{
|
|
285
|
-
type: Output
|
|
286
|
-
}] } });
|
|
235
|
+
}] });
|
|
287
236
|
/**
|
|
288
237
|
* TreeNode
|
|
289
238
|
* @selector x-tree-node
|
|
@@ -300,53 +249,105 @@ class XTreeNodeProperty extends XProperty {
|
|
|
300
249
|
* @zh_CN 节点数据
|
|
301
250
|
* @en_US Node data
|
|
302
251
|
*/
|
|
303
|
-
this.node = {};
|
|
252
|
+
this.node = input({});
|
|
253
|
+
/**
|
|
254
|
+
* @zh_CN 层级
|
|
255
|
+
* @en_US Level
|
|
256
|
+
*/
|
|
257
|
+
this.level = model(0);
|
|
258
|
+
/**
|
|
259
|
+
* @zh_CN 节点的高度
|
|
260
|
+
* @en_US The height of the node
|
|
261
|
+
*/
|
|
262
|
+
this.nodeHeight = model('');
|
|
263
|
+
/**
|
|
264
|
+
* @zh_CN 节点内容不换行显示省略号
|
|
265
|
+
* @en_US Show ellipsis without wrapping
|
|
266
|
+
*/
|
|
267
|
+
this.nodeNowrap = model(false);
|
|
268
|
+
/**
|
|
269
|
+
* @zh_CN 节点垂直对齐方式
|
|
270
|
+
* @en_US Show ellipsis without wrapping
|
|
271
|
+
*/
|
|
272
|
+
this.nodeAlignItems = model('center');
|
|
273
|
+
/**
|
|
274
|
+
* @zh_CN 标记为虚拟滚动的节点
|
|
275
|
+
* @en_US Mark as a node of virtual rolling
|
|
276
|
+
*/
|
|
277
|
+
this.virtualScroll = model(false);
|
|
278
|
+
/**
|
|
279
|
+
* @zh_CN 禁用
|
|
280
|
+
* @en_US Disabled
|
|
281
|
+
*/
|
|
282
|
+
this.disabled = model(false);
|
|
283
|
+
/**
|
|
284
|
+
* @zh_CN id
|
|
285
|
+
* @en_US Id
|
|
286
|
+
*/
|
|
287
|
+
this.id = model();
|
|
288
|
+
/**
|
|
289
|
+
* @zh_CN pid
|
|
290
|
+
* @en_US pId
|
|
291
|
+
*/
|
|
292
|
+
this.pid = model();
|
|
304
293
|
/**
|
|
305
|
-
* @zh_CN
|
|
306
|
-
* @en_US
|
|
294
|
+
* @zh_CN 叶子节点
|
|
295
|
+
* @en_US A leaf node
|
|
307
296
|
*/
|
|
308
|
-
this.
|
|
297
|
+
this.leaf = model(false);
|
|
298
|
+
/**
|
|
299
|
+
* @zh_CN 节点的高度
|
|
300
|
+
* @en_US The height of the node
|
|
301
|
+
*/
|
|
302
|
+
this.height = model('');
|
|
309
303
|
/**
|
|
310
304
|
* @zh_CN 节点垂直对齐方式
|
|
311
305
|
* @en_US Show ellipsis without wrapping
|
|
312
306
|
*/
|
|
313
|
-
this.
|
|
307
|
+
this.alignItems = model();
|
|
308
|
+
/**
|
|
309
|
+
* @zh_CN 节点垂直对齐方式
|
|
310
|
+
* @en_US Show ellipsis without wrapping
|
|
311
|
+
*/
|
|
312
|
+
this.loading = model(false);
|
|
313
|
+
/**
|
|
314
|
+
* @zh_CN 展开
|
|
315
|
+
* @en_US open
|
|
316
|
+
*/
|
|
317
|
+
this.open = model(false);
|
|
318
|
+
/**
|
|
319
|
+
* @zh_CN checkbox 是否选中
|
|
320
|
+
* @en_US whether checkbox is selected
|
|
321
|
+
*/
|
|
322
|
+
this.checked = model(false);
|
|
323
|
+
/**
|
|
324
|
+
* @zh_CN checkbox 子节点是否有选中的状态
|
|
325
|
+
* @en_US Whether the child node of checkbox is selected
|
|
326
|
+
*/
|
|
327
|
+
this.indeterminate = model(false);
|
|
328
|
+
/**
|
|
329
|
+
* @zh_CN 节点名称
|
|
330
|
+
* @en_US The name of the node
|
|
331
|
+
*/
|
|
332
|
+
this.label = model('');
|
|
333
|
+
/**
|
|
334
|
+
* @zh_CN 节点内容不换行显示省略号,优先级高于 tree 参数
|
|
335
|
+
* @en_US Show ellipsis without wrapping, highest priority
|
|
336
|
+
*/
|
|
337
|
+
this.nowrap = model(false);
|
|
338
|
+
/**
|
|
339
|
+
* @zh_CN 节点展开收起事件
|
|
340
|
+
* @en_US Node expansion pack up
|
|
341
|
+
*/
|
|
342
|
+
this.toggle = output();
|
|
314
343
|
}
|
|
315
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
316
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
344
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
345
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XTreeNodeProperty, selector: "x-tree-node-property", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, nodeHeight: { classPropertyName: "nodeHeight", publicName: "nodeHeight", isSignal: true, isRequired: false, transformFunction: null }, nodeNowrap: { classPropertyName: "nodeNowrap", publicName: "nodeNowrap", isSignal: true, isRequired: false, transformFunction: null }, nodeAlignItems: { classPropertyName: "nodeAlignItems", publicName: "nodeAlignItems", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, pid: { classPropertyName: "pid", publicName: "pid", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, alignItems: { classPropertyName: "alignItems", publicName: "alignItems", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, nowrap: { classPropertyName: "nowrap", publicName: "nowrap", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { level: "levelChange", nodeHeight: "nodeHeightChange", nodeNowrap: "nodeNowrapChange", nodeAlignItems: "nodeAlignItemsChange", virtualScroll: "virtualScrollChange", disabled: "disabledChange", id: "idChange", pid: "pidChange", leaf: "leafChange", height: "heightChange", alignItems: "alignItemsChange", loading: "loadingChange", open: "openChange", checked: "checkedChange", indeterminate: "indeterminateChange", label: "labelChange", nowrap: "nowrapChange", toggle: "toggle" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
317
346
|
}
|
|
318
|
-
|
|
319
|
-
XInputBoolean()
|
|
320
|
-
], XTreeNodeProperty.prototype, "lazy", void 0);
|
|
321
|
-
__decorate([
|
|
322
|
-
XInputNumber()
|
|
323
|
-
], XTreeNodeProperty.prototype, "nodeHeight", void 0);
|
|
324
|
-
__decorate([
|
|
325
|
-
XInputBoolean()
|
|
326
|
-
], XTreeNodeProperty.prototype, "nodeNowrap", void 0);
|
|
327
|
-
__decorate([
|
|
328
|
-
XInputBoolean()
|
|
329
|
-
], XTreeNodeProperty.prototype, "virtualScroll", void 0);
|
|
330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XTreeNodeProperty, decorators: [{
|
|
347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeProperty, decorators: [{
|
|
331
348
|
type: Component,
|
|
332
349
|
args: [{ selector: `${XTreeNodePrefix}-property`, template: '' }]
|
|
333
|
-
}]
|
|
334
|
-
type: Input
|
|
335
|
-
}], level: [{
|
|
336
|
-
type: Input
|
|
337
|
-
}], lazy: [{
|
|
338
|
-
type: Input
|
|
339
|
-
}], nodeHeight: [{
|
|
340
|
-
type: Input
|
|
341
|
-
}], nodeNowrap: [{
|
|
342
|
-
type: Input
|
|
343
|
-
}], nodeAlignItems: [{
|
|
344
|
-
type: Input
|
|
345
|
-
}], lazyData: [{
|
|
346
|
-
type: Input
|
|
347
|
-
}], virtualScroll: [{
|
|
348
|
-
type: Input
|
|
349
|
-
}] } });
|
|
350
|
+
}] });
|
|
350
351
|
|
|
351
352
|
class XTreeService {
|
|
352
353
|
getChildren(data, node) {
|
|
@@ -415,10 +416,10 @@ class XTreeService {
|
|
|
415
416
|
data.splice(pos === -1 ? index : index + 1, 0, from);
|
|
416
417
|
}
|
|
417
418
|
}
|
|
418
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
419
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
419
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
420
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeService, providedIn: 'root' }); }
|
|
420
421
|
}
|
|
421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeService, decorators: [{
|
|
422
423
|
type: Injectable,
|
|
423
424
|
args: [{ providedIn: 'root' }]
|
|
424
425
|
}] });
|
|
@@ -426,175 +427,181 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
426
427
|
class XTreeNodeComponent extends XTreeNodeProperty {
|
|
427
428
|
constructor() {
|
|
428
429
|
super(...arguments);
|
|
429
|
-
this.
|
|
430
|
+
this.tree = inject(XTreeComponent, { optional: true, host: true });
|
|
431
|
+
this.nodeMouseenter = output();
|
|
430
432
|
this.rootClass = true;
|
|
431
|
-
this.
|
|
432
|
-
this.
|
|
433
|
+
this.document = inject(DOCUMENT);
|
|
434
|
+
this.fontSize = computed(() => parseFloat(XComputedStyle(this.document.documentElement, 'font-size')));
|
|
435
|
+
this.unSubject = new Subject();
|
|
436
|
+
this.showDragIndicator = computed(() => {
|
|
437
|
+
return this.tree.dragging() && this.tree.hoverTreeNode()?.id === this.id();
|
|
438
|
+
});
|
|
439
|
+
this.isChildrenLast = computed(() => {
|
|
440
|
+
let parent = this.tree.nodes().find((x) => x.id === this.pid());
|
|
441
|
+
if (!parent || !parent.children)
|
|
442
|
+
return false;
|
|
443
|
+
const index = parent.children.indexOf(this.node());
|
|
444
|
+
return index + 1 === parent.children.length;
|
|
445
|
+
});
|
|
446
|
+
this.isParentLast = computed(() => {
|
|
447
|
+
let parents = this.treeService.getParents(this.tree.nodes(), this.node());
|
|
448
|
+
if (parents.length <= 1)
|
|
449
|
+
return [];
|
|
450
|
+
const res = [];
|
|
451
|
+
parents.reduce((pre, curr) => {
|
|
452
|
+
if (pre === null)
|
|
453
|
+
return curr;
|
|
454
|
+
const index = curr.children?.indexOf(pre);
|
|
455
|
+
res.push(index + 1 === curr.children?.length);
|
|
456
|
+
return curr;
|
|
457
|
+
});
|
|
458
|
+
return res.reverse();
|
|
459
|
+
});
|
|
460
|
+
this.verticalLevel = computed(() => {
|
|
461
|
+
if (this.level() > 0) {
|
|
462
|
+
return Array.from({ length: this.level() }).map((_x, index) => index + 1);
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
return [];
|
|
466
|
+
}
|
|
467
|
+
});
|
|
468
|
+
this.verticalWidth = computed(() => {
|
|
469
|
+
return XToCssPx(this.tree.spacing(), this.fontSize()) / 2;
|
|
470
|
+
});
|
|
471
|
+
this.paddingLeft = computed(() => (this.level() ? this.level() : 0) * XToCssPx(this.tree.spacing(), this.fontSize()));
|
|
472
|
+
this.indicatorWidth = computed(() => {
|
|
473
|
+
return `calc(100% - ${this.paddingLeft() + (this.leaf() ? this.fontSize() * 1.5 : 0)}px)`;
|
|
474
|
+
});
|
|
475
|
+
this.indicatorStyle = computed(() => {
|
|
476
|
+
if (this.tree.dragPosition() === 1) {
|
|
477
|
+
return { bottom: `-${0.0625 * this.fontSize()}px` };
|
|
478
|
+
}
|
|
479
|
+
else if (this.tree.dragPosition() === -1) {
|
|
480
|
+
return { top: `-${0.0625 * this.fontSize()}px` };
|
|
481
|
+
}
|
|
482
|
+
return {};
|
|
483
|
+
});
|
|
484
|
+
this.changed = signal(false);
|
|
485
|
+
this.activated = computed(() => {
|
|
486
|
+
this.changed();
|
|
487
|
+
const activatedId = this.tree.activatedId();
|
|
488
|
+
if (this.tree.multiple()) {
|
|
489
|
+
if (this.tree.objectArray()) {
|
|
490
|
+
return XIsObjectArray(activatedId) && activatedId.map((x) => x.id).includes(this.id());
|
|
491
|
+
}
|
|
492
|
+
else {
|
|
493
|
+
return XIsArray(activatedId) && activatedId.includes(this.id());
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
return activatedId === this.id();
|
|
498
|
+
}
|
|
499
|
+
});
|
|
433
500
|
this.cdr = inject(ChangeDetectorRef);
|
|
434
501
|
this.treeService = inject(XTreeService);
|
|
435
502
|
this.elementRef = inject(ElementRef);
|
|
436
|
-
this.configService = inject(XConfigService);
|
|
437
|
-
}
|
|
438
|
-
get loading() {
|
|
439
|
-
return this._loading;
|
|
440
|
-
}
|
|
441
|
-
set loading(value) {
|
|
442
|
-
this._loading = value;
|
|
443
|
-
this.cdr.detectChanges();
|
|
444
|
-
}
|
|
445
|
-
get showDragIndicator() {
|
|
446
|
-
return this.tree.dragging && this.tree.hoverTreeNode?.id === this.node.id;
|
|
447
503
|
}
|
|
448
504
|
onMouseenter(event) {
|
|
449
|
-
this.nodeMouseenter.emit({ event: event, node: this.node, ele: this.elementRef });
|
|
505
|
+
this.nodeMouseenter.emit({ event: event, node: this.node(), ele: this.elementRef });
|
|
450
506
|
}
|
|
451
507
|
onMouseleave(_event) {
|
|
452
|
-
if (!this.tree.dragging)
|
|
508
|
+
if (!this.tree.dragging())
|
|
453
509
|
return;
|
|
454
|
-
|
|
510
|
+
const hoverTreeNode = this.tree.hoverTreeNode();
|
|
511
|
+
hoverTreeNode && hoverTreeNode.change && hoverTreeNode.change();
|
|
455
512
|
this.cdr.detectChanges();
|
|
456
513
|
}
|
|
457
|
-
get isChildrenLast() {
|
|
458
|
-
let parent = this.tree.nodes.find((x) => x.id === this.node.pid);
|
|
459
|
-
if (!parent)
|
|
460
|
-
return false;
|
|
461
|
-
const index = parent.children.indexOf(this.node);
|
|
462
|
-
return index + 1 === parent.children.length;
|
|
463
|
-
}
|
|
464
|
-
get isParentLast() {
|
|
465
|
-
let parents = this.treeService.getParents(this.tree.nodes, this.node);
|
|
466
|
-
if (parents.length <= 1)
|
|
467
|
-
return [];
|
|
468
|
-
const res = [];
|
|
469
|
-
parents.reduce((pre, curr) => {
|
|
470
|
-
if (pre === null)
|
|
471
|
-
return curr;
|
|
472
|
-
const index = curr.children?.indexOf(pre);
|
|
473
|
-
res.push(index + 1 === curr.children?.length);
|
|
474
|
-
return curr;
|
|
475
|
-
});
|
|
476
|
-
return res.reverse();
|
|
477
|
-
}
|
|
478
|
-
get numLevel() {
|
|
479
|
-
return Number(this.level);
|
|
480
|
-
}
|
|
481
|
-
get verticalLevel() {
|
|
482
|
-
if (this.numLevel > 0) {
|
|
483
|
-
return Array.from({ length: this.numLevel }).map((_x, index) => index + 1);
|
|
484
|
-
}
|
|
485
|
-
else {
|
|
486
|
-
return [];
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
get verticalWidth() {
|
|
490
|
-
return Number(this.tree.spacing) / 2;
|
|
491
|
-
}
|
|
492
|
-
get paddingLeft() {
|
|
493
|
-
return Number(this.node?.level ? this.node.level : 0) * Number(this.tree.spacing);
|
|
494
|
-
}
|
|
495
|
-
get indicatorWidth() {
|
|
496
|
-
return `calc(100% - ${this.paddingLeft + (this.node.leaf ? 1.5 : 0)}rem)`;
|
|
497
|
-
}
|
|
498
|
-
get indicatorStyle() {
|
|
499
|
-
if (this.tree.dragPosition === 1) {
|
|
500
|
-
return { bottom: `${-0.0625}rem` };
|
|
501
|
-
}
|
|
502
|
-
else if (this.tree.dragPosition === -1) {
|
|
503
|
-
return { top: `${-0.0625}rem` };
|
|
504
|
-
}
|
|
505
|
-
return {};
|
|
506
|
-
}
|
|
507
|
-
get getActivated() {
|
|
508
|
-
if (this.tree.multiple) {
|
|
509
|
-
if (this.tree.objectArray) {
|
|
510
|
-
return this.tree.activatedId?.map((x) => x.id).includes(this.node.id);
|
|
511
|
-
}
|
|
512
|
-
else {
|
|
513
|
-
return this.tree.activatedId?.includes(this.node.id);
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
else {
|
|
517
|
-
return this.tree.activatedId === this.node.id;
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
514
|
ngOnInit() {
|
|
521
|
-
|
|
515
|
+
const node = this.node();
|
|
516
|
+
node.change = (check) => {
|
|
522
517
|
if (check)
|
|
523
518
|
this.setCheckbox();
|
|
524
|
-
this
|
|
519
|
+
this.cdr.detectChanges();
|
|
525
520
|
};
|
|
526
|
-
|
|
527
|
-
if (!this.tree.levelCheck)
|
|
521
|
+
if (!this.tree.levelCheck())
|
|
528
522
|
return;
|
|
529
|
-
if (this.
|
|
523
|
+
if (this.checked())
|
|
530
524
|
this.setCheckbox();
|
|
531
|
-
this.setIndeterminate(this.node);
|
|
525
|
+
this.setIndeterminate(this.node());
|
|
532
526
|
}
|
|
533
527
|
ngOnDestroy() {
|
|
534
|
-
this.
|
|
535
|
-
this.
|
|
528
|
+
this.unSubject.next();
|
|
529
|
+
this.unSubject.complete();
|
|
536
530
|
}
|
|
537
531
|
onActivate(event, node) {
|
|
538
|
-
const change = this.tree.activatedNode?.change;
|
|
539
|
-
this.tree.nodeOpen && !
|
|
532
|
+
const change = this.tree.activatedNode()?.change;
|
|
533
|
+
this.tree.nodeOpen() && !this.leaf() && this.onToggle(event, node);
|
|
540
534
|
const onChange = () => {
|
|
541
535
|
change && change();
|
|
542
536
|
event.preventDefault();
|
|
543
537
|
event.stopPropagation();
|
|
544
538
|
this.cdr.detectChanges();
|
|
545
539
|
};
|
|
546
|
-
if (this.tree.onlyLeaf && !
|
|
540
|
+
if (this.tree.onlyLeaf() && !this.leaf()) {
|
|
547
541
|
onChange();
|
|
548
542
|
return;
|
|
549
543
|
}
|
|
550
|
-
if (this.tree.multiple) {
|
|
551
|
-
if (!this.tree.activatedId)
|
|
552
|
-
this.tree.activatedId
|
|
553
|
-
if (this.tree.objectArray) {
|
|
554
|
-
const ids = this.tree.activatedId.map((x) => x.id);
|
|
544
|
+
if (this.tree.multiple()) {
|
|
545
|
+
if (!this.tree.activatedId())
|
|
546
|
+
this.tree.activatedId.set([]);
|
|
547
|
+
if (this.tree.objectArray()) {
|
|
548
|
+
const ids = this.tree.activatedId().map((x) => x.id);
|
|
555
549
|
if (ids.includes(node.id)) {
|
|
556
|
-
this.tree.activatedId.
|
|
550
|
+
this.tree.activatedId.update((x) => {
|
|
551
|
+
x.splice(ids.indexOf(node.id), 1);
|
|
552
|
+
return [...x];
|
|
553
|
+
});
|
|
557
554
|
}
|
|
558
555
|
else {
|
|
559
|
-
this.tree.activatedId.
|
|
556
|
+
this.tree.activatedId.update((x) => {
|
|
557
|
+
x.push(node);
|
|
558
|
+
return [...x];
|
|
559
|
+
});
|
|
560
560
|
}
|
|
561
561
|
}
|
|
562
562
|
else {
|
|
563
|
-
if (this.tree.activatedId.includes(node.id)) {
|
|
564
|
-
this.tree.activatedId.
|
|
563
|
+
if (this.tree.activatedId().includes(node.id)) {
|
|
564
|
+
this.tree.activatedId.update((x) => {
|
|
565
|
+
x.splice(this.tree.activatedId().indexOf(node.id), 1);
|
|
566
|
+
return [...x];
|
|
567
|
+
});
|
|
565
568
|
}
|
|
566
569
|
else {
|
|
567
|
-
this.tree.activatedId.
|
|
570
|
+
this.tree.activatedId.update((x) => {
|
|
571
|
+
x.push(node.id);
|
|
572
|
+
return [...x];
|
|
573
|
+
});
|
|
568
574
|
}
|
|
569
575
|
}
|
|
570
576
|
}
|
|
571
577
|
else {
|
|
572
|
-
this.tree.activatedId
|
|
578
|
+
this.tree.activatedId.set(node.id);
|
|
573
579
|
}
|
|
574
|
-
if (this.tree.activatedNode) {
|
|
575
|
-
if (this.tree.activatedNode
|
|
580
|
+
if (this.tree.activatedNode()) {
|
|
581
|
+
if (this.tree.activatedNode()?.id === node.id && !this.tree.allowManyActivated())
|
|
576
582
|
return;
|
|
577
583
|
}
|
|
578
|
-
this.tree.activatedNode
|
|
579
|
-
this.
|
|
584
|
+
this.tree.activatedNode.set(node);
|
|
585
|
+
this.changed.update((x) => !x);
|
|
580
586
|
this.tree.activatedChange.emit(node);
|
|
581
587
|
this.tree.nodeClick.emit(node);
|
|
582
588
|
onChange();
|
|
583
589
|
}
|
|
584
590
|
onCheckboxChange() {
|
|
585
591
|
this.setCheckbox();
|
|
586
|
-
this.tree.checkboxChange.emit(this.node);
|
|
592
|
+
this.tree.checkboxChange.emit(this.node());
|
|
587
593
|
}
|
|
588
594
|
getVerticalLeft(i) {
|
|
589
|
-
|
|
595
|
+
const spacing = XToCssPx(this.tree.spacing(), this.fontSize());
|
|
596
|
+
return (i - 1) * spacing + spacing / 2;
|
|
590
597
|
}
|
|
591
598
|
setCheckbox() {
|
|
592
|
-
if (!this.tree.levelCheck)
|
|
599
|
+
if (!this.tree.levelCheck())
|
|
593
600
|
return;
|
|
594
|
-
this.node.indeterminate = this.
|
|
595
|
-
this.node.children && this.setChildrenCheckbox(this.
|
|
601
|
+
this.node().indeterminate = this.checked();
|
|
602
|
+
this.node().children && this.setChildrenCheckbox(this.checked());
|
|
596
603
|
const setParent = (node) => {
|
|
597
|
-
let parent = this.tree.nodes.find((x) => x.id === node.pid);
|
|
604
|
+
let parent = this.tree.nodes().find((x) => x.id === node.pid);
|
|
598
605
|
if (!parent || XIsEmpty(parent.children))
|
|
599
606
|
return;
|
|
600
607
|
let checkedList = parent.children?.filter((y) => y.checked);
|
|
@@ -604,7 +611,8 @@ class XTreeNodeComponent extends XTreeNodeProperty {
|
|
|
604
611
|
parent.change && parent.change();
|
|
605
612
|
setParent(parent);
|
|
606
613
|
};
|
|
607
|
-
setParent(this.node);
|
|
614
|
+
setParent(this.node());
|
|
615
|
+
this.cdr.detectChanges();
|
|
608
616
|
}
|
|
609
617
|
setChildrenCheckbox(checked) {
|
|
610
618
|
const setChildren = (children, isChecked) => {
|
|
@@ -619,16 +627,17 @@ class XTreeNodeComponent extends XTreeNodeProperty {
|
|
|
619
627
|
setChildren(x.children, isChecked);
|
|
620
628
|
}
|
|
621
629
|
};
|
|
622
|
-
setChildren(this.node.children, checked);
|
|
630
|
+
setChildren(this.node().children, checked);
|
|
623
631
|
this.cdr.detectChanges();
|
|
624
632
|
}
|
|
625
633
|
setParentCheckbox() {
|
|
626
|
-
if (XIsEmpty(this.node.children))
|
|
634
|
+
if (XIsEmpty(this.node().children))
|
|
627
635
|
return;
|
|
628
|
-
let checkedList = this.node.children?.filter((x) => x.checked);
|
|
629
|
-
let indeterminateList = this.node.children?.filter((x) => x.indeterminate);
|
|
630
|
-
this.node.checked = checkedList?.length === this.node.children?.length;
|
|
631
|
-
this.node.indeterminate =
|
|
636
|
+
let checkedList = this.node().children?.filter((x) => x.checked);
|
|
637
|
+
let indeterminateList = this.node().children?.filter((x) => x.indeterminate);
|
|
638
|
+
this.node().checked = checkedList?.length === this.node().children?.length;
|
|
639
|
+
this.node().indeterminate =
|
|
640
|
+
checkedList.length > 0 || indeterminateList.length > 0;
|
|
632
641
|
this.cdr.detectChanges();
|
|
633
642
|
}
|
|
634
643
|
setIndeterminate(node) {
|
|
@@ -653,16 +662,21 @@ class XTreeNodeComponent extends XTreeNodeProperty {
|
|
|
653
662
|
action.handler && action.handler(node);
|
|
654
663
|
event.stopPropagation();
|
|
655
664
|
}
|
|
665
|
+
onToggle(event, node) {
|
|
666
|
+
this.toggle.emit(node);
|
|
667
|
+
event?.preventDefault();
|
|
668
|
+
event?.stopPropagation();
|
|
669
|
+
}
|
|
656
670
|
trackByItem(_index, item) {
|
|
657
671
|
return `${item.id}-${item.level}`;
|
|
658
672
|
}
|
|
659
673
|
trackByAction(_index, item) {
|
|
660
674
|
return item.id;
|
|
661
675
|
}
|
|
662
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
663
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: XTreeNodeComponent, isStandalone: true, selector: "x-tree-node, [x-tree-node]", inputs: { tree: "tree" }, outputs: { nodeMouseenter: "nodeMouseenter" }, host: { listeners: { "mouseenter": "onMouseenter($event)", "mouseleave": "onMouseleave()" }, properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"getActivated\"\r\n [class.x-disabled]=\"node.disabled\"\r\n [class.x-tree-node-sub]=\"!node.leaf\"\r\n [class.x-tree-node-last]=\"isChildrenLast\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.height.rem]=\"node.height ? node.height : nodeHeight ? nodeHeight : ''\"\r\n [style.align-items]=\"node.alignItems ? node.alignItems : nodeAlignItems\"\r\n (click)=\"!node.disabled && onActivate($event, node)\"\r\n>\r\n @if (tree.showLine && numLevel > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.rem]=\"paddingLeft\">\r\n @for (i of verticalLevel; track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel.length\"\r\n [style.left.rem]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.rem]=\"verticalWidth\"\r\n [style.left.rem]=\"getVerticalLeft(verticalLevel.length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth\" [ngStyle]=\"indicatorStyle\"></div>\r\n }\r\n @if (node.loading) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"node.loading\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"node.leaf\"\r\n [class.is-open]=\"node.open\"\r\n [class.is-template]=\"tree.expandedIcon\"\r\n [style.width.rem]=\"verticalWidth * 2\"\r\n (click)=\"!tree.nodeOpen && tree.onToggle($event, node)\"\r\n >\r\n @if (tree.expandedIcon) {\r\n <ng-container *xOutlet=\"tree.expandedIcon; context: { $node: node }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: node.id }]\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"node.indeterminate\"\r\n [disabled]=\"node.disabled!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"node.nowrap === false || node.nowrap === true ? node.nowrap : nodeNowrap\"\r\n [title]=\"node.label\"\r\n x-keyword\r\n [text]=\"tree.keywordText\"\r\n [caseSensitive]=\"tree.caseSensitive\"\r\n >{{ node.label }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl; context: { $node: node }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions; track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node)\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple && getActivated) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block;margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400);background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-background-a400);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:0;height:100%;display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400);background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-background-a400);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:0;height:100%;display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
676
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
677
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XTreeNodeComponent, isStandalone: true, selector: "x-tree-node, [x-tree-node]", outputs: { nodeMouseenter: "nodeMouseenter" }, host: { listeners: { "mouseenter": "onMouseenter($event)", "mouseleave": "onMouseleave()" }, properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block;margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
664
678
|
}
|
|
665
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeNodeComponent, decorators: [{
|
|
666
680
|
type: Component,
|
|
667
681
|
args: [{ selector: `${XTreeNodePrefix}, [${XTreeNodePrefix}]`, standalone: true, imports: [
|
|
668
682
|
NgStyle,
|
|
@@ -672,12 +686,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
672
686
|
XOutletDirective,
|
|
673
687
|
XLinkComponent,
|
|
674
688
|
XKeywordDirective
|
|
675
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"
|
|
676
|
-
}], propDecorators: {
|
|
677
|
-
type: Input
|
|
678
|
-
}], nodeMouseenter: [{
|
|
679
|
-
type: Output
|
|
680
|
-
}], rootClass: [{
|
|
689
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block;margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"] }]
|
|
690
|
+
}], propDecorators: { rootClass: [{
|
|
681
691
|
type: HostBinding,
|
|
682
692
|
args: ['class.x-tree-node']
|
|
683
693
|
}], onMouseenter: [{
|
|
@@ -689,174 +699,205 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
689
699
|
}] } });
|
|
690
700
|
|
|
691
701
|
class XTreeComponent extends XTreeProperty {
|
|
692
|
-
|
|
693
|
-
this.nodeComponents = value;
|
|
694
|
-
}
|
|
695
|
-
get isEmpty() {
|
|
696
|
-
return XIsEmpty(this.nodes);
|
|
697
|
-
}
|
|
698
|
-
constructor(renderer, elementRef, cdr, configService, ngZone, treeService) {
|
|
702
|
+
constructor(renderer, elementRef, cdr, treeService) {
|
|
699
703
|
super();
|
|
700
704
|
this.renderer = renderer;
|
|
701
705
|
this.elementRef = elementRef;
|
|
702
706
|
this.cdr = cdr;
|
|
703
|
-
this.configService = configService;
|
|
704
|
-
this.ngZone = ngZone;
|
|
705
707
|
this.treeService = treeService;
|
|
706
|
-
this.
|
|
707
|
-
this.
|
|
708
|
-
this.
|
|
709
|
-
this.
|
|
710
|
-
this.
|
|
711
|
-
this.
|
|
712
|
-
this.
|
|
713
|
-
this.
|
|
714
|
-
this.
|
|
708
|
+
this.tree = viewChild('tree', { read: (ElementRef) });
|
|
709
|
+
this.virtualBody = viewChild('virtualBody', { read: CdkVirtualScrollViewport });
|
|
710
|
+
this.dropList = viewChild('dropList', { read: (CdkDropList) });
|
|
711
|
+
this.nodeComponents = viewChildren(XTreeNodeComponent);
|
|
712
|
+
this.document = inject(DOCUMENT);
|
|
713
|
+
this.fontSize = computed(() => parseFloat(XComputedStyle(this.document.documentElement, 'font-size')));
|
|
714
|
+
this.nodes = signal([]);
|
|
715
|
+
this.virtualNodes = signal([]);
|
|
716
|
+
this.activatedNode = signal(null);
|
|
717
|
+
this.dataIsFunc = signal(false);
|
|
718
|
+
this.getting = signal(false);
|
|
719
|
+
this.treeData = signal([]);
|
|
720
|
+
this.dragging = signal(false);
|
|
721
|
+
this.dragPosition = signal(-1);
|
|
722
|
+
this.hoverTreeNode = signal(null);
|
|
723
|
+
this.draggingTreeNode = signal(null);
|
|
724
|
+
this.hasChecked = signal(false);
|
|
725
|
+
this.isEmpty = computed(() => XIsEmpty(this.nodes()));
|
|
726
|
+
this.unSubject = new Subject();
|
|
727
|
+
this.heightAdaptionSignal = signal(0);
|
|
728
|
+
this.isVirtualScrollAdaption = computed(() => {
|
|
729
|
+
return !!(this.virtualScroll() && this.heightAdaption());
|
|
730
|
+
});
|
|
731
|
+
this.virtualScrollHeightSignal = computed(() => {
|
|
732
|
+
if (this.isVirtualScrollAdaption()) {
|
|
733
|
+
return this.heightAdaptionSignal();
|
|
734
|
+
}
|
|
735
|
+
else {
|
|
736
|
+
return XToCssPx(this.virtualScrollHeight(), this.fontSize());
|
|
737
|
+
}
|
|
738
|
+
});
|
|
739
|
+
this.minBufferPxSignal = computed(() => {
|
|
740
|
+
if (this.isVirtualScrollAdaption()) {
|
|
741
|
+
return this.virtualScrollHeightSignal();
|
|
742
|
+
}
|
|
743
|
+
else {
|
|
744
|
+
return this.minBufferPx();
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
this.maxBufferPxSignal = computed(() => {
|
|
748
|
+
if (this.isVirtualScrollAdaption()) {
|
|
749
|
+
return this.virtualScrollHeightSignal() * 1.2;
|
|
750
|
+
}
|
|
751
|
+
else {
|
|
752
|
+
return this.maxBufferPx();
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
effect(() => {
|
|
756
|
+
const virtualBody = this.virtualBody();
|
|
757
|
+
if (virtualBody) {
|
|
758
|
+
virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPxSignal();
|
|
759
|
+
virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPxSignal();
|
|
760
|
+
}
|
|
761
|
+
});
|
|
715
762
|
}
|
|
716
763
|
ngOnChanges(changes) {
|
|
717
|
-
const { expandedAll, data,
|
|
764
|
+
const { expandedAll, data, checked, manual } = changes;
|
|
718
765
|
XIsChange(data) && this.setData();
|
|
719
|
-
XIsChange(activatedId) && this.setActivatedNode(this.treeData);
|
|
720
766
|
XIsChange(expandedAll) && this.setExpandedAll();
|
|
721
|
-
XIsChange(checked) && this.setCheckedKeys(this.checked);
|
|
767
|
+
XIsChange(checked) && this.setCheckedKeys(this.checked());
|
|
722
768
|
XIsChange(manual) && this.setManual();
|
|
723
769
|
}
|
|
724
770
|
ngAfterViewInit() {
|
|
725
|
-
if (this.
|
|
726
|
-
this.
|
|
727
|
-
XResize(this.heightAdaption)
|
|
728
|
-
.pipe(debounceTime(30),
|
|
729
|
-
.
|
|
730
|
-
this.
|
|
731
|
-
|
|
732
|
-
|
|
771
|
+
if (this.isVirtualScrollAdaption()) {
|
|
772
|
+
this.heightAdaptionSignal.set(this.heightAdaption().clientHeight);
|
|
773
|
+
XResize(this.heightAdaption())
|
|
774
|
+
.pipe(debounceTime(30), map(({ resizeObserver }) => {
|
|
775
|
+
this.resizeObserver = resizeObserver;
|
|
776
|
+
this.heightAdaptionSignal.set(this.heightAdaption().clientHeight);
|
|
777
|
+
}))
|
|
778
|
+
.subscribe();
|
|
733
779
|
}
|
|
734
|
-
this.
|
|
780
|
+
this.setActivatedNode(this.treeData());
|
|
781
|
+
this.setScrollTop();
|
|
735
782
|
}
|
|
736
783
|
ngOnDestroy() {
|
|
737
|
-
this.
|
|
738
|
-
this.
|
|
739
|
-
this.
|
|
784
|
+
this.unSubject.next();
|
|
785
|
+
this.unSubject.complete();
|
|
786
|
+
this.resizeObserver?.disconnect();
|
|
740
787
|
}
|
|
741
788
|
setData() {
|
|
742
|
-
if (typeof this.data === 'undefined')
|
|
789
|
+
if (typeof this.data() === 'undefined')
|
|
743
790
|
return;
|
|
744
|
-
this.dataIsFunc
|
|
745
|
-
if (XIsFunction(this.data)) {
|
|
746
|
-
this.dataIsFunc
|
|
791
|
+
this.dataIsFunc.set(false);
|
|
792
|
+
if (XIsFunction(this.data())) {
|
|
793
|
+
this.dataIsFunc.set(true);
|
|
747
794
|
this.getDataByFunc();
|
|
748
795
|
}
|
|
749
796
|
else {
|
|
750
|
-
XSetData(this.data, this.
|
|
797
|
+
XSetData(this.data(), this.unSubject).subscribe((x) => {
|
|
751
798
|
this.setDataChange(x);
|
|
752
799
|
});
|
|
753
800
|
}
|
|
754
801
|
}
|
|
755
802
|
cdkDragStarted(event) {
|
|
756
|
-
this.dragging
|
|
757
|
-
this.draggingTreeNode
|
|
803
|
+
this.dragging.set(true);
|
|
804
|
+
this.draggingTreeNode.set(event.source.data);
|
|
758
805
|
if (event.source.data.open) {
|
|
759
806
|
this.onToggle(event.event, event.source.data);
|
|
760
807
|
}
|
|
761
|
-
this.nodeDragStarted.emit({ event, from: this.draggingTreeNode });
|
|
808
|
+
this.nodeDragStarted.emit({ event, from: this.draggingTreeNode() });
|
|
762
809
|
}
|
|
763
810
|
cdkDragEnded(event) {
|
|
764
|
-
this.dragging
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
811
|
+
this.dragging.set(false);
|
|
812
|
+
const hoverTreeNode = this.hoverTreeNode();
|
|
813
|
+
if (hoverTreeNode) {
|
|
814
|
+
if (hoverTreeNode.id !== event.source.data.id) {
|
|
815
|
+
this.insertNode(event.source.data, hoverTreeNode, this.dragPosition());
|
|
768
816
|
}
|
|
769
|
-
|
|
817
|
+
hoverTreeNode.change && hoverTreeNode.change();
|
|
770
818
|
this.nodeDragEnded.emit({
|
|
771
819
|
event,
|
|
772
820
|
from: event.source.data,
|
|
773
|
-
to:
|
|
774
|
-
position: this.dragPosition
|
|
821
|
+
to: hoverTreeNode,
|
|
822
|
+
position: this.dragPosition()
|
|
775
823
|
});
|
|
776
824
|
}
|
|
777
825
|
}
|
|
778
826
|
insertNode(dragNode, hoverNode, dragPosition) {
|
|
779
|
-
let parent = this.nodes.find((x) => x.id === dragNode.pid);
|
|
780
|
-
this.treeService.moveNode(this.treeData, dragNode, hoverNode, dragPosition);
|
|
781
|
-
this.setDataChange(this.treeData, true, false, true, parent);
|
|
827
|
+
let parent = this.nodes().find((x) => x.id === dragNode.pid);
|
|
828
|
+
this.treeService.moveNode(this.treeData(), dragNode, hoverNode, dragPosition);
|
|
829
|
+
this.setDataChange(this.treeData(), true, false, true, parent);
|
|
782
830
|
}
|
|
783
831
|
cdkDragMoved(event) {
|
|
784
|
-
|
|
832
|
+
const hoverTreeNode = this.hoverTreeNode();
|
|
833
|
+
if (!this.dragging() || !hoverTreeNode)
|
|
785
834
|
return;
|
|
786
835
|
const y = event.pointerPosition.y;
|
|
787
|
-
if (event.source.data.id ===
|
|
836
|
+
if (event.source.data.id === hoverTreeNode.id)
|
|
788
837
|
return;
|
|
789
838
|
const target = this.hoverTreeEle.nativeElement;
|
|
790
839
|
const { top, height } = target.getBoundingClientRect();
|
|
791
840
|
const des = Math.max(height * 0.5, 2);
|
|
792
841
|
if (y > top && y < top + des) {
|
|
793
|
-
this.dragPosition
|
|
842
|
+
this.dragPosition.set(-1);
|
|
794
843
|
}
|
|
795
844
|
else if (y > top + des && y < top + height) {
|
|
796
|
-
this.dragPosition
|
|
845
|
+
this.dragPosition.set(1);
|
|
797
846
|
}
|
|
798
|
-
|
|
847
|
+
hoverTreeNode.change && hoverTreeNode.change();
|
|
799
848
|
this.nodeDragMoved.emit({
|
|
800
849
|
event,
|
|
801
|
-
from: this.draggingTreeNode,
|
|
802
|
-
to:
|
|
803
|
-
position: this.dragPosition
|
|
850
|
+
from: this.draggingTreeNode(),
|
|
851
|
+
to: hoverTreeNode,
|
|
852
|
+
position: this.dragPosition()
|
|
804
853
|
});
|
|
805
854
|
}
|
|
806
855
|
predicate(_drag, _drop) {
|
|
807
856
|
return true;
|
|
808
857
|
}
|
|
809
|
-
setVirtualScrollHeight() {
|
|
810
|
-
this.virtualScrollHeight = this.heightAdaption.clientHeight;
|
|
811
|
-
this.minBufferPx = this.virtualScrollHeight;
|
|
812
|
-
this.maxBufferPx = this.virtualScrollHeight * 1.2;
|
|
813
|
-
this.virtualBody['_scrollStrategy']['_minBufferPx'] = this.minBufferPx;
|
|
814
|
-
this.virtualBody['_scrollStrategy']['_maxBufferPx'] = this.maxBufferPx;
|
|
815
|
-
this.cdr.detectChanges();
|
|
816
|
-
}
|
|
817
858
|
setManual() {
|
|
818
|
-
if (this.dataIsFunc)
|
|
859
|
+
if (this.dataIsFunc())
|
|
819
860
|
this.getDataByFunc();
|
|
820
861
|
}
|
|
821
862
|
getDataByFunc() {
|
|
822
|
-
if (!this.manual)
|
|
863
|
+
if (!this.manual())
|
|
823
864
|
return;
|
|
824
|
-
XSetData(this.data(), this.
|
|
865
|
+
XSetData(this.data()(), this.unSubject).subscribe((x) => {
|
|
825
866
|
this.setDataChange(x);
|
|
826
867
|
});
|
|
827
868
|
}
|
|
828
869
|
setDataChange(value, regetChildren = false, init = true, parentOpen = true, lazyParant) {
|
|
829
|
-
if (XIsEmpty(this.checked) || !this.hasChecked)
|
|
830
|
-
this.checked
|
|
870
|
+
if (XIsEmpty(this.checked()) || !this.hasChecked())
|
|
871
|
+
this.checked.set([]);
|
|
831
872
|
const getChildren = (node, level) => {
|
|
832
873
|
if (init) {
|
|
833
874
|
node.level = level;
|
|
834
875
|
node.open =
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
this.expanded.includes(node.id) ||
|
|
838
|
-
node.open;
|
|
839
|
-
node.checked = this.checked.includes(node.id) || node.checked;
|
|
876
|
+
this.expandedAll() || level <= this.expandedLevel() || this.expanded().includes(node.id) || node.open;
|
|
877
|
+
node.checked = this.checked().includes(node.id) || node.checked;
|
|
840
878
|
node.childrenLoaded = node.open;
|
|
841
879
|
}
|
|
842
880
|
if (XIsUndefined(node.children) || regetChildren) {
|
|
843
881
|
node.children = value.filter((y) => y.pid === node.id);
|
|
844
|
-
if (this.levelCheck && node.children && node.checked) {
|
|
882
|
+
if (this.levelCheck() && node.children && node.checked) {
|
|
845
883
|
for (let nd of node.children) {
|
|
846
884
|
nd.checked = true;
|
|
847
|
-
this.checked.
|
|
885
|
+
this.checked.update((x) => {
|
|
886
|
+
x.push(nd.id);
|
|
887
|
+
return [...x];
|
|
888
|
+
});
|
|
848
889
|
}
|
|
849
890
|
}
|
|
850
891
|
}
|
|
851
|
-
if ((!this.lazy && (XIsUndefined(node.leaf) || regetChildren)) || node.id === lazyParant?.id) {
|
|
892
|
+
if ((!this.lazy() && (XIsUndefined(node.leaf) || regetChildren)) || node.id === lazyParant?.id) {
|
|
852
893
|
node.leaf = node.children?.length === 0;
|
|
853
894
|
}
|
|
854
895
|
if (!node.leaf)
|
|
855
896
|
node.children?.map((y) => getChildren(y, level + 1));
|
|
856
897
|
return node;
|
|
857
898
|
};
|
|
858
|
-
this.treeData
|
|
859
|
-
this.nodes
|
|
899
|
+
this.treeData.set(value);
|
|
900
|
+
this.nodes.set(value.filter((x) => XIsEmpty(x.pid)).map((x) => getChildren(x, 0)));
|
|
860
901
|
if (parentOpen) {
|
|
861
902
|
for (let item of value) {
|
|
862
903
|
if (!item.leaf && item.open) {
|
|
@@ -865,51 +906,40 @@ class XTreeComponent extends XTreeProperty {
|
|
|
865
906
|
}
|
|
866
907
|
}
|
|
867
908
|
this.setExpanded();
|
|
868
|
-
this.cdr.
|
|
909
|
+
this.cdr.markForCheck();
|
|
869
910
|
}
|
|
870
911
|
nodeMouseenter($event) {
|
|
871
912
|
const { node, ele } = $event;
|
|
872
|
-
if (!this.dragging)
|
|
913
|
+
if (!this.dragging())
|
|
873
914
|
return;
|
|
874
|
-
let before = this.hoverTreeNode;
|
|
875
|
-
this.hoverTreeNode
|
|
915
|
+
let before = this.hoverTreeNode();
|
|
916
|
+
this.hoverTreeNode.set(node);
|
|
876
917
|
this.hoverTreeEle = ele;
|
|
877
|
-
|
|
918
|
+
const hoverTreeNode = this.hoverTreeNode();
|
|
919
|
+
if (hoverTreeNode) {
|
|
920
|
+
hoverTreeNode.change && hoverTreeNode.change();
|
|
921
|
+
}
|
|
878
922
|
if (before) {
|
|
879
923
|
before.change && before.change();
|
|
880
924
|
}
|
|
881
925
|
if (!node.leaf && !node.open) {
|
|
882
|
-
let from = this.nodes.indexOf(this.draggingTreeNode);
|
|
883
|
-
let to = this.nodes.indexOf(node);
|
|
926
|
+
let from = this.nodes().indexOf(this.draggingTreeNode());
|
|
927
|
+
let to = this.nodes().indexOf(node);
|
|
884
928
|
if (to - from !== -1) {
|
|
885
929
|
this.onToggle(null, node);
|
|
886
930
|
}
|
|
887
|
-
// else {
|
|
888
|
-
// let addNodes: XTreeNode[] = [];
|
|
889
|
-
// node.open = true;
|
|
890
|
-
// const getNodes = (nd: XTreeNode) => {
|
|
891
|
-
// if (XIsEmpty(nd.children)) return;
|
|
892
|
-
// for (let child of nd.children!) {
|
|
893
|
-
// addNodes.push(child);
|
|
894
|
-
// child.open && getNodes(child);
|
|
895
|
-
// }
|
|
896
|
-
// };
|
|
897
|
-
// getNodes(node);
|
|
898
|
-
// let nodes = [...this.nodes];
|
|
899
|
-
// nodes.splice(to + 1, 0, ...addNodes);
|
|
900
|
-
// this.nodes = nodes;
|
|
901
|
-
// }
|
|
902
931
|
}
|
|
903
932
|
}
|
|
904
|
-
|
|
905
|
-
|
|
933
|
+
setScrollTop() {
|
|
934
|
+
const scrollElement = this.scrollElement();
|
|
935
|
+
if (!scrollElement || !this.activatedNode())
|
|
906
936
|
return;
|
|
907
|
-
|
|
908
|
-
let com = this.nodeComponents.
|
|
937
|
+
const inx = this.nodes().indexOf(this.activatedNode());
|
|
938
|
+
let com = this.nodeComponents().find((_, index) => index === inx);
|
|
909
939
|
if (!com)
|
|
910
940
|
return;
|
|
911
941
|
let ele = com.elementRef.nativeElement;
|
|
912
|
-
let scrollEle =
|
|
942
|
+
let scrollEle = scrollElement;
|
|
913
943
|
let min = scrollEle.scrollTop;
|
|
914
944
|
let max = scrollEle.scrollTop + scrollEle.clientHeight;
|
|
915
945
|
if (ele.offsetTop + ele.clientHeight > max) {
|
|
@@ -932,7 +962,7 @@ class XTreeComponent extends XTreeProperty {
|
|
|
932
962
|
getChildren(x.children);
|
|
933
963
|
});
|
|
934
964
|
};
|
|
935
|
-
getChildren(this.nodes);
|
|
965
|
+
getChildren(this.nodes());
|
|
936
966
|
return result;
|
|
937
967
|
}
|
|
938
968
|
getCheckedKeys() {
|
|
@@ -940,7 +970,7 @@ class XTreeComponent extends XTreeProperty {
|
|
|
940
970
|
}
|
|
941
971
|
setCheckedKeys(keys = []) {
|
|
942
972
|
if (!XIsEmpty(keys))
|
|
943
|
-
this.hasChecked
|
|
973
|
+
this.hasChecked.set(true);
|
|
944
974
|
const setChildren = (nodes, clear = false) => {
|
|
945
975
|
if (XIsEmpty(nodes))
|
|
946
976
|
return;
|
|
@@ -950,48 +980,50 @@ class XTreeComponent extends XTreeProperty {
|
|
|
950
980
|
setChildren(x.children, clear);
|
|
951
981
|
});
|
|
952
982
|
};
|
|
953
|
-
setChildren(this.nodes, XIsEmpty(keys));
|
|
954
|
-
this.cdr.
|
|
983
|
+
setChildren(this.nodes(), XIsEmpty(keys));
|
|
984
|
+
this.cdr.markForCheck();
|
|
955
985
|
}
|
|
956
986
|
setExpandedAll() {
|
|
957
|
-
if (this.expandedAll && this.treeData.length === this.nodes.length)
|
|
987
|
+
if (this.expandedAll() && this.treeData().length === this.nodes().length)
|
|
958
988
|
return;
|
|
959
989
|
const setChildren = (nodes) => {
|
|
960
990
|
if (XIsEmpty(nodes))
|
|
961
991
|
return;
|
|
962
992
|
nodes.forEach((x) => {
|
|
963
|
-
x.open =
|
|
993
|
+
x.open = this.expandedAll();
|
|
964
994
|
x.change && x.change();
|
|
965
995
|
setChildren(x.children);
|
|
966
996
|
});
|
|
967
997
|
};
|
|
968
|
-
setChildren(this.nodes);
|
|
969
|
-
if (this.expandedAll === false) {
|
|
970
|
-
this.nodes
|
|
998
|
+
setChildren(this.nodes());
|
|
999
|
+
if (this.expandedAll() === false) {
|
|
1000
|
+
this.nodes.set(this.treeData().filter((x) => XIsEmpty(x.pid)));
|
|
971
1001
|
}
|
|
972
1002
|
else {
|
|
973
|
-
if (this.virtualNodes.length === 0) {
|
|
974
|
-
this.virtualNodes
|
|
1003
|
+
if (this.virtualNodes().length === 0) {
|
|
1004
|
+
this.virtualNodes.set([...this.nodes()]);
|
|
975
1005
|
}
|
|
976
|
-
this.nodes
|
|
977
|
-
for (let item of this.virtualNodes) {
|
|
978
|
-
this.setVirtualExpandedAll(item, this.expandedAll);
|
|
1006
|
+
this.nodes.set(this.virtualNodes());
|
|
1007
|
+
for (let item of this.virtualNodes()) {
|
|
1008
|
+
this.setVirtualExpandedAll(item, this.expandedAll());
|
|
979
1009
|
}
|
|
980
1010
|
}
|
|
981
|
-
this.virtualBody?.checkViewportSize();
|
|
1011
|
+
this.virtualBody()?.checkViewportSize();
|
|
982
1012
|
}
|
|
983
1013
|
setExpanded() {
|
|
984
|
-
for (let item of this.nodes) {
|
|
1014
|
+
for (let item of this.nodes()) {
|
|
985
1015
|
if (item.open && item.children) {
|
|
986
|
-
let index = this.nodes.indexOf(item);
|
|
987
|
-
this.nodes.
|
|
1016
|
+
let index = this.nodes().indexOf(item);
|
|
1017
|
+
this.nodes.update((x) => {
|
|
1018
|
+
x.splice(index + 1, 0, ...item.children);
|
|
1019
|
+
return [...x];
|
|
1020
|
+
});
|
|
988
1021
|
}
|
|
989
1022
|
item.change && item.change();
|
|
990
1023
|
}
|
|
991
|
-
this.nodes = [...this.nodes];
|
|
992
1024
|
}
|
|
993
1025
|
setVirtualExpandedAll(item, expandedAll) {
|
|
994
|
-
let index = this.nodes.indexOf(item);
|
|
1026
|
+
let index = this.nodes().indexOf(item);
|
|
995
1027
|
if (expandedAll) {
|
|
996
1028
|
let addNodes = [];
|
|
997
1029
|
const getNodes = (nd) => {
|
|
@@ -1001,12 +1033,14 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1001
1033
|
}
|
|
1002
1034
|
};
|
|
1003
1035
|
getNodes(item);
|
|
1004
|
-
this.nodes.
|
|
1036
|
+
this.nodes.update((x) => {
|
|
1037
|
+
x.splice(index + 1, 0, ...addNodes);
|
|
1038
|
+
return [...x];
|
|
1039
|
+
});
|
|
1005
1040
|
}
|
|
1006
|
-
this.nodes = [...this.nodes];
|
|
1007
1041
|
}
|
|
1008
1042
|
virtualToggle(node) {
|
|
1009
|
-
let index = this.nodes.indexOf(node);
|
|
1043
|
+
let index = this.nodes().indexOf(node);
|
|
1010
1044
|
if (node.open) {
|
|
1011
1045
|
let addNodes = [];
|
|
1012
1046
|
const getNodes = (nd) => {
|
|
@@ -1018,7 +1052,10 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1018
1052
|
}
|
|
1019
1053
|
};
|
|
1020
1054
|
getNodes(node);
|
|
1021
|
-
this.nodes.
|
|
1055
|
+
this.nodes.update((x) => {
|
|
1056
|
+
x.splice(index + 1, 0, ...addNodes);
|
|
1057
|
+
return [...x];
|
|
1058
|
+
});
|
|
1022
1059
|
}
|
|
1023
1060
|
else {
|
|
1024
1061
|
let delCount = 0;
|
|
@@ -1031,51 +1068,59 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1031
1068
|
}
|
|
1032
1069
|
};
|
|
1033
1070
|
getCount(node);
|
|
1034
|
-
this.nodes.
|
|
1071
|
+
this.nodes.update((x) => {
|
|
1072
|
+
x.splice(index + 1, delCount);
|
|
1073
|
+
return [...x];
|
|
1074
|
+
});
|
|
1035
1075
|
}
|
|
1036
1076
|
this.addOrRemoveExpanded(node);
|
|
1037
|
-
this.
|
|
1038
|
-
this.virtualBody?.checkViewportSize();
|
|
1077
|
+
this.virtualBody()?.checkViewportSize();
|
|
1039
1078
|
this.cdr.detectChanges();
|
|
1040
1079
|
}
|
|
1041
1080
|
addOrRemoveExpanded(node) {
|
|
1042
1081
|
if (node.open) {
|
|
1043
|
-
if (!this.expanded.includes(node.id)) {
|
|
1044
|
-
this.expanded.
|
|
1082
|
+
if (!this.expanded().includes(node.id)) {
|
|
1083
|
+
this.expanded.update((x) => {
|
|
1084
|
+
x.push(node.id);
|
|
1085
|
+
return [...x];
|
|
1086
|
+
});
|
|
1045
1087
|
}
|
|
1046
1088
|
}
|
|
1047
1089
|
else {
|
|
1048
|
-
if (this.expanded.includes(node.id)) {
|
|
1049
|
-
this.expanded.
|
|
1090
|
+
if (this.expanded().includes(node.id)) {
|
|
1091
|
+
this.expanded.update((x) => {
|
|
1092
|
+
x.splice(x.indexOf(node.id), 1);
|
|
1093
|
+
return [...x];
|
|
1094
|
+
});
|
|
1050
1095
|
}
|
|
1051
1096
|
}
|
|
1052
1097
|
}
|
|
1053
1098
|
setActivatedNode(nodes, parentOpen = true, dataChange = true) {
|
|
1054
|
-
if (XIsEmpty(this.activatedId) && this.multiple) {
|
|
1055
|
-
this.activatedId
|
|
1099
|
+
if (XIsEmpty(this.activatedId()) && this.multiple()) {
|
|
1100
|
+
this.activatedId.set([]);
|
|
1056
1101
|
}
|
|
1057
|
-
let before = this.activatedNode;
|
|
1058
|
-
if (this.multiple) {
|
|
1059
|
-
if (this.activatedId.length > 0) {
|
|
1060
|
-
let ids = this.objectArray ? this.activatedId.map((x) => x.id) : this.activatedId;
|
|
1102
|
+
let before = this.activatedNode();
|
|
1103
|
+
if (this.multiple()) {
|
|
1104
|
+
if (this.activatedId().length > 0) {
|
|
1105
|
+
let ids = this.objectArray() ? this.activatedId().map((x) => x.id) : this.activatedId();
|
|
1061
1106
|
for (let i = 0; i < ids.length; i++) {
|
|
1062
1107
|
let node = nodes.find((x) => x.id === ids[i]);
|
|
1063
1108
|
if (node) {
|
|
1064
1109
|
parentOpen && this.setParentOpen(nodes, node);
|
|
1065
1110
|
if (i === ids.length - 1) {
|
|
1066
|
-
this.activatedNode
|
|
1067
|
-
this.activatedChange.emit(this.activatedNode);
|
|
1111
|
+
this.activatedNode.set(node);
|
|
1112
|
+
this.activatedChange.emit(this.activatedNode());
|
|
1068
1113
|
}
|
|
1069
1114
|
}
|
|
1070
1115
|
}
|
|
1071
1116
|
}
|
|
1072
1117
|
}
|
|
1073
1118
|
else {
|
|
1074
|
-
let activatedId = this.activatedId;
|
|
1075
|
-
this.activatedNode
|
|
1076
|
-
if (this.activatedNode) {
|
|
1077
|
-
parentOpen && this.setParentOpen(nodes, this.activatedNode);
|
|
1078
|
-
this.activatedChange.emit(this.activatedNode);
|
|
1119
|
+
let activatedId = this.activatedId();
|
|
1120
|
+
this.activatedNode.set(nodes.find((x) => x.id === activatedId));
|
|
1121
|
+
if (this.activatedNode()) {
|
|
1122
|
+
parentOpen && this.setParentOpen(nodes, this.activatedNode());
|
|
1123
|
+
this.activatedChange.emit(this.activatedNode());
|
|
1079
1124
|
}
|
|
1080
1125
|
}
|
|
1081
1126
|
if (before) {
|
|
@@ -1091,24 +1136,8 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1091
1136
|
return;
|
|
1092
1137
|
const parent = nodes.find((x) => x.id === child.pid);
|
|
1093
1138
|
if (!XIsEmpty(parent)) {
|
|
1094
|
-
if (!this.expanded.includes(parent.id)) {
|
|
1095
|
-
this.expanded
|
|
1096
|
-
}
|
|
1097
|
-
parent.open = true;
|
|
1098
|
-
parent.change && parent.change();
|
|
1099
|
-
getParent(parent);
|
|
1100
|
-
}
|
|
1101
|
-
};
|
|
1102
|
-
getParent(node);
|
|
1103
|
-
}
|
|
1104
|
-
setParentCheck(nodes, node) {
|
|
1105
|
-
const getParent = (child) => {
|
|
1106
|
-
if (XIsEmpty(child.pid))
|
|
1107
|
-
return;
|
|
1108
|
-
const parent = nodes.find((x) => x.id === child.pid);
|
|
1109
|
-
if (!XIsEmpty(parent)) {
|
|
1110
|
-
if (!this.expanded.includes(parent.id)) {
|
|
1111
|
-
this.expanded = [...this.expanded, parent.id];
|
|
1139
|
+
if (!this.expanded().includes(parent.id)) {
|
|
1140
|
+
this.expanded.update((x) => [...x, parent.id]);
|
|
1112
1141
|
}
|
|
1113
1142
|
parent.open = true;
|
|
1114
1143
|
parent.change && parent.change();
|
|
@@ -1118,22 +1147,20 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1118
1147
|
getParent(node);
|
|
1119
1148
|
}
|
|
1120
1149
|
onToggle(event, node) {
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
event?.stopPropagation();
|
|
1131
|
-
});
|
|
1150
|
+
node.open = !node.open;
|
|
1151
|
+
if (this.lazy() && !node.childrenLoaded) {
|
|
1152
|
+
this.getLazyData(node, () => this.virtualToggle(node));
|
|
1153
|
+
}
|
|
1154
|
+
else {
|
|
1155
|
+
this.virtualToggle(node);
|
|
1156
|
+
}
|
|
1157
|
+
event?.preventDefault();
|
|
1158
|
+
event?.stopPropagation();
|
|
1132
1159
|
}
|
|
1133
1160
|
getLazyData(node, callBack) {
|
|
1134
1161
|
node.loading = true;
|
|
1135
1162
|
node.change && node.change();
|
|
1136
|
-
this.data(node.id)
|
|
1163
|
+
this.data()(node.id)
|
|
1137
1164
|
.pipe(map((x) => x.map((y) => {
|
|
1138
1165
|
y.level = node.level + 1;
|
|
1139
1166
|
y.checked = node.checked;
|
|
@@ -1143,15 +1170,15 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1143
1170
|
node.children = x;
|
|
1144
1171
|
node.childrenLoaded = true;
|
|
1145
1172
|
node.loading = false;
|
|
1146
|
-
this.treeData
|
|
1173
|
+
this.treeData.set([...this.treeData(), ...x]);
|
|
1147
1174
|
if (callBack)
|
|
1148
1175
|
callBack();
|
|
1149
1176
|
node.change && node.change();
|
|
1150
|
-
this.cdr.
|
|
1177
|
+
this.cdr.markForCheck();
|
|
1151
1178
|
});
|
|
1152
1179
|
}
|
|
1153
1180
|
addNode(node) {
|
|
1154
|
-
let parent = this.treeData.find((x) => x.id === node.pid);
|
|
1181
|
+
let parent = this.treeData().find((x) => x.id === node.pid);
|
|
1155
1182
|
const _addNode = () => {
|
|
1156
1183
|
if (parent) {
|
|
1157
1184
|
node.level = parent.level + 1;
|
|
@@ -1159,24 +1186,24 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1159
1186
|
node.leaf = true;
|
|
1160
1187
|
parent.leaf = false;
|
|
1161
1188
|
parent.open = true;
|
|
1162
|
-
this.treeData
|
|
1163
|
-
this.setParentOpen(this.treeData, node);
|
|
1164
|
-
this.setDataChange(this.treeData, true, false, false);
|
|
1189
|
+
this.treeData.set([...this.treeData(), node]);
|
|
1190
|
+
this.setParentOpen(this.treeData(), node);
|
|
1191
|
+
this.setDataChange(this.treeData(), true, false, false);
|
|
1165
1192
|
this.setActivatedId(node);
|
|
1166
|
-
this.setActivatedNode(this.nodes, true, false);
|
|
1193
|
+
this.setActivatedNode(this.nodes(), true, false);
|
|
1167
1194
|
node.change && node.change();
|
|
1168
1195
|
}
|
|
1169
1196
|
else if (XIsEmpty(node.pid)) {
|
|
1170
1197
|
node.level = 0;
|
|
1171
1198
|
node.leaf = true;
|
|
1172
|
-
this.treeData
|
|
1173
|
-
this.nodes
|
|
1199
|
+
this.treeData.set([...this.treeData(), node]);
|
|
1200
|
+
this.nodes.set([...this.nodes(), node]);
|
|
1174
1201
|
this.setActivatedId(node);
|
|
1175
|
-
this.setActivatedNode(this.nodes, true, false);
|
|
1202
|
+
this.setActivatedNode(this.nodes(), true, false);
|
|
1176
1203
|
node.change && node.change();
|
|
1177
1204
|
}
|
|
1178
1205
|
};
|
|
1179
|
-
if (this.lazy && parent && !parent.childrenLoaded) {
|
|
1206
|
+
if (this.lazy() && parent && !parent.childrenLoaded) {
|
|
1180
1207
|
this.getLazyData(parent, () => {
|
|
1181
1208
|
_addNode();
|
|
1182
1209
|
});
|
|
@@ -1186,23 +1213,22 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1186
1213
|
}
|
|
1187
1214
|
}
|
|
1188
1215
|
setActivatedId(node) {
|
|
1189
|
-
if (this.multiple) {
|
|
1190
|
-
if (this.objectArray) {
|
|
1191
|
-
this.activatedId
|
|
1216
|
+
if (this.multiple()) {
|
|
1217
|
+
if (this.objectArray()) {
|
|
1218
|
+
this.activatedId.set([node]);
|
|
1192
1219
|
}
|
|
1193
1220
|
else {
|
|
1194
|
-
this.activatedId
|
|
1221
|
+
this.activatedId.set([node.id]);
|
|
1195
1222
|
}
|
|
1196
1223
|
}
|
|
1197
1224
|
else {
|
|
1198
|
-
this.activatedId
|
|
1225
|
+
this.activatedId.set(node.id);
|
|
1199
1226
|
}
|
|
1200
|
-
this.activatedIdChange.emit(this.activatedId);
|
|
1201
1227
|
}
|
|
1202
1228
|
removeNode(node) {
|
|
1203
|
-
let parent = this.treeData.find((x) => x.id === node.pid);
|
|
1229
|
+
let parent = this.treeData().find((x) => x.id === node.pid);
|
|
1204
1230
|
const removeChildren = (nd) => {
|
|
1205
|
-
XRemove(this.treeData, (x) => x.id === nd.id);
|
|
1231
|
+
XRemove(this.treeData(), (x) => x.id === nd.id);
|
|
1206
1232
|
if (nd.children) {
|
|
1207
1233
|
for (let item of nd.children) {
|
|
1208
1234
|
removeChildren(item);
|
|
@@ -1219,7 +1245,7 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1219
1245
|
}
|
|
1220
1246
|
parent.leaf = parent.children.length === 0;
|
|
1221
1247
|
}
|
|
1222
|
-
this.setDataChange(this.treeData, true, false, false);
|
|
1248
|
+
this.setDataChange(this.treeData(), true, false, false);
|
|
1223
1249
|
}
|
|
1224
1250
|
updateNode(node, nowNode) {
|
|
1225
1251
|
Object.assign(node, nowNode);
|
|
@@ -1228,32 +1254,20 @@ class XTreeComponent extends XTreeProperty {
|
|
|
1228
1254
|
trackByItem(_index, item) {
|
|
1229
1255
|
return item;
|
|
1230
1256
|
}
|
|
1231
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1232
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1257
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: XTreeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1258
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XTreeComponent, isStandalone: true, selector: "x-tree", viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true, read: CdkVirtualScrollViewport, isSignal: true }, { propertyName: "dropList", first: true, predicate: ["dropList"], descendants: true, read: CdkDropList, isSignal: true }, { propertyName: "nodeComponents", predicate: XTreeNodeComponent, descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #tree class=\"x-tree\" [class.x-tree-only-leaf]=\"onlyLeaf()\">\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n [style.height.px]=\"virtualScrollHeightSignal()\"\r\n >\r\n <div\r\n class=\"x-tree-content\"\r\n #dropList\r\n cdkDropList\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n <x-tree-node\r\n *cdkVirtualFor=\"let node of nodes(); templateCacheSize: 0; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n (cdkDragStarted)=\"cdkDragStarted($event)\"\r\n (cdkDragEnded)=\"cdkDragEnded($event)\"\r\n (cdkDragMoved)=\"cdkDragMoved($event)\"\r\n [cdkDragData]=\"node\"\r\n (nodeMouseenter)=\"nodeMouseenter($event)\"\r\n [node]=\"node\"\r\n [nodeHeight]=\"nodeHeight()\"\r\n [nodeNowrap]=\"nodeNowrap()\"\r\n [nodeAlignItems]=\"nodeAlignItems()\"\r\n [(disabled)]=\"node.disabled!\"\r\n [(id)]=\"node.id\"\r\n [(pid)]=\"node.pid\"\r\n [(leaf)]=\"node.leaf!\"\r\n [(height)]=\"node.height!\"\r\n [(alignItems)]=\"node.alignItems!\"\r\n [(loading)]=\"node.loading!\"\r\n [(level)]=\"node.level!\"\r\n [(open)]=\"node.open\"\r\n [(checked)]=\"node.checked!\"\r\n [(indeterminate)]=\"node.indeterminate!\"\r\n [(label)]=\"node.label!\"\r\n [(nowrap)]=\"node.nowrap!\"\r\n (toggle)=\"onToggle(null, $event)\"\r\n ></x-tree-node>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-tree-content\"\r\n #dropList\r\n cdkDropList\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id + '' + $index) {\r\n <x-tree-node\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n (cdkDragStarted)=\"cdkDragStarted($event)\"\r\n (cdkDragEnded)=\"cdkDragEnded($event)\"\r\n (cdkDragMoved)=\"cdkDragMoved($event)\"\r\n [cdkDragData]=\"node\"\r\n (nodeMouseenter)=\"nodeMouseenter($event)\"\r\n [node]=\"node\"\r\n [nodeHeight]=\"nodeHeight()\"\r\n [nodeNowrap]=\"nodeNowrap()\"\r\n [nodeAlignItems]=\"nodeAlignItems()\"\r\n [(disabled)]=\"node.disabled\"\r\n [(id)]=\"node.id\"\r\n [(pid)]=\"node.pid\"\r\n [(leaf)]=\"node.leaf\"\r\n [(height)]=\"node.height!\"\r\n [(alignItems)]=\"node.alignItems\"\r\n [(loading)]=\"node.loading\"\r\n [(level)]=\"node.level\"\r\n [(open)]=\"node.open\"\r\n [(checked)]=\"node.checked\"\r\n [(indeterminate)]=\"node.indeterminate\"\r\n [(label)]=\"node.label\"\r\n [(nowrap)]=\"node.nowrap\"\r\n (toggle)=\"onToggle(null, $event)\"\r\n ></x-tree-node>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<!-- \u63D0\u524D\u52A0\u8F7Dloading\u7684\u56FE\u6807-->\r\n@if (lazy()) {\r\n <x-icon [style.display]=\"'none'\" type=\"fto-loader\"></x-icon>\r\n}\r\n", styles: [".x-tree{margin:0;padding:0}.x-tree-only-leaf .x-tree-node-sub{color:var(--x-text-300)}.x-tree-content.cdk-drop-list-dragging x-tree-node .x-tree-node-content:not(.x-disabled):not(.x-activated):hover{background-color:transparent}.x-tree-content.cdk-drop-list-dragging x-tree-node.cdk-drag-placeholder .x-tree-node-content{color:var(--x-primary);background-color:var(--x-background-a200);opacity:.8}.x-tree-content.cdk-drop-list-dragging x-tree-node:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ 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.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: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XTreeNodeComponent, selector: "x-tree-node, [x-tree-node]", outputs: ["nodeMouseenter"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1233
1259
|
}
|
|
1234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeComponent, decorators: [{
|
|
1235
1261
|
type: Component,
|
|
1236
|
-
args: [{ selector: `${XTreePrefix}`, standalone: true, imports: [DragDropModule, ScrollingModule, XTreeNodeComponent, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tree class=\"x-tree\" [class.x-tree-only-leaf]=\"onlyLeaf\">\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize\"\r\n [minBufferPx]=\"
|
|
1237
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type:
|
|
1238
|
-
type: ViewChild,
|
|
1239
|
-
args: ['tree', { static: true }]
|
|
1240
|
-
}], virtualBody: [{
|
|
1241
|
-
type: ViewChild,
|
|
1242
|
-
args: ['virtualBody']
|
|
1243
|
-
}], dropList: [{
|
|
1244
|
-
type: ViewChild,
|
|
1245
|
-
args: ['dropList']
|
|
1246
|
-
}], _nodeComponents: [{
|
|
1247
|
-
type: ViewChildren,
|
|
1248
|
-
args: [XTreeNodeComponent]
|
|
1249
|
-
}] } });
|
|
1262
|
+
args: [{ selector: `${XTreePrefix}`, standalone: true, imports: [DragDropModule, ScrollingModule, XTreeNodeComponent, XIconComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tree class=\"x-tree\" [class.x-tree-only-leaf]=\"onlyLeaf()\">\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n [style.height.px]=\"virtualScrollHeightSignal()\"\r\n >\r\n <div\r\n class=\"x-tree-content\"\r\n #dropList\r\n cdkDropList\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n <x-tree-node\r\n *cdkVirtualFor=\"let node of nodes(); templateCacheSize: 0; trackBy: trackByItem\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n (cdkDragStarted)=\"cdkDragStarted($event)\"\r\n (cdkDragEnded)=\"cdkDragEnded($event)\"\r\n (cdkDragMoved)=\"cdkDragMoved($event)\"\r\n [cdkDragData]=\"node\"\r\n (nodeMouseenter)=\"nodeMouseenter($event)\"\r\n [node]=\"node\"\r\n [nodeHeight]=\"nodeHeight()\"\r\n [nodeNowrap]=\"nodeNowrap()\"\r\n [nodeAlignItems]=\"nodeAlignItems()\"\r\n [(disabled)]=\"node.disabled!\"\r\n [(id)]=\"node.id\"\r\n [(pid)]=\"node.pid\"\r\n [(leaf)]=\"node.leaf!\"\r\n [(height)]=\"node.height!\"\r\n [(alignItems)]=\"node.alignItems!\"\r\n [(loading)]=\"node.loading!\"\r\n [(level)]=\"node.level!\"\r\n [(open)]=\"node.open\"\r\n [(checked)]=\"node.checked!\"\r\n [(indeterminate)]=\"node.indeterminate!\"\r\n [(label)]=\"node.label!\"\r\n [(nowrap)]=\"node.nowrap!\"\r\n (toggle)=\"onToggle(null, $event)\"\r\n ></x-tree-node>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-tree-content\"\r\n #dropList\r\n cdkDropList\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [cdkDropListSortingDisabled]=\"true\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id + '' + $index) {\r\n <x-tree-node\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n (cdkDragStarted)=\"cdkDragStarted($event)\"\r\n (cdkDragEnded)=\"cdkDragEnded($event)\"\r\n (cdkDragMoved)=\"cdkDragMoved($event)\"\r\n [cdkDragData]=\"node\"\r\n (nodeMouseenter)=\"nodeMouseenter($event)\"\r\n [node]=\"node\"\r\n [nodeHeight]=\"nodeHeight()\"\r\n [nodeNowrap]=\"nodeNowrap()\"\r\n [nodeAlignItems]=\"nodeAlignItems()\"\r\n [(disabled)]=\"node.disabled\"\r\n [(id)]=\"node.id\"\r\n [(pid)]=\"node.pid\"\r\n [(leaf)]=\"node.leaf\"\r\n [(height)]=\"node.height!\"\r\n [(alignItems)]=\"node.alignItems\"\r\n [(loading)]=\"node.loading\"\r\n [(level)]=\"node.level\"\r\n [(open)]=\"node.open\"\r\n [(checked)]=\"node.checked\"\r\n [(indeterminate)]=\"node.indeterminate\"\r\n [(label)]=\"node.label\"\r\n [(nowrap)]=\"node.nowrap\"\r\n (toggle)=\"onToggle(null, $event)\"\r\n ></x-tree-node>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<!-- \u63D0\u524D\u52A0\u8F7Dloading\u7684\u56FE\u6807-->\r\n@if (lazy()) {\r\n <x-icon [style.display]=\"'none'\" type=\"fto-loader\"></x-icon>\r\n}\r\n", styles: [".x-tree{margin:0;padding:0}.x-tree-only-leaf .x-tree-node-sub{color:var(--x-text-300)}.x-tree-content.cdk-drop-list-dragging x-tree-node .x-tree-node-content:not(.x-disabled):not(.x-activated):hover{background-color:transparent}.x-tree-content.cdk-drop-list-dragging x-tree-node.cdk-drag-placeholder .x-tree-node-content{color:var(--x-primary);background-color:var(--x-background-a200);opacity:.8}.x-tree-content.cdk-drop-list-dragging x-tree-node:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
|
|
1263
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: XTreeService }] });
|
|
1250
1264
|
|
|
1251
1265
|
class XTreeModule {
|
|
1252
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1253
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1254
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1266
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1267
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: XTreeModule, imports: [XTreeComponent, XTreeNodeComponent], exports: [XTreeComponent, XTreeNodeComponent] }); }
|
|
1268
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeModule, imports: [XTreeComponent, XTreeNodeComponent] }); }
|
|
1255
1269
|
}
|
|
1256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XTreeModule, decorators: [{
|
|
1257
1271
|
type: NgModule,
|
|
1258
1272
|
args: [{
|
|
1259
1273
|
exports: [XTreeComponent, XTreeNodeComponent],
|