@zeniai/client-epic-state 4.12.21 → 4.12.22

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 (82) hide show
  1. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +2 -0
  2. package/lib/entity/chargeCardTransaction/chargeCardTransactionPayload.d.ts +5 -0
  3. package/lib/entity/chargeCardTransaction/chargeCardTransactionPayload.js +4 -2
  4. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.d.ts +6 -2
  5. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.js +8 -2
  6. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  7. package/lib/entity/snackbar/snackbarTypes.js +1 -0
  8. package/lib/entity/task/taskState.d.ts +0 -3
  9. package/lib/entity/task/taskState.js +0 -13
  10. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
  11. package/lib/epic.d.ts +4 -1
  12. package/lib/epic.js +4 -1
  13. package/lib/index.d.ts +18 -16
  14. package/lib/index.js +17 -5
  15. package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
  16. package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
  17. package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
  18. package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
  19. package/lib/view/globalMerchantView/epics/fetchGlobalMerchantRecommendationEpic.d.ts +3 -3
  20. package/lib/view/globalMerchantView/epics/fetchGlobalMerchantRecommendationEpic.js +20 -4
  21. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +5 -2
  22. package/lib/view/globalMerchantView/globalMerchantViewReducer.js +8 -3
  23. package/lib/view/globalMerchantView/globalMerchantViewSelector.d.ts +1 -1
  24. package/lib/view/globalMerchantView/globalMerchantViewSelector.js +6 -5
  25. package/lib/view/globalMerchantView/globalMerchantViewState.d.ts +1 -0
  26. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  27. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  28. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  29. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  30. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  31. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  32. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigPayload.d.ts +4 -0
  33. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigReducer.js +9 -0
  34. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.d.ts +4 -0
  35. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +10 -4
  36. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +82 -29
  37. package/lib/view/spendManagement/billPay/editBillView/epics/initializeBillToLocalStoreEpic.js +2 -2
  38. package/lib/view/spendManagement/billPay/editBillView/epics/parseInvoiceToBillEpic.js +1 -1
  39. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigPayload.d.ts +6 -0
  40. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.js +9 -0
  41. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigState.d.ts +3 -0
  42. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +11 -1
  43. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.js +20 -2
  44. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailPayload.d.ts +5 -0
  45. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +27 -2
  46. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +77 -4
  47. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.d.ts +8 -0
  48. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.js +19 -2
  49. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionAttachmentsEpic.d.ts +10 -0
  50. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionAttachmentsEpic.js +42 -0
  51. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionListEpic.js +3 -1
  52. package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewReducer.js +4 -2
  53. package/lib/view/tagView/epics/createTagEpic.d.ts +1 -1
  54. package/lib/view/tagView/epics/deleteTagEpic.d.ts +1 -1
  55. package/lib/view/taskManager/taskDetailView/taskDetail.js +1 -1
  56. package/lib/view/taskManager/taskListView/bulkUpdateTaskListEpic.d.ts +23 -0
  57. package/lib/view/taskManager/taskListView/bulkUpdateTaskListEpic.js +3 -2
  58. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +5 -0
  59. package/lib/view/taskManager/taskListView/taskListReducer.js +64 -3
  60. package/lib/view/taskManager/taskListView/updateTaskFromListViewEpic.d.ts +8 -0
  61. package/lib/view/taskManager/taskListView/updateTaskFromListViewEpic.js +38 -0
  62. package/lib/view/vendorReviewView/common/state/commonTypes.d.ts +2 -1
  63. package/lib/view/vendorReviewView/common/state/commonTypes.js +4 -4
  64. package/lib/view/vendorReviewView/vendorFirstReviewView/epics/saveVendorDetailsViewEpic.d.ts +8 -0
  65. package/lib/view/vendorReviewView/vendorFirstReviewView/epics/saveVendorDetailsViewEpic.js +62 -0
  66. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewPayload.d.ts +7 -1
  67. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewPayload.js +11 -1
  68. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.d.ts +14 -4
  69. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.js +58 -49
  70. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewSelector.d.ts +10 -0
  71. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewSelector.js +21 -1
  72. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewState.d.ts +20 -2
  73. package/lib/view/vendorReviewView/vendorGlobalReviewView/epics/fetchVendorGlobalReviewViewEpic.js +4 -4
  74. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewPayload.d.ts +1 -1
  75. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewPayload.js +2 -2
  76. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewReducer.d.ts +6 -1
  77. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewReducer.js +18 -6
  78. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewSelector.d.ts +3 -1
  79. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewSelector.js +7 -5
  80. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +9 -1
  81. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.js +2 -2
  82. package/package.json +1 -1
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearChargeCardDetail = exports.updateChargeCardDetailUpdateStatus = exports.updateChargeCardDetail = exports.updateChargeCardTransactionListFailure = exports.updateChargeCardTransactionList = exports.fetchChargeCardTransactionList = exports.updateChargeCardDetailFetchState = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.initialState = void 0;
4
+ exports.clearChargeCardDetail = exports.updateChargeCardDetailUpdateStatus = exports.updateChargeCardDetail = exports.updateChargeCardTransactionListFailure = exports.updateChargeCardTransactionAttachmentsInCardDetail = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateChargeCardTransactionAttachmentsFailure = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.updateChargeCardTransactionList = exports.updateChargeCardDetailUIState = exports.fetchChargeCardTransactionList = exports.updateChargeCardDetailFetchState = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
- const chargeCardDetail_1 = require("./chargeCardDetail");
7
6
  const sortOrderPayload_1 = require("../../../../commonPayloadTypes/sortOrderPayload");
7
+ const attachmentPayload_1 = require("../../../../entity/transaction/payloadTypes/attachmentPayload");
8
+ const chargeCardDetail_1 = require("./chargeCardDetail");
8
9
  exports.initialState = {
9
10
  detailById: {},
10
11
  };
@@ -67,10 +68,27 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
67
68
  ...existingCardDetail.transactionList.transactionIds,
68
69
  ...newTransactionIds,
69
70
  ]),
70
- ], fetchState: 'Completed', error: undefined, uiState: Object.assign(Object.assign({}, existingCardDetail.transactionList.uiState), { sortOrder: (0, sortOrderPayload_1.mapSortOrderPayloadToSortOrder)(data.query.sort_order), sortBy: data.query.sort_by, limit: data.query.limit, pageToken: data.query.page_token, pageTokenType: data.query.page_token_type, scrollYOffset: existingCardDetail.transactionList.uiState.pageToken === null
71
+ ], fetchState: 'Completed', error: undefined, uiState: Object.assign(Object.assign({}, existingCardDetail.transactionList.uiState), { sortOrder: (0, sortOrderPayload_1.mapSortOrderPayloadToSortOrder)(data.query.sort_order), sortKey: data.query.sort_by === 'transaction_date'
72
+ ? 'paymentDate'
73
+ : (0, chargeCardDetail_1.toChargeCardTransactionSortKeyType)(data.query.sort_by), limit: data.query.limit, pageToken: data.query.page_token, pageTokenType: data.query.page_token_type, scrollYOffset: existingCardDetail.transactionList.uiState.pageToken === null
71
74
  ? 0
72
75
  : existingCardDetail.transactionList.uiState.scrollYOffset }) }) });
73
76
  },
77
+ updateChargeCardDetailUIState(draft, action) {
78
+ const { chargeCardId, uiState } = action.payload;
79
+ if (uiState.sortKey != null) {
80
+ draft.detailById[chargeCardId].transactionList.uiState.sortKey =
81
+ uiState.sortKey;
82
+ }
83
+ if (uiState.sortOrder != null) {
84
+ draft.detailById[chargeCardId].transactionList.uiState.sortOrder =
85
+ uiState.sortOrder;
86
+ }
87
+ if (uiState.scrollYOffset != null) {
88
+ draft.detailById[chargeCardId].transactionList.uiState.scrollYOffset =
89
+ uiState.scrollYOffset;
90
+ }
91
+ },
74
92
  updateChargeCardTransactionListFailure(draft, action) {
75
93
  const { chargeCardId, error } = action.payload;
76
94
  const existingCardDetail = draft.detailById[chargeCardId];
@@ -99,10 +117,65 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
99
117
  error,
100
118
  } });
101
119
  },
120
+ updateChargeCardTransactionUploadReceiptsFetchStatus(draft, action) {
121
+ const { transactionId, chargeCardId, fetchState, error } = action.payload;
122
+ draft.detailById[chargeCardId].transactionList.uploadReceiptsFetchStateByTransactionId[transactionId] =
123
+ {
124
+ fetchState,
125
+ error,
126
+ };
127
+ },
128
+ updateChargeCardTransactionReceiptsShowTickFetchStatus(draft, action) {
129
+ const { transactionId, chargeCardId, shouldShowTick } = action.payload;
130
+ draft.detailById[chargeCardId].transactionList.uploadReceiptsShowTickByTransactionId[transactionId] =
131
+ shouldShowTick;
132
+ },
133
+ fetchChargeCardTransactionAttachments: {
134
+ reducer(draft, action) {
135
+ const { cardId, transactionId } = action.payload;
136
+ draft.detailById[cardId] = Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail), { id: cardId, transactionList: Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail.transactionList), { transactionAttachmentsByTransactionId: {
137
+ [transactionId]: {
138
+ fetchState: 'In-Progress',
139
+ error: undefined,
140
+ attachments: [],
141
+ },
142
+ } }) });
143
+ },
144
+ prepare(cardId, transactionId, attachmentIds) {
145
+ return {
146
+ payload: {
147
+ cardId,
148
+ transactionId,
149
+ attachmentIds,
150
+ },
151
+ };
152
+ },
153
+ },
154
+ updateChargeCardTransactionAttachmentsInCardDetail(draft, action) {
155
+ const { cardId, transactionId, transactionAttachments } = action.payload;
156
+ const attachments = transactionAttachments.map((transactionAttachment) => (0, attachmentPayload_1.toAttachment)(transactionAttachment));
157
+ draft.detailById[cardId] = Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail), { id: cardId, transactionList: Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail.transactionList), { transactionAttachmentsByTransactionId: {
158
+ [transactionId]: {
159
+ fetchState: 'Completed',
160
+ error: undefined,
161
+ attachments,
162
+ },
163
+ } }) });
164
+ },
165
+ updateChargeCardTransactionAttachmentsFailure(draft, action) {
166
+ const { cardId, transactionId, status } = action.payload;
167
+ draft.detailById[cardId] = Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail), { id: cardId, transactionList: Object.assign(Object.assign({}, chargeCardDetail_1.emptyChargeCardDetail.transactionList), { transactionAttachmentsByTransactionId: {
168
+ [transactionId]: {
169
+ fetchState: 'Error',
170
+ error: status,
171
+ attachments: [],
172
+ },
173
+ } }) });
174
+ },
102
175
  clearChargeCardDetail(draft) {
103
176
  Object.assign(draft, exports.initialState);
104
177
  },
105
178
  },
106
179
  });
107
- _a = chargeCardDetail.actions, exports.fetchChargeCardDetailPage = _a.fetchChargeCardDetailPage, exports.fetchChargeCardDetail = _a.fetchChargeCardDetail, exports.updateChargeCardDetailFetchState = _a.updateChargeCardDetailFetchState, exports.fetchChargeCardTransactionList = _a.fetchChargeCardTransactionList, exports.updateChargeCardTransactionList = _a.updateChargeCardTransactionList, exports.updateChargeCardTransactionListFailure = _a.updateChargeCardTransactionListFailure, exports.updateChargeCardDetail = _a.updateChargeCardDetail, exports.updateChargeCardDetailUpdateStatus = _a.updateChargeCardDetailUpdateStatus, exports.clearChargeCardDetail = _a.clearChargeCardDetail;
180
+ _a = chargeCardDetail.actions, exports.fetchChargeCardDetailPage = _a.fetchChargeCardDetailPage, exports.fetchChargeCardDetail = _a.fetchChargeCardDetail, exports.updateChargeCardDetailFetchState = _a.updateChargeCardDetailFetchState, exports.fetchChargeCardTransactionList = _a.fetchChargeCardTransactionList, exports.updateChargeCardDetailUIState = _a.updateChargeCardDetailUIState, exports.updateChargeCardTransactionList = _a.updateChargeCardTransactionList, exports.updateChargeCardTransactionUploadReceiptsFetchStatus = _a.updateChargeCardTransactionUploadReceiptsFetchStatus, exports.fetchChargeCardTransactionAttachments = _a.fetchChargeCardTransactionAttachments, exports.updateChargeCardTransactionAttachmentsFailure = _a.updateChargeCardTransactionAttachmentsFailure, exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = _a.updateChargeCardTransactionReceiptsShowTickFetchStatus, exports.updateChargeCardTransactionAttachmentsInCardDetail = _a.updateChargeCardTransactionAttachmentsInCardDetail, exports.updateChargeCardTransactionListFailure = _a.updateChargeCardTransactionListFailure, exports.updateChargeCardDetail = _a.updateChargeCardDetail, exports.updateChargeCardDetailUpdateStatus = _a.updateChargeCardDetailUpdateStatus, exports.clearChargeCardDetail = _a.clearChargeCardDetail;
108
181
  exports.default = chargeCardDetail.reducer;
@@ -6,9 +6,12 @@ import { ChargeCardConfigState } from '../chargeCardConfig/chargeCardConfigState
6
6
  import { ChargeCardWithUser } from '../chargeCardList/chargeCardListSelector';
7
7
  import { ChargeCardDetailUiState } from './chargeCardDetail';
8
8
  import { TwoFactorAuthenticationState } from '../../../twoFactorAuthentication/twoFactorAuthentication';
9
+ import { Attachment } from '../../../../entity/transaction/stateTypes/attachment';
9
10
  export interface ChargeCardDetailSelectorView extends SelectorView {
10
11
  chargeCardConfig: ChargeCardConfigState;
11
12
  transactions: ChargeCardTransaction[];
13
+ uploadReceiptsFetchStateByTransactionId: Record<ID, FetchStateAndError>;
14
+ uploadReceiptsShowTickByTransactionId: Record<ID, boolean>;
12
15
  uiState: ChargeCardDetailUiState;
13
16
  transactionListFetchState: FetchStateAndError;
14
17
  twoFAView: TwoFactorAuthenticationState;
@@ -17,3 +20,8 @@ export interface ChargeCardDetailSelectorView extends SelectorView {
17
20
  chargeCard?: ChargeCardWithUser;
18
21
  }
19
22
  export declare const getChargeCardDetailView: (state: RootState, chargeCardId: ID) => ChargeCardDetailSelectorView;
23
+ export interface ChargeCardTransactionAttachmentView {
24
+ attachmentFetchStatus: FetchStateAndError;
25
+ transactionAttachments: Attachment[];
26
+ }
27
+ export declare const getChargeCardTransactionAttachmentView: (state: RootState, cardId: ID, transactionId: ID) => ChargeCardTransactionAttachmentView | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getChargeCardDetailView = void 0;
6
+ exports.getChargeCardTransactionAttachmentView = exports.getChargeCardDetailView = void 0;
7
7
  const get_1 = __importDefault(require("lodash/get"));
8
8
  const reduceFetchState_1 = require("../../../../commonStateTypes/reduceFetchState");
9
9
  const addressSelector_1 = require("../../../../entity/address/addressSelector");
@@ -14,7 +14,7 @@ const userSelector_1 = require("../../../../entity/user/userSelector");
14
14
  const userRoleSelector_1 = require("../../../../entity/userRole/userRoleSelector");
15
15
  const chargeCardDetail_1 = require("./chargeCardDetail");
16
16
  const getChargeCardDetailView = (state, chargeCardId) => {
17
- var _a, _b, _c, _d, _e, _f;
17
+ var _a, _b, _c, _d, _e, _f, _g, _h;
18
18
  const { tenantState, addressState, chargeCardDetailState, chargeCardState, classState, userState, userRoleState, chargeCardConfigState, chargeCardTransactionState, twoFactorAuthenticationState, } = state;
19
19
  const loggedInUserId = (_b = (_a = tenantState.loggedInUser) === null || _a === void 0 ? void 0 : _a.userId) !== null && _b !== void 0 ? _b : '';
20
20
  const loggedInUserPhone = (_e = (_c = twoFactorAuthenticationState.phone) !== null && _c !== void 0 ? _c : (_d = (0, userSelector_1.getUserByUserId)(userState, loggedInUserId)) === null || _d === void 0 ? void 0 : _d.phone) !== null && _e !== void 0 ? _e : '';
@@ -69,6 +69,8 @@ const getChargeCardDetailView = (state, chargeCardId) => {
69
69
  error: reducedFetchState.error,
70
70
  chargeCardConfig: chargeCardConfigState,
71
71
  transactions,
72
+ uploadReceiptsFetchStateByTransactionId: (_g = chargeCardDetail === null || chargeCardDetail === void 0 ? void 0 : chargeCardDetail.transactionList.uploadReceiptsFetchStateByTransactionId) !== null && _g !== void 0 ? _g : {},
73
+ uploadReceiptsShowTickByTransactionId: (_h = chargeCardDetail === null || chargeCardDetail === void 0 ? void 0 : chargeCardDetail.transactionList.uploadReceiptsShowTickByTransactionId) !== null && _h !== void 0 ? _h : {},
72
74
  uiState,
73
75
  transactionListFetchState,
74
76
  twoFAView: twoFactorAuthenticationState,
@@ -77,3 +79,18 @@ const getChargeCardDetailView = (state, chargeCardId) => {
77
79
  };
78
80
  };
79
81
  exports.getChargeCardDetailView = getChargeCardDetailView;
82
+ const getChargeCardTransactionAttachmentView = (state, cardId, transactionId) => {
83
+ const { chargeCardDetailState } = state;
84
+ const { transactionAttachmentsByTransactionId } = chargeCardDetailState.detailById[cardId].transactionList;
85
+ if (transactionAttachmentsByTransactionId[transactionId] == null) {
86
+ return undefined;
87
+ }
88
+ return {
89
+ attachmentFetchStatus: {
90
+ fetchState: transactionAttachmentsByTransactionId[transactionId].fetchState,
91
+ error: transactionAttachmentsByTransactionId[transactionId].error,
92
+ },
93
+ transactionAttachments: transactionAttachmentsByTransactionId[transactionId].attachments,
94
+ };
95
+ };
96
+ exports.getChargeCardTransactionAttachmentView = getChargeCardTransactionAttachmentView;
@@ -0,0 +1,10 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../reducer';
4
+ import { ZeniAPI } from '../../../../zeniAPI';
5
+ import { fetchChargeCardTransactionAttachments, updateChargeCardTransactionAttachmentsInCardDetail, updateChargeCardTransactionAttachmentsFailure } from './chargeCardDetailReducer';
6
+ export declare type ActionType = ReturnType<typeof fetchChargeCardTransactionAttachments> | ReturnType<typeof updateChargeCardTransactionAttachmentsInCardDetail> | ReturnType<typeof updateChargeCardTransactionAttachmentsFailure>;
7
+ export declare const fetchChargeCardTransactionAttachmentsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
8
+ export interface ChargeCardTransactionAttachmentQueryPayload {
9
+ attachment_ids: string[];
10
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchChargeCardTransactionAttachmentsEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../responsePayload");
7
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
8
+ const fetchChargeCardTransactionAttachmentsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.fetchChargeCardTransactionAttachments.match), (0, operators_1.switchMap)((action) => {
9
+ const { transactionId, cardId, attachmentIds } = action.payload;
10
+ let apiUrl = `${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/transactions/${transactionId}/attachments`;
11
+ const queryParam = {
12
+ attachment_ids: attachmentIds,
13
+ };
14
+ apiUrl =
15
+ apiUrl + `?query=${encodeURIComponent(JSON.stringify(queryParam))}`;
16
+ return zeniAPI
17
+ .getJSON(apiUrl)
18
+ .pipe((0, operators_1.mergeMap)((response) => {
19
+ if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
20
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionAttachmentsInCardDetail)({
21
+ transactionId,
22
+ cardId,
23
+ transactionAttachments: response.data.attachments,
24
+ }));
25
+ }
26
+ else {
27
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionAttachmentsFailure)({
28
+ cardId,
29
+ transactionId,
30
+ status: response.status,
31
+ }));
32
+ }
33
+ }), (0, operators_1.catchError)((error) => {
34
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionAttachmentsFailure)({
35
+ cardId,
36
+ transactionId,
37
+ status: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch charge card transaction attachments API call errored out' +
38
+ JSON.stringify(error)),
39
+ }));
40
+ }));
41
+ }));
42
+ exports.fetchChargeCardTransactionAttachmentsEpic = fetchChargeCardTransactionAttachmentsEpic;
@@ -15,7 +15,9 @@ const fetchChargeCardTransactionListEpic = (actions$, state$, zeniAPI) => action
15
15
  const queryParam = {
16
16
  page_token: pageToken,
17
17
  page_token_type: pageTokenType,
18
- sort_by: uiState.sortBy,
18
+ sort_by: uiState.sortKey === 'paymentDate'
19
+ ? 'transaction_date'
20
+ : uiState.sortKey,
19
21
  sort_order: (0, sortOrderPayload_1.getSortOrder)(uiState.sortOrder),
20
22
  };
21
23
  return zeniAPI
@@ -401,8 +401,10 @@ const doUpdateRecommendationForEntity = (draft, lineId, recommendations, shouldA
401
401
  draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId].outOfPocket = Object.assign(Object.assign({}, draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId]
402
402
  .outOfPocket), { recommendations,
403
403
  recommendedAccount, isCategoryUpdateSelected: false, isCategoryFirstTimeAutofilled: true });
404
- draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId].outOfPocket.lineDetail = Object.assign(Object.assign({}, draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId]
405
- .outOfPocket.lineDetail), { account: recommendedAccount });
404
+ if (recommendedAccount != null) {
405
+ draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId].outOfPocket.lineDetail = Object.assign(Object.assign({}, draft.newRemiState.remiDetailLocalData.updatesByLineId[lineId]
406
+ .outOfPocket.lineDetail), { account: recommendedAccount });
407
+ }
406
408
  //add account to addRemiAutoFieldsByLineId, since account was autofilled
407
409
  if (!((_f = draft.newRemiState.addRemiAutoFieldsByLineId[lineId]) === null || _f === void 0 ? void 0 : _f.includes('account')) &&
408
410
  (recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.accountId) != null) {
@@ -8,7 +8,7 @@ import { updateCreatedTagToLocalStore } from '../../taskManager/taskDetailView/t
8
8
  export declare type ActionType = ReturnType<typeof createTag> | ReturnType<typeof updateTagCreateStatus> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateCreatedTagToLocalStore> | ReturnType<typeof updateTags>;
9
9
  export declare const createTagEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
10
10
  payload: {
11
- messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated";
11
+ messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated";
12
12
  messageText: "failed" | "success" | "notification";
13
13
  type: import("../../..").SnackbarMessageType;
14
14
  showStatusIcon?: boolean | undefined;
@@ -9,7 +9,7 @@ export declare const deleteTagEpic: (actions$: ActionsObservable<ActionType>, _s
9
9
  type: string;
10
10
  } | {
11
11
  payload: {
12
- messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated";
12
+ messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated";
13
13
  messageText: "failed" | "success" | "notification";
14
14
  type: import("../../..").SnackbarMessageType;
15
15
  showStatusIcon?: boolean | undefined;
@@ -24,7 +24,7 @@ exports.initialTaskDetail = {
24
24
  status: 'todo',
25
25
  assignee: [],
26
26
  dueDate: undefined,
27
- priority: 'low',
27
+ priority: 'medium',
28
28
  tagIds: [],
29
29
  fileIds: [],
30
30
  type: {
@@ -3,6 +3,29 @@ import { Observable } from 'rxjs';
3
3
  import { RootState } from '../../../reducer';
4
4
  import { ZeniAPI } from '../../../zeniAPI';
5
5
  import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksSuccess, updateTasksListOnBulkUpdateTasksFailure } from './taskListReducer';
6
+ import { ID } from '../../../commonStateTypes/common';
7
+ import { Task } from '../../../entity/task/taskState';
6
8
  import { updateTasks } from '../../../entity/task/taskReducer';
7
9
  export declare type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
8
10
  export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
11
+ /**
12
+ * Helpers
13
+ */
14
+ interface UpdateTaskPayload {
15
+ task_id: string;
16
+ name: string;
17
+ assignees: string[];
18
+ description: string;
19
+ due_date: string | null;
20
+ priority: string;
21
+ status: string;
22
+ tags: string[];
23
+ type: string;
24
+ file_ids: ID[];
25
+ recurring_end_date: string | null;
26
+ recurring_frequency: string | null;
27
+ recurring_start_date: string | null;
28
+ task_group_ids: string[];
29
+ }
30
+ export declare const getTasksListPayload: (state: RootState, taskIds: ID[], updates: Partial<Task>) => UpdateTaskPayload[];
31
+ export {};
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.bulkUpdateTaskListEpic = void 0;
6
+ exports.getTasksListPayload = exports.bulkUpdateTaskListEpic = void 0;
7
7
  const rxjs_1 = require("rxjs");
8
8
  const operators_1 = require("rxjs/operators");
9
9
  const get_1 = __importDefault(require("lodash/get"));
@@ -15,7 +15,7 @@ const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe((0,
15
15
  const state = state$.value;
16
16
  const { taskIds, updates, groupId } = action.payload;
17
17
  const payload = {
18
- tasks: getTasksListPayload(state, taskIds, updates),
18
+ tasks: (0, exports.getTasksListPayload)(state, taskIds, updates),
19
19
  };
20
20
  return zeniAPI
21
21
  .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`, payload)
@@ -50,6 +50,7 @@ const getTasksListPayload = (state, taskIds, updates) => {
50
50
  const tasksPayload = tasksList.map((task) => toTaskPayload(state, task));
51
51
  return tasksPayload;
52
52
  };
53
+ exports.getTasksListPayload = getTasksListPayload;
53
54
  const toTaskPayload = (state, task) => {
54
55
  var _a;
55
56
  const { tagState } = state;
@@ -47,6 +47,11 @@ export declare const fetchTaskListPage: import("@reduxjs/toolkit").ActionCreator
47
47
  }, string>, updateTaskListOnTaskGroupNameUpdate: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
48
48
  taskGroupName: ID;
49
49
  taskGroupId: ID;
50
+ }, string>, updateTaskFromListView: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
51
+ task: Task;
52
+ updates: Partial<Task>;
53
+ }, string>, updateTasksListOnUpdateTaskSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateTasksListOnUpdateTaskFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
54
+ error: ZeniAPIStatus;
50
55
  }, string>, clearTaskList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
51
56
  declare const _default: import("@reduxjs/toolkit").Reducer<TaskListState, import("@reduxjs/toolkit").AnyAction>;
52
57
  export default _default;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearTaskList = 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;
4
+ exports.clearTaskList = 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 taskList_1 = require("./taskList");
7
7
  const taskState_1 = require("../../../entity/task/taskState");
@@ -289,7 +289,9 @@ const taskList = (0, toolkit_1.createSlice)({
289
289
  const priorityKey = (0, taskState_1.toPriorityCodeType)(currentTaskState.priority.code);
290
290
  const statusKey = (0, taskState_1.toTaskStatusCodeType)(currentTaskState.status.code);
291
291
  const assigneeKey = getAssigneesGroupKey(currentTaskState.assignees);
292
- const tagsKey = currentTaskState.tagIds.join();
292
+ const tagIds = [...currentTaskState.tagIds];
293
+ tagIds.sort();
294
+ const tagsKey = tagIds.join();
293
295
  const dueDateKey = currentTaskState.dueDate != null
294
296
  ? getDueDateGroupKey(currentTaskState.dueDate.toString())
295
297
  : 'upcoming';
@@ -349,12 +351,71 @@ const taskList = (0, toolkit_1.createSlice)({
349
351
  const { taskGroupName, taskGroupId } = action.payload;
350
352
  draft.localData.existingTaskGroupNamesByGroupId = Object.assign(Object.assign({}, draft.localData.existingTaskGroupNamesByGroupId), { [taskGroupId]: taskGroupName });
351
353
  },
354
+ updateTaskFromListView(draft, action) {
355
+ var _a;
356
+ const { updates, task } = action.payload;
357
+ const taskId = task.id;
358
+ draft.updateTasksFetchState.fetchState = 'In-Progress';
359
+ draft.updateTasksFetchState.error = undefined;
360
+ if (updates.priority != null) {
361
+ const prevPriorityCode = (0, taskState_1.toPriorityCodeType)(task.priority.code);
362
+ draft.taskIdsByPriority[prevPriorityCode] = draft.taskIdsByPriority[prevPriorityCode].filter((id) => id != taskId);
363
+ const newPriorityCode = (0, taskState_1.toPriorityCodeType)(updates.priority.code);
364
+ draft.taskIdsByPriority[newPriorityCode].push(taskId);
365
+ }
366
+ if (updates.status != null) {
367
+ const prevStatusCode = (0, taskState_1.toTaskStatusCodeType)(task.status.code);
368
+ draft.taskIdsByStatus[prevStatusCode] = draft.taskIdsByStatus[prevStatusCode].filter((id) => id != taskId);
369
+ const newStatusCode = (0, taskState_1.toTaskStatusCodeType)(updates.status.code);
370
+ draft.taskIdsByStatus[newStatusCode].push(taskId);
371
+ }
372
+ if (updates.assignees != null) {
373
+ const prevGroupId = getAssigneesGroupKey(task.assignees);
374
+ draft.taskIdsByAssignees[prevGroupId] = draft.taskIdsByAssignees[prevGroupId].filter((id) => id != taskId);
375
+ const newGroupId = updates.assignees.join(',');
376
+ if (draft.taskIdsByAssignees[newGroupId] != null) {
377
+ draft.taskIdsByAssignees[newGroupId].push(taskId);
378
+ }
379
+ else {
380
+ draft.taskIdsByAssignees = Object.assign(Object.assign({}, draft.taskIdsByAssignees), { [newGroupId]: [taskId] });
381
+ }
382
+ }
383
+ if (updates.dueDate != null) {
384
+ const prevDueDateKey = task.dueDate != null
385
+ ? (0, taskList_1.toDueDateGroupKeyType)((_a = task.dueDate) === null || _a === void 0 ? void 0 : _a.toString())
386
+ : 'upcoming';
387
+ draft.taskIdsByDueDate[prevDueDateKey] = draft.taskIdsByDueDate[prevDueDateKey].filter((id) => id != taskId);
388
+ const newDueDateKey = getDueDateGroupKey(updates.dueDate.toString());
389
+ draft.taskIdsByDueDate[newDueDateKey].push(taskId);
390
+ }
391
+ if (updates.tagIds != null) {
392
+ const tagIds = [...task.tagIds];
393
+ tagIds.sort();
394
+ const prevGroupId = tagIds.join(',');
395
+ draft.taskIdsByTags[prevGroupId] = draft.taskIdsByTags[prevGroupId].filter((id) => id != taskId);
396
+ const newGroupId = updates.tagIds.join(',');
397
+ if (draft.taskIdsByTags[newGroupId] != null) {
398
+ draft.taskIdsByTags[newGroupId].push(taskId);
399
+ }
400
+ else {
401
+ draft.taskIdsByTags = Object.assign(Object.assign({}, draft.taskIdsByTags), { [newGroupId]: [taskId] });
402
+ }
403
+ }
404
+ },
405
+ updateTasksListOnUpdateTaskSuccess(draft) {
406
+ draft.updateTasksFetchState.fetchState = 'Completed';
407
+ draft.updateTasksFetchState.error = undefined;
408
+ },
409
+ updateTasksListOnUpdateTaskFailure(draft, action) {
410
+ draft.updateTasksFetchState.fetchState = 'Error';
411
+ draft.updateTasksFetchState.error = action.payload.error;
412
+ },
352
413
  clearTaskList(draft) {
353
414
  Object.assign(draft, exports.initialState);
354
415
  },
355
416
  },
356
417
  });
357
- _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.clearTaskList = _a.clearTaskList;
418
+ _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.clearTaskList = _a.clearTaskList;
358
419
  exports.default = taskList.reducer;
359
420
  /**
360
421
  * helpers
@@ -0,0 +1,8 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../reducer';
4
+ import { ZeniAPI } from '../../../zeniAPI';
5
+ import { updateTaskFromListView, updateTasksListOnUpdateTaskSuccess, updateTasksListOnUpdateTaskFailure } from './taskListReducer';
6
+ import { updateTasks } from '../../../entity/task/taskReducer';
7
+ export declare type ActionType = ReturnType<typeof updateTaskFromListView> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnUpdateTaskFailure> | ReturnType<typeof updateTasksListOnUpdateTaskSuccess>;
8
+ export declare const updateTaskFromListViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateTaskFromListViewEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../responsePayload");
7
+ const taskListReducer_1 = require("./taskListReducer");
8
+ const taskReducer_1 = require("../../../entity/task/taskReducer");
9
+ const bulkUpdateTaskListEpic_1 = require("./bulkUpdateTaskListEpic");
10
+ const updateTaskFromListViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.updateTaskFromListView.match), (0, operators_1.switchMap)((action) => {
11
+ const state = state$.value;
12
+ const { task, updates } = action.payload;
13
+ const taskId = task.id;
14
+ const payload = {
15
+ tasks: (0, bulkUpdateTaskListEpic_1.getTasksListPayload)(state, [taskId], updates),
16
+ };
17
+ return zeniAPI
18
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`, payload)
19
+ .pipe((0, operators_1.mergeMap)((response) => {
20
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
21
+ return (0, rxjs_1.from)([
22
+ (0, taskReducer_1.updateTasks)(response.data.tasks),
23
+ (0, taskListReducer_1.updateTasksListOnUpdateTaskSuccess)(),
24
+ ]);
25
+ }
26
+ else {
27
+ return (0, rxjs_1.of)((0, taskListReducer_1.updateTasksListOnUpdateTaskFailure)({
28
+ error: response.status,
29
+ }));
30
+ }
31
+ }), (0, operators_1.catchError)((error) => {
32
+ return (0, rxjs_1.of)((0, taskListReducer_1.updateTasksListOnUpdateTaskFailure)({
33
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'update task from list view REST API call errored out' +
34
+ JSON.stringify(error)),
35
+ }));
36
+ }));
37
+ }));
38
+ exports.updateTaskFromListViewEpic = updateTaskFromListViewEpic;
@@ -14,7 +14,8 @@ export interface VendorReviewRecommendationViewState {
14
14
  export interface VendorReviewNonExistingRecommendationViewState {
15
15
  globalMerchants: RecommendedNonExistingGlobalMerchant[];
16
16
  }
17
- export declare type VendorReviewRowCurrentSelection = 'retain' | 'update' | 'custom_merchant' | 'rename' | null;
17
+ export declare type VendorReviewRowCurrentSelection = 'retain' | 'recommendedFirst' | 'recommendedSecond' | 'customMerchant' | 'rename' | null;
18
+ export declare type GlobalVendorReviewRowCurrentSelection = 'requested' | 'recommendedFirst' | 'recommendedSecond' | 'originalVendor' | null;
18
19
  /**
19
20
  * Helpers
20
21
  */
@@ -49,12 +49,12 @@ const toAllRecommendationsFromPayload = (recommendationsPayload) => {
49
49
  var _a;
50
50
  const recommendations = [];
51
51
  const nonExistingRecommendations = [];
52
- (_a = recommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants.forEach((globalmerchant) => {
53
- if (globalmerchant.global_merchant_id != null) {
54
- recommendations.push((0, globalMerchantPayload_1.toGlobalMerchantBase)(globalmerchant));
52
+ (_a = recommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants.forEach((globalMerchant) => {
53
+ if (globalMerchant.global_merchant_id != null) {
54
+ recommendations.push((0, globalMerchantPayload_1.toGlobalMerchantBase)(globalMerchant));
55
55
  }
56
56
  else {
57
- nonExistingRecommendations.push((0, exports.toNonExistingGlobalMerchantBase)(globalmerchant));
57
+ nonExistingRecommendations.push((0, exports.toNonExistingGlobalMerchantBase)(globalMerchant));
58
58
  }
59
59
  });
60
60
  const recommendationIds = recommendations.map((recommendation) => recommendation.globalMerchantId);
@@ -0,0 +1,8 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { ZeniAPI } from '../../../../zeniAPI';
3
+ import { RootState } from '../../../../reducer';
4
+ import { saveVendorDetailsView, updateVendorDetailsViewFailureOrSuccess } from '../vendorFirstReviewViewReducer';
5
+ import { updateVendors } from '../../../../entity/vendor/vendorReducer';
6
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
7
+ export declare type ActionType = ReturnType<typeof saveVendorDetailsView> | ReturnType<typeof updateVendors> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateVendorDetailsViewFailureOrSuccess>;
8
+ export declare const saveVendorDetailsViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;