@zeniai/client-epic-state 5.0.2-betaRR7 → 5.0.2-betaRR9
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.
|
@@ -5,6 +5,7 @@ import { TagState } from '../../../entity/tag/tagState';
|
|
|
5
5
|
import { Task, TaskState } from '../../../entity/task/taskState';
|
|
6
6
|
import { TaskGroupTemplate } from '../../../entity/taskGroupTemplate/taskGroupTemplateState';
|
|
7
7
|
import { UserState } from '../../../entity/user/userState';
|
|
8
|
+
import { UserGroupsState } from '../../../entity/userGroups/userGroupsState';
|
|
8
9
|
import { UserRoleState } from '../../../entity/userRole/userRoleState';
|
|
9
10
|
import { RootState } from '../../../reducer';
|
|
10
11
|
import { UserAndRole } from '../../companyView/types/userAndRole';
|
|
@@ -13,6 +14,7 @@ import { UserListSelectorView } from '../../userListView/userListViewSelector';
|
|
|
13
14
|
import { TaskListFilters, TaskListLocalData, TaskListState, TaskListTab, TaskListUIState } from './taskList';
|
|
14
15
|
export interface TaskWithUserDetails extends Task {
|
|
15
16
|
assigneeUsers: UserAndRole[];
|
|
17
|
+
firstAssigneeSortName: string;
|
|
16
18
|
}
|
|
17
19
|
export interface TaskGroupWithTasksList {
|
|
18
20
|
groupName: string;
|
|
@@ -36,11 +38,12 @@ export interface TaskListSelectorView extends SelectorView {
|
|
|
36
38
|
userGroupList: UserGroupListSelectorView;
|
|
37
39
|
userList: UserListSelectorView;
|
|
38
40
|
}
|
|
39
|
-
export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }: {
|
|
41
|
+
export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: {
|
|
40
42
|
addressState: AddressState;
|
|
41
43
|
tagState: TagState;
|
|
42
44
|
taskListState: TaskListState;
|
|
43
45
|
taskState: TaskState;
|
|
46
|
+
userGroupsState: UserGroupsState;
|
|
44
47
|
userRoleState: UserRoleState;
|
|
45
48
|
userState: UserState;
|
|
46
49
|
}) => {
|
|
@@ -49,11 +52,12 @@ export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState,
|
|
|
49
52
|
isDefault: boolean;
|
|
50
53
|
tasks: TaskWithUserDetails[];
|
|
51
54
|
}[];
|
|
52
|
-
export declare const getTaskListGroupedByPriority: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }: {
|
|
55
|
+
export declare const getTaskListGroupedByPriority: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: {
|
|
53
56
|
addressState: AddressState;
|
|
54
57
|
tagState: TagState;
|
|
55
58
|
taskListState: TaskListState;
|
|
56
59
|
taskState: TaskState;
|
|
60
|
+
userGroupsState: UserGroupsState;
|
|
57
61
|
userRoleState: UserRoleState;
|
|
58
62
|
userState: UserState;
|
|
59
63
|
}) => {
|
|
@@ -40,6 +40,8 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
|
40
40
|
return task.status.name;
|
|
41
41
|
case 'priority':
|
|
42
42
|
return taskState_1.ALL_PRIORITY_CODE.indexOf(task.priority.code);
|
|
43
|
+
case 'assignee':
|
|
44
|
+
return task.firstAssigneeSortName;
|
|
43
45
|
case 'timeSpent':
|
|
44
46
|
return task.timeSpent;
|
|
45
47
|
case 'visibility':
|
|
@@ -51,7 +53,7 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
|
51
53
|
}, sortOrder);
|
|
52
54
|
return tasksInOrder;
|
|
53
55
|
};
|
|
54
|
-
const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, }) => {
|
|
56
|
+
const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, userGroupsState, }) => {
|
|
55
57
|
const { sortKey, searchText } = taskListState.uiState;
|
|
56
58
|
const sortOrder = (0, sortOrderPayload_1.getSortOrder)(taskListState.uiState.sortOrder);
|
|
57
59
|
const tasks = taskIds
|
|
@@ -61,7 +63,17 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
|
|
|
61
63
|
const assigneeUsers = task.assignees
|
|
62
64
|
.map((userId) => (0, userAndRole_1.getUserAndUserRole)(userState, userRoleState, addressState, userId))
|
|
63
65
|
.filter((value) => value != null);
|
|
64
|
-
|
|
66
|
+
const firstUser = assigneeUsers[0]?.user;
|
|
67
|
+
const firstUserName = (firstUser != null ? (0, userSelector_1.getUserName)(firstUser) : '') ||
|
|
68
|
+
firstUser?.email ||
|
|
69
|
+
'';
|
|
70
|
+
const firstGroupName = task.groupAssignees
|
|
71
|
+
.map((gId) => userGroupsState.userGroupByUserGroupId[gId]?.name)
|
|
72
|
+
.find((name) => name != null && name !== '');
|
|
73
|
+
const firstAssigneeSortName = (firstUserName ||
|
|
74
|
+
firstGroupName ||
|
|
75
|
+
'').toLowerCase();
|
|
76
|
+
return { ...task, assigneeUsers, firstAssigneeSortName };
|
|
65
77
|
}
|
|
66
78
|
return undefined;
|
|
67
79
|
})
|
|
@@ -70,7 +82,7 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
|
|
|
70
82
|
const sortedTaskList = sortTasksList(tagState, filteredTaskList, sortKey, sortOrder);
|
|
71
83
|
return sortedTaskList;
|
|
72
84
|
};
|
|
73
|
-
const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, }) => {
|
|
85
|
+
const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
74
86
|
const { taskGroupsIds } = taskGroupViewState;
|
|
75
87
|
const taskGroupsWithTasksList = taskGroupsIds
|
|
76
88
|
.map((taskGroupId) => {
|
|
@@ -84,6 +96,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
|
|
|
84
96
|
addressState,
|
|
85
97
|
taskIds,
|
|
86
98
|
tagState,
|
|
99
|
+
userGroupsState,
|
|
87
100
|
});
|
|
88
101
|
if (taskGroup != null) {
|
|
89
102
|
return {
|
|
@@ -118,7 +131,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
|
|
|
118
131
|
}
|
|
119
132
|
return sortedTaskGroupsWithTasksList;
|
|
120
133
|
};
|
|
121
|
-
const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
134
|
+
const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
122
135
|
const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
|
|
123
136
|
const taskGroupsWithTasksList = assigneeGroups.map((groupKey) => {
|
|
124
137
|
const taskIds = taskListState.taskIdsByAssignees[groupKey];
|
|
@@ -130,6 +143,7 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
|
|
|
130
143
|
addressState,
|
|
131
144
|
taskIds,
|
|
132
145
|
tagState,
|
|
146
|
+
userGroupsState,
|
|
133
147
|
});
|
|
134
148
|
const assigneeIds = groupKey.split(',');
|
|
135
149
|
const groupName = (0, userSelector_1.getUsersByUserIds)(userState, assigneeIds)
|
|
@@ -152,7 +166,7 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
|
|
|
152
166
|
return taskGroupsWithTasksList;
|
|
153
167
|
};
|
|
154
168
|
exports.getTaskListGroupedByAssignees = getTaskListGroupedByAssignees;
|
|
155
|
-
const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
169
|
+
const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
156
170
|
const taskGroupsWithTasksList = taskState_1.ALL_PRIORITY_CODE.map((groupKey) => {
|
|
157
171
|
const taskIds = taskListState.taskIdsByPriority[groupKey] ?? [];
|
|
158
172
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -163,6 +177,7 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
|
|
|
163
177
|
addressState,
|
|
164
178
|
taskIds,
|
|
165
179
|
tagState,
|
|
180
|
+
userGroupsState,
|
|
166
181
|
});
|
|
167
182
|
return {
|
|
168
183
|
groupName: taskDetailSelector_1.allTaskPriority.find((priority) => priority.code === groupKey)?.name ??
|
|
@@ -179,7 +194,7 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
|
|
|
179
194
|
return taskGroupsWithTasksList;
|
|
180
195
|
};
|
|
181
196
|
exports.getTaskListGroupedByPriority = getTaskListGroupedByPriority;
|
|
182
|
-
const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
197
|
+
const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
183
198
|
const taskGroupsWithTasksList = taskState_1.ALL_TASK_STATUS_CODE.map((groupKey) => {
|
|
184
199
|
const taskIds = taskListState.taskIdsByStatus[groupKey] ?? [];
|
|
185
200
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -190,6 +205,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
|
|
|
190
205
|
addressState,
|
|
191
206
|
taskIds,
|
|
192
207
|
tagState,
|
|
208
|
+
userGroupsState,
|
|
193
209
|
});
|
|
194
210
|
return {
|
|
195
211
|
groupName: taskDetailSelector_1.allTaskStatus.find((taskStatus) => taskStatus.code === groupKey)
|
|
@@ -205,7 +221,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
|
|
|
205
221
|
}
|
|
206
222
|
return taskGroupsWithTasksList;
|
|
207
223
|
};
|
|
208
|
-
const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
224
|
+
const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
209
225
|
const tagGroups = Object.keys(taskListState.taskIdsByTags);
|
|
210
226
|
const taskGroupsWithTasksList = tagGroups.map((groupKey) => {
|
|
211
227
|
const taskIds = taskListState.taskIdsByTags[groupKey];
|
|
@@ -217,6 +233,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
|
|
|
217
233
|
addressState,
|
|
218
234
|
taskIds,
|
|
219
235
|
tagState,
|
|
236
|
+
userGroupsState,
|
|
220
237
|
});
|
|
221
238
|
const tagIds = groupKey.split(',');
|
|
222
239
|
const groupName = (0, tagSelector_1.getTagsByIds)(tagState, tagIds)
|
|
@@ -237,7 +254,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
|
|
|
237
254
|
}
|
|
238
255
|
return taskGroupsWithTasksList;
|
|
239
256
|
};
|
|
240
|
-
const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
257
|
+
const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
241
258
|
const taskGroupsWithTasksList = taskList_1.DUE_DATE_GROUP_KEYS.map((groupKey) => {
|
|
242
259
|
const taskIds = taskListState.taskIdsByDueDate[groupKey];
|
|
243
260
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -248,6 +265,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
|
|
|
248
265
|
addressState,
|
|
249
266
|
taskIds,
|
|
250
267
|
tagState,
|
|
268
|
+
userGroupsState,
|
|
251
269
|
});
|
|
252
270
|
return {
|
|
253
271
|
groupName: groupKey,
|
|
@@ -262,7 +280,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
|
|
|
262
280
|
}
|
|
263
281
|
return taskGroupsWithTasksList;
|
|
264
282
|
};
|
|
265
|
-
const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, }) => {
|
|
283
|
+
const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
|
|
266
284
|
const { groupByKey } = taskListState.uiState;
|
|
267
285
|
if (groupByKey === 'groupName') {
|
|
268
286
|
return getTaskListGroupedByGroupName({
|
|
@@ -274,6 +292,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
274
292
|
taskGroupState,
|
|
275
293
|
taskGroupViewState,
|
|
276
294
|
tagState,
|
|
295
|
+
userGroupsState,
|
|
277
296
|
});
|
|
278
297
|
}
|
|
279
298
|
if (groupByKey === 'assignee') {
|
|
@@ -284,6 +303,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
284
303
|
userRoleState,
|
|
285
304
|
addressState,
|
|
286
305
|
tagState,
|
|
306
|
+
userGroupsState,
|
|
287
307
|
});
|
|
288
308
|
}
|
|
289
309
|
if (groupByKey === 'priority') {
|
|
@@ -294,6 +314,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
294
314
|
userRoleState,
|
|
295
315
|
addressState,
|
|
296
316
|
tagState,
|
|
317
|
+
userGroupsState,
|
|
297
318
|
});
|
|
298
319
|
}
|
|
299
320
|
if (groupByKey === 'status') {
|
|
@@ -304,6 +325,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
304
325
|
userRoleState,
|
|
305
326
|
addressState,
|
|
306
327
|
tagState,
|
|
328
|
+
userGroupsState,
|
|
307
329
|
});
|
|
308
330
|
}
|
|
309
331
|
if (groupByKey === 'tag') {
|
|
@@ -314,6 +336,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
314
336
|
userRoleState,
|
|
315
337
|
addressState,
|
|
316
338
|
tagState,
|
|
339
|
+
userGroupsState,
|
|
317
340
|
});
|
|
318
341
|
}
|
|
319
342
|
return getTaskListGroupedByDueDate({
|
|
@@ -323,6 +346,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
323
346
|
userRoleState,
|
|
324
347
|
addressState,
|
|
325
348
|
tagState,
|
|
349
|
+
userGroupsState,
|
|
326
350
|
});
|
|
327
351
|
};
|
|
328
352
|
exports.getAllTasks = (0, toolkit_1.createSelector)((state) => state.taskListState, (state) => state.taskState, (state) => state.userState, (state) => state.userRoleState, (state) => state.userListViewState, (state) => state.addressState, (state) => state.taskGroupState, (state) => state.taskGroupViewState, (state) => state.tagViewState, (state) => state.tagState, (state) => state.taskGroupTemplateState, (state) => state.taskGroupTemplateViewState, (state) => state.userGroupsState, (state) => state.userGroupListViewState, (_state, isTaskTemplatesEnabled) => isTaskTemplatesEnabled, (taskListState, taskState, userState, userRoleState, userListViewState, addressState, taskGroupState, taskGroupViewState, tagViewState, tagState, taskGroupTemplateState, taskGroupTemplateViewState, userGroupsState, userGroupListViewState, isTaskTemplatesEnabled) => {
|
|
@@ -336,6 +360,7 @@ exports.getAllTasks = (0, toolkit_1.createSelector)((state) => state.taskListSta
|
|
|
336
360
|
taskGroupState,
|
|
337
361
|
taskGroupViewState,
|
|
338
362
|
tagState,
|
|
363
|
+
userGroupsState,
|
|
339
364
|
});
|
|
340
365
|
const fetchStateVariables = [
|
|
341
366
|
taskListState,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.0.2-
|
|
3
|
+
"version": "5.0.2-betaRR9",
|
|
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",
|