@zeniai/client-epic-state 4.20.2-beta33RR → 4.20.2-beta35RR
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +6 -0
- package/lib/esm/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +10 -15
- package/lib/esm/view/taskManager/taskListView/taskListSelector.js +6 -40
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +2 -0
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +6 -0
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.d.ts +3 -3
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +9 -14
- package/lib/view/taskManager/taskListView/taskListSelector.js +6 -40
- package/package.json +1 -1
|
@@ -19,6 +19,8 @@ export interface TaskDetailSelectorView extends SelectorView {
|
|
|
19
19
|
updateFileStatusById: Record<ID, FetchStateAndError | undefined>;
|
|
20
20
|
userList: UserListSelectorView;
|
|
21
21
|
createdByUser?: UserAndRole;
|
|
22
|
+
isArchived?: boolean;
|
|
23
|
+
isDeleted?: boolean;
|
|
22
24
|
snoozedUntil?: ZeniDate;
|
|
23
25
|
}
|
|
24
26
|
export declare const getTaskDetail: (state: RootState, taskId?: ID) => TaskDetailSelectorView;
|
|
@@ -27,6 +27,8 @@ const getTaskDetail = (state, taskId) => {
|
|
|
27
27
|
};
|
|
28
28
|
let taskHistory = [];
|
|
29
29
|
let createdByUser = undefined;
|
|
30
|
+
let isArchived = undefined;
|
|
31
|
+
let isDeleted = undefined;
|
|
30
32
|
let snoozedUntil = undefined;
|
|
31
33
|
if (taskId != null && sourceTaskDetail != null) {
|
|
32
34
|
const taskEntity = (0, taskSelector_1.getTaskById)(taskState, taskId);
|
|
@@ -34,6 +36,8 @@ const getTaskDetail = (state, taskId) => {
|
|
|
34
36
|
if (taskEntity != null) {
|
|
35
37
|
createdByUser = (0, userAndRole_1.getUserAndUserRole)(userState, userRoleState, addressState, taskEntity.createdBy);
|
|
36
38
|
snoozedUntil = taskEntity.snoozedUntil;
|
|
39
|
+
isArchived = taskEntity.isArchived;
|
|
40
|
+
isDeleted = taskEntity.isDeleted;
|
|
37
41
|
}
|
|
38
42
|
if (fileIdsInEntity.length > 0) {
|
|
39
43
|
fetchStatus = (0, reduceFetchState_1.reduceFetchState)([
|
|
@@ -81,6 +85,8 @@ const getTaskDetail = (state, taskId) => {
|
|
|
81
85
|
error: fetchStatus.error,
|
|
82
86
|
version: 0,
|
|
83
87
|
createdByUser,
|
|
88
|
+
isArchived,
|
|
89
|
+
isDeleted,
|
|
84
90
|
showTaskDetailFormFooter,
|
|
85
91
|
snoozedUntil,
|
|
86
92
|
};
|
|
@@ -5,9 +5,9 @@ import { updateTasks } from '../../../../entity/task/taskReducer';
|
|
|
5
5
|
import { Task } from '../../../../entity/task/taskState';
|
|
6
6
|
import { RootState } from '../../../../reducer';
|
|
7
7
|
import { ZeniAPI } from '../../../../zeniAPI';
|
|
8
|
-
import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess } from '../taskListReducer';
|
|
9
|
-
export type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
|
|
10
|
-
export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>,
|
|
8
|
+
import { bulkUpdateTaskList, fetchTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess } from '../taskListReducer';
|
|
9
|
+
export type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof fetchTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
|
|
10
|
+
export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
11
11
|
/**
|
|
12
12
|
* Helpers
|
|
13
13
|
*/
|
|
@@ -12,20 +12,15 @@ const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpe
|
|
|
12
12
|
const taskReducer_1 = require("../../../../entity/task/taskReducer");
|
|
13
13
|
const responsePayload_1 = require("../../../../responsePayload");
|
|
14
14
|
const taskListReducer_1 = require("../taskListReducer");
|
|
15
|
-
const bulkUpdateTaskListEpic = (actions$,
|
|
16
|
-
const state = state$.value;
|
|
15
|
+
const bulkUpdateTaskListEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.bulkUpdateTaskList.match), (0, operators_1.switchMap)((action) => {
|
|
17
16
|
const { taskIds, updates, groupId } = action.payload;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
: `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`;
|
|
24
|
-
const payload = isMoveToGroup
|
|
25
|
-
? { tasks: (0, exports.getTasksListPayload)(state, taskIds, updates) }
|
|
26
|
-
: { task_ids: taskIds, updates: toBulkUpdatesPayload(updates) };
|
|
17
|
+
const bulkUpdates = toBulkUpdatesPayload(updates);
|
|
18
|
+
if (groupId != null) {
|
|
19
|
+
bulkUpdates.task_group_ids = [groupId];
|
|
20
|
+
}
|
|
21
|
+
const payload = { task_ids: taskIds, updates: bulkUpdates };
|
|
27
22
|
return zeniAPI
|
|
28
|
-
.putAndGetJSON(
|
|
23
|
+
.putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`, payload)
|
|
29
24
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
30
25
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
31
26
|
const removeFromList = updates.isArchived != null ||
|
|
@@ -35,7 +30,7 @@ const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe((0,
|
|
|
35
30
|
taskIds,
|
|
36
31
|
groupId,
|
|
37
32
|
removeFromList,
|
|
38
|
-
}));
|
|
33
|
+
}), (0, taskListReducer_1.fetchTaskList)());
|
|
39
34
|
}
|
|
40
35
|
else {
|
|
41
36
|
return (0, rxjs_1.of)((0, taskListReducer_1.updateTasksListOnBulkUpdateTasksFailure)({
|
|
@@ -71,7 +66,7 @@ const toBulkUpdatesPayload = (updates) => {
|
|
|
71
66
|
payload.tags = updates.tagIds;
|
|
72
67
|
}
|
|
73
68
|
if (updates.timeSpent != null) {
|
|
74
|
-
payload.time_spent = (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(updates.timeSpent);
|
|
69
|
+
payload.time_spent = (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(updates.timeSpent.replace(/\D/g, ''));
|
|
75
70
|
}
|
|
76
71
|
if (updates.isArchived != null) {
|
|
77
72
|
payload.is_archived = updates.isArchived;
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getAllTasks = exports.getTaskListGroupedByPriority = exports.getTaskListGroupedByAssignees = void 0;
|
|
7
7
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
8
|
-
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
9
8
|
const orderBy_1 = __importDefault(require("lodash/orderBy"));
|
|
10
9
|
const sortOrderPayload_1 = require("../../../commonPayloadTypes/sortOrderPayload");
|
|
11
10
|
const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
|
|
@@ -21,15 +20,6 @@ const userGroupListViewSelector_1 = require("../../userGroupListView/userGroupLi
|
|
|
21
20
|
const userListViewSelector_1 = require("../../userListView/userListViewSelector");
|
|
22
21
|
const taskDetailSelector_1 = require("../taskDetailView/taskDetailSelector");
|
|
23
22
|
const taskList_1 = require("./taskList");
|
|
24
|
-
const taskListReducer_1 = require("./taskListReducer");
|
|
25
|
-
const isDefaultFilters = (taskListState) => {
|
|
26
|
-
if (taskListState.uiState.searchText !== taskListReducer_1.initialState.uiState.searchText) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
const hasNoActiveFilters = taskListState.filters.categories == null ||
|
|
30
|
-
taskListState.filters.categories.length === 0;
|
|
31
|
-
return (hasNoActiveFilters || (0, isEqual_1.default)(taskListState.filters, taskListReducer_1.initialState.filters));
|
|
32
|
-
};
|
|
33
23
|
const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
34
24
|
const tasksInOrder = (0, orderBy_1.default)(tasksList, (task) => {
|
|
35
25
|
const tagsByIds = (0, tagSelector_1.getTagsByIds)(tagState, task.tagIds);
|
|
@@ -130,11 +120,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
|
|
|
130
120
|
if (defaultTaskGroup != null) {
|
|
131
121
|
sortedTaskGroupsWithTasksList.push(defaultTaskGroup);
|
|
132
122
|
}
|
|
133
|
-
|
|
134
|
-
isDefaultFilters(taskListState) === false) {
|
|
135
|
-
return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
136
|
-
}
|
|
137
|
-
return sortedTaskGroupsWithTasksList;
|
|
123
|
+
return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
138
124
|
};
|
|
139
125
|
const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
140
126
|
const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
|
|
@@ -164,11 +150,7 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
|
|
|
164
150
|
tasks: tasksWithUserDetails,
|
|
165
151
|
};
|
|
166
152
|
});
|
|
167
|
-
|
|
168
|
-
isDefaultFilters(taskListState) === false) {
|
|
169
|
-
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
170
|
-
}
|
|
171
|
-
return taskGroupsWithTasksList;
|
|
153
|
+
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
172
154
|
};
|
|
173
155
|
exports.getTaskListGroupedByAssignees = getTaskListGroupedByAssignees;
|
|
174
156
|
const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
@@ -192,11 +174,7 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
|
|
|
192
174
|
tasks: tasksWithUserDetails,
|
|
193
175
|
};
|
|
194
176
|
});
|
|
195
|
-
|
|
196
|
-
isDefaultFilters(taskListState) === false) {
|
|
197
|
-
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
198
|
-
}
|
|
199
|
-
return taskGroupsWithTasksList;
|
|
177
|
+
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
200
178
|
};
|
|
201
179
|
exports.getTaskListGroupedByPriority = getTaskListGroupedByPriority;
|
|
202
180
|
const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
@@ -220,11 +198,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
|
|
|
220
198
|
tasks: tasksWithUserDetails,
|
|
221
199
|
};
|
|
222
200
|
});
|
|
223
|
-
|
|
224
|
-
isDefaultFilters(taskListState) === false) {
|
|
225
|
-
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
226
|
-
}
|
|
227
|
-
return taskGroupsWithTasksList;
|
|
201
|
+
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
228
202
|
};
|
|
229
203
|
const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
230
204
|
const tagGroups = Object.keys(taskListState.taskIdsByTags);
|
|
@@ -253,11 +227,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
|
|
|
253
227
|
tasks: tasksWithUserDetails,
|
|
254
228
|
};
|
|
255
229
|
});
|
|
256
|
-
|
|
257
|
-
isDefaultFilters(taskListState) === false) {
|
|
258
|
-
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
259
|
-
}
|
|
260
|
-
return taskGroupsWithTasksList;
|
|
230
|
+
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
261
231
|
};
|
|
262
232
|
const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
263
233
|
const taskGroupsWithTasksList = taskList_1.DUE_DATE_GROUP_KEYS.map((groupKey) => {
|
|
@@ -279,11 +249,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
|
|
|
279
249
|
tasks: tasksWithUserDetails,
|
|
280
250
|
};
|
|
281
251
|
});
|
|
282
|
-
|
|
283
|
-
isDefaultFilters(taskListState) === false) {
|
|
284
|
-
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
285
|
-
}
|
|
286
|
-
return taskGroupsWithTasksList;
|
|
252
|
+
return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
|
|
287
253
|
};
|
|
288
254
|
const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
|
|
289
255
|
const { groupByKey } = taskListState.uiState;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.20.2-
|
|
3
|
+
"version": "4.20.2-beta35RR",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|