export const collectionPanelFilesAction = unionize({
SET_COLLECTION_FILES: ofType<{ files: CollectionPanelFilesState }>(),
TOGGLE_COLLECTION_FILE_COLLAPSE: ofType<{ id: string }>(),
- TOGGLE_COLLECTION_FILE_SELECTION: ofType<{ id: string }>()
+ TOGGLE_COLLECTION_FILE_SELECTION: ofType<{ id: string }>(),
+ SELECT_ALL_COLLECTION_FILES: ofType<{}>(),
+ UNSELECT_ALL_COLLECTION_FILES: ofType<{}>(),
}, { tag: 'type', value: 'payload' });
export type CollectionPanelFilesAction = UnionOf<typeof collectionPanelFilesAction>;
\ No newline at end of file
SET_COLLECTION_FILES: data => data.files,
TOGGLE_COLLECTION_FILE_COLLAPSE: data => toggleCollapsed(state, data.id),
TOGGLE_COLLECTION_FILE_SELECTION: data => toggleSelected(state, data.id),
+ SELECT_ALL_COLLECTION_FILES: () => state.map(file => ({...file, selected: true})),
+ UNSELECT_ALL_COLLECTION_FILES: () => state.map(file => ({...file, selected: false})),
default: () => state
});
};
// SPDX-License-Identifier: AGPL-3.0
import { ContextMenuActionSet } from "../context-menu-action-set";
+import { collectionPanelFilesAction } from "../../../store/collection-panel/collection-panel-files/collection-panel-files-actions";
export const collectionFilesActionSet: ContextMenuActionSet = [[{
name: "Select all",
- execute: (dispatch, resource) => {
- return;
+ execute: (dispatch) => {
+ dispatch(collectionPanelFilesAction.SELECT_ALL_COLLECTION_FILES());
}
},{
name: "Unselect all",
- execute: (dispatch, resource) => {
- return;
+ execute: (dispatch) => {
+ dispatch(collectionPanelFilesAction.UNSELECT_ALL_COLLECTION_FILES());
}
},{
name: "Remove selected",