Revert "Merge branch 'master' into users/languy/save-documentstab-prefs"

This reverts commit e5a82fd356666011397db96ea35c2e0abc178c4e.
This commit is contained in:
Laurent Nguyen 2024-08-23 09:53:45 +02:00
parent e5a82fd356
commit f308cabeaa
2 changed files with 7 additions and 29 deletions

View File

@ -18,7 +18,7 @@ export enum SubComponentName {
export type ColumnSizesMap = { [columnId: string]: WidthDefinition }; export type ColumnSizesMap = { [columnId: string]: WidthDefinition };
export type FilterHistory = string[]; export type FilterHistory = string[];
export type WidthDefinition = { widthPx: number }; export type WidthDefinition = { idealWidth?: number; minWidth?: number };
export type TabDivider = { leftPaneWidthPercent: number }; export type TabDivider = { leftPaneWidthPercent: number };
export type ColumnsSelection = { selectedColumnIds: string[]; columnDefinitions: ColumnDefinition[] }; export type ColumnsSelection = { selectedColumnIds: string[]; columnDefinitions: ColumnDefinition[] };
export type ColumnSort = { columnId: string; direction: "ascending" | "descending" }; export type ColumnSort = { columnId: string; direction: "ascending" | "descending" };

View File

@ -45,6 +45,7 @@ import {
readSubComponentState, readSubComponentState,
saveSubComponentState, saveSubComponentState,
SubComponentName, SubComponentName,
WidthDefinition,
} from "Explorer/Tabs/DocumentsTabV2/DocumentsTabStateUtil"; } from "Explorer/Tabs/DocumentsTabV2/DocumentsTabStateUtil";
import { INITIAL_SELECTED_ROW_INDEX, useDocumentsTabStyles } from "Explorer/Tabs/DocumentsTabV2/DocumentsTabV2"; import { INITIAL_SELECTED_ROW_INDEX, useDocumentsTabStyles } from "Explorer/Tabs/DocumentsTabV2/DocumentsTabV2";
import { selectionHelper } from "Explorer/Tabs/DocumentsTabV2/SelectionHelper"; import { selectionHelper } from "Explorer/Tabs/DocumentsTabV2/SelectionHelper";
@ -92,10 +93,6 @@ interface ReactWindowRenderFnProps extends ListChildComponentProps {
const COLUMNS_MENU_NAME = "columnsMenu"; const COLUMNS_MENU_NAME = "columnsMenu";
const defaultSize = {
idealWidth: 200,
minWidth: 50,
};
export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> = ({ export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> = ({
onRefreshTable, onRefreshTable,
items, items,
@ -112,7 +109,7 @@ export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> =
}: IDocumentsTableComponentProps) => { }: IDocumentsTableComponentProps) => {
const styles = useDocumentsTabStyles(); const styles = useDocumentsTabStyles();
const defaultSize = { const defaultSize: WidthDefinition = {
idealWidth: 200, idealWidth: 200,
minWidth: 50, minWidth: 50,
}; };
@ -123,21 +120,9 @@ export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> =
collection, collection,
{}, {},
); );
const columnSizesPx: TableColumnSizingOptions = {}; const columnSizesPx: ColumnSizesMap = {};
selectedColumnIds.forEach((columnId) => { selectedColumnIds.forEach((columnId) => {
if ( columnSizesPx[columnId] = (columnSizesMap && columnSizesMap[columnId]) || defaultSize;
!columnSizesMap ||
!columnSizesMap[columnId] ||
columnSizesMap[columnId].widthPx === undefined ||
isNaN(columnSizesMap[columnId].widthPx)
) {
columnSizesPx[columnId] = defaultSize;
} else {
columnSizesPx[columnId] = {
idealWidth: columnSizesMap[columnId].widthPx,
minWidth: 50,
};
}
}); });
return columnSizesPx; return columnSizesPx;
}); });
@ -161,7 +146,7 @@ export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> =
}; };
}); });
const onColumnResize = React.useCallback((_, { columnId, width }: { columnId: string; width: number }) => { const onColumnResize = React.useCallback((_, { columnId, width }) => {
setColumnSizingOptions((state) => { setColumnSizingOptions((state) => {
const newSizingOptions = { const newSizingOptions = {
...state, ...state,
@ -171,14 +156,7 @@ export const DocumentsTableComponent: React.FC<IDocumentsTableComponentProps> =
}, },
}; };
const persistentSizes = Object.keys(newSizingOptions).reduce((acc, key) => { saveSubComponentState<ColumnSizesMap>(SubComponentName.ColumnSizes, collection, newSizingOptions, true);
acc[key] = {
widthPx: newSizingOptions[key].idealWidth,
};
return acc;
}, {} as ColumnSizesMap);
saveSubComponentState<ColumnSizesMap>(SubComponentName.ColumnSizes, collection, persistentSizes, true);
return newSizingOptions; return newSizingOptions;
}); });