@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.
- package/dist/custom-elements.json +203 -0
- package/dist/dts/column/utils/grid-pro-columns.d.ts +19 -0
- package/dist/dts/column/utils/grid-pro-columns.d.ts.map +1 -1
- package/dist/dts/datasource/base.datasource.d.ts +8 -0
- package/dist/dts/datasource/base.datasource.d.ts.map +1 -1
- package/dist/dts/grid-pro-beta.d.ts +7 -0
- package/dist/dts/grid-pro-beta.d.ts.map +1 -1
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +43 -0
- package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -1
- package/dist/dts/grid-pro.d.ts +7 -0
- package/dist/dts/grid-pro.d.ts.map +1 -1
- package/dist/esm/column/utils/grid-pro-columns.js +26 -0
- package/dist/esm/datasource/base.datasource.js +8 -0
- package/dist/esm/grid-pro-beta.js +54 -3
- package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +91 -0
- package/dist/esm/grid-pro.js +49 -2
- package/dist/grid-pro.api.json +192 -0
- package/dist/grid-pro.d.ts +84 -0
- package/package.json +14 -14
|
@@ -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
|
-
},
|
|
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',
|
package/dist/esm/grid-pro.js
CHANGED
|
@@ -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,
|
|
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();
|
package/dist/grid-pro.api.json
CHANGED
|
@@ -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",
|