cloud-ide-element 1.1.101 → 1.1.102

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.
@@ -9860,6 +9860,7 @@ class CideEleDataGridComponent {
9860
9860
  groupedColumns = signal([], ...(ngDevMode ? [{ debugName: "groupedColumns" }] : [])); // Columns to group by
9861
9861
  expandedGroups = signal(new Set(), ...(ngDevMode ? [{ debugName: "expandedGroups" }] : [])); // Expanded group keys
9862
9862
  hasAutoExpandedGroups = false; // Track if we've auto-expanded groups on initial load
9863
+ pendingExpandedGroupsUpdate = null; // Track pending expanded groups update
9863
9864
  // Export menu state
9864
9865
  showExportMenu = signal(false, ...(ngDevMode ? [{ debugName: "showExportMenu" }] : [])); // Show/hide export format dropdown
9865
9866
  showFilterDropdown = signal(false, ...(ngDevMode ? [{ debugName: "showFilterDropdown" }] : [])); // Show/hide filter dropdown
@@ -10019,6 +10020,14 @@ class CideEleDataGridComponent {
10019
10020
  loading: { ...DEFAULT_GRID_CONFIG.loading, ...this.config.loading },
10020
10021
  scroll: { ...DEFAULT_GRID_CONFIG.scroll, ...this.config.scroll }
10021
10022
  });
10023
+ // Clear grouping if showGroupBy is disabled
10024
+ const columnMenuConfig = this.mergedConfig().columnMenu;
10025
+ if (columnMenuConfig && columnMenuConfig.showGroupBy === false) {
10026
+ if (this.groupedColumns().length > 0) {
10027
+ this.groupedColumns.set([]);
10028
+ this.expandedGroups.set(new Set());
10029
+ }
10030
+ }
10022
10031
  }
10023
10032
  initializeGrid() {
10024
10033
  // Ensure we have valid data
@@ -10062,6 +10071,16 @@ class CideEleDataGridComponent {
10062
10071
  * Only groups visible columns (not hidden ones)
10063
10072
  */
10064
10073
  initializeDefaultGrouping() {
10074
+ // If grouping is disabled in column menu, clear any existing grouping
10075
+ const columnMenuConfig = this.mergedConfig().columnMenu;
10076
+ if (columnMenuConfig && columnMenuConfig.showGroupBy === false) {
10077
+ // Clear any existing grouping when showGroupBy is disabled
10078
+ if (this.groupedColumns().length > 0) {
10079
+ this.groupedColumns.set([]);
10080
+ this.expandedGroups.set(new Set());
10081
+ }
10082
+ return; // Don't initialize grouping if it's disabled
10083
+ }
10065
10084
  // Only initialize if groupedColumns is empty (not already set)
10066
10085
  if (this.groupedColumns().length === 0) {
10067
10086
  const columns = this.mergedConfig().columns || [];
@@ -12133,9 +12152,12 @@ class CideEleDataGridComponent {
12133
12152
  return this.localReorderedData;
12134
12153
  }
12135
12154
  let data = this.filteredData();
12136
- // Apply grouping if any columns are grouped
12155
+ // Check if grouping is disabled in column menu config
12156
+ const columnMenuConfig = this.mergedConfig().columnMenu;
12157
+ const groupingDisabled = columnMenuConfig && columnMenuConfig.showGroupBy === false;
12158
+ // Apply grouping if any columns are grouped and grouping is not disabled
12137
12159
  const grouped = this.groupedColumns();
12138
- if (grouped.length > 0 && !this.serverSidePagination) {
12160
+ if (grouped.length > 0 && !this.serverSidePagination && !groupingDisabled) {
12139
12161
  // If tree is enabled, we need to flatten tree first for grouping, then preserve structure
12140
12162
  const treeConfig = this.mergedConfig().tree;
12141
12163
  if (treeConfig?.enabled) {
@@ -12311,10 +12333,19 @@ class CideEleDataGridComponent {
12311
12333
  }
12312
12334
  });
12313
12335
  // Update expanded groups set if we auto-expanded any
12336
+ // Defer signal update to avoid writing to signals during template rendering
12314
12337
  if (shouldAutoExpand && newExpanded.size > expanded.size) {
12315
- this.expandedGroups.set(newExpanded);
12338
+ // Store the update to apply after rendering
12339
+ this.pendingExpandedGroupsUpdate = newExpanded;
12316
12340
  // Mark that we've auto-expanded groups so we don't do it again on subsequent renders
12317
12341
  this.hasAutoExpandedGroups = true;
12342
+ // Defer the signal update using queueMicrotask to avoid writing during template rendering
12343
+ queueMicrotask(() => {
12344
+ if (this.pendingExpandedGroupsUpdate) {
12345
+ this.expandedGroups.set(this.pendingExpandedGroupsUpdate);
12346
+ this.pendingExpandedGroupsUpdate = null;
12347
+ }
12348
+ });
12318
12349
  }
12319
12350
  return result;
12320
12351
  }
@@ -13665,6 +13696,8 @@ class FloatingContainerShortcutsService {
13665
13696
  key: 'n',
13666
13697
  altKey: true,
13667
13698
  description: 'Create new floating container',
13699
+ title: 'New Container',
13700
+ category: 'Floating Containers',
13668
13701
  action: () => this.openNewContainer(),
13669
13702
  preventDefault: true
13670
13703
  });
@@ -13674,6 +13707,8 @@ class FloatingContainerShortcutsService {
13674
13707
  key: 'p',
13675
13708
  altKey: true,
13676
13709
  description: 'Focus previous container',
13710
+ title: 'Previous Container',
13711
+ category: 'Floating Containers',
13677
13712
  action: () => this.focusPreviousContainer(),
13678
13713
  preventDefault: true
13679
13714
  });
@@ -13683,6 +13718,8 @@ class FloatingContainerShortcutsService {
13683
13718
  key: 'h',
13684
13719
  altKey: true,
13685
13720
  description: 'Hide all containers',
13721
+ title: 'Hide All Containers',
13722
+ category: 'Floating Containers',
13686
13723
  action: () => this.hideAllContainers(),
13687
13724
  preventDefault: true
13688
13725
  });
@@ -13692,6 +13729,8 @@ class FloatingContainerShortcutsService {
13692
13729
  key: 's',
13693
13730
  altKey: true,
13694
13731
  description: 'Show all containers',
13732
+ title: 'Show All Containers',
13733
+ category: 'Floating Containers',
13695
13734
  action: () => this.showAllContainers(),
13696
13735
  preventDefault: true
13697
13736
  });
@@ -13701,6 +13740,8 @@ class FloatingContainerShortcutsService {
13701
13740
  key: 'm',
13702
13741
  altKey: true,
13703
13742
  description: 'Minimize all containers',
13743
+ title: 'Minimize All Containers',
13744
+ category: 'Floating Containers',
13704
13745
  action: () => this.minimizeAllContainers(),
13705
13746
  preventDefault: true
13706
13747
  });
@@ -13710,6 +13751,8 @@ class FloatingContainerShortcutsService {
13710
13751
  key: 'w',
13711
13752
  altKey: true,
13712
13753
  description: 'Close current container',
13754
+ title: 'Close Current Container',
13755
+ category: 'Floating Containers',
13713
13756
  action: () => this.closeCurrentContainer(),
13714
13757
  preventDefault: true
13715
13758
  });
@@ -13719,6 +13762,8 @@ class FloatingContainerShortcutsService {
13719
13762
  key: 'd',
13720
13763
  altKey: true,
13721
13764
  description: 'Duplicate current container',
13765
+ title: 'Duplicate Container',
13766
+ category: 'Floating Containers',
13722
13767
  action: () => this.duplicateCurrentContainer(),
13723
13768
  preventDefault: true
13724
13769
  });
@@ -13728,6 +13773,8 @@ class FloatingContainerShortcutsService {
13728
13773
  key: 't',
13729
13774
  altKey: true,
13730
13775
  description: 'Toggle container visibility',
13776
+ title: 'Toggle Container Visibility',
13777
+ category: 'Floating Containers',
13731
13778
  action: () => this.toggleContainerVisibility(),
13732
13779
  preventDefault: true
13733
13780
  });
@@ -13737,6 +13784,8 @@ class FloatingContainerShortcutsService {
13737
13784
  key: 'o',
13738
13785
  altKey: true,
13739
13786
  description: 'Open file uploader',
13787
+ title: 'Open File Uploader',
13788
+ category: 'Floating Containers',
13740
13789
  action: () => this.openFileUploader(),
13741
13790
  preventDefault: true
13742
13791
  });
@@ -13746,6 +13795,8 @@ class FloatingContainerShortcutsService {
13746
13795
  key: 'r',
13747
13796
  altKey: true,
13748
13797
  description: 'Open entity rights sharing',
13798
+ title: 'Open Entity Rights',
13799
+ category: 'Floating Containers',
13749
13800
  action: () => this.openEntityRightsSharing(),
13750
13801
  preventDefault: true
13751
13802
  });
@@ -13761,6 +13812,8 @@ class FloatingContainerShortcutsService {
13761
13812
  key: i.toString(),
13762
13813
  altKey: true,
13763
13814
  description: `Focus container ${i}`,
13815
+ title: `Focus Container ${i}`,
13816
+ category: 'Floating Containers',
13764
13817
  action: () => this.focusContainerByIndex(i - 1),
13765
13818
  preventDefault: true
13766
13819
  });