@@ -11,6 +11,7 @@ import {
|
||||
applyColumnPrefs,
|
||||
columnKey,
|
||||
settingItems,
|
||||
visibleColumnKeys,
|
||||
type ListColumnSettingItem,
|
||||
} from './list-column-prefs';
|
||||
import { beginColumnResize, withResizeTitle } from './column-resize';
|
||||
@@ -48,6 +49,16 @@ export function useAdminListColumns<T>(
|
||||
);
|
||||
itemsRef.current = items;
|
||||
|
||||
const exportColumnKeys = useMemo(() => {
|
||||
const keyed = (allColumns as ColumnType<T>[]).map((col, i) => ({
|
||||
col,
|
||||
key: columnKey(col, i),
|
||||
actions: col.title === '操作' || col.key === ACTIONS_COLUMN_KEY || col.key === 'actions',
|
||||
}));
|
||||
const defaultKeys = keyed.filter((c) => !c.actions).map((c) => c.key);
|
||||
return visibleColumnKeys(defaultKeys, pref);
|
||||
}, [allColumns, pref]);
|
||||
|
||||
const serialCol: ColumnType<T> = useMemo(
|
||||
() => ({
|
||||
key: SERIAL_COLUMN_KEY,
|
||||
@@ -171,5 +182,5 @@ export function useAdminListColumns<T>(
|
||||
/>
|
||||
);
|
||||
|
||||
return { columns, settingsButton, settingsModal };
|
||||
return { columns, settingsButton, settingsModal, exportColumnKeys };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user