@genesislcap/grid-pro 14.486.1 → 14.487.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.
@@ -10,7 +10,7 @@ import debounce from 'lodash.debounce';
10
10
  import { GridProCell } from './cell';
11
11
  import { DateEditor, MultiselectEditor, NumberEditor, SelectEditor, StringEditor, } from './cell-editors';
12
12
  import { ActionRenderer, ActionsMenuRenderer, BooleanRenderer, EditableRenderer, IconRenderer, SelectRenderer, StatusPillRenderer, } from './cell-renderers';
13
- import { GridProColumn } from './column';
13
+ import { GridProColumn, resolveVisibleColumnFields } from './column';
14
14
  import { GridProClientSideDatasource, GridProServerSideDatasource } from './datasource';
15
15
  import { baseDatasourceEventNames } from './datasource/base.types';
16
16
  import { GridProGenesisDatasource, gridProGenesisDatasourceEventNames, } from './grid-pro-genesis-datasource';
@@ -93,6 +93,9 @@ export class GridProBeta extends LifecycleMixin(FoundationElement) {
93
93
  this.disposed = false;
94
94
  this.debouncedSaveColumnState = debounce(this.saveColumnState.bind(this), DEBOUNCE_TIME);
95
95
  this.debouncedSaveFilterModel = debounce(this.cacheFilterConfig.bind(this), DEBOUNCE_TIME);
96
+ // Coalesces bursts of column-visibility events (e.g. a "hide all" tool-panel toggle fires one
97
+ // per column) into a single datasource notification + reload.
98
+ this.debouncedNotifyDatasourceVisibleColumns = debounce(this.notifyDatasourceVisibleColumns.bind(this), DEBOUNCE_TIME);
96
99
  // Genesis-specific attrs
97
100
  this.autoCellRendererByType = false;
98
101
  this.onlyTemplateColDefs = false;
@@ -867,16 +870,41 @@ export class GridProBeta extends LifecycleMixin(FoundationElement) {
867
870
  this.querySelector('grid-pro-client-side-datasource') ||
868
871
  this.querySelector('grid-pro-server-side-datasource'));
869
872
  }
873
+ /**
874
+ * Reports the currently visible columns to the datasource. The datasource decides what to do with
875
+ * them (e.g. narrowing the server request); the grid stays agnostic of that behaviour.
876
+ * @internal
877
+ */
878
+ notifyDatasourceVisibleColumns() {
879
+ var _a, _b, _c, _d;
880
+ const datasource = this.gridProDatasource;
881
+ if (!datasource)
882
+ return;
883
+ const visibleFields = resolveVisibleColumnFields((_b = (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.getAllDisplayedColumns) === null || _b === void 0 ? void 0 : _b.call(_a), (_d = (_c = this.gridApi) === null || _c === void 0 ? void 0 : _c.getColumnDefs) === null || _d === void 0 ? void 0 : _d.call(_c));
884
+ // Skip empty results so we never overwrite a known visible set with nothing (e.g. when the
885
+ // grid API/defs aren't populated yet during early lifecycle).
886
+ if (!visibleFields.length)
887
+ return;
888
+ datasource.setVisibleColumns(visibleFields);
889
+ }
870
890
  set gridOptions(options) {
871
891
  if (!this.applyingDatasourceGridOptions && options) {
872
892
  this.userProvidedGridOptions = Object.assign({}, options);
873
893
  }
894
+ // Column move/resize/pin/sort don't change which fields are visible, so they only need the
895
+ // column-state/autosize bookkeeping below; visibility notification is wired separately (via
896
+ // onColumnVisible/onDisplayedColumnsChanged) so it isn't tied to unrelated grid interactions.
874
897
  const gridOnChangeCallback = () => {
875
898
  if (this.disposed || !this.isConnected)
876
899
  return;
877
900
  this.debouncedSaveColumnState();
878
901
  this.debouncedColumnAutosize();
879
902
  };
903
+ const notifyVisibilityChanged = () => {
904
+ if (this.disposed || !this.isConnected)
905
+ return;
906
+ this.debouncedNotifyDatasourceVisibleColumns();
907
+ };
880
908
  // Collect attributes and map them to AG Grid properties
881
909
  Array.from(this.attributes).forEach((attribute) => {
882
910
  const attrName = this.agPropertiesMap[attribute.name];
@@ -884,7 +912,7 @@ export class GridProBeta extends LifecycleMixin(FoundationElement) {
884
912
  return;
885
913
  this.agAttributes[attrName] = attribute.value;
886
914
  });
887
- const { columnDefs, components, defaultColDef, getRowId, onGridReady, onFilterChanged } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "getRowId", "onGridReady", "onFilterChanged"]);
915
+ const { columnDefs, components, defaultColDef, getRowId, onGridReady, onFilterChanged, onFirstDataRendered } = options, rest = __rest(options, ["columnDefs", "components", "defaultColDef", "getRowId", "onGridReady", "onFilterChanged", "onFirstDataRendered"]);
888
916
  const derivedOptions = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.gridOptionsConfig), { defaultColDef: Object.assign({ enableCellChangeFlash: this.enableCellFlashing, filter: true, resizable: true, sortable: true }, defaultColDef), components: this.combineAllGridComponents(components), headerHeight: this.headerHeight, rowHeight: this.rowHeight, animateRows: false, suppressDragLeaveHidesColumns: true }), this.eventsAndCallbacks), { onGridReady: (event) => {
889
917
  var _a, _b, _c;
890
918
  this.gridApi = event.api;
@@ -914,6 +942,9 @@ export class GridProBeta extends LifecycleMixin(FoundationElement) {
914
942
  event,
915
943
  gridId: this.id,
916
944
  });
945
+ // Seed the datasource with the initially visible columns before the load is kicked off, so
946
+ // a datasource that scopes its request to visible columns can narrow the first request.
947
+ this.notifyDatasourceVisibleColumns();
917
948
  // TODO: prevent rendering datasource slot until grid is ready
918
949
  // so there is no need for this even and handling it in datasources
919
950
  (_c = this.gridProDatasource) === null || _c === void 0 ? void 0 : _c.$emit(datasourceEventNames.ready, {
@@ -922,7 +953,27 @@ export class GridProBeta extends LifecycleMixin(FoundationElement) {
922
953
  this.restoreColumnState();
923
954
  this.restoreCachedFilterConfig();
924
955
  this.debouncedColumnAutosize();
925
- }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: (filterChangedEvent) => {
956
+ }, onFirstDataRendered: (event) => {
957
+ // Safety net: by now the grid columns are populated, so (re)seed the datasource's visible
958
+ // columns in case the initial grid-ready seed ran before columns were available.
959
+ this.notifyDatasourceVisibleColumns();
960
+ if (onFirstDataRendered) {
961
+ onFirstDataRendered(event);
962
+ }
963
+ }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback,
964
+ // Primary visibility trigger: fires per-column on show/hide, from the tool panel, header
965
+ // menu, or API calls alike.
966
+ onColumnVisible: () => {
967
+ gridOnChangeCallback();
968
+ notifyVisibilityChanged();
969
+ },
970
+ // Fallback for bulk tool-panel operations (e.g. "select all") that may not cleanly emit one
971
+ // onColumnVisible per column across entry points; debounced alongside it so a burst still
972
+ // collapses into a single datasource reload.
973
+ onDisplayedColumnsChanged: () => {
974
+ gridOnChangeCallback();
975
+ notifyVisibilityChanged();
976
+ }, onFilterChanged: (filterChangedEvent) => {
926
977
  if (this.disposed || !this.isConnected)
927
978
  return;
928
979
  this.debouncedSaveFilterModel();
@@ -48,6 +48,15 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
48
48
  addIndex: 0,
49
49
  };
50
50
  this.keepColDefsOnClearRowData = false;
51
+ /**
52
+ * When enabled and column definitions are provided, the datasource requests data only for the
53
+ * columns that are currently visible. The visible set is seeded from the column config (columns
54
+ * not flagged with `hide`) and updated by the host grid via `setVisibleColumns`; the data
55
+ * is reloaded whenever that set changes.
56
+ * @remarks DATASERVER only.
57
+ * @default false
58
+ */
59
+ this.requestVisibleColumnsOnly = false;
51
60
  this.requiresFullRowDataAndColDefs = true;
52
61
  this._lastMoreRows = false;
53
62
  this._isMoreRowsResult = false;
@@ -176,6 +185,7 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
176
185
  this.connectionSub = undefined;
177
186
  }
178
187
  this._sourceRef = undefined;
188
+ this._visibleColumns = undefined;
179
189
  this.clearRowData();
180
190
  this._lastMoreRows = false;
181
191
  this._isMoreRowsResult = false;
@@ -566,6 +576,84 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
566
576
  super.handleStreamDeletes(deletes);
567
577
  this.updateCachedRowArray();
568
578
  }
579
+ /**
580
+ * Extends the base options to constrain the requested fields to the visible columns when
581
+ * `requestVisibleColumnsOnly` is enabled.
582
+ * @remarks DATASERVER only; for other resource types the derived `fields` are ignored.
583
+ * @internal
584
+ */
585
+ datasourceOptions() {
586
+ const options = super.datasourceOptions();
587
+ if (this.requestVisibleColumnsOnly) {
588
+ const fields = this.getRequestedFields();
589
+ if (fields) {
590
+ options.fields = fields;
591
+ }
592
+ }
593
+ return options;
594
+ }
595
+ /**
596
+ * Builds the DATASERVER `FIELDS` string (space-separated) from the visible columns, always
597
+ * including the `rowId` so rows can be tracked.
598
+ * @internal
599
+ */
600
+ getRequestedFields() {
601
+ var _a;
602
+ const visibleColumns = ((_a = this._visibleColumns) === null || _a === void 0 ? void 0 : _a.length)
603
+ ? this._visibleColumns
604
+ : this.getConfiguredVisibleColumns();
605
+ if (!visibleColumns.length)
606
+ return undefined;
607
+ const fields = visibleColumns.includes(this.rowId)
608
+ ? visibleColumns
609
+ : [this.rowId, ...visibleColumns];
610
+ return fields.join(' ');
611
+ }
612
+ /**
613
+ * Returns the field names of the configured columns that are not hidden, used to seed the visible
614
+ * set before the host grid reports runtime visibility.
615
+ * @internal
616
+ */
617
+ getConfiguredVisibleColumns() {
618
+ var _a, _b;
619
+ const columnDefs = (_b = (_a = this.deferredGridOptions) === null || _a === void 0 ? void 0 : _a.columnDefs) !== null && _b !== void 0 ? _b : [];
620
+ return columnDefs
621
+ .filter((colDef) => !!colDef.field && !colDef.hide)
622
+ .map((colDef) => colDef.field);
623
+ }
624
+ /**
625
+ * Updates the set of visible columns and reloads the data when the set changes.
626
+ * @remarks Called by the host grid on column visibility changes; no-ops unless
627
+ * `requestVisibleColumnsOnly` is enabled. DATASERVER only; no-ops for other resource types.
628
+ * @param visibleFields - Field names of the currently visible columns.
629
+ * @public
630
+ */
631
+ setVisibleColumns(visibleFields) {
632
+ var _a;
633
+ if (!this.requestVisibleColumnsOnly)
634
+ return;
635
+ const previous = (_a = this._visibleColumns) !== null && _a !== void 0 ? _a : this.getConfiguredVisibleColumns();
636
+ // Always seed the visible set so the initial request can be narrowed, even before the
637
+ // datasource has initialized and its resource type is known.
638
+ this._visibleColumns = visibleFields;
639
+ // Narrowing applies to DATASERVER only; reload once initialized and the visible set changes.
640
+ if (this.datasource.resourceType !== ResourceType.DATASERVER ||
641
+ !this.datasource.initialized ||
642
+ !this.columnsChanged(previous, visibleFields)) {
643
+ return;
644
+ }
645
+ this.reloadResourceData();
646
+ }
647
+ /**
648
+ * Compares two column field lists irrespective of order.
649
+ * @internal
650
+ */
651
+ columnsChanged(previous, next) {
652
+ if (previous.length !== next.length)
653
+ return true;
654
+ const previousSet = new Set(previous);
655
+ return next.some((field) => !previousSet.has(field));
656
+ }
569
657
  loadMore() {
570
658
  switch (this.datasource.resourceType) {
571
659
  case ResourceType.DATASERVER:
@@ -598,6 +686,9 @@ let GridProGenesisDatasource = class GridProGenesisDatasource extends LifecycleM
598
686
  __decorate([
599
687
  attr({ mode: 'boolean', attribute: 'keep-col-defs-on-clear-row-data' })
600
688
  ], GridProGenesisDatasource.prototype, "keepColDefsOnClearRowData", void 0);
689
+ __decorate([
690
+ attr({ mode: 'boolean', attribute: 'request-visible-columns-only' })
691
+ ], GridProGenesisDatasource.prototype, "requestVisibleColumnsOnly", void 0);
601
692
  GridProGenesisDatasource = __decorate([
602
693
  customElement({
603
694
  name: 'grid-pro-genesis-datasource',
@@ -12,7 +12,7 @@ import debounce from 'lodash.debounce';
12
12
  import { GridProCell } from './cell';
13
13
  import { DateEditor, MultiselectEditor, NumberEditor, SelectEditor, StringEditor, } from './cell-editors';
14
14
  import { ActionRenderer, ActionsMenuRenderer, BooleanRenderer, EditableRenderer, IconRenderer, SelectRenderer, StatusPillRenderer, } from './cell-renderers';
15
- import { GridProColumn } from './column';
15
+ import { GridProColumn, resolveVisibleColumnFields } from './column';
16
16
  import { GridProClientSideDatasource, GridProServerSideDatasource } from './datasource';
17
17
  import { baseDatasourceEventNames } from './datasource/base.types';
18
18
  import { agThemeFontFaceMap, defaultAgGridFontFace } from './external';
@@ -84,6 +84,9 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
84
84
  this.disposed = false;
85
85
  this.debouncedSaveColumnState = debounce(this.saveColumnState.bind(this), DEBOUNCE_TIME);
86
86
  this.debouncedSaveFilterModel = debounce(this.cacheFilterConfig.bind(this), DEBOUNCE_TIME);
87
+ // Coalesces bursts of column-visibility events (e.g. a "hide all" tool-panel toggle fires one
88
+ // per column) into a single datasource notification + reload.
89
+ this.debouncedNotifyDatasourceVisibleColumns = debounce(this.notifyDatasourceVisibleColumns.bind(this), DEBOUNCE_TIME);
87
90
  // Genesis-specific attrs
88
91
  this.autoCellRendererByType = false;
89
92
  this.onlyTemplateColDefs = false;
@@ -922,10 +925,30 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
922
925
  this.querySelector('grid-pro-client-side-datasource') ||
923
926
  this.querySelector('grid-pro-server-side-datasource'));
924
927
  }
928
+ /**
929
+ * Reports the currently visible columns to the datasource. The datasource decides what to do with
930
+ * them (e.g. narrowing the server request); the grid stays agnostic of that behaviour.
931
+ * @internal
932
+ */
933
+ notifyDatasourceVisibleColumns() {
934
+ var _a, _b, _c, _d;
935
+ const datasource = this.gridProDatasource;
936
+ if (!datasource)
937
+ return;
938
+ const visibleFields = resolveVisibleColumnFields((_b = (_a = this.columnApi) === null || _a === void 0 ? void 0 : _a.getAllDisplayedColumns) === null || _b === void 0 ? void 0 : _b.call(_a), (_d = (_c = this.gridApi) === null || _c === void 0 ? void 0 : _c.getColumnDefs) === null || _d === void 0 ? void 0 : _d.call(_c));
939
+ // Skip empty results so we never overwrite a known visible set with nothing (e.g. when the
940
+ // column API/defs aren't populated yet during early lifecycle).
941
+ if (!visibleFields.length)
942
+ return;
943
+ datasource.setVisibleColumns(visibleFields);
944
+ }
925
945
  set gridOptions(options) {
926
946
  if (!this.applyingDatasourceGridOptions && options) {
927
947
  this.userProvidedGridOptions = Object.assign({}, options);
928
948
  }
949
+ // Column move/resize/pin/sort don't change which fields are visible, so they only need the
950
+ // column-state/autosize bookkeeping below; visibility notification is wired separately (via
951
+ // onColumnVisible/onDisplayedColumnsChanged) so it isn't tied to unrelated grid interactions.
929
952
  const gridOnChangeCallback = () => {
930
953
  if (this.disposed || !this.isConnected)
931
954
  return;
@@ -933,6 +956,11 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
933
956
  this.debouncedColumnAutosize();
934
957
  this.invalidateColumnWidthCache();
935
958
  };
959
+ const notifyVisibilityChanged = () => {
960
+ if (this.disposed || !this.isConnected)
961
+ return;
962
+ this.debouncedNotifyDatasourceVisibleColumns();
963
+ };
936
964
  Array.from(this.attributes).forEach((attribute) => {
937
965
  const attrName = this.agPropertiesMap[attribute.name];
938
966
  if (!attrName)
@@ -971,6 +999,9 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
971
999
  event,
972
1000
  gridId: this.id,
973
1001
  });
1002
+ // Seed the datasource with the initially visible columns before the load is kicked off, so
1003
+ // a datasource that scopes its request to visible columns can narrow the first request.
1004
+ this.notifyDatasourceVisibleColumns();
974
1005
  // Emit datasource ready event, signals that the datasource is ready to be used
975
1006
  // TODO: prevent rendering datasource slot until grid is ready
976
1007
  // so there is no need for this even and handling it in datasources
@@ -983,11 +1014,27 @@ export class GridPro extends LifecycleMixin(FoundationElement) {
983
1014
  }, onFirstDataRendered: (event) => {
984
1015
  // Handle column sizing
985
1016
  this.handleColumnSizing();
1017
+ // Safety net: by now the column API is populated, so (re)seed the datasource's visible
1018
+ // columns in case the initial grid-ready seed ran before columns were available.
1019
+ this.notifyDatasourceVisibleColumns();
986
1020
  // Call the original onFirstDataRendered if provided
987
1021
  if (onFirstDataRendered) {
988
1022
  onFirstDataRendered(event);
989
1023
  }
990
- }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback, onDisplayedColumnsChanged: gridOnChangeCallback, onFilterChanged: (filterChangedEvent) => {
1024
+ }, onColumnPinned: gridOnChangeCallback, onColumnResized: gridOnChangeCallback, onColumnMoved: gridOnChangeCallback,
1025
+ // Primary visibility trigger: fires per-column on show/hide, from the tool panel, header
1026
+ // menu, or API calls alike.
1027
+ onColumnVisible: () => {
1028
+ gridOnChangeCallback();
1029
+ notifyVisibilityChanged();
1030
+ },
1031
+ // Fallback for bulk tool-panel operations (e.g. "select all") that may not cleanly emit one
1032
+ // onColumnVisible per column across entry points; debounced alongside it so a burst still
1033
+ // collapses into a single datasource reload.
1034
+ onDisplayedColumnsChanged: () => {
1035
+ gridOnChangeCallback();
1036
+ notifyVisibilityChanged();
1037
+ }, onFilterChanged: (filterChangedEvent) => {
991
1038
  if (this.disposed || !this.isConnected)
992
1039
  return;
993
1040
  this.debouncedSaveFilterModel();
@@ -14999,6 +14999,54 @@
14999
14999
  "isAbstract": false,
15000
15000
  "name": "setDisconnected"
15001
15001
  },
15002
+ {
15003
+ "kind": "Method",
15004
+ "canonicalReference": "@genesislcap/grid-pro!GridProBaseDatasource#setVisibleColumns:member(1)",
15005
+ "docComment": "/**\n * Notifies the datasource of the field names of the currently visible columns.\n *\n * @remarks\n *\n * No-op by default. Datasources that support column-scoped requests override this to narrow the server query and reload data when the visible column set changes.\n *\n * @param visibleFields - Field names of the currently visible columns.\n *\n * @public\n */\n",
15006
+ "excerptTokens": [
15007
+ {
15008
+ "kind": "Content",
15009
+ "text": "setVisibleColumns(visibleFields: "
15010
+ },
15011
+ {
15012
+ "kind": "Content",
15013
+ "text": "string[]"
15014
+ },
15015
+ {
15016
+ "kind": "Content",
15017
+ "text": "): "
15018
+ },
15019
+ {
15020
+ "kind": "Content",
15021
+ "text": "void"
15022
+ },
15023
+ {
15024
+ "kind": "Content",
15025
+ "text": ";"
15026
+ }
15027
+ ],
15028
+ "isStatic": false,
15029
+ "returnTypeTokenRange": {
15030
+ "startIndex": 3,
15031
+ "endIndex": 4
15032
+ },
15033
+ "releaseTag": "Public",
15034
+ "isProtected": false,
15035
+ "overloadIndex": 1,
15036
+ "parameters": [
15037
+ {
15038
+ "parameterName": "visibleFields",
15039
+ "parameterTypeTokenRange": {
15040
+ "startIndex": 1,
15041
+ "endIndex": 2
15042
+ },
15043
+ "isOptional": false
15044
+ }
15045
+ ],
15046
+ "isOptional": false,
15047
+ "isAbstract": false,
15048
+ "name": "setVisibleColumns"
15049
+ },
15002
15050
  {
15003
15051
  "kind": "Method",
15004
15052
  "canonicalReference": "@genesislcap/grid-pro!GridProBaseDatasource#subscribeToConnection:member(1)",
@@ -20192,6 +20240,36 @@
20192
20240
  "isAbstract": false,
20193
20241
  "name": "requestChanged"
20194
20242
  },
20243
+ {
20244
+ "kind": "Property",
20245
+ "canonicalReference": "@genesislcap/grid-pro!GridProGenesisDatasource#requestVisibleColumnsOnly:member",
20246
+ "docComment": "/**\n * When enabled and column definitions are provided, the datasource requests data only for the columns that are currently visible. The visible set is seeded from the column config (columns not flagged with `hide`) and updated by the host grid via `setVisibleColumns`; the data is reloaded whenever that set changes.\n *\n * @remarks\n *\n * DATASERVER only. @default false\n */\n",
20247
+ "excerptTokens": [
20248
+ {
20249
+ "kind": "Content",
20250
+ "text": "requestVisibleColumnsOnly: "
20251
+ },
20252
+ {
20253
+ "kind": "Content",
20254
+ "text": "boolean"
20255
+ },
20256
+ {
20257
+ "kind": "Content",
20258
+ "text": ";"
20259
+ }
20260
+ ],
20261
+ "isReadonly": false,
20262
+ "isOptional": false,
20263
+ "releaseTag": "Public",
20264
+ "name": "requestVisibleColumnsOnly",
20265
+ "propertyTypeTokenRange": {
20266
+ "startIndex": 1,
20267
+ "endIndex": 2
20268
+ },
20269
+ "isStatic": false,
20270
+ "isProtected": false,
20271
+ "isAbstract": false
20272
+ },
20195
20273
  {
20196
20274
  "kind": "Method",
20197
20275
  "canonicalReference": "@genesislcap/grid-pro!GridProGenesisDatasource#reset:member(1)",
@@ -20387,6 +20465,54 @@
20387
20465
  "isAbstract": false,
20388
20466
  "name": "setFilter"
20389
20467
  },
20468
+ {
20469
+ "kind": "Method",
20470
+ "canonicalReference": "@genesislcap/grid-pro!GridProGenesisDatasource#setVisibleColumns:member(1)",
20471
+ "docComment": "/**\n * Updates the set of visible columns and reloads the data when the set changes.\n *\n * @remarks\n *\n * Called by the host grid on column visibility changes; no-ops unless `requestVisibleColumnsOnly` is enabled. DATASERVER only; no-ops for other resource types.\n *\n * @param visibleFields - Field names of the currently visible columns.\n *\n * @public\n */\n",
20472
+ "excerptTokens": [
20473
+ {
20474
+ "kind": "Content",
20475
+ "text": "setVisibleColumns(visibleFields: "
20476
+ },
20477
+ {
20478
+ "kind": "Content",
20479
+ "text": "string[]"
20480
+ },
20481
+ {
20482
+ "kind": "Content",
20483
+ "text": "): "
20484
+ },
20485
+ {
20486
+ "kind": "Content",
20487
+ "text": "void"
20488
+ },
20489
+ {
20490
+ "kind": "Content",
20491
+ "text": ";"
20492
+ }
20493
+ ],
20494
+ "isStatic": false,
20495
+ "returnTypeTokenRange": {
20496
+ "startIndex": 3,
20497
+ "endIndex": 4
20498
+ },
20499
+ "releaseTag": "Public",
20500
+ "isProtected": false,
20501
+ "overloadIndex": 1,
20502
+ "parameters": [
20503
+ {
20504
+ "parameterName": "visibleFields",
20505
+ "parameterTypeTokenRange": {
20506
+ "startIndex": 1,
20507
+ "endIndex": 2
20508
+ },
20509
+ "isOptional": false
20510
+ }
20511
+ ],
20512
+ "isOptional": false,
20513
+ "isAbstract": false,
20514
+ "name": "setVisibleColumns"
20515
+ },
20390
20516
  {
20391
20517
  "kind": "Property",
20392
20518
  "canonicalReference": "@genesislcap/grid-pro!GridProGenesisDatasource#transactionData:member",
@@ -26989,6 +27115,72 @@
26989
27115
  "endIndex": 2
26990
27116
  }
26991
27117
  },
27118
+ {
27119
+ "kind": "Function",
27120
+ "canonicalReference": "@genesislcap/grid-pro!resolveVisibleColumnFields:function(1)",
27121
+ "docComment": "/**\n * Resolves the field names of the currently visible columns.\n *\n * @remarks\n *\n * Prefers the grid's displayed columns (`getAllDisplayedColumns()` — already excludes hidden columns and children of collapsed groups, so no extra visibility check is needed); falls back to the current column defs (available earlier in the lifecycle than the columns), treating `hide` as not visible. Shared by the host grids to report the visible set to the datasource. Typed structurally so it works across the differing AG Grid type packages the grids depend on.\n *\n * @param displayedColumns - The grid's currently displayed columns, when available.\n *\n * @param colDefs - The current column defs, used as a fallback before the columns are populated.\n *\n * @public\n */\n",
27122
+ "excerptTokens": [
27123
+ {
27124
+ "kind": "Content",
27125
+ "text": "export declare function resolveVisibleColumnFields(displayedColumns: "
27126
+ },
27127
+ {
27128
+ "kind": "Reference",
27129
+ "text": "DisplayedColumnLike",
27130
+ "canonicalReference": "@genesislcap/grid-pro!~DisplayedColumnLike:interface"
27131
+ },
27132
+ {
27133
+ "kind": "Content",
27134
+ "text": "[] | null | undefined"
27135
+ },
27136
+ {
27137
+ "kind": "Content",
27138
+ "text": ", colDefs: "
27139
+ },
27140
+ {
27141
+ "kind": "Content",
27142
+ "text": "readonly unknown[] | null | undefined"
27143
+ },
27144
+ {
27145
+ "kind": "Content",
27146
+ "text": "): "
27147
+ },
27148
+ {
27149
+ "kind": "Content",
27150
+ "text": "string[]"
27151
+ },
27152
+ {
27153
+ "kind": "Content",
27154
+ "text": ";"
27155
+ }
27156
+ ],
27157
+ "fileUrlPath": "src/column/utils/grid-pro-columns.ts",
27158
+ "returnTypeTokenRange": {
27159
+ "startIndex": 6,
27160
+ "endIndex": 7
27161
+ },
27162
+ "releaseTag": "Public",
27163
+ "overloadIndex": 1,
27164
+ "parameters": [
27165
+ {
27166
+ "parameterName": "displayedColumns",
27167
+ "parameterTypeTokenRange": {
27168
+ "startIndex": 1,
27169
+ "endIndex": 3
27170
+ },
27171
+ "isOptional": false
27172
+ },
27173
+ {
27174
+ "parameterName": "colDefs",
27175
+ "parameterTypeTokenRange": {
27176
+ "startIndex": 4,
27177
+ "endIndex": 5
27178
+ },
27179
+ "isOptional": false
27180
+ }
27181
+ ],
27182
+ "name": "resolveVisibleColumnFields"
27183
+ },
26992
27184
  {
26993
27185
  "kind": "Class",
26994
27186
  "canonicalReference": "@genesislcap/grid-pro!RowCountStatusBarComponent:class",