@zeniai/client-epic-state 4.20.0-beta14RR → 4.20.0-beta15RR
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.
|
@@ -38,14 +38,8 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
|
38
38
|
return task.status.name;
|
|
39
39
|
case 'priority':
|
|
40
40
|
return ALL_PRIORITY_CODE.indexOf(task.priority.code);
|
|
41
|
-
case 'assignee':
|
|
42
|
-
|
|
43
|
-
if (firstAssignee == null) {
|
|
44
|
-
return '';
|
|
45
|
-
}
|
|
46
|
-
return (`${firstAssignee.firstName} ${firstAssignee.lastName}`.trim() ||
|
|
47
|
-
firstAssignee.email).toLowerCase();
|
|
48
|
-
}
|
|
41
|
+
case 'assignee':
|
|
42
|
+
return task.firstAssigneeSortName;
|
|
49
43
|
case 'timeSpent':
|
|
50
44
|
return task.timeSpent;
|
|
51
45
|
case 'visibility':
|
|
@@ -57,7 +51,7 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
|
57
51
|
}, sortOrder);
|
|
58
52
|
return tasksInOrder;
|
|
59
53
|
};
|
|
60
|
-
const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, }) => {
|
|
54
|
+
const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, userGroupsState, }) => {
|
|
61
55
|
const { sortKey, searchText } = taskListState.uiState;
|
|
62
56
|
const sortOrder = getSortOrder(taskListState.uiState.sortOrder);
|
|
63
57
|
const tasks = taskIds
|
|
@@ -67,7 +61,13 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
|
|
|
67
61
|
const assigneeUsers = task.assignees
|
|
68
62
|
.map((userId) => getUserAndUserRole(userState, userRoleState, addressState, userId))
|
|
69
63
|
.filter((value) => value != null);
|
|
70
|
-
|
|
64
|
+
// Compute sort name matching display order: groups first, then users
|
|
65
|
+
const firstGroupName = task.groupAssignees
|
|
66
|
+
.map((gId) => userGroupsState.userGroupByUserGroupId[gId]?.name ?? '')
|
|
67
|
+
.find((name) => name !== '');
|
|
68
|
+
const firstUserName = getUserName(assigneeUsers[0]?.user);
|
|
69
|
+
const firstAssigneeSortName = (firstGroupName ?? firstUserName ?? '').toLowerCase();
|
|
70
|
+
return { ...task, assigneeUsers, firstAssigneeSortName };
|
|
71
71
|
}
|
|
72
72
|
return undefined;
|
|
73
73
|
})
|
|
@@ -76,7 +76,7 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
|
|
|
76
76
|
const sortedTaskList = sortTasksList(tagState, filteredTaskList, sortKey, sortOrder);
|
|
77
77
|
return sortedTaskList;
|
|
78
78
|
};
|
|
79
|
-
const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, }) => {
|
|
79
|
+
const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
80
80
|
const { taskGroupsIds } = taskGroupViewState;
|
|
81
81
|
const taskGroupsWithTasksList = taskGroupsIds
|
|
82
82
|
.map((taskGroupId) => {
|
|
@@ -90,6 +90,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
|
|
|
90
90
|
addressState,
|
|
91
91
|
taskIds,
|
|
92
92
|
tagState,
|
|
93
|
+
userGroupsState,
|
|
93
94
|
});
|
|
94
95
|
if (taskGroup != null) {
|
|
95
96
|
return {
|
|
@@ -123,7 +124,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
|
|
|
123
124
|
}
|
|
124
125
|
return sortedTaskGroupsWithTasksList;
|
|
125
126
|
};
|
|
126
|
-
export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
127
|
+
export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
127
128
|
const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
|
|
128
129
|
const taskGroupsWithTasksList = assigneeGroups.map((groupKey) => {
|
|
129
130
|
const taskIds = taskListState.taskIdsByAssignees[groupKey];
|
|
@@ -135,6 +136,7 @@ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userSt
|
|
|
135
136
|
addressState,
|
|
136
137
|
taskIds,
|
|
137
138
|
tagState,
|
|
139
|
+
userGroupsState,
|
|
138
140
|
});
|
|
139
141
|
const assigneeIds = groupKey.split(',');
|
|
140
142
|
const groupName = getUsersByUserIds(userState, assigneeIds)
|
|
@@ -155,7 +157,7 @@ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userSt
|
|
|
155
157
|
}
|
|
156
158
|
return taskGroupsWithTasksList;
|
|
157
159
|
};
|
|
158
|
-
export const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
160
|
+
export const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
159
161
|
const taskGroupsWithTasksList = ALL_PRIORITY_CODE.map((groupKey) => {
|
|
160
162
|
const taskIds = taskListState.taskIdsByPriority[groupKey] ?? [];
|
|
161
163
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -166,6 +168,7 @@ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userSta
|
|
|
166
168
|
addressState,
|
|
167
169
|
taskIds,
|
|
168
170
|
tagState,
|
|
171
|
+
userGroupsState,
|
|
169
172
|
});
|
|
170
173
|
return {
|
|
171
174
|
groupName: allTaskPriority.find((priority) => priority.code === groupKey)?.name ??
|
|
@@ -180,7 +183,7 @@ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userSta
|
|
|
180
183
|
}
|
|
181
184
|
return taskGroupsWithTasksList;
|
|
182
185
|
};
|
|
183
|
-
const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
186
|
+
const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
184
187
|
const taskGroupsWithTasksList = ALL_TASK_STATUS_CODE.map((groupKey) => {
|
|
185
188
|
const taskIds = taskListState.taskIdsByStatus[groupKey] ?? [];
|
|
186
189
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -191,6 +194,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
|
|
|
191
194
|
addressState,
|
|
192
195
|
taskIds,
|
|
193
196
|
tagState,
|
|
197
|
+
userGroupsState,
|
|
194
198
|
});
|
|
195
199
|
return {
|
|
196
200
|
groupName: allTaskStatus.find((taskStatus) => taskStatus.code === groupKey)
|
|
@@ -205,7 +209,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
|
|
|
205
209
|
}
|
|
206
210
|
return taskGroupsWithTasksList;
|
|
207
211
|
};
|
|
208
|
-
const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
212
|
+
const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
209
213
|
const tagGroups = Object.keys(taskListState.taskIdsByTags);
|
|
210
214
|
const taskGroupsWithTasksList = tagGroups.map((groupKey) => {
|
|
211
215
|
const taskIds = taskListState.taskIdsByTags[groupKey];
|
|
@@ -217,6 +221,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
|
|
|
217
221
|
addressState,
|
|
218
222
|
taskIds,
|
|
219
223
|
tagState,
|
|
224
|
+
userGroupsState,
|
|
220
225
|
});
|
|
221
226
|
const tagIds = groupKey.split(',');
|
|
222
227
|
const groupName = getTagsByIds(tagState, tagIds)
|
|
@@ -236,7 +241,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
|
|
|
236
241
|
}
|
|
237
242
|
return taskGroupsWithTasksList;
|
|
238
243
|
};
|
|
239
|
-
const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
|
|
244
|
+
const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
|
|
240
245
|
const taskGroupsWithTasksList = DUE_DATE_GROUP_KEYS.map((groupKey) => {
|
|
241
246
|
const taskIds = taskListState.taskIdsByDueDate[groupKey];
|
|
242
247
|
const tasksWithUserDetails = getTasksWithUserDetails({
|
|
@@ -247,6 +252,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
|
|
|
247
252
|
addressState,
|
|
248
253
|
taskIds,
|
|
249
254
|
tagState,
|
|
255
|
+
userGroupsState,
|
|
250
256
|
});
|
|
251
257
|
return {
|
|
252
258
|
groupName: groupKey,
|
|
@@ -260,7 +266,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
|
|
|
260
266
|
}
|
|
261
267
|
return taskGroupsWithTasksList;
|
|
262
268
|
};
|
|
263
|
-
const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, }) => {
|
|
269
|
+
const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
|
|
264
270
|
const { groupByKey } = taskListState.uiState;
|
|
265
271
|
if (groupByKey === 'groupName') {
|
|
266
272
|
return getTaskListGroupedByGroupName({
|
|
@@ -272,6 +278,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
272
278
|
taskGroupState,
|
|
273
279
|
taskGroupViewState,
|
|
274
280
|
tagState,
|
|
281
|
+
userGroupsState,
|
|
275
282
|
});
|
|
276
283
|
}
|
|
277
284
|
if (groupByKey === 'assignee') {
|
|
@@ -282,6 +289,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
282
289
|
userRoleState,
|
|
283
290
|
addressState,
|
|
284
291
|
tagState,
|
|
292
|
+
userGroupsState,
|
|
285
293
|
});
|
|
286
294
|
}
|
|
287
295
|
if (groupByKey === 'priority') {
|
|
@@ -292,6 +300,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
292
300
|
userRoleState,
|
|
293
301
|
addressState,
|
|
294
302
|
tagState,
|
|
303
|
+
userGroupsState,
|
|
295
304
|
});
|
|
296
305
|
}
|
|
297
306
|
if (groupByKey === 'status') {
|
|
@@ -302,6 +311,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
302
311
|
userRoleState,
|
|
303
312
|
addressState,
|
|
304
313
|
tagState,
|
|
314
|
+
userGroupsState,
|
|
305
315
|
});
|
|
306
316
|
}
|
|
307
317
|
if (groupByKey === 'tag') {
|
|
@@ -312,6 +322,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
312
322
|
userRoleState,
|
|
313
323
|
addressState,
|
|
314
324
|
tagState,
|
|
325
|
+
userGroupsState,
|
|
315
326
|
});
|
|
316
327
|
}
|
|
317
328
|
return getTaskListGroupedByDueDate({
|
|
@@ -321,6 +332,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
|
|
|
321
332
|
userRoleState,
|
|
322
333
|
addressState,
|
|
323
334
|
tagState,
|
|
335
|
+
userGroupsState,
|
|
324
336
|
});
|
|
325
337
|
};
|
|
326
338
|
export const getAllTasks = 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) => {
|
|
@@ -334,6 +346,7 @@ export const getAllTasks = createSelector((state) => state.taskListState, (state
|
|
|
334
346
|
taskGroupState,
|
|
335
347
|
taskGroupViewState,
|
|
336
348
|
tagState,
|
|
349
|
+
userGroupsState,
|
|
337
350
|
});
|
|
338
351
|
const fetchStateVariables = [
|
|
339
352
|
taskListState,
|