feat: Add ability to move lists between boards (#1208)

This commit is contained in:
Symon Baikov
2025-09-04 00:07:10 +02:00
committed by GitHub
parent 5f34a737bb
commit 9683227fbc
58 changed files with 950 additions and 263 deletions
+18
View File
@@ -7,6 +7,7 @@ import { createSelector } from 'redux-orm';
import orm from '../orm';
import { selectPath } from './router';
import { selectCurrentUserId } from './users';
import { isLocalId } from '../utils/local-id';
import { BoardContexts, ListTypes } from '../constants/Enums';
@@ -64,6 +65,22 @@ export const makeSelectFilteredCardIdsByListId = () =>
export const selectFilteredCardIdsByListId = makeSelectFilteredCardIdsByListId();
export const selectIsListWithIdAvailableForCurrentUser = createSelector(
orm,
(_, id) => id,
(state) => selectCurrentUserId(state),
({ List, User }, id, currentUserId) => {
const listModel = List.withId(id);
if (!listModel) {
return false;
}
const currentUserModel = User.withId(currentUserId);
return listModel.isAvailableForUser(currentUserModel);
},
);
export const selectCurrentListId = createSelector(
orm,
(state) => selectPath(state).boardId,
@@ -154,6 +171,7 @@ export default {
selectCardIdsByListId,
makeSelectFilteredCardIdsByListId,
selectFilteredCardIdsByListId,
selectIsListWithIdAvailableForCurrentUser,
selectCurrentListId,
selectCurrentList,
selectFirstFiniteListId,