@acorex/components 20.2.55 → 20.2.56

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.
@@ -54,6 +54,7 @@ declare class AXMediaViewerContainerComponent implements OnDestroy {
54
54
  pagination: i0.InputSignal<boolean>;
55
55
  protected service: AXMediaViewerService;
56
56
  protected sanitizer: DomSanitizer;
57
+ protected isMobile: boolean;
57
58
  protected thumbnailArray: i0.WritableSignal<Thumbnail[]>;
58
59
  protected option: i0.WritableSignal<swiper_types.SwiperOptions>;
59
60
  protected thumbnailOption: i0.WritableSignal<swiper_types.SwiperOptions>;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.2.55",
3
+ "version": "20.2.56",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.2.55",
6
- "@acorex/cdk": "20.2.55",
5
+ "@acorex/core": "20.2.56",
6
+ "@acorex/cdk": "20.2.56",
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
@@ -34,6 +34,7 @@
34
34
  "@codemirror/lang-markdown": "^6.2.4",
35
35
  "@codemirror/lang-sass": "^6.0.2",
36
36
  "@codemirror/theme-one-dark": "^6.1.0",
37
+ "@uiw/codemirror-theme-github": "^4.21.0",
37
38
  "prettier": ">=3.0.0",
38
39
  "@bomdi/codebox": "^2.0.0",
39
40
  "@editorjs/editorjs": "2.28.2",
@@ -72,10 +73,6 @@
72
73
  "types": "./action-sheet/index.d.ts",
73
74
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
74
75
  },
75
- "./alert": {
76
- "types": "./alert/index.d.ts",
77
- "default": "./fesm2022/acorex-components-alert.mjs"
78
- },
79
76
  "./aspect-ratio": {
80
77
  "types": "./aspect-ratio/index.d.ts",
81
78
  "default": "./fesm2022/acorex-components-aspect-ratio.mjs"
@@ -88,6 +85,10 @@
88
85
  "types": "./autocomplete/index.d.ts",
89
86
  "default": "./fesm2022/acorex-components-autocomplete.mjs"
90
87
  },
88
+ "./alert": {
89
+ "types": "./alert/index.d.ts",
90
+ "default": "./fesm2022/acorex-components-alert.mjs"
91
+ },
91
92
  "./avatar": {
92
93
  "types": "./avatar/index.d.ts",
93
94
  "default": "./fesm2022/acorex-components-avatar.mjs"
@@ -256,6 +257,10 @@
256
257
  "types": "./label/index.d.ts",
257
258
  "default": "./fesm2022/acorex-components-label.mjs"
258
259
  },
260
+ "./list": {
261
+ "types": "./list/index.d.ts",
262
+ "default": "./fesm2022/acorex-components-list.mjs"
263
+ },
259
264
  "./loading": {
260
265
  "types": "./loading/index.d.ts",
261
266
  "default": "./fesm2022/acorex-components-loading.mjs"
@@ -264,10 +269,6 @@
264
269
  "types": "./loading-dialog/index.d.ts",
265
270
  "default": "./fesm2022/acorex-components-loading-dialog.mjs"
266
271
  },
267
- "./list": {
268
- "types": "./list/index.d.ts",
269
- "default": "./fesm2022/acorex-components-list.mjs"
270
- },
271
272
  "./map": {
272
273
  "types": "./map/index.d.ts",
273
274
  "default": "./fesm2022/acorex-components-map.mjs"
@@ -444,6 +445,10 @@
444
445
  "types": "./tag-box/index.d.ts",
445
446
  "default": "./fesm2022/acorex-components-tag-box.mjs"
446
447
  },
448
+ "./text-area": {
449
+ "types": "./text-area/index.d.ts",
450
+ "default": "./fesm2022/acorex-components-text-area.mjs"
451
+ },
447
452
  "./text-box": {
448
453
  "types": "./text-box/index.d.ts",
449
454
  "default": "./fesm2022/acorex-components-text-box.mjs"
@@ -487,10 +492,6 @@
487
492
  "./wysiwyg": {
488
493
  "types": "./wysiwyg/index.d.ts",
489
494
  "default": "./fesm2022/acorex-components-wysiwyg.mjs"
490
- },
491
- "./text-area": {
492
- "types": "./text-area/index.d.ts",
493
- "default": "./fesm2022/acorex-components-text-area.mjs"
494
495
  }
495
496
  }
496
497
  }
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef } from '@angular/core';
2
+ import { TemplateRef, EventEmitter } from '@angular/core';
3
3
  import { AXEvent, AXHtmlEvent, AXValueChangedEvent } from '@acorex/cdk/common';
4
4
  import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
5
5
 
@@ -237,6 +237,8 @@ declare class AXTreeViewComponent {
237
237
  readonly dataField: _angular_core.InputSignal<string>;
238
238
  /** Whether disabled state is inherited from parent nodes. Default: `true`. */
239
239
  readonly inheritDisabled: _angular_core.InputSignal<boolean>;
240
+ /** Whether double-click on node content toggles expand/collapse. Default: `true`. */
241
+ readonly expandOnDoubleClick: _angular_core.InputSignal<boolean>;
240
242
  /** Emitted before a drop operation - set canceled to true to prevent drop */
241
243
  readonly onBeforeDrop: _angular_core.OutputEmitterRef<AXTreeViewBeforeDropEvent>;
242
244
  /** Emitted when a node is toggled (expanded/collapsed) */
@@ -244,7 +246,7 @@ declare class AXTreeViewComponent {
244
246
  /** Emitted when a node is selected/deselected */
245
247
  readonly onNodeSelect: _angular_core.OutputEmitterRef<AXTreeViewNodeSelectEvent>;
246
248
  /** Emitted when a node is double-clicked */
247
- readonly onNodeDoubleClick: _angular_core.OutputEmitterRef<AXTreeViewNodeDoubleClickEvent>;
249
+ onNodeDoubleClick: EventEmitter<AXTreeViewNodeDoubleClickEvent>;
248
250
  /** Emitted when a node is double-clicked */
249
251
  readonly onNodeClick: _angular_core.OutputEmitterRef<AXTreeViewNodeClickEvent>;
250
252
  /** Emitted when selection changes - returns all currently selected nodes */
@@ -257,8 +259,12 @@ declare class AXTreeViewComponent {
257
259
  readonly onItemsChange: _angular_core.OutputEmitterRef<AXTreeViewDropEvent>;
258
260
  /** Internal signal for tree nodes */
259
261
  protected readonly nodes: _angular_core.WritableSignal<AXTreeViewNode[]>;
260
- /** Internal signal for tracking loading state */
262
+ /** Internal signal for tracking loading state of individual nodes */
261
263
  protected readonly loadingNodes: _angular_core.WritableSignal<Set<string>>;
264
+ /** Signal for tracking root/tree-level loading state (used by reloadData) */
265
+ private readonly _isLoading;
266
+ /** Public readonly signal for tree loading state - can be used in templates */
267
+ readonly isLoading: _angular_core.Signal<boolean>;
262
268
  /** Currently focused node ID for keyboard navigation */
263
269
  protected readonly focusedNodeId: _angular_core.WritableSignal<string>;
264
270
  /** RTL detection signal */
@@ -280,6 +286,17 @@ declare class AXTreeViewComponent {
280
286
  protected readonly hasIntermediateState: _angular_core.Signal<boolean>;
281
287
  /** Computed: Returns true when drag handle should be shown */
282
288
  protected readonly shouldShowDragHandle: _angular_core.Signal<boolean>;
289
+ /** Signal to track if double-click output has subscribers */
290
+ private readonly hasDoubleClickSubscribers;
291
+ /**
292
+ * Returns true if double-click output has no subscribers (should disable directive)
293
+ * Uses a computed signal that checks if EventEmitter has observers
294
+ * If no subscribers AND expandOnDoubleClick is false, disable the directive (return true)
295
+ * If has subscribers OR expandOnDoubleClick is true, enable the directive (return false)
296
+ */
297
+ protected readonly isDoubleClickDisabled: _angular_core.Signal<boolean>;
298
+ /** Check EventEmitter observers and update signal */
299
+ private checkDoubleClickSubscribers;
283
300
  /**
284
301
  * Get a property value from a node using the configured field name
285
302
  */
@@ -405,6 +422,18 @@ declare class AXTreeViewComponent {
405
422
  * Refresh the tree to trigger change detection
406
423
  */
407
424
  refresh(): void;
425
+ /**
426
+ * Reload the entire tree data from the datasource
427
+ * For callback datasource: clears all nodes and reloads from root
428
+ * For array datasource: refreshes the current data
429
+ * @returns Promise that resolves when reload is complete
430
+ */
431
+ reloadData(): Promise<void>;
432
+ /**
433
+ * Check if the tree is currently loading data (root level)
434
+ * @returns true if the tree is loading root data
435
+ */
436
+ getIsLoading(): boolean;
408
437
  /**
409
438
  * Check if a node is currently loading
410
439
  */
@@ -567,6 +596,11 @@ declare class AXTreeViewComponent {
567
596
  * Check if checkboxes should be shown (only for multiple mode)
568
597
  */
569
598
  shouldShowCheckbox(): boolean;
599
+ /**
600
+ * Check if double-click directive should be disabled for a node
601
+ * Disabled for leaf nodes (immediate clicks) or when isDoubleClickDisabled is true
602
+ */
603
+ protected isDoubleClickDisabledForNode(node: AXTreeViewNode): boolean;
570
604
  /**
571
605
  * Check if a node is a leaf (has no children)
572
606
  * A node is a leaf if it has no loaded children AND no childrenCount (or childrenCount is 0)
@@ -607,7 +641,7 @@ declare class AXTreeViewComponent {
607
641
  /**
608
642
  * Handle node double click
609
643
  */
610
- onNodeDoubleClickHandle(node: AXTreeViewNode, event: Event): void;
644
+ onNodeDoubleClickHandle(node: AXTreeViewNode, event: Event): Promise<void>;
611
645
  /**
612
646
  * Handle node click handle
613
647
  */
@@ -651,6 +685,9 @@ declare class AXTreeViewComponent {
651
685
  private loadRootItems;
652
686
  /**
653
687
  * Load children for a node using lazy loading
688
+ * Only calls callback if:
689
+ * - children field is undefined or empty
690
+ * - AND childrenCount > 0
654
691
  */
655
692
  private loadNodeChildren;
656
693
  /**
@@ -739,7 +776,7 @@ declare class AXTreeViewComponent {
739
776
  */
740
777
  private handleError;
741
778
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTreeViewComponent, never>;
742
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
779
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; "expandOnDoubleClick": { "alias": "expandOnDoubleClick"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
743
780
  }
744
781
 
745
782
  declare class AXTreeViewModule {