@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.
@@ -19,6 +19,8 @@ export interface TaskDetailSelectorView extends SelectorView {
19
19
  updateFileStatusById: Record<ID, FetchStateAndError | undefined>;
20
20
  userList: UserListSelectorView;
21
21
  createdByUser?: UserAndRole;
22
+ isArchived?: boolean;
23
+ isDeleted?: boolean;
22
24
  snoozedUntil?: ZeniDate;
23
25
  }
24
26
  export declare const getTaskDetail: (state: RootState, taskId?: ID) => TaskDetailSelectorView;
@@ -27,6 +27,8 @@ const getTaskDetail = (state, taskId) => {
27
27
  };
28
28
  let taskHistory = [];
29
29
  let createdByUser = undefined;
30
+ let isArchived = undefined;
31
+ let isDeleted = undefined;
30
32
  let snoozedUntil = undefined;
31
33
  if (taskId != null && sourceTaskDetail != null) {
32
34
  const taskEntity = (0, taskSelector_1.getTaskById)(taskState, taskId);
@@ -34,6 +36,8 @@ const getTaskDetail = (state, taskId) => {
34
36
  if (taskEntity != null) {
35
37
  createdByUser = (0, userAndRole_1.getUserAndUserRole)(userState, userRoleState, addressState, taskEntity.createdBy);
36
38
  snoozedUntil = taskEntity.snoozedUntil;
39
+ isArchived = taskEntity.isArchived;
40
+ isDeleted = taskEntity.isDeleted;
37
41
  }
38
42
  if (fileIdsInEntity.length > 0) {
39
43
  fetchStatus = (0, reduceFetchState_1.reduceFetchState)([
@@ -81,6 +85,8 @@ const getTaskDetail = (state, taskId) => {
81
85
  error: fetchStatus.error,
82
86
  version: 0,
83
87
  createdByUser,
88
+ isArchived,
89
+ isDeleted,
84
90
  showTaskDetailFormFooter,
85
91
  snoozedUntil,
86
92
  };
@@ -5,9 +5,9 @@ import { updateTasks } from '../../../../entity/task/taskReducer';
5
5
  import { Task } from '../../../../entity/task/taskState';
6
6
  import { RootState } from '../../../../reducer';
7
7
  import { ZeniAPI } from '../../../../zeniAPI';
8
- import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess } from '../taskListReducer';
9
- export type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
10
- export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
8
+ import { bulkUpdateTaskList, fetchTaskList, updateTasksListOnBulkUpdateTasksFailure, updateTasksListOnBulkUpdateTasksSuccess } from '../taskListReducer';
9
+ export type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof fetchTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
10
+ export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
11
11
  /**
12
12
  * Helpers
13
13
  */
@@ -12,20 +12,15 @@ const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpe
12
12
  const taskReducer_1 = require("../../../../entity/task/taskReducer");
13
13
  const responsePayload_1 = require("../../../../responsePayload");
14
14
  const taskListReducer_1 = require("../taskListReducer");
15
- const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.bulkUpdateTaskList.match), (0, operators_1.switchMap)((action) => {
16
- const state = state$.value;
15
+ const bulkUpdateTaskListEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.bulkUpdateTaskList.match), (0, operators_1.switchMap)((action) => {
17
16
  const { taskIds, updates, groupId } = action.payload;
18
- // Move-to-group uses old endpoint with full task objects;
19
- // all other bulk operations use the bulk-update endpoint
20
- const isMoveToGroup = groupId != null;
21
- const url = isMoveToGroup
22
- ? `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`
23
- : `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`;
24
- const payload = isMoveToGroup
25
- ? { tasks: (0, exports.getTasksListPayload)(state, taskIds, updates) }
26
- : { task_ids: taskIds, updates: toBulkUpdatesPayload(updates) };
17
+ const bulkUpdates = toBulkUpdatesPayload(updates);
18
+ if (groupId != null) {
19
+ bulkUpdates.task_group_ids = [groupId];
20
+ }
21
+ const payload = { task_ids: taskIds, updates: bulkUpdates };
27
22
  return zeniAPI
28
- .putAndGetJSON(url, payload)
23
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/bulk-update`, payload)
29
24
  .pipe((0, operators_1.mergeMap)((response) => {
30
25
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
31
26
  const removeFromList = updates.isArchived != null ||
@@ -35,7 +30,7 @@ const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe((0,
35
30
  taskIds,
36
31
  groupId,
37
32
  removeFromList,
38
- }));
33
+ }), (0, taskListReducer_1.fetchTaskList)());
39
34
  }
40
35
  else {
41
36
  return (0, rxjs_1.of)((0, taskListReducer_1.updateTasksListOnBulkUpdateTasksFailure)({
@@ -71,7 +66,7 @@ const toBulkUpdatesPayload = (updates) => {
71
66
  payload.tags = updates.tagIds;
72
67
  }
73
68
  if (updates.timeSpent != null) {
74
- payload.time_spent = (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(updates.timeSpent);
69
+ payload.time_spent = (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(updates.timeSpent.replace(/\D/g, ''));
75
70
  }
76
71
  if (updates.isArchived != null) {
77
72
  payload.is_archived = updates.isArchived;
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getAllTasks = exports.getTaskListGroupedByPriority = exports.getTaskListGroupedByAssignees = void 0;
7
7
  const toolkit_1 = require("@reduxjs/toolkit");
8
- const isEqual_1 = __importDefault(require("lodash/isEqual"));
9
8
  const orderBy_1 = __importDefault(require("lodash/orderBy"));
10
9
  const sortOrderPayload_1 = require("../../../commonPayloadTypes/sortOrderPayload");
11
10
  const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
@@ -21,15 +20,6 @@ const userGroupListViewSelector_1 = require("../../userGroupListView/userGroupLi
21
20
  const userListViewSelector_1 = require("../../userListView/userListViewSelector");
22
21
  const taskDetailSelector_1 = require("../taskDetailView/taskDetailSelector");
23
22
  const taskList_1 = require("./taskList");
24
- const taskListReducer_1 = require("./taskListReducer");
25
- const isDefaultFilters = (taskListState) => {
26
- if (taskListState.uiState.searchText !== taskListReducer_1.initialState.uiState.searchText) {
27
- return false;
28
- }
29
- const hasNoActiveFilters = taskListState.filters.categories == null ||
30
- taskListState.filters.categories.length === 0;
31
- return (hasNoActiveFilters || (0, isEqual_1.default)(taskListState.filters, taskListReducer_1.initialState.filters));
32
- };
33
23
  const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
34
24
  const tasksInOrder = (0, orderBy_1.default)(tasksList, (task) => {
35
25
  const tagsByIds = (0, tagSelector_1.getTagsByIds)(tagState, task.tagIds);
@@ -130,11 +120,7 @@ const getTaskListGroupedByGroupName = ({ taskListState, taskState, taskGroupStat
130
120
  if (defaultTaskGroup != null) {
131
121
  sortedTaskGroupsWithTasksList.push(defaultTaskGroup);
132
122
  }
133
- if (taskListState.currentTab !== 'live' ||
134
- isDefaultFilters(taskListState) === false) {
135
- return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
136
- }
137
- return sortedTaskGroupsWithTasksList;
123
+ return sortedTaskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
138
124
  };
139
125
  const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
140
126
  const assigneeGroups = Object.keys(taskListState.taskIdsByAssignees);
@@ -164,11 +150,7 @@ const getTaskListGroupedByAssignees = ({ taskListState, taskState, userState, us
164
150
  tasks: tasksWithUserDetails,
165
151
  };
166
152
  });
167
- if (taskListState.currentTab !== 'live' ||
168
- isDefaultFilters(taskListState) === false) {
169
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
170
- }
171
- return taskGroupsWithTasksList;
153
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
172
154
  };
173
155
  exports.getTaskListGroupedByAssignees = getTaskListGroupedByAssignees;
174
156
  const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
@@ -192,11 +174,7 @@ const getTaskListGroupedByPriority = ({ taskListState, taskState, userState, use
192
174
  tasks: tasksWithUserDetails,
193
175
  };
194
176
  });
195
- if (taskListState.currentTab !== 'live' ||
196
- isDefaultFilters(taskListState) === false) {
197
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
198
- }
199
- return taskGroupsWithTasksList;
177
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
200
178
  };
201
179
  exports.getTaskListGroupedByPriority = getTaskListGroupedByPriority;
202
180
  const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
@@ -220,11 +198,7 @@ const getTaskListGroupedByStatus = ({ taskListState, taskState, userState, userR
220
198
  tasks: tasksWithUserDetails,
221
199
  };
222
200
  });
223
- if (taskListState.currentTab !== 'live' ||
224
- isDefaultFilters(taskListState) === false) {
225
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
226
- }
227
- return taskGroupsWithTasksList;
201
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
228
202
  };
229
203
  const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
230
204
  const tagGroups = Object.keys(taskListState.taskIdsByTags);
@@ -253,11 +227,7 @@ const getTaskListGroupedByTags = ({ taskListState, taskState, userState, userRol
253
227
  tasks: tasksWithUserDetails,
254
228
  };
255
229
  });
256
- if (taskListState.currentTab !== 'live' ||
257
- isDefaultFilters(taskListState) === false) {
258
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
259
- }
260
- return taskGroupsWithTasksList;
230
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
261
231
  };
262
232
  const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }) => {
263
233
  const taskGroupsWithTasksList = taskList_1.DUE_DATE_GROUP_KEYS.map((groupKey) => {
@@ -279,11 +249,7 @@ const getTaskListGroupedByDueDate = ({ taskListState, taskState, userState, user
279
249
  tasks: tasksWithUserDetails,
280
250
  };
281
251
  });
282
- if (taskListState.currentTab !== 'live' ||
283
- isDefaultFilters(taskListState) === false) {
284
- return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
285
- }
286
- return taskGroupsWithTasksList;
252
+ return taskGroupsWithTasksList.filter((group) => group.tasks.length > 0);
287
253
  };
288
254
  const getTaskGroupsWithTaskList = ({ taskListState, taskState, userState, userRoleState, addressState, taskGroupState, taskGroupViewState, tagState, userGroupsState, }) => {
289
255
  const { groupByKey } = taskListState.uiState;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.20.2-beta33RR",
3
+ "version": "4.20.2-beta35RR",
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",