@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.
@@ -21,6 +21,8 @@ export const getTaskDetail = (state, taskId) => {
21
21
  };
22
22
  let taskHistory = [];
23
23
  let createdByUser = undefined;
24
+ let isArchived = undefined;
25
+ let isDeleted = undefined;
24
26
  let snoozedUntil = undefined;
25
27
  if (taskId != null && sourceTaskDetail != null) {
26
28
  const taskEntity = getTaskById(taskState, taskId);
@@ -28,6 +30,8 @@ export const getTaskDetail = (state, taskId) => {
28
30
  if (taskEntity != null) {
29
31
  createdByUser = getUserAndUserRole(userState, userRoleState, addressState, taskEntity.createdBy);
30
32
  snoozedUntil = taskEntity.snoozedUntil;
33
+ isArchived = taskEntity.isArchived;
34
+ isDeleted = taskEntity.isDeleted;
31
35
  }
32
36
  if (fileIdsInEntity.length > 0) {
33
37
  fetchStatus = reduceFetchState([
@@ -75,6 +79,8 @@ export const getTaskDetail = (state, taskId) => {
75
79
  error: fetchStatus.error,
76
80
  version: 0,
77
81
  createdByUser,
82
+ isArchived,
83
+ isDeleted,
78
84
  showTaskDetailFormFooter,
79
85
  snoozedUntil,
80
86
  };
@@ -5,21 +5,16 @@ import { convertHHMMStrToMinutes } from '../../../../commonStateTypes/fiscalYear
5
5
  import { DEFAULT_DATE_FORMAT } from '../../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY';
6
6
  import { updateTasks } from '../../../../entity/task/taskReducer';
7
7
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
8
- import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess, } from '../taskListReducer';
9
- export const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(bulkUpdateTaskList.match), switchMap((action) => {
10
- const state = state$.value;
8
+ import { bulkUpdateTaskList, fetchTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess, } from '../taskListReducer';
9
+ export const bulkUpdateTaskListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(bulkUpdateTaskList.match), switchMap((action) => {
11
10
  const { taskIds, updates, groupId } = action.payload;
12
- // Move-to-group uses old endpoint with full task objects;
13
- // all other bulk operations use the bulk-update endpoint
14
- const isMoveToGroup = groupId != null;
15
- const url = isMoveToGroup
16
- ? `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`
17
- : `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`;
18
- const payload = isMoveToGroup
19
- ? { tasks: getTasksListPayload(state, taskIds, updates) }
20
- : { task_ids: taskIds, updates: toBulkUpdatesPayload(updates) };
11
+ const bulkUpdates = toBulkUpdatesPayload(updates);
12
+ if (groupId != null) {
13
+ bulkUpdates.task_group_ids = [groupId];
14
+ }
15
+ const payload = { task_ids: taskIds, updates: bulkUpdates };
21
16
  return zeniAPI
22
- .putAndGetJSON(url, payload)
17
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`, payload)
23
18
  .pipe(mergeMap((response) => {
24
19
  if (isSuccessResponse(response) && response.data != null) {
25
20
  const removeFromList = updates.isArchived != null ||
@@ -29,7 +24,7 @@ export const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pi
29
24
  taskIds,
30
25
  groupId,
31
26
  removeFromList,
32
- }));
27
+ }), fetchTaskList());
33
28
  }
34
29
  else {
35
30
  return of(updateTasksListOnBulkUpdateTasksFailure({
@@ -64,7 +59,7 @@ const toBulkUpdatesPayload = (updates) => {
64
59
  payload.tags = updates.tagIds;
65
60
  }
66
61
  if (updates.timeSpent != null) {
67
- payload.time_spent = convertHHMMStrToMinutes(updates.timeSpent);
62
+ payload.time_spent = convertHHMMStrToMinutes(updates.timeSpent.replace(/\D/g, ''));
68
63
  }
69
64
  if (updates.isArchived != null) {
70
65
  payload.is_archived = updates.isArchived;
@@ -1,5 +1,4 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
- import isEqual from 'lodash/isEqual';
3
2
  import orderBy from 'lodash/orderBy';
4
3
  import { getSortOrder, } from '../../../commonPayloadTypes/sortOrderPayload';
5
4
  import { reduceAnyFetchState } from '../../../commonStateTypes/reduceFetchState';
@@ -15,15 +14,6 @@ import { getUserGroupList } from '../../userGroupListView/userGroupListViewSelec
15
14
  import { getUserList, } from '../../userListView/userListViewSelector';
16
15
  import { allTaskPriority, allTaskStatus, } from '../taskDetailView/taskDetailSelector';
17
16
  import { DUE_DATE_GROUP_KEYS, } from './taskList';
18
- import { initialState } from './taskListReducer';
19
- const isDefaultFilters = (taskListState) => {
20
- if (taskListState.uiState.searchText !== initialState.uiState.searchText) {
21
- return false;
22
- }
23
- const hasNoActiveFilters = taskListState.filters.categories == null ||
24
- taskListState.filters.categories.length === 0;
25
- return (hasNoActiveFilters || isEqual(taskListState.filters, initialState.filters));
26
- };
27
17
  const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
28
18
  const tasksInOrder = orderBy(tasksList, (task) => {
29
19
  const tagsByIds = getTagsByIds(tagState, task.tagIds);
@@ -124,11 +114,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
124
114
  if (defaultTaskGroup != null) {
125
115
  sortedTaskGroupsWithTasksList.push(defaultTaskGroup);
126
116
  }
127
- if (taskListState.currentTab !== 'live' ||
128
- isDefaultFilters(taskListState) === false) {
129
- return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
130
- }
131
- return sortedTaskGroupsWithTasksList;
117
+ return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
132
118
  };
133
119
  export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
134
120
  const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
@@ -158,11 +144,7 @@ export const getTaskListGroupedByAssignees = ({ taskListState, taskState, userSt
158
144
  tasks: tasksWithUserDetails,
159
145
  };
160
146
  });
161
- if (taskListState.currentTab !== 'live' ||
162
- isDefaultFilters(taskListState) === false) {
163
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
164
- }
165
- return taskGroupsWithTasksList;
147
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
166
148
  };
167
149
  export const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
168
150
  const taskGroupsWithTasksList = ALL_PRIORITY_CODE.map((groupKey) => {
@@ -185,11 +167,7 @@ export const getTaskListGroupedByPriority = ({ taskListState, taskState, userSta
185
167
  tasks: tasksWithUserDetails,
186
168
  };
187
169
  });
188
- if (taskListState.currentTab !== 'live' ||
189
- isDefaultFilters(taskListState) === false) {
190
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
191
- }
192
- return taskGroupsWithTasksList;
170
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
193
171
  };
194
172
  const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
195
173
  const taskGroupsWithTasksList = ALL_TASK_STATUS_CODE.map((groupKey) => {
@@ -212,11 +190,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
212
190
  tasks: tasksWithUserDetails,
213
191
  };
214
192
  });
215
- if (taskListState.currentTab !== 'live' ||
216
- isDefaultFilters(taskListState) === false) {
217
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
218
- }
219
- return taskGroupsWithTasksList;
193
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
220
194
  };
221
195
  const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
222
196
  const tagGroups = Object.keys(taskListState.taskIdsByTags);
@@ -245,11 +219,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
245
219
  tasks: tasksWithUserDetails,
246
220
  };
247
221
  });
248
- if (taskListState.currentTab !== 'live' ||
249
- isDefaultFilters(taskListState) === false) {
250
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
251
- }
252
- return taskGroupsWithTasksList;
222
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
253
223
  };
254
224
  const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
255
225
  const taskGroupsWithTasksList = DUE_DATE_GROUP_KEYS.map((groupKey) => {
@@ -271,11 +241,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
271
241
  tasks: tasksWithUserDetails,
272
242
  };
273
243
  });
274
- if (taskListState.currentTab !== 'live' ||
275
- isDefaultFilters(taskListState) === false) {
276
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
277
- }
278
- return taskGroupsWithTasksList;
244
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
279
245
  };
280
246
  const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
281
247
  const { groupByKey } = taskListState.uiState;