@zeniai/client-epic-state 5.0.2-betaRR7 → 5.0.2-betaRR8

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.
@@ -34,6 +34,8 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
34
34
  return task.status.name;
35
35
  case 'priority':
36
36
  return ALL_PRIORITY_CODE.indexOf(task.priority.code);
37
+ case 'assignee':
38
+ return task.firstAssigneeSortName;
37
39
  case 'timeSpent':
38
40
  return task.timeSpent;
39
41
  case 'visibility':
@@ -45,7 +47,7 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
45
47
  }, sortOrder);
46
48
  return tasksInOrder;
47
49
  };
48
- const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, }) => {
50
+ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, userGroupsState, }) => {
49
51
  const { sortKey, searchText } = taskListState.uiState;
50
52
  const sortOrder = getSortOrder(taskListState.uiState.sortOrder);
51
53
  const tasks = taskIds
@@ -55,7 +57,17 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
55
57
  const assigneeUsers = task.assignees
56
58
  .map((userId) => getUserAndUserRole(userState, userRoleState, addressState, userId))
57
59
  .filter((value) => value != null);
58
- return { ...task, assigneeUsers };
60
+ const firstUser = assigneeUsers[0]?.user;
61
+ const firstUserName = (firstUser != null ? getUserName(firstUser) : '') ||
62
+ firstUser?.email ||
63
+ '';
64
+ const firstGroupName = task.groupAssignees
65
+ .map((gId) => userGroupsState.userGroupByUserGroupId[gId]?.name)
66
+ .find((name) => name != null && name !== '');
67
+ const firstAssigneeSortName = (firstUserName ||
68
+ firstGroupName ||
69
+ '').toLowerCase();
70
+ return { ...task, assigneeUsers, firstAssigneeSortName };
59
71
  }
60
72
  return undefined;
61
73
  })
@@ -64,7 +76,7 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
64
76
  const sortedTaskList = sortTasksList(tagState, filteredTaskList, sortKey, sortOrder);
65
77
  return sortedTaskList;
66
78
  };
67
- const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, }) => {
79
+ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
68
80
  const { taskGroupsIds } = taskGroupViewState;
69
81
  const taskGroupsWithTasksList = taskGroupsIds
70
82
  .map((taskGroupId) => {
@@ -78,6 +90,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
78
90
  addressState,
79
91
  taskIds,
80
92
  tagState,
93
+ userGroupsState,
81
94
  });
82
95
  if (taskGroup != null) {
83
96
  return {
@@ -112,7 +125,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
112
125
  }
113
126
  return sortedTaskGroupsWithTasksList;
114
127
  };
115
- export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
128
+ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
116
129
  const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
117
130
  const taskGroupsWithTasksList = assigneeGroups.map((groupKey) => {
118
131
  const taskIds = taskListState.taskIdsByAssignees[groupKey];
@@ -124,6 +137,7 @@ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userSt
124
137
  addressState,
125
138
  taskIds,
126
139
  tagState,
140
+ userGroupsState,
127
141
  });
128
142
  const assigneeIds = groupKey.split(',');
129
143
  const groupName = getUsersByUserIds(userState, assigneeIds)
@@ -145,7 +159,7 @@ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userSt
145
159
  }
146
160
  return taskGroupsWithTasksList;
147
161
  };
148
- export const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
162
+ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
149
163
  const taskGroupsWithTasksList = ALL_PRIORITY_CODE.map((groupKey) => {
150
164
  const taskIds = taskListState.taskIdsByPriority[groupKey] ?? [];
151
165
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -156,6 +170,7 @@ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userSta
156
170
  addressState,
157
171
  taskIds,
158
172
  tagState,
173
+ userGroupsState,
159
174
  });
160
175
  return {
161
176
  groupName: allTaskPriority.find((priority) => priority.code === groupKey)?.name ??
@@ -171,7 +186,7 @@ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userSta
171
186
  }
172
187
  return taskGroupsWithTasksList;
173
188
  };
174
- const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
189
+ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
175
190
  const taskGroupsWithTasksList = ALL_TASK_STATUS_CODE.map((groupKey) => {
176
191
  const taskIds = taskListState.taskIdsByStatus[groupKey] ?? [];
177
192
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -182,6 +197,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
182
197
  addressState,
183
198
  taskIds,
184
199
  tagState,
200
+ userGroupsState,
185
201
  });
186
202
  return {
187
203
  groupName: allTaskStatus.find((taskStatus) => taskStatus.code === groupKey)
@@ -197,7 +213,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
197
213
  }
198
214
  return taskGroupsWithTasksList;
199
215
  };
200
- const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
216
+ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
201
217
  const tagGroups = Object.keys(taskListState.taskIdsByTags);
202
218
  const taskGroupsWithTasksList = tagGroups.map((groupKey) => {
203
219
  const taskIds = taskListState.taskIdsByTags[groupKey];
@@ -209,6 +225,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
209
225
  addressState,
210
226
  taskIds,
211
227
  tagState,
228
+ userGroupsState,
212
229
  });
213
230
  const tagIds = groupKey.split(',');
214
231
  const groupName = getTagsByIds(tagState, tagIds)
@@ -229,7 +246,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
229
246
  }
230
247
  return taskGroupsWithTasksList;
231
248
  };
232
- const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
249
+ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
233
250
  const taskGroupsWithTasksList = DUE_DATE_GROUP_KEYS.map((groupKey) => {
234
251
  const taskIds = taskListState.taskIdsByDueDate[groupKey];
235
252
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -240,6 +257,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
240
257
  addressState,
241
258
  taskIds,
242
259
  tagState,
260
+ userGroupsState,
243
261
  });
244
262
  return {
245
263
  groupName: groupKey,
@@ -254,7 +272,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
254
272
  }
255
273
  return taskGroupsWithTasksList;
256
274
  };
257
- const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, }) => {
275
+ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
258
276
  const { groupByKey } = taskListState.uiState;
259
277
  if (groupByKey === 'groupName') {
260
278
  return getTaskListGroupedByGroupName({
@@ -266,6 +284,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
266
284
  taskGroupState,
267
285
  taskGroupViewState,
268
286
  tagState,
287
+ userGroupsState,
269
288
  });
270
289
  }
271
290
  if (groupByKey === 'assignee') {
@@ -276,6 +295,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
276
295
  userRoleState,
277
296
  addressState,
278
297
  tagState,
298
+ userGroupsState,
279
299
  });
280
300
  }
281
301
  if (groupByKey === 'priority') {
@@ -286,6 +306,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
286
306
  userRoleState,
287
307
  addressState,
288
308
  tagState,
309
+ userGroupsState,
289
310
  });
290
311
  }
291
312
  if (groupByKey === 'status') {
@@ -296,6 +317,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
296
317
  userRoleState,
297
318
  addressState,
298
319
  tagState,
320
+ userGroupsState,
299
321
  });
300
322
  }
301
323
  if (groupByKey === 'tag') {
@@ -306,6 +328,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
306
328
  userRoleState,
307
329
  addressState,
308
330
  tagState,
331
+ userGroupsState,
309
332
  });
310
333
  }
311
334
  return getTaskListGroupedByDueDate({
@@ -315,6 +338,7 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
315
338
  userRoleState,
316
339
  addressState,
317
340
  tagState,
341
+ userGroupsState,
318
342
  });
319
343
  };
320
344
  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) => {
@@ -328,6 +352,7 @@ export const getAllTasks = createSelector((state) => state.taskListState, (state
328
352
  taskGroupState,
329
353
  taskGroupViewState,
330
354
  tagState,
355
+ userGroupsState,
331
356
  });
332
357
  const fetchStateVariables = [
333
358
  taskListState,