Переглянути джерело

feat: add selectedSecondaryIds to list template selection state for multi-level selection support

dengdx 1 місяць тому
батько
коміт
205bf37406

+ 8 - 1
src/states/list_template/createListSlices.ts

@@ -97,7 +97,7 @@ export function createEntityListSlices<T, F extends object>(
 
   const selectionSlice = createSlice({
     name: `${namespace}/selection`,
-    initialState: { selectedIds: [] } as SelectionState,
+    initialState: { selectedIds: [], selectedSecondaryIds: [] } as SelectionState,
     reducers: {
       setSelectedIds(state, action: PayloadAction<string[]>) {
         console.log('Setting selected IDs:', action.payload);
@@ -106,6 +106,13 @@ export function createEntityListSlices<T, F extends object>(
       clearSelection(state) {
         state.selectedIds = [];
       },
+      setSelectedSecondaryIds(state, action: PayloadAction<string[]>) {
+        console.log('Setting selected secondary IDs:', action.payload);
+        state.selectedSecondaryIds = action.payload;
+      },
+      clearSecondarySelection(state) {
+        state.selectedSecondaryIds = [];
+      },
     },
   });
 

+ 1 - 0
src/states/list_template/type.model.ts

@@ -10,6 +10,7 @@ export type FiltersState<T extends object> = T & {
 
 export interface SelectionState {
   selectedIds: string[];
+  selectedSecondaryIds: string[];
 }
 
 export interface UIState {