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

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.
Files changed (58) hide show
  1. package/lib/entity/file/fileState.d.ts +4 -4
  2. package/lib/entity/file/fileState.js +0 -4
  3. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  4. package/lib/entity/snackbar/snackbarTypes.js +0 -2
  5. package/lib/entity/task/taskPayload.d.ts +0 -3
  6. package/lib/entity/task/taskPayload.js +0 -5
  7. package/lib/entity/task/taskState.d.ts +0 -3
  8. package/lib/entity/transaction/stateTypes/attachment.d.ts +2 -2
  9. package/lib/epic.d.ts +1 -3
  10. package/lib/epic.js +1 -3
  11. package/lib/esm/entity/file/fileState.js +0 -4
  12. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -2
  13. package/lib/esm/entity/task/taskPayload.js +0 -5
  14. package/lib/esm/epic.js +1 -3
  15. package/lib/esm/index.js +4 -4
  16. package/lib/esm/view/taskManager/taskDetailView/epics/archiveTaskEpic.js +0 -3
  17. package/lib/esm/view/taskManager/taskDetailView/epics/deleteTaskEpic.js +0 -5
  18. package/lib/esm/view/taskManager/taskDetailView/taskDetail.js +0 -4
  19. package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +1 -49
  20. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -15
  21. package/lib/esm/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +21 -56
  22. package/lib/esm/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +0 -1
  23. package/lib/esm/view/taskManager/taskListView/epics/fetchTaskListEpic.js +3 -13
  24. package/lib/esm/view/taskManager/taskListView/taskList.js +0 -7
  25. package/lib/esm/view/taskManager/taskListView/taskListReducer.js +12 -91
  26. package/lib/esm/view/taskManager/taskListView/taskListSelector.js +15 -56
  27. package/lib/index.d.ts +4 -4
  28. package/lib/index.js +4 -9
  29. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  30. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  31. package/lib/view/taskManager/taskDetailView/epics/archiveTaskEpic.d.ts +1 -2
  32. package/lib/view/taskManager/taskDetailView/epics/archiveTaskEpic.js +0 -3
  33. package/lib/view/taskManager/taskDetailView/epics/deleteTaskEpic.d.ts +1 -2
  34. package/lib/view/taskManager/taskDetailView/epics/deleteTaskEpic.js +0 -5
  35. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +0 -1
  36. package/lib/view/taskManager/taskDetailView/taskDetail.js +0 -4
  37. package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +1 -10
  38. package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +2 -50
  39. package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +0 -5
  40. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -15
  41. package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.d.ts +7 -6
  42. package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +22 -56
  43. package/lib/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +0 -1
  44. package/lib/view/taskManager/taskListView/epics/fetchTaskListEpic.js +3 -13
  45. package/lib/view/taskManager/taskListView/taskList.d.ts +1 -14
  46. package/lib/view/taskManager/taskListView/taskList.js +1 -8
  47. package/lib/view/taskManager/taskListView/taskListPayload.d.ts +0 -3
  48. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +2 -6
  49. package/lib/view/taskManager/taskListView/taskListReducer.js +13 -92
  50. package/lib/view/taskManager/taskListView/taskListSelector.d.ts +3 -9
  51. package/lib/view/taskManager/taskListView/taskListSelector.js +15 -56
  52. package/package.json +1 -1
  53. package/lib/esm/view/taskManager/taskDetailView/epics/snoozeTaskEpic.js +0 -65
  54. package/lib/esm/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.js +0 -56
  55. package/lib/view/taskManager/taskDetailView/epics/snoozeTaskEpic.d.ts +0 -9
  56. package/lib/view/taskManager/taskDetailView/epics/snoozeTaskEpic.js +0 -69
  57. package/lib/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.d.ts +0 -9
  58. package/lib/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.js +0 -60
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearTaskList = exports.removeTaskFromList = exports.updateTaskListOnCreateTaskFromTemplateSuccess = exports.updateTasksListOnUpdateTaskFailure = exports.updateTasksListOnUpdateTaskSuccess = exports.updateTaskFromListView = exports.updateTaskListOnTaskGroupNameUpdate = exports.updateTaskListOnNewTaskCreationSuccess = exports.dragNDropTasks = exports.updateTaskListOnTaskGroupDeletion = exports.updateTaskListLocalData = exports.initiateTaskListLocalData = exports.updateTasksListOnBulkUpdateTasksFailure = exports.updateTasksListOnBulkUpdateTasksSuccess = exports.bulkUpdateTaskList = exports.updateTaskListOnNewGroupCreationSuccess = exports.updateTaskFilters = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.updateTaskListFetchStatus = exports.updateTaskListTab = exports.updateTaskList = exports.fetchTaskList = exports.fetchTaskListPage = exports.initialState = void 0;
4
+ exports.clearTaskList = exports.updateTaskListOnCreateTaskFromTemplateSuccess = exports.updateTasksListOnUpdateTaskFailure = exports.updateTasksListOnUpdateTaskSuccess = exports.updateTaskFromListView = exports.updateTaskListOnTaskGroupNameUpdate = exports.updateTaskListOnNewTaskCreationSuccess = exports.dragNDropTasks = exports.updateTaskListOnTaskGroupDeletion = exports.updateTaskListLocalData = exports.initiateTaskListLocalData = exports.updateTasksListOnBulkUpdateTasksFailure = exports.updateTasksListOnBulkUpdateTasksSuccess = exports.bulkUpdateTaskList = exports.updateTaskListOnNewGroupCreationSuccess = exports.updateTaskFilters = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.updateTaskListFetchStatus = exports.updateTaskList = exports.fetchTaskList = exports.fetchTaskListPage = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const taskState_1 = require("../../../entity/task/taskState");
7
7
  const zeniDayJS_1 = require("../../../zeniDayJS");
@@ -33,23 +33,7 @@ const initialTaskIdsByDueDate = {
33
33
  today: [],
34
34
  upcoming: [],
35
35
  };
36
- const initialTabData = {
37
- taskIds: [],
38
- taskIdsByAssignees: {},
39
- taskIdsByDueDate: { ...initialTaskIdsByDueDate },
40
- taskIdsByGroupsIds: {},
41
- taskIdsByPriority: { ...initialTaskIdsByPriority },
42
- taskIdsByStatus: { ...initialTaskIdsByStatus },
43
- taskIdsByTags: {},
44
- };
45
36
  exports.initialState = {
46
- currentTab: 'live',
47
- byTab: {
48
- live: { ...initialTabData },
49
- archived: { ...initialTabData },
50
- deleted: { ...initialTabData },
51
- snoozed: { ...initialTabData },
52
- },
53
37
  taskIds: [],
54
38
  taskIdsByGroupsIds: {},
55
39
  taskIdsByPriority: initialTaskIdsByPriority,
@@ -106,30 +90,17 @@ const taskList = (0, toolkit_1.createSlice)({
106
90
  draft.error = undefined;
107
91
  },
108
92
  updateTaskList(draft, action) {
109
- const { data, archived, deleted, snoozed } = action.payload;
93
+ const { data } = action.payload;
110
94
  draft.fetchState = 'Completed';
111
95
  draft.error = undefined;
112
- // Group live tasks
113
- const liveGrouped = getGroupedTaskIds(data);
114
- draft.byTab.live = toTabData(liveGrouped);
115
- // Group other tabs if provided
116
- if (archived != null) {
117
- draft.byTab.archived = toTabData(getGroupedTaskIds(archived));
118
- }
119
- if (deleted != null) {
120
- draft.byTab.deleted = toTabData(getGroupedTaskIds(deleted));
121
- }
122
- if (snoozed != null) {
123
- draft.byTab.snoozed = toTabData(getGroupedTaskIds(snoozed));
124
- }
125
- // Copy active tab data to top-level fields
126
- const activeTabData = draft.byTab[draft.currentTab];
127
- copyTabDataToTopLevel(draft, activeTabData);
128
- },
129
- updateTaskListTab(draft, action) {
130
- draft.currentTab = action.payload;
131
- const activeTabData = draft.byTab[action.payload];
132
- copyTabDataToTopLevel(draft, activeTabData);
96
+ const { taskIds, taskIdsGroupedByPriority, taskIdsByGroupIds, taskIdsGroupedByStatus, taskIdsByAssignees, taskIdsByDueDate, taskIdsByTags, } = getGroupedTaskIds(data);
97
+ draft.taskIds = taskIds;
98
+ draft.taskIdsByGroupsIds = taskIdsByGroupIds;
99
+ draft.taskIdsByPriority = taskIdsGroupedByPriority;
100
+ draft.taskIdsByStatus = taskIdsGroupedByStatus;
101
+ draft.taskIdsByAssignees = taskIdsByAssignees;
102
+ draft.taskIdsByDueDate = taskIdsByDueDate;
103
+ draft.taskIdsByTags = taskIdsByTags;
133
104
  },
134
105
  initiateTaskListLocalData(draft, action) {
135
106
  const { taskGroupById } = action.payload;
@@ -217,13 +188,10 @@ const taskList = (0, toolkit_1.createSlice)({
217
188
  },
218
189
  },
219
190
  updateTasksListOnBulkUpdateTasksSuccess(draft, action) {
220
- const { taskIds, groupId, removeFromList } = action.payload;
191
+ const { taskIds, groupId } = action.payload;
221
192
  draft.updateTasksFetchState.fetchState = 'Completed';
222
193
  draft.updateTasksFetchState.error = undefined;
223
- if (removeFromList) {
224
- removeTaskIds(draft, taskIds);
225
- }
226
- else if (groupId != null) {
194
+ if (groupId != null) {
227
195
  const { groupByKey } = draft.uiState;
228
196
  if (groupByKey === 'groupName') {
229
197
  Object.keys(draft.taskIdsByGroupsIds).forEach((gId) => {
@@ -440,15 +408,12 @@ const taskList = (0, toolkit_1.createSlice)({
440
408
  draft.updateTasksFetchState.fetchState = 'Error';
441
409
  draft.updateTasksFetchState.error = action.payload.error;
442
410
  },
443
- removeTaskFromList(draft, action) {
444
- removeTaskIds(draft, [action.payload]);
445
- },
446
411
  clearTaskList(draft) {
447
412
  Object.assign(draft, exports.initialState);
448
413
  },
449
414
  },
450
415
  });
451
- _a = taskList.actions, exports.fetchTaskListPage = _a.fetchTaskListPage, exports.fetchTaskList = _a.fetchTaskList, exports.updateTaskList = _a.updateTaskList, exports.updateTaskListTab = _a.updateTaskListTab, exports.updateTaskListFetchStatus = _a.updateTaskListFetchStatus, exports.updateTaskListSearchText = _a.updateTaskListSearchText, exports.updateTaskListUIState = _a.updateTaskListUIState, exports.updateTaskFilters = _a.updateTaskFilters, exports.updateTaskListOnNewGroupCreationSuccess = _a.updateTaskListOnNewGroupCreationSuccess, exports.bulkUpdateTaskList = _a.bulkUpdateTaskList, exports.updateTasksListOnBulkUpdateTasksSuccess = _a.updateTasksListOnBulkUpdateTasksSuccess, exports.updateTasksListOnBulkUpdateTasksFailure = _a.updateTasksListOnBulkUpdateTasksFailure, exports.initiateTaskListLocalData = _a.initiateTaskListLocalData, exports.updateTaskListLocalData = _a.updateTaskListLocalData, exports.updateTaskListOnTaskGroupDeletion = _a.updateTaskListOnTaskGroupDeletion, exports.dragNDropTasks = _a.dragNDropTasks, exports.updateTaskListOnNewTaskCreationSuccess = _a.updateTaskListOnNewTaskCreationSuccess, exports.updateTaskListOnTaskGroupNameUpdate = _a.updateTaskListOnTaskGroupNameUpdate, exports.updateTaskFromListView = _a.updateTaskFromListView, exports.updateTasksListOnUpdateTaskSuccess = _a.updateTasksListOnUpdateTaskSuccess, exports.updateTasksListOnUpdateTaskFailure = _a.updateTasksListOnUpdateTaskFailure, exports.updateTaskListOnCreateTaskFromTemplateSuccess = _a.updateTaskListOnCreateTaskFromTemplateSuccess, exports.removeTaskFromList = _a.removeTaskFromList, exports.clearTaskList = _a.clearTaskList;
416
+ _a = taskList.actions, exports.fetchTaskListPage = _a.fetchTaskListPage, exports.fetchTaskList = _a.fetchTaskList, exports.updateTaskList = _a.updateTaskList, exports.updateTaskListFetchStatus = _a.updateTaskListFetchStatus, exports.updateTaskListSearchText = _a.updateTaskListSearchText, exports.updateTaskListUIState = _a.updateTaskListUIState, exports.updateTaskFilters = _a.updateTaskFilters, exports.updateTaskListOnNewGroupCreationSuccess = _a.updateTaskListOnNewGroupCreationSuccess, exports.bulkUpdateTaskList = _a.bulkUpdateTaskList, exports.updateTasksListOnBulkUpdateTasksSuccess = _a.updateTasksListOnBulkUpdateTasksSuccess, exports.updateTasksListOnBulkUpdateTasksFailure = _a.updateTasksListOnBulkUpdateTasksFailure, exports.initiateTaskListLocalData = _a.initiateTaskListLocalData, exports.updateTaskListLocalData = _a.updateTaskListLocalData, exports.updateTaskListOnTaskGroupDeletion = _a.updateTaskListOnTaskGroupDeletion, exports.dragNDropTasks = _a.dragNDropTasks, exports.updateTaskListOnNewTaskCreationSuccess = _a.updateTaskListOnNewTaskCreationSuccess, exports.updateTaskListOnTaskGroupNameUpdate = _a.updateTaskListOnTaskGroupNameUpdate, exports.updateTaskFromListView = _a.updateTaskFromListView, exports.updateTasksListOnUpdateTaskSuccess = _a.updateTasksListOnUpdateTaskSuccess, exports.updateTasksListOnUpdateTaskFailure = _a.updateTasksListOnUpdateTaskFailure, exports.updateTaskListOnCreateTaskFromTemplateSuccess = _a.updateTaskListOnCreateTaskFromTemplateSuccess, exports.clearTaskList = _a.clearTaskList;
452
417
  exports.default = taskList.reducer;
453
418
  /**
454
419
  * helpers
@@ -527,50 +492,6 @@ const getTagsGroupKey = (tags) => {
527
492
  tagIds.sort();
528
493
  return tagIds.join(',');
529
494
  };
530
- const toTabData = (grouped) => ({
531
- taskIds: grouped.taskIds,
532
- taskIdsByAssignees: grouped.taskIdsByAssignees,
533
- taskIdsByDueDate: grouped.taskIdsByDueDate,
534
- taskIdsByGroupsIds: grouped.taskIdsByGroupIds,
535
- taskIdsByPriority: grouped.taskIdsGroupedByPriority,
536
- taskIdsByStatus: grouped.taskIdsGroupedByStatus,
537
- taskIdsByTags: grouped.taskIdsByTags,
538
- });
539
- const copyTabDataToTopLevel = (draft, tabData) => {
540
- draft.taskIds = tabData.taskIds;
541
- draft.taskIdsByGroupsIds = tabData.taskIdsByGroupsIds;
542
- draft.taskIdsByPriority = tabData.taskIdsByPriority;
543
- draft.taskIdsByStatus = tabData.taskIdsByStatus;
544
- draft.taskIdsByAssignees = tabData.taskIdsByAssignees;
545
- draft.taskIdsByDueDate = tabData.taskIdsByDueDate;
546
- draft.taskIdsByTags = tabData.taskIdsByTags;
547
- };
548
- const removeIdsFromTabData = (tabData, taskIds) => {
549
- const isRemoved = (id) => taskIds.includes(id);
550
- tabData.taskIds = tabData.taskIds.filter((id) => !isRemoved(id));
551
- Object.keys(tabData.taskIdsByGroupsIds).forEach((gId) => {
552
- tabData.taskIdsByGroupsIds[gId] = tabData.taskIdsByGroupsIds[gId].filter((id) => !isRemoved(id));
553
- });
554
- Object.keys(tabData.taskIdsByPriority).forEach((key) => {
555
- tabData.taskIdsByPriority[key] = tabData.taskIdsByPriority[key].filter((id) => !isRemoved(id));
556
- });
557
- Object.keys(tabData.taskIdsByStatus).forEach((key) => {
558
- tabData.taskIdsByStatus[key] = tabData.taskIdsByStatus[key].filter((id) => !isRemoved(id));
559
- });
560
- Object.keys(tabData.taskIdsByDueDate).forEach((key) => {
561
- tabData.taskIdsByDueDate[key] = tabData.taskIdsByDueDate[key].filter((id) => !isRemoved(id));
562
- });
563
- Object.keys(tabData.taskIdsByAssignees).forEach((key) => {
564
- tabData.taskIdsByAssignees[key] = tabData.taskIdsByAssignees[key].filter((id) => !isRemoved(id));
565
- });
566
- Object.keys(tabData.taskIdsByTags).forEach((key) => {
567
- tabData.taskIdsByTags[key] = tabData.taskIdsByTags[key].filter((id) => !isRemoved(id));
568
- });
569
- };
570
- const removeTaskIds = (draft, taskIds) => {
571
- removeIdsFromTabData(draft, taskIds);
572
- removeIdsFromTabData(draft.byTab[draft.currentTab], taskIds);
573
- };
574
495
  const getGroupedTaskIds = (tasks) => {
575
496
  const taskIds = [];
576
497
  const taskIdsByGroupIds = {};
@@ -5,16 +5,14 @@ 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';
9
8
  import { UserRoleState } from '../../../entity/userRole/userRoleState';
10
9
  import { RootState } from '../../../reducer';
11
10
  import { UserAndRole } from '../../companyView/types/userAndRole';
12
11
  import { UserGroupListSelectorView } from '../../userGroupListView/userGroupListViewSelector';
13
12
  import { UserListSelectorView } from '../../userListView/userListViewSelector';
14
- import { TaskListFilters, TaskListLocalData, TaskListState, TaskListTab, TaskListUIState } from './taskList';
13
+ import { TaskListFilters, TaskListLocalData, TaskListState, TaskListUIState } from './taskList';
15
14
  export interface TaskWithUserDetails extends Task {
16
15
  assigneeUsers: UserAndRole[];
17
- firstAssigneeSortName: string;
18
16
  }
19
17
  export interface TaskGroupWithTasksList {
20
18
  groupName: string;
@@ -23,10 +21,8 @@ export interface TaskGroupWithTasksList {
23
21
  tasks: TaskWithUserDetails[];
24
22
  }
25
23
  export interface TaskListSelectorView extends SelectorView {
26
- currentTab: TaskListTab;
27
24
  filters: TaskListFilters;
28
25
  localData: TaskListLocalData;
29
- tabCounts: Record<TaskListTab, number>;
30
26
  taskCreationFromTemplateStatus: FetchStateAndError;
31
27
  taskGroupCreationStatus: FetchStateAndError;
32
28
  taskGroupDeleteStatus: FetchStateAndError;
@@ -38,12 +34,11 @@ export interface TaskListSelectorView extends SelectorView {
38
34
  userGroupList: UserGroupListSelectorView;
39
35
  userList: UserListSelectorView;
40
36
  }
41
- export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: {
37
+ export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }: {
42
38
  addressState: AddressState;
43
39
  tagState: TagState;
44
40
  taskListState: TaskListState;
45
41
  taskState: TaskState;
46
- userGroupsState: UserGroupsState;
47
42
  userRoleState: UserRoleState;
48
43
  userState: UserState;
49
44
  }) => {
@@ -52,12 +47,11 @@ export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState,
52
47
  isDefault: boolean;
53
48
  tasks: TaskWithUserDetails[];
54
49
  }[];
55
- export declare const getTaskListGroupedByPriority: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: {
50
+ export declare const getTaskListGroupedByPriority: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }: {
56
51
  addressState: AddressState;
57
52
  tagState: TagState;
58
53
  taskListState: TaskListState;
59
54
  taskState: TaskState;
60
- userGroupsState: UserGroupsState;
61
55
  userRoleState: UserRoleState;
62
56
  userState: UserState;
63
57
  }) => {
@@ -40,12 +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;
45
43
  case 'timeSpent':
46
44
  return task.timeSpent;
47
- case 'visibility':
48
- return task.isPrivate ? 1 : 0;
49
45
  case 'name':
50
46
  default:
51
47
  return task.name.toLowerCase();
@@ -53,7 +49,7 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
53
49
  }, sortOrder);
54
50
  return tasksInOrder;
55
51
  };
56
- const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, userGroupsState, }) => {
52
+ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, }) => {
57
53
  const { sortKey, searchText } = taskListState.uiState;
58
54
  const sortOrder = (0, sortOrderPayload_1.getSortOrder)(taskListState.uiState.sortOrder);
59
55
  const tasks = taskIds
@@ -63,17 +59,7 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
63
59
  const assigneeUsers = task.assignees
64
60
  .map((userId) => (0, userAndRole_1.getUserAndUserRole)(userState, userRoleState, addressState, userId))
65
61
  .filter((value) => value != null);
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 };
62
+ return { ...task, assigneeUsers };
77
63
  }
78
64
  return undefined;
79
65
  })
@@ -82,7 +68,7 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
82
68
  const sortedTaskList = sortTasksList(tagState, filteredTaskList, sortKey, sortOrder);
83
69
  return sortedTaskList;
84
70
  };
85
- const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
71
+ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupState, taskGroupViewState, userState, userRoleState, addressState, tagState, }) => {
86
72
  const { taskGroupsIds } = taskGroupViewState;
87
73
  const taskGroupsWithTasksList = taskGroupsIds
88
74
  .map((taskGroupId) => {
@@ -96,7 +82,6 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
96
82
  addressState,
97
83
  taskIds,
98
84
  tagState,
99
- userGroupsState,
100
85
  });
101
86
  if (taskGroup != null) {
102
87
  return {
@@ -125,13 +110,12 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
125
110
  if (defaultTaskGroup != null) {
126
111
  sortedTaskGroupsWithTasksList.push(defaultTaskGroup);
127
112
  }
128
- if (taskListState.currentTab !== 'live' ||
129
- isDefaultFilters(taskListState) === false) {
113
+ if (isDefaultFilters(taskListState) === false) {
130
114
  return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
131
115
  }
132
116
  return sortedTaskGroupsWithTasksList;
133
117
  };
134
- const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
118
+ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
135
119
  const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
136
120
  const taskGroupsWithTasksList = assigneeGroups.map((groupKey) => {
137
121
  const taskIds = taskListState.taskIdsByAssignees[groupKey];
@@ -143,7 +127,6 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
143
127
  addressState,
144
128
  taskIds,
145
129
  tagState,
146
- userGroupsState,
147
130
  });
148
131
  const assigneeIds = groupKey.split(',');
149
132
  const groupName = (0, userSelector_1.getUsersByUserIds)(userState, assigneeIds)
@@ -159,14 +142,13 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
159
142
  tasks: tasksWithUserDetails,
160
143
  };
161
144
  });
162
- if (taskListState.currentTab !== 'live' ||
163
- isDefaultFilters(taskListState) === false) {
145
+ if (isDefaultFilters(taskListState) === false) {
164
146
  return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
165
147
  }
166
148
  return taskGroupsWithTasksList;
167
149
  };
168
150
  exports.getTaskListGroupedByAssignees = getTaskListGroupedByAssignees;
169
- const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
151
+ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
170
152
  const taskGroupsWithTasksList = taskState_1.ALL_PRIORITY_CODE.map((groupKey) => {
171
153
  const taskIds = taskListState.taskIdsByPriority[groupKey] ?? [];
172
154
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -177,7 +159,6 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
177
159
  addressState,
178
160
  taskIds,
179
161
  tagState,
180
- userGroupsState,
181
162
  });
182
163
  return {
183
164
  groupName: taskDetailSelector_1.allTaskPriority.find((priority) => priority.code === groupKey)?.name ??
@@ -187,14 +168,13 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
187
168
  tasks: tasksWithUserDetails,
188
169
  };
189
170
  });
190
- if (taskListState.currentTab !== 'live' ||
191
- isDefaultFilters(taskListState) === false) {
171
+ if (isDefaultFilters(taskListState) === false) {
192
172
  return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
193
173
  }
194
174
  return taskGroupsWithTasksList;
195
175
  };
196
176
  exports.getTaskListGroupedByPriority = getTaskListGroupedByPriority;
197
- const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
177
+ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
198
178
  const taskGroupsWithTasksList = taskState_1.ALL_TASK_STATUS_CODE.map((groupKey) => {
199
179
  const taskIds = taskListState.taskIdsByStatus[groupKey] ?? [];
200
180
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -205,7 +185,6 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
205
185
  addressState,
206
186
  taskIds,
207
187
  tagState,
208
- userGroupsState,
209
188
  });
210
189
  return {
211
190
  groupName: taskDetailSelector_1.allTaskStatus.find((taskStatus) => taskStatus.code === groupKey)
@@ -215,13 +194,12 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
215
194
  tasks: tasksWithUserDetails,
216
195
  };
217
196
  });
218
- if (taskListState.currentTab !== 'live' ||
219
- isDefaultFilters(taskListState) === false) {
197
+ if (isDefaultFilters(taskListState) === false) {
220
198
  return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
221
199
  }
222
200
  return taskGroupsWithTasksList;
223
201
  };
224
- const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
202
+ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
225
203
  const tagGroups = Object.keys(taskListState.taskIdsByTags);
226
204
  const taskGroupsWithTasksList = tagGroups.map((groupKey) => {
227
205
  const taskIds = taskListState.taskIdsByTags[groupKey];
@@ -233,7 +211,6 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
233
211
  addressState,
234
212
  taskIds,
235
213
  tagState,
236
- userGroupsState,
237
214
  });
238
215
  const tagIds = groupKey.split(',');
239
216
  const groupName = (0, tagSelector_1.getTagsByIds)(tagState, tagIds)
@@ -248,13 +225,12 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
248
225
  tasks: tasksWithUserDetails,
249
226
  };
250
227
  });
251
- if (taskListState.currentTab !== 'live' ||
252
- isDefaultFilters(taskListState) === false) {
228
+ if (isDefaultFilters(taskListState) === false) {
253
229
  return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
254
230
  }
255
231
  return taskGroupsWithTasksList;
256
232
  };
257
- const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
233
+ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, }) => {
258
234
  const taskGroupsWithTasksList = taskList_1.DUE_DATE_GROUP_KEYS.map((groupKey) => {
259
235
  const taskIds = taskListState.taskIdsByDueDate[groupKey];
260
236
  const tasksWithUserDetails = getTasksWithUserDetails({
@@ -265,7 +241,6 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
265
241
  addressState,
266
242
  taskIds,
267
243
  tagState,
268
- userGroupsState,
269
244
  });
270
245
  return {
271
246
  groupName: groupKey,
@@ -274,13 +249,12 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
274
249
  tasks: tasksWithUserDetails,
275
250
  };
276
251
  });
277
- if (taskListState.currentTab !== 'live' ||
278
- isDefaultFilters(taskListState) === false) {
252
+ if (isDefaultFilters(taskListState) === false) {
279
253
  return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
280
254
  }
281
255
  return taskGroupsWithTasksList;
282
256
  };
283
- const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
257
+ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, }) => {
284
258
  const { groupByKey } = taskListState.uiState;
285
259
  if (groupByKey === 'groupName') {
286
260
  return getTaskListGroupedByGroupName({
@@ -292,7 +266,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
292
266
  taskGroupState,
293
267
  taskGroupViewState,
294
268
  tagState,
295
- userGroupsState,
296
269
  });
297
270
  }
298
271
  if (groupByKey === 'assignee') {
@@ -303,7 +276,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
303
276
  userRoleState,
304
277
  addressState,
305
278
  tagState,
306
- userGroupsState,
307
279
  });
308
280
  }
309
281
  if (groupByKey === 'priority') {
@@ -314,7 +286,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
314
286
  userRoleState,
315
287
  addressState,
316
288
  tagState,
317
- userGroupsState,
318
289
  });
319
290
  }
320
291
  if (groupByKey === 'status') {
@@ -325,7 +296,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
325
296
  userRoleState,
326
297
  addressState,
327
298
  tagState,
328
- userGroupsState,
329
299
  });
330
300
  }
331
301
  if (groupByKey === 'tag') {
@@ -336,7 +306,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
336
306
  userRoleState,
337
307
  addressState,
338
308
  tagState,
339
- userGroupsState,
340
309
  });
341
310
  }
342
311
  return getTaskListGroupedByDueDate({
@@ -346,7 +315,6 @@ const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRo
346
315
  userRoleState,
347
316
  addressState,
348
317
  tagState,
349
- userGroupsState,
350
318
  });
351
319
  };
352
320
  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) => {
@@ -360,7 +328,6 @@ exports.getAllTasks = (0, toolkit_1.createSelector)((state) => state.taskListSta
360
328
  taskGroupState,
361
329
  taskGroupViewState,
362
330
  tagState,
363
- userGroupsState,
364
331
  });
365
332
  const fetchStateVariables = [
366
333
  taskListState,
@@ -372,15 +339,7 @@ exports.getAllTasks = (0, toolkit_1.createSelector)((state) => state.taskListSta
372
339
  }
373
340
  const { fetchState, error } = (0, reduceFetchState_1.reduceAnyFetchState)(fetchStateVariables);
374
341
  const taskGroupTemplates = (0, taskGroupTemplateSelector_1.getTaskGroupTemplateByIds)(taskGroupTemplateState, taskGroupTemplateViewState.taskGroupTemplateIds);
375
- const tabCounts = {
376
- live: taskListState.byTab.live.taskIds.length,
377
- archived: taskListState.byTab.archived.taskIds.length,
378
- deleted: taskListState.byTab.deleted.taskIds.length,
379
- snoozed: taskListState.byTab.snoozed.taskIds.length,
380
- };
381
342
  return {
382
- currentTab: taskListState.currentTab,
383
- tabCounts,
384
343
  uiState: taskListState.uiState,
385
344
  filters: taskListState.filters,
386
345
  taskGroupTemplates,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.0.2-betaRR8",
3
+ "version": "5.0.2",
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",
@@ -1,65 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap } from 'rxjs/operators';
3
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
- import { updateTasks } from '../../../../entity/task/taskReducer';
5
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
6
- import { date } from '../../../../zeniDayJS';
7
- import { fetchTaskList, removeTaskFromList, } from '../../taskListView/taskListReducer';
8
- import { snoozeTask, snoozeTaskSuccessOrFailure } from '../taskDetailReducer';
9
- export const snoozeTaskEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(snoozeTask.match), mergeMap((action) => handleSnoozeTask(action.payload.taskId, action.payload.snoozedUntil, zeniAPI)));
10
- const formatSnoozedUntilForDisplay = (snoozedUntil) => date(snoozedUntil).format('MMM D, h:mm A');
11
- const handleSnoozeTask = (taskId, snoozedUntil, zeniAPI) => {
12
- const snoozeTaskApi$ = zeniAPI.postAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}/snooze`, { snoozed_until: snoozedUntil });
13
- return snoozeTaskApi$.pipe(mergeMap((response) => handleApiResponse(response, taskId, snoozedUntil)), catchError((error) => of(snoozeTaskSuccessOrFailure({
14
- fetchState: 'Error',
15
- taskId,
16
- error: createZeniAPIStatus('Unexpected Error', 'Snooze Task REST API call errored out: ' + JSON.stringify(error)),
17
- }))));
18
- };
19
- const handleApiResponse = (response, taskId, snoozedUntil) => {
20
- if (isSuccessResponse(response) &&
21
- response.data != null &&
22
- response.data.tasks.length > 0) {
23
- const fetchActions = [
24
- updateTasks(response.data.tasks),
25
- removeTaskFromList(taskId),
26
- fetchTaskList(),
27
- snoozeTaskSuccessOrFailure({
28
- fetchState: 'Completed',
29
- taskId,
30
- }),
31
- openSnackbar({
32
- messageSection: 'snooze_task',
33
- messageText: 'success',
34
- type: 'success',
35
- variables: [
36
- {
37
- variableName: '_snoozed_until_',
38
- variableValue: formatSnoozedUntilForDisplay(snoozedUntil),
39
- },
40
- ],
41
- }),
42
- ];
43
- return from(fetchActions);
44
- }
45
- else {
46
- return from([
47
- snoozeTaskSuccessOrFailure({
48
- fetchState: 'Error',
49
- taskId,
50
- error: response.status,
51
- }),
52
- openSnackbar({
53
- messageSection: 'snooze_task',
54
- messageText: 'failed',
55
- type: 'error',
56
- variables: [
57
- {
58
- variableName: '_api-error_',
59
- variableValue: response.status.message,
60
- },
61
- ],
62
- }),
63
- ]);
64
- }
65
- };
@@ -1,56 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap } from 'rxjs/operators';
3
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
- import { updateTasks } from '../../../../entity/task/taskReducer';
5
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
6
- import { fetchTaskList } from '../../taskListView/taskListReducer';
7
- import { snoozeTaskSuccessOrFailure, unsnoozeTask, } from '../taskDetailReducer';
8
- export const unsnoozeTaskEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(unsnoozeTask.match), mergeMap((action) => handleUnsnoozeTask(action.payload.taskId, zeniAPI)));
9
- const handleUnsnoozeTask = (taskId, zeniAPI) => {
10
- const unsnoozeTaskApi$ = zeniAPI.deleteAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}/snooze`);
11
- return unsnoozeTaskApi$.pipe(mergeMap((response) => handleApiResponse(response, taskId)), catchError((error) => of(snoozeTaskSuccessOrFailure({
12
- fetchState: 'Error',
13
- taskId,
14
- error: createZeniAPIStatus('Unexpected Error', 'Unsnooze Task REST API call errored out: ' + JSON.stringify(error)),
15
- }))));
16
- };
17
- const handleApiResponse = (response, taskId) => {
18
- if (isSuccessResponse(response) &&
19
- response.data != null &&
20
- response.data.tasks.length > 0) {
21
- const fetchActions = [
22
- updateTasks(response.data.tasks),
23
- fetchTaskList(),
24
- snoozeTaskSuccessOrFailure({
25
- fetchState: 'Completed',
26
- taskId,
27
- }),
28
- openSnackbar({
29
- messageSection: 'unsnooze_task',
30
- messageText: 'success',
31
- type: 'success',
32
- }),
33
- ];
34
- return from(fetchActions);
35
- }
36
- else {
37
- return from([
38
- snoozeTaskSuccessOrFailure({
39
- fetchState: 'Error',
40
- taskId,
41
- error: response.status,
42
- }),
43
- openSnackbar({
44
- messageSection: 'unsnooze_task',
45
- messageText: 'failed',
46
- type: 'error',
47
- variables: [
48
- {
49
- variableName: '_api-error_',
50
- variableValue: response.status.message,
51
- },
52
- ],
53
- }),
54
- ]);
55
- }
56
- };
@@ -1,9 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
3
- import { updateTasks } from '../../../../entity/task/taskReducer';
4
- import { RootState } from '../../../../reducer';
5
- import { ZeniAPI } from '../../../../zeniAPI';
6
- import { fetchTaskList, removeTaskFromList } from '../../taskListView/taskListReducer';
7
- import { snoozeTask, snoozeTaskSuccessOrFailure } from '../taskDetailReducer';
8
- export type ActionType = ReturnType<typeof snoozeTask> | ReturnType<typeof updateTasks> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchTaskList> | ReturnType<typeof snoozeTaskSuccessOrFailure> | ReturnType<typeof removeTaskFromList>;
9
- export declare const snoozeTaskEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;