feat: Version 2

Closes #627, closes #1047
This commit is contained in:
Maksim Eltyshev
2025-05-10 02:09:06 +02:00
parent ad7fb51cfa
commit 2ee1166747
1557 changed files with 76832 additions and 47042 deletions
+7 -45
View File
@@ -1,3 +1,8 @@
/*!
* Copyright (c) 2024 PLANKA Software GmbH
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/
import { call, put, select } from 'redux-saga/effects';
import request from '../request';
@@ -6,8 +11,7 @@ import actions from '../../../actions';
import api from '../../../api';
export function* fetchActivities(cardId) {
const { isActivitiesDetailsVisible } = yield select(selectors.selectCardById, cardId);
const lastId = yield select(selectors.selectLastActivityIdByCardId, cardId);
const { lastActivityId } = yield select(selectors.selectCardById, cardId);
yield put(actions.fetchActivities(cardId));
@@ -19,8 +23,7 @@ export function* fetchActivities(cardId) {
items: activities,
included: { users },
} = yield call(request, api.getActivities, cardId, {
beforeId: lastId,
withDetails: isActivitiesDetailsVisible,
beforeId: lastActivityId || undefined,
}));
} catch (error) {
yield put(actions.fetchActivities.failure(cardId, error));
@@ -36,53 +39,12 @@ export function* fetchActivitiesInCurrentCard() {
yield call(fetchActivities, cardId);
}
export function* toggleActivitiesDetails(cardId, isVisible) {
yield put(actions.toggleActivitiesDetails(cardId, isVisible));
if (isVisible) {
let activities;
let users;
try {
({
items: activities,
included: { users },
} = yield call(request, api.getActivities, cardId, {
withDetails: isVisible,
}));
} catch (error) {
yield put(actions.toggleActivitiesDetails.failure(cardId, error));
return;
}
yield put(actions.toggleActivitiesDetails.success(cardId, activities, users));
}
}
export function* toggleActivitiesDetailsInCurrentCard(isVisible) {
const { cardId } = yield select(selectors.selectPath);
yield call(toggleActivitiesDetails, cardId, isVisible);
}
export function* handleActivityCreate(activity) {
yield put(actions.handleActivityCreate(activity));
}
export function* handleActivityUpdate(activity) {
yield put(actions.handleActivityUpdate(activity));
}
export function* handleActivityDelete(activity) {
yield put(actions.handleActivityDelete(activity));
}
export default {
fetchActivities,
fetchActivitiesInCurrentCard,
toggleActivitiesDetails,
toggleActivitiesDetailsInCurrentCard,
handleActivityCreate,
handleActivityUpdate,
handleActivityDelete,
};