@ng-nest/ui 15.0.12 → 15.0.14

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.
Files changed (118) hide show
  1. package/anchor/anchor-inner.component.d.ts +6 -0
  2. package/anchor/anchor.component.d.ts +5 -2
  3. package/anchor/anchor.module.d.ts +5 -4
  4. package/anchor/anchor.property.d.ts +13 -0
  5. package/anchor/public-api.d.ts +1 -0
  6. package/core/config/config.d.ts +2 -0
  7. package/core/functions/date.d.ts +3 -0
  8. package/core/functions/parent-path.d.ts +1 -0
  9. package/core/functions/public-api.d.ts +1 -0
  10. package/date-picker/date-picker-portal.component.d.ts +7 -2
  11. package/date-picker/date-picker.property.d.ts +87 -6
  12. package/date-picker/date-range-portal.component.d.ts +6 -2
  13. package/date-picker/picker-date.component.d.ts +6 -0
  14. package/date-picker/picker-month.component.d.ts +1 -0
  15. package/date-picker/picker-year.component.d.ts +1 -0
  16. package/esm2020/anchor/anchor-inner.component.mjs +17 -0
  17. package/esm2020/anchor/anchor.component.mjs +25 -11
  18. package/esm2020/anchor/anchor.module.mjs +6 -5
  19. package/esm2020/anchor/anchor.property.mjs +18 -1
  20. package/esm2020/anchor/public-api.mjs +2 -1
  21. package/esm2020/core/config/config.mjs +1 -1
  22. package/esm2020/core/functions/date.mjs +73 -1
  23. package/esm2020/core/functions/parent-path.mjs +10 -0
  24. package/esm2020/core/functions/public-api.mjs +2 -1
  25. package/esm2020/date-picker/date-picker-portal.component.mjs +34 -6
  26. package/esm2020/date-picker/date-picker.component.mjs +14 -4
  27. package/esm2020/date-picker/date-picker.property.mjs +20 -6
  28. package/esm2020/date-picker/date-range-portal.component.mjs +33 -18
  29. package/esm2020/date-picker/date-range.component.mjs +24 -7
  30. package/esm2020/date-picker/picker-date.component.mjs +54 -6
  31. package/esm2020/date-picker/picker-month.component.mjs +13 -4
  32. package/esm2020/date-picker/picker-year.component.mjs +15 -4
  33. package/esm2020/i18n/i18n.property.mjs +1 -1
  34. package/esm2020/i18n/languages/en_GB.mjs +6 -2
  35. package/esm2020/i18n/languages/en_US.mjs +6 -2
  36. package/esm2020/i18n/languages/zh_CN.mjs +6 -2
  37. package/esm2020/i18n/languages/zh_TW.mjs +6 -2
  38. package/esm2020/list/list-option.component.mjs +2 -2
  39. package/esm2020/list/list.component.mjs +2 -2
  40. package/esm2020/slider/slider.component.mjs +3 -3
  41. package/esm2020/slider/slider.property.mjs +8 -2
  42. package/esm2020/table/table-body.component.mjs +6 -6
  43. package/esm2020/table/table.component.mjs +4 -3
  44. package/esm2020/table/table.property.mjs +9 -2
  45. package/esm2020/time-picker/time-picker-frame.component.mjs +48 -14
  46. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  47. package/esm2020/time-picker/time-picker.component.mjs +2 -1
  48. package/esm2020/time-picker/time-picker.property.mjs +4 -2
  49. package/esm2020/transfer/transfer.component.mjs +2 -2
  50. package/esm2020/tree/tree-node.component.mjs +98 -15
  51. package/esm2020/tree/tree.component.mjs +126 -29
  52. package/esm2020/tree/tree.module.mjs +31 -4
  53. package/esm2020/tree/tree.property.mjs +37 -3
  54. package/esm2020/tree/tree.service.mjs +77 -0
  55. package/esm2020/tree-file/tree-file.component.mjs +14 -3
  56. package/fesm2015/ng-nest-ui-anchor.mjs +60 -15
  57. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  58. package/fesm2015/ng-nest-ui-core.mjs +83 -1
  59. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  60. package/fesm2015/ng-nest-ui-date-picker.mjs +193 -42
  61. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  62. package/fesm2015/ng-nest-ui-i18n.mjs +20 -4
  63. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  64. package/fesm2015/ng-nest-ui-list.mjs +4 -4
  65. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  66. package/fesm2015/ng-nest-ui-slider.mjs +9 -3
  67. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  68. package/fesm2015/ng-nest-ui-table.mjs +16 -8
  69. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  70. package/fesm2015/ng-nest-ui-time-picker.mjs +53 -16
  71. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  72. package/fesm2015/ng-nest-ui-transfer.mjs +1 -1
  73. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  74. package/fesm2015/ng-nest-ui-tree-file.mjs +13 -2
  75. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  76. package/fesm2015/ng-nest-ui-tree.mjs +359 -45
  77. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  78. package/fesm2020/ng-nest-ui-anchor.mjs +60 -15
  79. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  80. package/fesm2020/ng-nest-ui-core.mjs +83 -1
  81. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  82. package/fesm2020/ng-nest-ui-date-picker.mjs +193 -42
  83. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  84. package/fesm2020/ng-nest-ui-i18n.mjs +20 -4
  85. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  86. package/fesm2020/ng-nest-ui-list.mjs +4 -4
  87. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  88. package/fesm2020/ng-nest-ui-slider.mjs +9 -3
  89. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  90. package/fesm2020/ng-nest-ui-table.mjs +16 -8
  91. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  92. package/fesm2020/ng-nest-ui-time-picker.mjs +53 -16
  93. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  94. package/fesm2020/ng-nest-ui-transfer.mjs +1 -1
  95. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  96. package/fesm2020/ng-nest-ui-tree-file.mjs +13 -2
  97. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  98. package/fesm2020/ng-nest-ui-tree.mjs +356 -45
  99. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  100. package/i18n/i18n.property.d.ts +3 -0
  101. package/i18n/languages/en_GB.d.ts +4 -0
  102. package/i18n/languages/en_US.d.ts +4 -0
  103. package/i18n/languages/zh_CN.d.ts +4 -0
  104. package/i18n/languages/zh_TW.d.ts +4 -0
  105. package/package.json +1 -1
  106. package/slider/slider.property.d.ts +6 -1
  107. package/table/table.component.d.ts +1 -1
  108. package/table/table.property.d.ts +25 -4
  109. package/time-picker/time-picker-frame.component.d.ts +6 -2
  110. package/time-picker/time-picker-portal.component.d.ts +2 -1
  111. package/time-picker/time-picker.property.d.ts +32 -1
  112. package/transfer/transfer.component.d.ts +2 -4
  113. package/tree/tree-node.component.d.ts +35 -4
  114. package/tree/tree.component.d.ts +24 -3
  115. package/tree/tree.module.d.ts +8 -7
  116. package/tree/tree.property.d.ts +63 -1
  117. package/tree/tree.service.d.ts +10 -0
  118. package/tree-file/tree-file.component.d.ts +1 -0
@@ -93,9 +93,12 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
93
93
  * @zh_CN 列头 checkbox 事件
94
94
  * @en_US head checkbox event
95
95
  */
96
- headCheckboxChange: EventEmitter<{
97
- [property: string]: boolean;
98
- }>;
96
+ headCheckboxChange: EventEmitter<XTableHeadCheckbox>;
97
+ /**
98
+ * @zh_CN body checkbox 事件
99
+ * @en_US head checkbox event
100
+ */
101
+ bodyCheckboxChange: EventEmitter<XTableRow>;
99
102
  /**
100
103
  * @zh_CN 允许行点击选中当前行
101
104
  * @en_US Allow row click to select
@@ -262,7 +265,7 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
262
265
  */
263
266
  columnDragWidthEnded: EventEmitter<XTableDragWidthEvent>;
264
267
  static ɵfac: i0.ɵɵFactoryDeclaration<XTableProperty, never>;
265
- static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "headerPosition": "headerPosition"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "bodyTdTpl": "bodyTdTpl"; "rowClass": "rowClass"; "headSearchTpl": "headSearchTpl"; "allowSelectRow": "allowSelectRow"; "allowCheckRow": "allowCheckRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "header": "header"; "footer": "footer"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; "paginationPosition": "paginationPosition"; "hiddenWrapBorder": "hiddenWrapBorder"; "hiddenPaginationBorder": "hiddenPaginationBorder"; "showPagination": "showPagination"; "treeTable": "treeTable"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "expanded": "expanded"; "expandTpl": "expandTpl"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "headCheckboxChange": "headCheckboxChange"; "manualChange": "manualChange"; "columnDragStarted": "columnDragStarted"; "columnDragEnded": "columnDragEnded"; "columnDropListDropped": "columnDropListDropped"; "columnDragWidthStarted": "columnDragWidthStarted"; "columnDragWidthMoved": "columnDragWidthMoved"; "columnDragWidthEnded": "columnDragWidthEnded"; }, never, never, false, never>;
268
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "headerPosition": "headerPosition"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "bodyTdTpl": "bodyTdTpl"; "rowClass": "rowClass"; "headSearchTpl": "headSearchTpl"; "allowSelectRow": "allowSelectRow"; "allowCheckRow": "allowCheckRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "header": "header"; "footer": "footer"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; "paginationPosition": "paginationPosition"; "hiddenWrapBorder": "hiddenWrapBorder"; "hiddenPaginationBorder": "hiddenPaginationBorder"; "showPagination": "showPagination"; "treeTable": "treeTable"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "expanded": "expanded"; "expandTpl": "expandTpl"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "headCheckboxChange": "headCheckboxChange"; "bodyCheckboxChange": "bodyCheckboxChange"; "manualChange": "manualChange"; "columnDragStarted": "columnDragStarted"; "columnDragEnded": "columnDragEnded"; "columnDropListDropped": "columnDropListDropped"; "columnDragWidthStarted": "columnDragWidthStarted"; "columnDragWidthMoved": "columnDragWidthMoved"; "columnDragWidthEnded": "columnDragWidthEnded"; }, never, never, false, never>;
266
269
  }
267
270
  /**
268
271
  * Table Option
@@ -498,6 +501,24 @@ export interface XTableDragWidthEvent {
498
501
  y: number;
499
502
  };
500
503
  }
504
+ /**
505
+ * @zh_CN 列头 checkbox 事件数据
506
+ * @en_US Column header checkbox event data
507
+ */
508
+ export interface XTableHeadCheckbox {
509
+ /**
510
+ * @zh_CN 行数据
511
+ * @en_US Row data
512
+ */
513
+ rows: XTableRow[];
514
+ /**
515
+ * @zh_CN checkbox 数据
516
+ * @en_US Checkbox data
517
+ */
518
+ checkbox: {
519
+ [property: string]: boolean;
520
+ };
521
+ }
501
522
  /**
502
523
  * @zh_CN 单元格配置
503
524
  * @en_US Cell config
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
2
- import { XTimePickerType } from './time-picker.property';
2
+ import { XTimePickerDisabledTime, XTimePickerType } from './time-picker.property';
3
3
  import { XBoolean, XIdentity } from '@ng-nest/ui/core';
4
4
  import { XI18nService, XI18nTimePicker } from '@ng-nest/ui/i18n';
5
5
  import * as i0 from "@angular/core";
@@ -13,6 +13,8 @@ export declare class XTimePickerFrameComponent {
13
13
  minuteStep: number;
14
14
  secondStep: number;
15
15
  defaultNow: boolean;
16
+ disabledTime?: XTimePickerDisabledTime;
17
+ disabledTimeParam?: any;
16
18
  nodeEmit: EventEmitter<Date>;
17
19
  hourRef?: ElementRef<HTMLElement>;
18
20
  minuteRef?: ElementRef<HTMLElement>;
@@ -37,6 +39,8 @@ export declare class XTimePickerFrameComponent {
37
39
  ngOnInit(): void;
38
40
  ngAfterViewInit(): void;
39
41
  constructor(cdr: ChangeDetectorRef, i18n: XI18nService);
42
+ setDataInit(): void;
43
+ setDisabled(type: 'hours' | 'minutes' | 'seconds', num: number): boolean;
40
44
  setHourData(): void;
41
45
  setMinuteData(): void;
42
46
  setSecondData(): void;
@@ -53,5 +57,5 @@ export declare class XTimePickerFrameComponent {
53
57
  itemClick(type: 'hour' | 'minute' | 'second' | 'use12Hours'): void;
54
58
  private scrollTo;
55
59
  static ɵfac: i0.ɵɵFactoryDeclaration<XTimePickerFrameComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<XTimePickerFrameComponent, "x-time-picker-frame", never, { "type": "type"; "value": "value"; "use12Hours": "use12Hours"; "hourStep": "hourStep"; "minuteStep": "minuteStep"; "secondStep": "secondStep"; "defaultNow": "defaultNow"; }, { "nodeEmit": "nodeEmit"; }, never, never, false, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTimePickerFrameComponent, "x-time-picker-frame", never, { "type": "type"; "value": "value"; "use12Hours": "use12Hours"; "hourStep": "hourStep"; "minuteStep": "minuteStep"; "secondStep": "secondStep"; "defaultNow": "defaultNow"; "disabledTime": "disabledTime"; "disabledTimeParam": "disabledTimeParam"; }, { "nodeEmit": "nodeEmit"; }, never, never, false, never>;
57
61
  }
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectorRef, OnInit, Renderer2, OnDestroy } from '@angular/core';
2
- import { XTimePickerPreset, XTimePickerType } from './time-picker.property';
2
+ import { XTimePickerDisabledTime, XTimePickerPreset, XTimePickerType } from './time-picker.property';
3
3
  import { XBoolean, XPositionTopBottom } from '@ng-nest/ui/core';
4
4
  import { Subject } from 'rxjs';
5
5
  import { XInputComponent } from '@ng-nest/ui/input';
@@ -27,6 +27,7 @@ export declare class XTimePickerPortalComponent implements OnInit, OnDestroy {
27
27
  minuteStep: number;
28
28
  secondStep: number;
29
29
  preset: XTimePickerPreset[];
30
+ disabledTime: XTimePickerDisabledTime;
30
31
  nodeEmit: (date: Date) => void;
31
32
  locale: XI18nTimePicker;
32
33
  private _unSubject;
@@ -62,13 +62,18 @@ export declare class XTimePickerProperty extends XControlValueAccessor<any> {
62
62
  * @en_US Quick selection button, support now and custom
63
63
  */
64
64
  preset: XData<XTimePickerPreset>;
65
+ /**
66
+ * @zh_CN 禁用的时间
67
+ * @en_US Disabled time
68
+ */
69
+ disabledTime?: XTimePickerDisabledTime;
65
70
  /**
66
71
  * @zh_CN 节点点击的事件
67
72
  * @en_US Node click event
68
73
  */
69
74
  nodeEmit: EventEmitter<number>;
70
75
  static ɵfac: i0.ɵɵFactoryDeclaration<XTimePickerProperty, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<XTimePickerProperty, "ng-component", never, { "type": "type"; "format": "format"; "placement": "placement"; "size": "size"; "use12Hours": "use12Hours"; "bordered": "bordered"; "hourStep": "hourStep"; "minuteStep": "minuteStep"; "secondStep": "secondStep"; "preset": "preset"; }, { "nodeEmit": "nodeEmit"; }, never, never, false, never>;
76
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTimePickerProperty, "ng-component", never, { "type": "type"; "format": "format"; "placement": "placement"; "size": "size"; "use12Hours": "use12Hours"; "bordered": "bordered"; "hourStep": "hourStep"; "minuteStep": "minuteStep"; "secondStep": "secondStep"; "preset": "preset"; "disabledTime": "disabledTime"; }, { "nodeEmit": "nodeEmit"; }, never, never, false, never>;
72
77
  }
73
78
  /**
74
79
  * TimePicker Option
@@ -124,3 +129,29 @@ export declare const XTimePickerPortalPrefix = "x-time-picker-portal";
124
129
  * @decorator component
125
130
  */
126
131
  export declare const XTimePickerFramePrefix = "x-time-picker-frame";
132
+ /**
133
+ * @zh_CN 禁用时间的自定义类型
134
+ * @en_US Disable custom type of time
135
+ */
136
+ export declare type XTimePickerDisabledTime = (param?: any) => XTimePickerDisabledTimeFn;
137
+ /**
138
+ * @zh_CN 禁用时间的自定义函数
139
+ * @en_US Disable custom type of time
140
+ */
141
+ export declare type XTimePickerDisabledTimeFn = {
142
+ /**
143
+ * @zh_CN 禁用小时的自定义函数
144
+ * @en_US Disable custom type of hours
145
+ */
146
+ disabledHours?: () => number[];
147
+ /**
148
+ * @zh_CN 禁用分钟的自定义函数
149
+ * @en_US Disable custom type of minutes
150
+ */
151
+ disabledMinutes?: () => number[];
152
+ /**
153
+ * @zh_CN 禁用秒的自定义函数
154
+ * @en_US Disable custom type of seconds
155
+ */
156
+ disabledSeconds?: () => number[];
157
+ };
@@ -5,7 +5,7 @@ import { Subject } from 'rxjs';
5
5
  import { CdkDragDrop, CdkDrag } from '@angular/cdk/drag-drop';
6
6
  import { XI18nService, XI18nTransfer } from '@ng-nest/ui/i18n';
7
7
  import { XTreeNode } from '@ng-nest/ui/tree';
8
- import { XTableColumn, XTableComponent } from '@ng-nest/ui/table';
8
+ import { XTableColumn, XTableComponent, XTableHeadCheckbox } from '@ng-nest/ui/table';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class XTransferComponent extends XTransferProperty implements OnInit, OnChanges, OnDestroy {
11
11
  renderer: Renderer2;
@@ -49,9 +49,7 @@ export declare class XTransferComponent extends XTransferProperty implements OnI
49
49
  setListCount(type?: XTransferType, ...sources: XTransferSource[]): void;
50
50
  onTreeNodeClick(_node: XTreeNode): void;
51
51
  onTableCheckedRow(row: XTransferNode, source: XTransferSource): void;
52
- onTableCheckedAll(row: {
53
- [prop: string]: boolean;
54
- }, source: XTransferSource): void;
52
+ onTableCheckedAll(row: XTableHeadCheckbox, source: XTransferSource): void;
55
53
  onInverse(source: XTransferSource): void;
56
54
  private getTableCheckColumn;
57
55
  private setCheckedAll;
@@ -1,30 +1,61 @@
1
- import { Renderer2, ElementRef, ChangeDetectorRef } from '@angular/core';
1
+ import { Renderer2, ElementRef, ChangeDetectorRef, NgZone, EventEmitter } from '@angular/core';
2
2
  import { XTreeNode, XTreeNodeProperty, XTreeAction } from './tree.property';
3
3
  import { XConfigService, XBoolean } from '@ng-nest/ui/core';
4
+ import { XTreeService } from './tree.service';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class XTreeNodeComponent extends XTreeNodeProperty {
6
7
  renderer: Renderer2;
7
8
  elementRef: ElementRef<HTMLElement>;
8
9
  cdr: ChangeDetectorRef;
9
10
  configService: XConfigService;
11
+ ngZone: NgZone;
12
+ treeService: XTreeService;
10
13
  tree: any;
14
+ nodeMouseenter: EventEmitter<{
15
+ event: MouseEvent;
16
+ node: XTreeNode;
17
+ ele: ElementRef;
18
+ }>;
11
19
  rootClass: boolean;
12
20
  private _loading;
13
21
  get loading(): boolean;
14
22
  set loading(value: boolean);
23
+ private _unSubject;
24
+ get showDragIndicator(): any;
25
+ onMouseenter(event: MouseEvent): void;
26
+ onMouseleave(_event: MouseEvent): void;
27
+ get isChildrenLast(): boolean;
28
+ get isParentLast(): boolean[];
29
+ get numLevel(): number;
30
+ get verticalLevel(): number[];
31
+ get verticalWidth(): number;
15
32
  get paddingLeft(): number;
33
+ get indicatorWidth(): string;
34
+ get indicatorStyle(): {
35
+ bottom: string;
36
+ top?: undefined;
37
+ } | {
38
+ top: string;
39
+ bottom?: undefined;
40
+ } | {
41
+ bottom?: undefined;
42
+ top?: undefined;
43
+ };
16
44
  get getActivated(): any;
17
- constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, configService: XConfigService);
45
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, configService: XConfigService, ngZone: NgZone, treeService: XTreeService);
18
46
  ngOnInit(): void;
47
+ ngOnDestroy(): void;
19
48
  onActivate(event: Event, node: XTreeNode): void;
20
49
  onCheckboxChange(): void;
50
+ getVerticalLeft(i: number): number;
21
51
  setCheckbox(): void;
22
52
  setChildrenCheckbox(checked: boolean): void;
23
53
  setParentCheckbox(): void;
24
54
  setIndeterminate(node: XTreeNode): void;
25
55
  getNodeDisabled(disabled?: boolean): XBoolean;
26
56
  onAction(event: Event, action: XTreeAction, node: XTreeNode): void;
27
- trackByItem(_index: number, item: XTreeAction | XTreeNode): any;
57
+ trackByItem(_index: number, item: XTreeNode): string;
58
+ trackByAction(_index: number, item: XTreeAction): any;
28
59
  static ɵfac: i0.ɵɵFactoryDeclaration<XTreeNodeComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<XTreeNodeComponent, "x-tree-node, [x-tree-node]", never, { "tree": "tree"; }, {}, never, never, false, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTreeNodeComponent, "x-tree-node, [x-tree-node]", never, { "tree": "tree"; }, { "nodeMouseenter": "nodeMouseenter"; }, never, never, false, never>;
30
61
  }
@@ -1,16 +1,21 @@
1
- import { Renderer2, ElementRef, ChangeDetectorRef, SimpleChanges, OnChanges, QueryList } from '@angular/core';
1
+ import { Renderer2, ElementRef, ChangeDetectorRef, SimpleChanges, OnChanges, QueryList, NgZone } from '@angular/core';
2
2
  import { XTreeNode, XTreeProperty } from './tree.property';
3
3
  import { XConfigService } from '@ng-nest/ui/core';
4
4
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
5
5
  import { XTreeNodeComponent } from './tree-node.component';
6
+ import { CdkDrag, CdkDragEnd, CdkDragMove, CdkDragStart, CdkDropList } from '@angular/cdk/drag-drop';
7
+ import { XTreeService } from './tree.service';
6
8
  import * as i0 from "@angular/core";
7
9
  export declare class XTreeComponent extends XTreeProperty implements OnChanges {
8
10
  renderer: Renderer2;
9
11
  elementRef: ElementRef<HTMLElement>;
10
12
  cdr: ChangeDetectorRef;
11
13
  configService: XConfigService;
14
+ ngZone: NgZone;
15
+ treeService: XTreeService;
12
16
  tree: ElementRef<HTMLElement>;
13
17
  virtualBody: CdkVirtualScrollViewport;
18
+ dropList: CdkDropList<HTMLElement>;
14
19
  nodeComponents: QueryList<XTreeNodeComponent>;
15
20
  set _nodeComponents(value: QueryList<XTreeNodeComponent>);
16
21
  nodes: XTreeNode[];
@@ -19,17 +24,33 @@ export declare class XTreeComponent extends XTreeProperty implements OnChanges {
19
24
  dataIsFunc: boolean;
20
25
  getting: boolean;
21
26
  treeData: XTreeNode[];
27
+ dragging: boolean;
28
+ dragPosition: -1 | 1;
29
+ hoverTreeNode: XTreeNode;
30
+ hoverTreeEle: ElementRef;
31
+ draggingTreeNode: XTreeNode | null;
32
+ get isEmpty(): boolean;
22
33
  private _unSubject;
23
34
  private _resizeObserver;
24
- constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, configService: XConfigService);
35
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, configService: XConfigService, ngZone: NgZone, treeService: XTreeService);
25
36
  ngOnChanges(changes: SimpleChanges): void;
26
37
  ngAfterViewInit(): void;
27
38
  ngOnDestroy(): void;
28
39
  setData(): void;
40
+ cdkDragStarted(event: CdkDragStart): void;
41
+ cdkDragEnded(event: CdkDragEnd): void;
42
+ insertNode(dragNode: XTreeNode, hoverNode: XTreeNode, dragPosition: -1 | 1): void;
43
+ cdkDragMoved(event: CdkDragMove<XTreeNode>): void;
44
+ predicate(_drag: CdkDrag<XTreeNode>, _drop: CdkDropList<XTreeNode>): boolean;
29
45
  private setVirtualScrollHeight;
30
46
  private setManual;
31
47
  private getDataByFunc;
32
48
  private setDataChange;
49
+ nodeMouseenter($event: {
50
+ event: MouseEvent;
51
+ node: XTreeNode;
52
+ ele: ElementRef;
53
+ }): void;
33
54
  setScorllTop(): void;
34
55
  getCheckedNodes(): XTreeNode[];
35
56
  getCheckedKeys(): any[];
@@ -48,7 +69,7 @@ export declare class XTreeComponent extends XTreeProperty implements OnChanges {
48
69
  setActivatedId(node: XTreeNode): void;
49
70
  removeNode(node: XTreeNode): void;
50
71
  updateNode(node: XTreeNode, nowNode: XTreeNode): void;
51
- trackByItem(_index: number, item: XTreeNode): any;
72
+ trackByItem(_index: number, item: XTreeNode): string;
52
73
  static ɵfac: i0.ɵɵFactoryDeclaration<XTreeComponent, never>;
53
74
  static ɵcmp: i0.ɵɵComponentDeclaration<XTreeComponent, "x-tree", never, {}, {}, never, never, false, never>;
54
75
  }
@@ -4,14 +4,15 @@ import * as i2 from "./tree-node.component";
4
4
  import * as i3 from "./tree.property";
5
5
  import * as i4 from "@angular/common";
6
6
  import * as i5 from "@angular/forms";
7
- import * as i6 from "@ng-nest/ui/icon";
8
- import * as i7 from "@ng-nest/ui/checkbox";
9
- import * as i8 from "@ng-nest/ui/outlet";
10
- import * as i9 from "@ng-nest/ui/link";
11
- import * as i10 from "@angular/cdk/scrolling";
12
- import * as i11 from "@ng-nest/ui/keyword";
7
+ import * as i6 from "@angular/cdk/drag-drop";
8
+ import * as i7 from "@ng-nest/ui/icon";
9
+ import * as i8 from "@ng-nest/ui/checkbox";
10
+ import * as i9 from "@ng-nest/ui/outlet";
11
+ import * as i10 from "@ng-nest/ui/link";
12
+ import * as i11 from "@angular/cdk/scrolling";
13
+ import * as i12 from "@ng-nest/ui/keyword";
13
14
  export declare class XTreeModule {
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<XTreeModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<XTreeModule, [typeof i1.XTreeComponent, typeof i2.XTreeNodeComponent, typeof i3.XTreeProperty, typeof i3.XTreeNodeProperty], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.XIconModule, typeof i7.XCheckboxModule, typeof i8.XOutletModule, typeof i9.XLinkModule, typeof i10.ScrollingModule, typeof i11.XKeywordModule], [typeof i1.XTreeComponent, typeof i2.XTreeNodeComponent]>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<XTreeModule, [typeof i1.XTreeComponent, typeof i2.XTreeNodeComponent, typeof i3.XTreeProperty, typeof i3.XTreeNodeProperty], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.DragDropModule, typeof i7.XIconModule, typeof i8.XCheckboxModule, typeof i9.XOutletModule, typeof i10.XLinkModule, typeof i11.ScrollingModule, typeof i12.XKeywordModule], [typeof i1.XTreeComponent, typeof i2.XTreeNodeComponent]>;
16
17
  static ɵinj: i0.ɵɵInjectorDeclaration<XTreeModule>;
17
18
  }
@@ -1,5 +1,6 @@
1
1
  import { XProperty, XData, XParentIdentityProperty, XNumber, XBoolean, XIdentityProperty, XAlign } from '@ng-nest/ui/core';
2
2
  import { TemplateRef, EventEmitter, ElementRef } from '@angular/core';
3
+ import { CdkDragEnd, CdkDragMove, CdkDragStart } from '@angular/cdk/drag-drop';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * Tree
@@ -76,6 +77,11 @@ export declare class XTreeProperty extends XProperty {
76
77
  * @en_US Whether to allow multiple clicks on a node to trigger multiple events
77
78
  */
78
79
  allowManyActivated?: XBoolean;
80
+ /**
81
+ * @zh_CN 拖动节点
82
+ * @en_US Drag node
83
+ */
84
+ drag?: XBoolean;
79
85
  /**
80
86
  * @zh_CN 当前点击选中的节点变化的事件
81
87
  * @en_US The event of the currently clicked node change
@@ -171,6 +177,16 @@ export declare class XTreeProperty extends XProperty {
171
177
  * @en_US Only leaf nodes can be selected
172
178
  */
173
179
  onlyLeaf: XBoolean;
180
+ /**
181
+ * @zh_CN 展开收起的图标自定义模版
182
+ * @en_US Expand the folded icon custom template
183
+ */
184
+ expandedIcon?: TemplateRef<void>;
185
+ /**
186
+ * @zh_CN 显示连接线
187
+ * @en_US Show line
188
+ */
189
+ showLine: XBoolean;
174
190
  /**
175
191
  * @zh_CN 参数控制请求改变事件
176
192
  * @en_US Parameter control request change event
@@ -186,8 +202,23 @@ export declare class XTreeProperty extends XProperty {
186
202
  * @en_US Node click event
187
203
  */
188
204
  activatedIdChange: EventEmitter<any>;
205
+ /**
206
+ * @zh_CN 节点开始拖动事件
207
+ * @en_US Node drag started
208
+ */
209
+ nodeDragStarted: EventEmitter<XTreeNodeDragEvent>;
210
+ /**
211
+ * @zh_CN 节点结束拖动事件
212
+ * @en_US Node drag ended
213
+ */
214
+ nodeDragEnded: EventEmitter<XTreeNodeDragEvent>;
215
+ /**
216
+ * @zh_CN 节点正在拖动事件
217
+ * @en_US Node drag moved
218
+ */
219
+ nodeDragMoved: EventEmitter<XTreeNodeDragEvent>;
189
220
  static ɵfac: i0.ɵɵFactoryDeclaration<XTreeProperty, never>;
190
- static ɵcmp: i0.ɵɵComponentDeclaration<XTreeProperty, "ng-component", never, { "data": "data"; "checkbox": "checkbox"; "lazy": "lazy"; "activatedId": "activatedId"; "expanded": "expanded"; "checked": "checked"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "nodeOpen": "nodeOpen"; "spacing": "spacing"; "labelTpl": "labelTpl"; "nodeHeight": "nodeHeight"; "allowManyActivated": "allowManyActivated"; "manual": "manual"; "levelCheck": "levelCheck"; "nodeNowrap": "nodeNowrap"; "nodeAlignItems": "nodeAlignItems"; "actions": "actions"; "scrollElement": "scrollElement"; "virtualScroll": "virtualScroll"; "virtualScrollHeight": "virtualScrollHeight"; "heightAdaption": "heightAdaption"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "multiple": "multiple"; "objectArray": "objectArray"; "keywordText": "keywordText"; "caseSensitive": "caseSensitive"; "onlyLeaf": "onlyLeaf"; }, { "activatedChange": "activatedChange"; "checkboxChange": "checkboxChange"; "manualChange": "manualChange"; "nodeClick": "nodeClick"; "activatedIdChange": "activatedIdChange"; }, never, never, false, never>;
221
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTreeProperty, "ng-component", never, { "data": "data"; "checkbox": "checkbox"; "lazy": "lazy"; "activatedId": "activatedId"; "expanded": "expanded"; "checked": "checked"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "nodeOpen": "nodeOpen"; "spacing": "spacing"; "labelTpl": "labelTpl"; "nodeHeight": "nodeHeight"; "allowManyActivated": "allowManyActivated"; "drag": "drag"; "manual": "manual"; "levelCheck": "levelCheck"; "nodeNowrap": "nodeNowrap"; "nodeAlignItems": "nodeAlignItems"; "actions": "actions"; "scrollElement": "scrollElement"; "virtualScroll": "virtualScroll"; "virtualScrollHeight": "virtualScrollHeight"; "heightAdaption": "heightAdaption"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "multiple": "multiple"; "objectArray": "objectArray"; "keywordText": "keywordText"; "caseSensitive": "caseSensitive"; "onlyLeaf": "onlyLeaf"; "expandedIcon": "expandedIcon"; "showLine": "showLine"; }, { "activatedChange": "activatedChange"; "checkboxChange": "checkboxChange"; "manualChange": "manualChange"; "nodeClick": "nodeClick"; "activatedIdChange": "activatedIdChange"; "nodeDragStarted": "nodeDragStarted"; "nodeDragEnded": "nodeDragEnded"; "nodeDragMoved": "nodeDragMoved"; }, never, never, false, never>;
191
222
  }
192
223
  /**
193
224
  * @zh_CN Tree 数据对象
@@ -239,6 +270,11 @@ export interface XTreeNode extends XParentIdentityProperty<XTreeNode> {
239
270
  * @en_US Node lazy loading
240
271
  */
241
272
  loading?: boolean;
273
+ /**
274
+ * @zh_CN 显示拖动指示器
275
+ * @en_US Show drag indicator
276
+ */
277
+ showDragIndicator?: boolean;
242
278
  /**
243
279
  * @zh_CN 自定义属性
244
280
  * @en_US Custom attributes
@@ -261,6 +297,32 @@ export interface XTreeAction extends XIdentityProperty {
261
297
  */
262
298
  icon?: string;
263
299
  }
300
+ /**
301
+ * @zh_CN Tree 节点拖动事件
302
+ * @en_US Tree node drag event
303
+ */
304
+ export interface XTreeNodeDragEvent {
305
+ /**
306
+ * @zh_CN 对应 cdk 中的事件
307
+ * @en_US drag cdk event
308
+ */
309
+ event?: CdkDragStart | CdkDragEnd | CdkDragMove<XTreeNode>;
310
+ /**
311
+ * @zh_CN 拖动的节点
312
+ * @en_US drag node
313
+ */
314
+ from?: XTreeNode;
315
+ /**
316
+ * @zh_CN 要拖动到的位置对应的节点
317
+ * @en_US Node corresponding to the position to drag
318
+ */
319
+ to?: XTreeNode;
320
+ /**
321
+ * @zh_CN 对应节点的前面还是后面
322
+ * @en_US The front or back of the corresponding node
323
+ */
324
+ position?: -1 | 1;
325
+ }
264
326
  /**
265
327
  * TreeNode
266
328
  * @selector x-tree-node
@@ -0,0 +1,10 @@
1
+ import { XTreeNode } from './tree.property';
2
+ import * as i0 from "@angular/core";
3
+ export declare class XTreeService {
4
+ getChildren(data: XTreeNode[], node: XTreeNode): XTreeNode[];
5
+ getParents(data: XTreeNode[], node: XTreeNode): XTreeNode[];
6
+ getOpenChildren(data: XTreeNode[], node: XTreeNode): XTreeNode[];
7
+ moveNode(data: XTreeNode[], from: XTreeNode, to: XTreeNode, pos: -1 | 1): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<XTreeService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<XTreeService>;
10
+ }
@@ -22,6 +22,7 @@ export declare class XTreeFileComponent extends XTreeFileProperty {
22
22
  constructor(renderer: Renderer2, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, http: HttpClient, configService: XConfigService);
23
23
  ngOnInit(): void;
24
24
  catalogChange(node: XTreeFileNode): void;
25
+ setNode(node: XTreeFileNode): void;
25
26
  imgOnload(): void;
26
27
  setCurmbData(node: XTreeFileNode): XCrumbNode[];
27
28
  menuToggle(): void;