mirror of
https://github.com/plankanban/planka.git
synced 2025-12-27 17:25:02 +03:00
54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
/*!
|
|
* Copyright (c) 2024 PLANKA Software GmbH
|
|
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
*/
|
|
|
|
import { createSelector } from 'redux-orm';
|
|
|
|
import orm from '../orm';
|
|
import { isLocalId } from '../utils/local-id';
|
|
|
|
export const makeSelectTaskListById = () =>
|
|
createSelector(
|
|
orm,
|
|
(_, id) => id,
|
|
({ TaskList }, id) => {
|
|
const taskListModel = TaskList.withId(id);
|
|
|
|
if (!taskListModel) {
|
|
return taskListModel;
|
|
}
|
|
|
|
return {
|
|
...taskListModel.ref,
|
|
isPersisted: !isLocalId(taskListModel.id),
|
|
};
|
|
},
|
|
);
|
|
|
|
export const selectTaskListById = makeSelectTaskListById();
|
|
|
|
export const makeSelectTasksByTaskListId = () =>
|
|
createSelector(
|
|
orm,
|
|
(_, id) => id,
|
|
({ TaskList }, id) => {
|
|
const taskListModel = TaskList.withId(id);
|
|
|
|
if (!taskListModel) {
|
|
return taskListModel;
|
|
}
|
|
|
|
return taskListModel.getTasksQuerySet().toRefArray();
|
|
},
|
|
);
|
|
|
|
export const selectTasksByTaskListId = makeSelectTasksByTaskListId();
|
|
|
|
export default {
|
|
makeSelectTaskListById,
|
|
selectTaskListById,
|
|
makeSelectTasksByTaskListId,
|
|
selectTasksByTaskListId,
|
|
};
|