Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit 3ced0e1

Browse files
committed
Merge branch '247-21x-beta-column-name-and-order-bug'
2 parents 389de9e + 0b257b5 commit 3ced0e1

File tree

12 files changed

+29
-69
lines changed

12 files changed

+29
-69
lines changed

src/DatabaseView.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,6 @@ import { createRoot, Root } from "react-dom/client";
2929
import DatabaseInfo from "services/DatabaseInfo";
3030
import { LOGGER } from "services/Logger";
3131
import { SettingsModal } from "Settings";
32-
import useColumnsStore from "stateManagement/useColumnsStore";
33-
import useConfigStore from "stateManagement/useConfigStore";
34-
import useDataStore from "stateManagement/useDataStore";
35-
import useInitialTypeStore from "stateManagement/useInitialTypeStore";
36-
import useRowTemplateStore from "stateManagement/useRowTemplateStore";
37-
import useSortingStore from "stateManagement/useSortingStore";
3832
import StateManager from "StateManager";
3933
export const databaseIcon = "blocks";
4034

src/cdm/HeaderModel.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,4 @@ export type TableHeaderProps = {
2020
index: number;
2121
};
2222
headerIndex: number;
23-
setColumnOrder: React.Dispatch<React.SetStateAction<ColumnOrderState>>;
2423
};

src/cdm/TableStateInterface.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ export interface ConfigState {
2323
global: GlobalSettings;
2424
alterConfig: (config: Partial<LocalSettings>) => void;
2525
}
26-
export interface InitialState {
27-
state: InitialType;
28-
alterSortBy: (sortBy: ColumnSort[]) => void;
29-
}
26+
3027
export interface DataState {
3128
rows: RowDataType[];
3229
addRow: (filename: string, columns: TableColumn[], ddbbConfig: LocalSettings) => void;
@@ -50,8 +47,8 @@ export interface ColumnsState {
5047
alterColumnSize: (id: string, width: number) => void;
5148
}
5249
export interface ColumnSortingState {
53-
state: SortingState;
54-
modify: (alternativeSorting: SortingState) => void;
50+
sortBy: SortingState;
51+
alterSorting: (alternativeSorting: SortingState) => void;
5552
generateSorting: (currentCol: TableColumn, isSortedDesc: boolean) => SortingState;
5653
}
5754
export interface RowTemplateState {
@@ -63,7 +60,6 @@ export interface RowTemplateState {
6360
}
6461

6562
export interface TableStateInterface {
66-
initialState: UseBoundStore<StoreApi<InitialState>>;
6763
configState: UseBoundStore<StoreApi<ConfigState>>;
6864
rowTemplate: UseBoundStore<StoreApi<RowTemplateState>>;
6965
data: UseBoundStore<StoreApi<DataState>>;

src/components/DefaultCell.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ export default function DefaultCell(
193193
return dirtyCell ? (
194194
<input
195195
value={(contextValue.value && contextValue.value.toString()) || ""}
196+
ref={editableMdRef}
196197
onChange={handleOnChange}
197198
onKeyDown={handleKeyDown}
198199
onBlur={handleOnBlur}

src/components/HeaderMenu.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,12 @@ const HeaderMenu = (headerMenuProps: HeaderMenuProps) => {
110110
setLabelStateInvalid(true);
111111
return;
112112
}
113-
114113
// Update state of ordered
115-
const updateOrderWithNewKey = table
116-
.getAllColumns()
117-
.map((o: any) => (o.id === column.id ? newKey : o.id));
114+
const updateOrderWithNewKey = table.options.state.columnOrder.map((o) =>
115+
o === column.id ? newKey : o
116+
);
118117
table.setColumnOrder(updateOrderWithNewKey);
119-
118+
// Update state of altered column
120119
setkeyState(newKey);
121120
alterColumnLabel(column.columnDef as TableColumn, labelState).then(() => {
122121
updateDataAfterLabelChange(

src/components/Table.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ export function Table(tableData: TableDataType) {
7979

8080
/** Table services */
8181
// Sorting
82-
const [sorting, onSortingChange] = tableStore.sorting((store) => [
83-
store.state,
84-
store.modify,
82+
const [sortBy, alterSorting] = tableStore.sorting((store) => [
83+
store.sortBy,
84+
store.alterSorting,
8585
]);
8686
// Filtering
8787
const [globalFilter, setGlobalFilter] = React.useState("");
@@ -102,7 +102,7 @@ export function Table(tableData: TableDataType) {
102102
index: columns.indexOf(findedColumn),
103103
};
104104
},
105-
[columnOrder]
105+
[columns]
106106
);
107107
// Niveling number of columns
108108
if (columnOrder.length !== columns.length) {
@@ -184,9 +184,9 @@ export function Table(tableData: TableDataType) {
184184
globalFilter: globalFilter,
185185
columnOrder: columnOrder,
186186
columnSizing: columnSizing,
187-
sorting: sorting,
187+
sorting: sortBy,
188188
},
189-
onSortingChange: onSortingChange,
189+
onSortingChange: alterSorting,
190190
onColumnSizingChange: (updater) => {
191191
const { isResizingColumn, deltaOffset, columnSizingStart } =
192192
table.options.state.columnSizingInfo;
@@ -257,7 +257,6 @@ export function Table(tableData: TableDataType) {
257257
current_row_template: settingsValue,
258258
});
259259
}
260-
261260
LOGGER.debug(`<= Table`);
262261
return (
263262
<>
@@ -338,7 +337,6 @@ export function Table(tableData: TableDataType) {
338337
header={header}
339338
findColumn={findColumn}
340339
headerIndex={headerIndex}
341-
setColumnOrder={setColumnOrder}
342340
/>
343341
)
344342
)}

src/components/TableHeader.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ interface DragItem {
1313
}
1414

1515
export default function TableHeader(headerProps: TableHeaderProps) {
16-
const { table, header, findColumn, headerIndex, setColumnOrder } =
17-
headerProps;
16+
const { table, header, findColumn, headerIndex } = headerProps;
1817
const { id } = header.column.columnDef as TableColumn;
1918
const { view, tableState } = table.options.meta;
2019
const { columnOrder } = table.options.state;
@@ -32,7 +31,7 @@ export default function TableHeader(headerProps: TableHeaderProps) {
3231
const newColumnOrder = [...columnOrder];
3332
newColumnOrder.splice(destIndex, 1);
3433
newColumnOrder.splice(source, 0, columns[destIndex].id);
35-
setColumnOrder(newColumnOrder);
34+
table.setColumnOrder(newColumnOrder);
3635
view.diskConfig.reorderColumns(newColumnOrder);
3736
}
3837

src/components/headerActions/handlers/buttons/SortHandlerAction.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ function sortingUpButton(headerActionResponse: HeaderActionResponse) {
4646

4747
const tablecolumn = column.columnDef as TableColumn;
4848
const generateSorting = table.options.meta.tableState.sorting(
49-
(store: any) => store.generateSorting
49+
(store) => store.generateSorting
5050
);
5151
const alterSorting = table.options.meta.tableState.columns(
52-
(store: any) => store.alterSorting
52+
(store) => store.alterSorting
5353
);
54-
const alterSortBy = table.options.meta.tableState.initialState(
55-
(store: any) => store.alterSortBy
54+
const tableSortBy = table.options.meta.tableState.sorting(
55+
(store) => store.alterSorting
5656
);
5757

5858
const sortingUpOnClick = (e: any) => {
@@ -63,7 +63,7 @@ function sortingUpButton(headerActionResponse: HeaderActionResponse) {
6363
hooks.setExpanded(false);
6464
// Update state
6565
alterSorting(tablecolumn);
66-
alterSortBy(sortArray);
66+
tableSortBy(sortArray);
6767
table.setSorting(sortArray);
6868
};
6969
return headerButtonComponent({
@@ -84,13 +84,13 @@ function sortingDownButton(headerActionResponse: HeaderActionResponse) {
8484

8585
const tablecolumn = column.columnDef as TableColumn;
8686
const generateSorting = table.options.meta.tableState.sorting(
87-
(store: any) => store.generateSorting
87+
(store) => store.generateSorting
8888
);
8989
const alterSorting = table.options.meta.tableState.columns(
90-
(store: any) => store.alterSorting
90+
(store) => store.alterSorting
9191
);
92-
const alterSortBy = table.options.meta.tableState.initialState(
93-
(store: any) => store.alterSortBy
92+
const tableSortBy = table.options.meta.tableState.sorting(
93+
(store) => store.alterSorting
9494
);
9595
const sortingDownOnClick = (e: any) => {
9696
const sortArray = generateSorting(tablecolumn, true);
@@ -101,7 +101,7 @@ function sortingDownButton(headerActionResponse: HeaderActionResponse) {
101101
hooks.setExpanded(false);
102102
// Update state
103103
alterSorting(tablecolumn);
104-
alterSortBy(sortArray);
104+
tableSortBy(sortArray);
105105
table.setSorting(sortArray);
106106
};
107107
return headerButtonComponent({

src/components/reducers/TableReducer.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,17 @@ import { DatabaseView } from "DatabaseView";
33
import useColumnsStore from "stateManagement/useColumnsStore";
44
import useConfigStore from "stateManagement/useConfigStore";
55
import useDataStore from "stateManagement/useDataStore";
6-
import useInitialTypeStore from "stateManagement/useInitialTypeStore";
76
import useRowTemplateStore from "stateManagement/useRowTemplateStore";
87
import useSortingStore from "stateManagement/useSortingStore";
98

109
function useTableStore(view: DatabaseView): TableStateInterface {
1110
const config = useConfigStore(view);
1211
const data = useDataStore(view);
13-
const initialType = useInitialTypeStore(view);
1412
const rowTemplate = useRowTemplateStore(view);
1513
const sorting = useSortingStore(view);
1614
const columns = useColumnsStore(view);
1715
return {
1816
configState: config,
19-
initialState: initialType,
2017
rowTemplate: rowTemplate,
2118
data: data,
2219
sorting: sorting,

src/stateManagement/useDataStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function mockDataState(): DataState {
2323
rows: [],
2424
addRow: () => { },
2525
updateCell: () => { },
26-
updateDataAfterLabelChange: () => { },
26+
updateDataAfterLabelChange: null,
2727
removeRow: () => { },
2828
removeDataOfColumn: () => { },
2929
parseDataOfColumn: () => { },

0 commit comments

Comments
 (0)