feat: Add ability to create new card at top (#1261)

Closes #1260
This commit is contained in:
Mashood ur Rehman
2025-07-21 12:10:58 +02:00
committed by GitHub
parent fdac299fc7
commit 2e0483d9e9
6 changed files with 62 additions and 42 deletions
+10 -10
View File
@@ -113,7 +113,7 @@ export function* handleCardsUpdate(cards, activities) {
yield put(actions.handleCardsUpdate(cards, activities));
}
export function* createCard(listId, data, autoOpen) {
export function* createCard(listId, data, index, autoOpen) {
const localId = yield call(createLocalId);
const list = yield select(selectors.selectListById, listId);
@@ -127,7 +127,7 @@ export function* createCard(listId, data, autoOpen) {
};
if (isListFinite(list)) {
nextData.position = yield select(selectors.selectNextCardPosition, listId);
nextData.position = yield select(selectors.selectNextCardPosition, listId, index);
}
yield put(
@@ -167,16 +167,16 @@ export function* createCard(listId, data, autoOpen) {
}
}
export function* createCardInFirstFiniteList(data, index, autoOpen) {
const firstFiniteListId = yield select(selectors.selectFirstFiniteListId);
yield call(createCard, firstFiniteListId, data, index, autoOpen);
}
export function* createCardInCurrentList(data, autoOpen) {
const currentListId = yield select(selectors.selectCurrentListId);
yield call(createCard, currentListId, data, autoOpen);
}
export function* createCardInFirstFiniteList(data, autoOpen) {
const firstFiniteListId = yield select(selectors.selectFirstFiniteListId);
yield call(createCard, firstFiniteListId, data, autoOpen);
yield call(createCard, currentListId, data, undefined, autoOpen);
}
export function* handleCardCreate(card) {
@@ -596,9 +596,9 @@ export default {
fetchCardsInCurrentList,
handleCardsUpdate,
createCard,
createCardInFirstFiniteList,
createCardInCurrentList,
handleCardCreate,
createCardInFirstFiniteList,
updateCard,
updateCurrentCard,
handleCardUpdate,
+7 -6
View File
@@ -16,15 +16,16 @@ export default function* cardsWatchers() {
takeEvery(EntryActionTypes.CARDS_UPDATE_HANDLE, ({ payload: { cards, activities } }) =>
services.handleCardsUpdate(cards, activities),
),
takeEvery(EntryActionTypes.CARD_CREATE, ({ payload: { listId, data, autoOpen } }) =>
services.createCard(listId, data, autoOpen),
),
takeEvery(EntryActionTypes.CARD_IN_CURRENT_LIST_CREATE, ({ payload: { data, autoOpen } }) =>
services.createCardInCurrentList(data, autoOpen),
takeEvery(EntryActionTypes.CARD_CREATE, ({ payload: { listId, data, index, autoOpen } }) =>
services.createCard(listId, data, index, autoOpen),
),
takeEvery(
EntryActionTypes.CARD_IN_FIRST_FINITE_LIST_CREATE,
({ payload: { data, autoOpen } }) => services.createCardInFirstFiniteList(data, autoOpen),
({ payload: { data, index, autoOpen } }) =>
services.createCardInFirstFiniteList(data, index, autoOpen),
),
takeEvery(EntryActionTypes.CARD_IN_CURRENT_LIST_CREATE, ({ payload: { data, autoOpen } }) =>
services.createCardInCurrentList(data, autoOpen),
),
takeEvery(EntryActionTypes.CARD_CREATE_HANDLE, ({ payload: { card } }) =>
services.handleCardCreate(card),