@arbidocs/blocks 0.3.176 → 0.3.177
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/index.cjs +35 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +35 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -760,6 +760,12 @@ function GridView({
|
|
|
760
760
|
},
|
|
761
761
|
[onRowClick]
|
|
762
762
|
);
|
|
763
|
+
const desiredHiddenRef = useRef(null);
|
|
764
|
+
const snapshotDesiredHidden = useCallback(() => {
|
|
765
|
+
const api = gridApiRef.current;
|
|
766
|
+
if (!api) return;
|
|
767
|
+
desiredHiddenRef.current = new Map(api.getColumnState().map((c) => [c.colId, !!c.hide]));
|
|
768
|
+
}, []);
|
|
763
769
|
const handleGridReady = useCallback(
|
|
764
770
|
(event) => {
|
|
765
771
|
gridApiRef.current = event.api;
|
|
@@ -800,6 +806,7 @@ function GridView({
|
|
|
800
806
|
}
|
|
801
807
|
}
|
|
802
808
|
ensureSelectionColumnVisible();
|
|
809
|
+
snapshotDesiredHidden();
|
|
803
810
|
if (onGridReady) {
|
|
804
811
|
onGridReady({ api: event.api });
|
|
805
812
|
}
|
|
@@ -813,11 +820,36 @@ function GridView({
|
|
|
813
820
|
});
|
|
814
821
|
}
|
|
815
822
|
},
|
|
816
|
-
[
|
|
823
|
+
[
|
|
824
|
+
onGridReady,
|
|
825
|
+
getItemId,
|
|
826
|
+
ensureSelectionColumnVisible,
|
|
827
|
+
snapshotDesiredHidden,
|
|
828
|
+
initialState,
|
|
829
|
+
initialVisibleColumns
|
|
830
|
+
]
|
|
831
|
+
);
|
|
832
|
+
const handleColumnVisible = useCallback(
|
|
833
|
+
(event) => {
|
|
834
|
+
const api = gridApiRef.current;
|
|
835
|
+
if (!api) return;
|
|
836
|
+
if (event.source === "gridOptionsChanged") {
|
|
837
|
+
const desired = desiredHiddenRef.current;
|
|
838
|
+
if (!desired) return;
|
|
839
|
+
const fixes = api.getColumnState().filter(
|
|
840
|
+
(c) => c.colId !== "ag-Grid-SelectionColumn" && desired.has(c.colId) && desired.get(c.colId) !== !!c.hide
|
|
841
|
+
).map((c) => ({ colId: c.colId, hide: desired.get(c.colId) }));
|
|
842
|
+
if (fixes.length) api.applyColumnState({ state: fixes });
|
|
843
|
+
} else {
|
|
844
|
+
snapshotDesiredHidden();
|
|
845
|
+
}
|
|
846
|
+
},
|
|
847
|
+
[snapshotDesiredHidden]
|
|
817
848
|
);
|
|
818
849
|
const handleFirstDataRendered = useCallback(() => {
|
|
819
850
|
ensureSelectionColumnVisible();
|
|
820
|
-
|
|
851
|
+
snapshotDesiredHidden();
|
|
852
|
+
}, [ensureSelectionColumnVisible, snapshotDesiredHidden]);
|
|
821
853
|
const handleModelUpdated = useCallback(() => {
|
|
822
854
|
}, []);
|
|
823
855
|
const prevItemsRef = useRef([]);
|
|
@@ -1036,6 +1068,7 @@ function GridView({
|
|
|
1036
1068
|
onCellValueChanged,
|
|
1037
1069
|
onRowClicked: handleRowClicked,
|
|
1038
1070
|
onStateUpdated: handleStateUpdated,
|
|
1071
|
+
onColumnVisible: handleColumnVisible,
|
|
1039
1072
|
...combinedOptions
|
|
1040
1073
|
}
|
|
1041
1074
|
) });
|