@zeniai/client-epic-state 4.12.50 → 4.12.52

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 (119) hide show
  1. package/lib/commonStateTypes/animations.d.ts +1 -1
  2. package/lib/commonStateTypes/animations.js +1 -0
  3. package/lib/commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM.d.ts +2 -0
  4. package/lib/commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM.js +26 -0
  5. package/lib/entity/billPay/billTransaction/billTransactionPayload.d.ts +13 -1
  6. package/lib/entity/billPay/billTransaction/billTransactionPayload.js +24 -1
  7. package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +13 -0
  8. package/lib/entity/billPay/billTransaction/billTransactionState.js +8 -0
  9. package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +2 -2
  10. package/lib/entity/snackbar/snackbarState.d.ts +6 -0
  11. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -5
  12. package/lib/entity/snackbar/snackbarTypes.js +3 -0
  13. package/lib/entity/task/taskPayload.d.ts +1 -0
  14. package/lib/entity/task/taskPayload.js +5 -1
  15. package/lib/entity/task/taskState.d.ts +1 -0
  16. package/lib/entity/tenant/clearAllEpic.d.ts +1 -1
  17. package/lib/entity/tenant/clearAllEpic.js +1 -1
  18. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
  19. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.js +12 -5
  20. package/lib/entity/toastNotification/toastNotificationConstants.d.ts +4 -0
  21. package/lib/entity/toastNotification/toastNotificationConstants.js +7 -0
  22. package/lib/entity/toastNotification/toastNotificationPayload.js +28 -15
  23. package/lib/entity/toastNotification/toastNotificationState.d.ts +8 -8
  24. package/lib/entity/toastNotification/toastNotificationState.js +9 -8
  25. package/lib/entity/transaction/stateTypes/transactionType.d.ts +2 -2
  26. package/lib/entity/vendor/vendorPayload.d.ts +1 -0
  27. package/lib/entity/vendor/vendorPayload.js +4 -4
  28. package/lib/entity/vendor/vendorState.d.ts +1 -0
  29. package/lib/epic.d.ts +10 -7
  30. package/lib/epic.js +10 -7
  31. package/lib/index.d.ts +16 -10
  32. package/lib/index.js +28 -14
  33. package/lib/reducer.d.ts +4 -1
  34. package/lib/reducer.js +4 -1
  35. package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
  36. package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
  37. package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
  38. package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
  39. package/lib/view/commonVendorView/vendorView/vendorViewPayload.d.ts +1 -0
  40. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  41. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  42. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  43. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  44. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  45. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailReducer.d.ts +4 -4
  46. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  47. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewPayload.d.ts +5 -0
  48. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewReducer.d.ts +22 -1
  49. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewReducer.js +133 -2
  50. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewSelector.d.ts +2 -1
  51. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewSelector.js +2 -0
  52. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewState.d.ts +9 -0
  53. package/lib/view/spendManagement/billPay/billDetailView/billDetailViewState.js +14 -0
  54. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.d.ts +2 -2
  55. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +10 -1
  56. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchEligibleActionsForBillEpic.d.ts +7 -0
  57. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchEligibleActionsForBillEpic.js +42 -0
  58. package/lib/view/spendManagement/billPay/billDetailView/epics/retryOrRefundBillEpic.d.ts +9 -0
  59. package/lib/view/spendManagement/billPay/billDetailView/epics/retryOrRefundBillEpic.js +76 -0
  60. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +1 -0
  61. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -0
  62. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +3 -1
  63. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.js +6 -2
  64. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -0
  65. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +3 -0
  66. package/lib/view/spendManagement/billPay/editBillView/editBillViewState.d.ts +1 -0
  67. package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.d.ts +68 -0
  68. package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.js +2 -1
  69. package/lib/view/tagView/epics/createTagEpic.d.ts +1 -1
  70. package/lib/view/tagView/epics/deleteTagEpic.d.ts +1 -1
  71. package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +1 -0
  72. package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +2 -0
  73. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +1 -0
  74. package/lib/view/taskManager/taskDetailView/taskDetail.js +1 -0
  75. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -1
  76. package/lib/view/taskManager/taskListView/{bulkUpdateTaskListEpic.d.ts → epics/bulkUpdateTaskListEpic.d.ts} +8 -6
  77. package/lib/view/taskManager/taskListView/{bulkUpdateTaskListEpic.js → epics/bulkUpdateTaskListEpic.js} +13 -5
  78. package/lib/view/taskManager/taskListView/{dragNDropTasksEpic.d.ts → epics/dragNDropTasksEpic.d.ts} +2 -2
  79. package/lib/view/taskManager/taskListView/{dragNDropTasksEpic.js → epics/dragNDropTasksEpic.js} +2 -2
  80. package/lib/view/taskManager/taskListView/{fetchTaskListEpic.d.ts → epics/fetchTaskListEpic.d.ts} +5 -5
  81. package/lib/view/taskManager/taskListView/{fetchTaskListEpic.js → epics/fetchTaskListEpic.js} +4 -4
  82. package/lib/view/taskManager/taskListView/{fetchTaskListPageEpic.d.ts → epics/fetchTaskListPageEpic.d.ts} +6 -6
  83. package/lib/view/taskManager/taskListView/{fetchTaskListPageEpic.js → epics/fetchTaskListPageEpic.js} +5 -5
  84. package/lib/view/taskManager/taskListView/{updateTaskFromListViewEpic.d.ts → epics/updateTaskFromListViewEpic.d.ts} +4 -4
  85. package/lib/view/taskManager/taskListView/{updateTaskFromListViewEpic.js → epics/updateTaskFromListViewEpic.js} +5 -7
  86. package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
  87. package/lib/view/taskManager/taskListView/taskList.js +1 -0
  88. package/lib/view/taskManager/taskListView/taskListSelector.js +2 -0
  89. package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -2
  90. package/lib/view/{vendorFiling1099List → vendorFiling1099}/__mock__/vendorFiling1099ListMock.d.ts +2 -2
  91. package/lib/view/{vendorFiling1099List → vendorFiling1099}/__mock__/vendorFiling1099ListMock.js +1 -1
  92. package/lib/view/{vendorFiling1099List → vendorFiling1099}/__mock__/vendorFiling1099ListSelectorMock.d.ts +1 -1
  93. package/lib/view/vendorFiling1099/__mock__/vendorFiling1099UploadDetailsMock.d.ts +98 -0
  94. package/lib/view/vendorFiling1099/__mock__/vendorFiling1099UploadDetailsMock.js +101 -0
  95. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/fetchVendorsFiling1099ListEpic.d.ts +5 -5
  96. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/fetchVendorsFiling1099ListEpic.js +5 -5
  97. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListPayload.d.ts +3 -3
  98. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListReducer.d.ts +2 -2
  99. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListReducer.js +1 -1
  100. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListSelector.d.ts +6 -6
  101. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListSelector.js +1 -1
  102. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListState.d.ts +3 -3
  103. package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListState.js +1 -1
  104. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsPayload.d.ts +41 -0
  105. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsPayload.js +32 -0
  106. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsReducer.d.ts +21 -0
  107. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsReducer.js +137 -0
  108. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsSaveEpic.d.ts +9 -0
  109. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsSaveEpic.js +51 -0
  110. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsSelector.d.ts +12 -0
  111. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsSelector.js +15 -0
  112. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsState.d.ts +20 -0
  113. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsState.js +2 -0
  114. package/lib/view/vendorTabView/fetchVendorTabViewEpic.d.ts +1 -1
  115. package/lib/view/vendorTabView/fetchVendorTabViewEpic.js +2 -2
  116. package/package.json +3 -2
  117. /package/lib/view/{vendorFiling1099List → vendorFiling1099}/__mock__/json/vendorFiling1099ListSuccess.json +0 -0
  118. /package/lib/view/{vendorFiling1099List → vendorFiling1099}/__mock__/vendorFiling1099ListSelectorMock.js +0 -0
  119. /package/lib/view/{vendorFiling1099List → vendorFiling1099/vendorFiling1099List}/vendorFiling1099ListPayload.js +0 -0
@@ -106,6 +106,7 @@ export interface EditBillDetailSelectorView extends SelectorView {
106
106
  lastRecommendedVendorName?: string;
107
107
  recurringConfig?: RecurringBillConfigLocalData;
108
108
  recurringBillInstances?: RecurringBillInstance[];
109
+ isBillMarkedForRetry?: boolean;
109
110
  }
110
111
  export interface EditBillInitialDetails {
111
112
  vendor?: Vendor;
@@ -124,6 +124,7 @@ const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAc
124
124
  let isRecurring = false;
125
125
  let recurringConfig;
126
126
  let recurringBillInstances;
127
+ let isBillMarkedForRetry = false;
127
128
  if (billId != null) {
128
129
  isDeleted = (_h = transaction === null || transaction === void 0 ? void 0 : transaction.isDeleted) !== null && _h !== void 0 ? _h : false;
129
130
  createdBy = (0, userSelector_1.getUserByUserId)(userState, (_j = transaction === null || transaction === void 0 ? void 0 : transaction.createdBy) !== null && _j !== void 0 ? _j : '');
@@ -275,6 +276,7 @@ const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAc
275
276
  recurringConfig = sourceBillDetail.billDetailLocalData.recurringConfig;
276
277
  recurringBillInstances =
277
278
  sourceBillDetail.billDetailLocalData.recurringBillInstances;
279
+ isBillMarkedForRetry = Boolean(sourceBillDetail.isBillMarkedForRetry);
278
280
  //add paymentToOption on initial bill load for collect from email
279
281
  if (isCollectToAccountInfoFromVendorContact &&
280
282
  toAccountVendorEmail != null &&
@@ -361,6 +363,7 @@ const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAc
361
363
  recurringBillInstances,
362
364
  recurringConfig,
363
365
  isProcessing,
366
+ isBillMarkedForRetry,
364
367
  };
365
368
  };
366
369
  exports.getEditBillDetail = getEditBillDetail;
@@ -24,6 +24,7 @@ export interface EditBillDetail {
24
24
  uploadFetchState: FetchStateAndError;
25
25
  suggestedVendorIdFromParsedInvoice?: ID;
26
26
  recommendationByLineId: Record<ID, Recommendation[]>;
27
+ isBillMarkedForRetry?: boolean;
27
28
  }
28
29
  export declare const initialBillDetail: EditBillDetail;
29
30
  export interface EditBillDetailViewState {
@@ -3,7 +3,75 @@ import { ZeniAPI } from '../../../../../zeniAPI';
3
3
  import { RootState } from '../../../../../reducer';
4
4
  import { saveBillDetail, saveBillSuccessOrFailure } from '../editBillViewReducer';
5
5
  import { updateBillTransaction } from '../../../../../entity/billPay/billTransaction/billTransactionReducer';
6
+ import { EditBillDetail } from '../editBillViewState';
7
+ import { BillStageCodeType, BillTransactionState } from '../../../../../entity/billPay/billTransaction/billTransactionState';
8
+ import { TransactionWithAccountAndClassLinePayload } from '../../../../../entity/transaction/payloadTypes/transactionLinePayload';
9
+ import { AccountState } from '../../../../../entity/account/accountState';
10
+ import { PaymentAccountState } from '../../../../../entity/paymentAccount/paymentAccountState';
6
11
  import { updateRecurringBillConfigs, updateRecurringBills } from '../../../../../entity/billPay/recurringBills/recurringBillsReducer';
12
+ import { RecurringBillState } from '../../../../../entity/billPay/recurringBills/recurringBillsState';
13
+ import { PaymentAchSubConfigCodeType, BillPaymentConfigCodeType, BillPaymentWireSubConfigCodeType } from '../../billPayConfig/billPayConfigState';
7
14
  import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
15
+ import { RecurringBillConfigBodyPayload } from '../../../../../entity/billPay/recurringBills/recurringBillsPayload';
8
16
  export declare type ActionType = ReturnType<typeof saveBillDetail> | ReturnType<typeof updateBillTransaction> | ReturnType<typeof openSnackbar> | ReturnType<typeof saveBillSuccessOrFailure> | ReturnType<typeof updateRecurringBillConfigs> | ReturnType<typeof updateRecurringBills>;
9
17
  export declare const saveBillDetailEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
18
+ export declare function prepareSaveBillPayload(accountState: AccountState, billTransactionState: BillTransactionState, paymentAccountState: PaymentAccountState, recurringBillState: RecurringBillState, billDetail: EditBillDetail, billStageCode: BillStageCodeType): Partial<SaveBillPayload>;
19
+ interface SaveBillPayload {
20
+ vendor_id: string;
21
+ vendor_name?: string | null;
22
+ candidate_vendor_name: string;
23
+ transaction_type: string;
24
+ bill_pay_provider: string;
25
+ account_id: string;
26
+ file_id: string;
27
+ transaction_date: string | null;
28
+ due_date: string | null;
29
+ total_amount: number;
30
+ recipient_total_amount: number;
31
+ bill_pay_info: {
32
+ stage: {
33
+ code: string;
34
+ };
35
+ payment_date: string | null;
36
+ from_account: {
37
+ account_id: string;
38
+ account_type: string;
39
+ };
40
+ to_account: {
41
+ account_id?: string | null;
42
+ payment_instrument_id?: string | null;
43
+ };
44
+ is_cancelled: boolean;
45
+ bill_payment_method_type: {
46
+ code: BillPaymentConfigCodeType | null;
47
+ name: string;
48
+ sub_code: PaymentAchSubConfigCodeType | BillPaymentWireSubConfigCodeType | null;
49
+ };
50
+ to_account_vendor_email?: string | null;
51
+ is_collect_to_account_info_from_vendor_contact?: boolean;
52
+ international_transfer_fee_bearer_payment_method?: string | null;
53
+ };
54
+ document_id: string;
55
+ transaction_memo: string;
56
+ currency_code: string | null;
57
+ recipient_currency_code: string | null;
58
+ lines: TransactionWithAccountAndClassLinePayload[];
59
+ sync_token: string | null;
60
+ update_time: string | null;
61
+ are_approvals_serialized?: boolean;
62
+ exchange_rate: number | null;
63
+ is_recurring?: boolean | null;
64
+ recurring_bill_config?: RecurringBillConfigBodyPayload | null;
65
+ recurring_bill_instances?: RecurringBillInstancePayload[] | null;
66
+ future_recurring_bill_instances?: RecurringBillInstancePayload[] | null;
67
+ is_update_future_recurring_bills?: boolean | null;
68
+ is_update_recurring_bill_config?: boolean | null;
69
+ ocr_parsed_vendor_term: string | null;
70
+ }
71
+ interface RecurringBillInstancePayload {
72
+ instance: number;
73
+ payment_date: string;
74
+ vendor_receive_date: string;
75
+ vendor_receive_date_notes: string;
76
+ }
77
+ 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.saveBillDetailEpic = void 0;
6
+ exports.prepareSaveBillPayload = exports.saveBillDetailEpic = 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"));
@@ -218,6 +218,7 @@ function prepareSaveBillPayload(accountState, billTransactionState, paymentAccou
218
218
  }
219
219
  return payload;
220
220
  }
221
+ exports.prepareSaveBillPayload = prepareSaveBillPayload;
221
222
  const getBillPaymentMethodTypePayload = (paymentType) => {
222
223
  var _a;
223
224
  const code = paymentType === null || paymentType === void 0 ? void 0 : paymentType.method.split('_')[1];
@@ -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" | "je_bill_link" | "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" | "cancel_journal_entry" | "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" | "je_bill_link" | "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" | "bill_pay_refund" | "bill_pay_retry" | "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" | "cancel_journal_entry" | "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" | "task_time_spent_validation";
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" | "je_bill_link" | "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" | "cancel_journal_entry" | "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" | "je_bill_link" | "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" | "bill_pay_refund" | "bill_pay_retry" | "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" | "cancel_journal_entry" | "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" | "task_time_spent_validation";
13
13
  messageText: "failed" | "success" | "notification";
14
14
  type: import("../../..").SnackbarMessageType;
15
15
  showStatusIcon?: boolean | undefined;
@@ -30,6 +30,7 @@ const initializeTaskToLocalStoreEpic = (actions$, state$) => actions$.pipe((0, o
30
30
  },
31
31
  savedRecurringEndDate: task.recurringEndDate,
32
32
  recurringStartDate: task.recurringStartDate,
33
+ timeSpent: task.timeSpent,
33
34
  };
34
35
  const actions = [
35
36
  (0, taskDetailReducer_1.saveTaskUpdatesToLocalStore)({ taskDetailLocalData, taskId }),
@@ -4,6 +4,7 @@ exports.saveTaskDetailEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const responsePayload_1 = require("../../../../responsePayload");
7
+ const formatMinutesToFromHHMM_1 = require("../../../../commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM");
7
8
  const taskDetailReducer_1 = require("../taskDetailReducer");
8
9
  const taskReducer_1 = require("../../../../entity/task/taskReducer");
9
10
  const taskListReducer_1 = require("../../taskListView/taskListReducer");
@@ -98,5 +99,6 @@ const prepareTaskPayload = (state, taskId, taskGroupId) => {
98
99
  : null,
99
100
  sync_token: syncToken,
100
101
  task_group_ids: taskGroupId != null ? [taskGroupId] : [],
102
+ time_spent: (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(localData.timeSpent),
101
103
  };
102
104
  };
@@ -35,5 +35,6 @@ export interface EditTaskLocalData {
35
35
  recurringFrequency?: RecurringFrequencyType;
36
36
  recurringStartDate?: ZeniDate;
37
37
  dueDate?: ZeniDate;
38
+ timeSpent: string;
38
39
  }
39
40
  export declare const initialTaskDetail: EditTaskDetail;
@@ -32,5 +32,6 @@ exports.initialTaskDetail = {
32
32
  name: 'One Time',
33
33
  },
34
34
  recurringEndDateLocalData: {},
35
+ timeSpent: '',
35
36
  },
36
37
  };
@@ -137,7 +137,8 @@ const showFormFooter = (taskDetailLocalData, taskDetailInStore) => {
137
137
  !(0, isEqual_1.default)(taskDetailLocalData.type, taskDetailInStore.type) ||
138
138
  !(0, isEqual_1.default)(taskDetailLocalData.savedRecurringEndDate, taskDetailInStore.recurringEndDate) ||
139
139
  !(0, isEqual_1.default)(taskDetailLocalData.recurringFrequency, taskDetailInStore.recurringFrequency) ||
140
- !(0, isEqual_1.default)(taskDetailLocalData.recurringStartDate, taskDetailInStore.recurringStartDate)) {
140
+ !(0, isEqual_1.default)(taskDetailLocalData.recurringStartDate, taskDetailInStore.recurringStartDate) ||
141
+ !(0, isEqual_1.default)(taskDetailLocalData.timeSpent, taskDetailInStore.timeSpent)) {
141
142
  return true;
142
143
  }
143
144
  return false;
@@ -1,11 +1,11 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
- import { RootState } from '../../../reducer';
4
- import { ZeniAPI } from '../../../zeniAPI';
5
- import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksSuccess, updateTasksListOnBulkUpdateTasksFailure } from './taskListReducer';
6
- import { ID } from '../../../commonStateTypes/common';
7
- import { Task } from '../../../entity/task/taskState';
8
- import { updateTasks } from '../../../entity/task/taskReducer';
3
+ import { RootState } from '../../../../reducer';
4
+ import { ZeniAPI } from '../../../../zeniAPI';
5
+ import { ID } from '../../../../commonStateTypes/common';
6
+ import { bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksSuccess, updateTasksListOnBulkUpdateTasksFailure } from '../taskListReducer';
7
+ import { Task } from '../../../../entity/task/taskState';
8
+ import { updateTasks } from '../../../../entity/task/taskReducer';
9
9
  export declare type ActionType = ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnBulkUpdateTasksFailure> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
10
10
  export declare const bulkUpdateTaskListEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
11
11
  /**
@@ -26,6 +26,8 @@ interface UpdateTaskPayload {
26
26
  recurring_frequency: string | null;
27
27
  recurring_start_date: string | null;
28
28
  task_group_ids: string[];
29
+ time_spent: number;
29
30
  }
30
31
  export declare const getTasksListPayload: (state: RootState, taskIds: ID[], updates: Partial<Task>) => UpdateTaskPayload[];
32
+ export declare const getTaskPayload: (state: RootState, taskId: ID, updates: Partial<Task>) => UpdateTaskPayload;
31
33
  export {};
@@ -3,14 +3,15 @@ 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.getTasksListPayload = exports.bulkUpdateTaskListEpic = void 0;
6
+ exports.getTaskPayload = 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"));
10
- const responsePayload_1 = require("../../../responsePayload");
11
- const taskListReducer_1 = require("./taskListReducer");
12
- const taskReducer_1 = require("../../../entity/task/taskReducer");
13
- const formatZeniDateFY_1 = require("../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY");
10
+ const responsePayload_1 = require("../../../../responsePayload");
11
+ const formatMinutesToFromHHMM_1 = require("../../../../commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM");
12
+ const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY");
13
+ const taskListReducer_1 = require("../taskListReducer");
14
+ const taskReducer_1 = require("../../../../entity/task/taskReducer");
14
15
  const bulkUpdateTaskListEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.bulkUpdateTaskList.match), (0, operators_1.switchMap)((action) => {
15
16
  const state = state$.value;
16
17
  const { taskIds, updates, groupId } = action.payload;
@@ -51,6 +52,12 @@ const getTasksListPayload = (state, taskIds, updates) => {
51
52
  return tasksPayload;
52
53
  };
53
54
  exports.getTasksListPayload = getTasksListPayload;
55
+ const getTaskPayload = (state, taskId, updates) => {
56
+ const { taskState } = state;
57
+ const taskData = (0, get_1.default)(taskState.taskByID, taskId);
58
+ return toTaskPayload(state, Object.assign(Object.assign({}, taskData), updates));
59
+ };
60
+ exports.getTaskPayload = getTaskPayload;
54
61
  const toTaskPayload = (state, task) => {
55
62
  var _a;
56
63
  const { tagState } = state;
@@ -81,6 +88,7 @@ const toTaskPayload = (state, task) => {
81
88
  ? task.recurringStartDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)
82
89
  : null,
83
90
  task_group_ids: task.taskGroupIds,
91
+ time_spent: (0, formatMinutesToFromHHMM_1.convertHHMMStrToMinutes)(task.timeSpent),
84
92
  };
85
93
  return taskPayload;
86
94
  };
@@ -1,6 +1,6 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
- import { dragNDropTasks, bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksSuccess } from './taskListReducer';
4
- import { RootState } from '../../../reducer';
3
+ import { dragNDropTasks, bulkUpdateTaskList, updateTasksListOnBulkUpdateTasksSuccess } from '../taskListReducer';
4
+ import { RootState } from '../../../../reducer';
5
5
  export declare type ActionType = ReturnType<typeof dragNDropTasks> | ReturnType<typeof bulkUpdateTaskList> | ReturnType<typeof updateTasksListOnBulkUpdateTasksSuccess>;
6
6
  export declare const dragNDropTasksEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dragNDropTasksEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
- const taskListReducer_1 = require("./taskListReducer");
7
- const taskListViewHelpers_1 = require("./taskListViewHelpers");
6
+ const taskListReducer_1 = require("../taskListReducer");
7
+ const taskListViewHelpers_1 = require("../taskListViewHelpers");
8
8
  const dragNDropTasksEpic = (actions$,
9
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
10
  state$) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.dragNDropTasks.match), (0, operators_1.mergeMap)((action) => {
@@ -1,9 +1,9 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
- import { RootState } from '../../../reducer';
4
- import { ZeniAPI } from '../../../zeniAPI';
5
- import { fetchTaskList, updateTaskList, updateTaskListFetchStatus } from './taskListReducer';
6
- import { updateTasks } from '../../../entity/task/taskReducer';
7
- import { updateTags } from '../../../entity/tag/tagReducer';
3
+ import { RootState } from '../../../../reducer';
4
+ import { ZeniAPI } from '../../../../zeniAPI';
5
+ import { fetchTaskList, updateTaskList, updateTaskListFetchStatus } from '../taskListReducer';
6
+ import { updateTasks } from '../../../../entity/task/taskReducer';
7
+ import { updateTags } from '../../../../entity/tag/tagReducer';
8
8
  export declare type ActionType = ReturnType<typeof fetchTaskList> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTags> | ReturnType<typeof updateTaskList> | ReturnType<typeof updateTaskListFetchStatus>;
9
9
  export declare const fetchTaskListEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchTaskListEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
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 tagReducer_1 = require("../../../entity/tag/tagReducer");
6
+ const responsePayload_1 = require("../../../../responsePayload");
7
+ const taskListReducer_1 = require("../taskListReducer");
8
+ const taskReducer_1 = require("../../../../entity/task/taskReducer");
9
+ const tagReducer_1 = require("../../../../entity/tag/tagReducer");
10
10
  const fetchTaskListEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.fetchTaskList.match), (0, operators_1.switchMap)(() => {
11
11
  return zeniAPI
12
12
  .getJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks?query=${encodeURIComponent(`{"task_type": "all"}`)}`)
@@ -1,10 +1,10 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
- import { fetchTaskListPage, fetchTaskList } from './taskListReducer';
4
- import { RootState } from '../../../reducer';
5
- import { fetchUserListByType } from '../../userListView/userListViewReducer';
6
- import { fetchClassList } from '../../classList/classListReducer';
7
- import { fetchTagList } from '../../tagView/tagViewReducer';
8
- import { fetchAllTaskGroups } from '../taskGroupView/taskGroupViewReducer';
3
+ import { fetchTaskListPage, fetchTaskList } from '../taskListReducer';
4
+ import { RootState } from '../../../../reducer';
5
+ import { fetchUserListByType } from '../../../userListView/userListViewReducer';
6
+ import { fetchClassList } from '../../../classList/classListReducer';
7
+ import { fetchTagList } from '../../../tagView/tagViewReducer';
8
+ import { fetchAllTaskGroups } from '../../taskGroupView/taskGroupViewReducer';
9
9
  export declare type ActionType = ReturnType<typeof fetchTaskListPage> | ReturnType<typeof fetchTaskList> | ReturnType<typeof fetchUserListByType> | ReturnType<typeof fetchTagList> | ReturnType<typeof fetchAllTaskGroups> | ReturnType<typeof fetchClassList>;
10
10
  export declare const fetchTaskListPageEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchTaskListPageEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
- const taskListReducer_1 = require("./taskListReducer");
7
- const userListViewReducer_1 = require("../../userListView/userListViewReducer");
8
- const classListReducer_1 = require("../../classList/classListReducer");
9
- const tagViewReducer_1 = require("../../tagView/tagViewReducer");
10
- const taskGroupViewReducer_1 = require("../taskGroupView/taskGroupViewReducer");
6
+ const taskListReducer_1 = require("../taskListReducer");
7
+ const userListViewReducer_1 = require("../../../userListView/userListViewReducer");
8
+ const classListReducer_1 = require("../../../classList/classListReducer");
9
+ const tagViewReducer_1 = require("../../../tagView/tagViewReducer");
10
+ const taskGroupViewReducer_1 = require("../../taskGroupView/taskGroupViewReducer");
11
11
  const fetchTaskListPageEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.fetchTaskListPage.match), (0, operators_1.mergeMap)((action) => {
12
12
  const { cacheOverride } = action.payload;
13
13
  const taskListPageActions = [];
@@ -1,8 +1,8 @@
1
1
  import { ActionsObservable, StateObservable } from 'redux-observable';
2
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';
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
7
  export declare type ActionType = ReturnType<typeof updateTaskFromListView> | ReturnType<typeof updateTasks> | ReturnType<typeof updateTasksListOnUpdateTaskFailure> | ReturnType<typeof updateTasksListOnUpdateTaskSuccess>;
8
8
  export declare const updateTaskFromListViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -3,19 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateTaskFromListViewEpic = void 0;
4
4
  const rxjs_1 = require("rxjs");
5
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");
6
+ const responsePayload_1 = require("../../../../responsePayload");
7
+ const taskListReducer_1 = require("../taskListReducer");
8
+ const taskReducer_1 = require("../../../../entity/task/taskReducer");
9
9
  const bulkUpdateTaskListEpic_1 = require("./bulkUpdateTaskListEpic");
10
10
  const updateTaskFromListViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.updateTaskFromListView.match), (0, operators_1.switchMap)((action) => {
11
11
  const state = state$.value;
12
12
  const { task, updates } = action.payload;
13
13
  const taskId = task.id;
14
- const payload = {
15
- tasks: (0, bulkUpdateTaskListEpic_1.getTasksListPayload)(state, [taskId], updates),
16
- };
14
+ const taskData = (0, bulkUpdateTaskListEpic_1.getTaskPayload)(state, taskId, updates);
17
15
  return zeniAPI
18
- .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`, payload)
16
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}`, Object.assign({}, taskData))
19
17
  .pipe((0, operators_1.mergeMap)((response) => {
20
18
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
21
19
  return (0, rxjs_1.from)([
@@ -45,7 +45,7 @@ export interface TaskListUIState extends SpendManagementUIState {
45
45
  searchText: string;
46
46
  groupByKey: TaskGroupKey;
47
47
  }
48
- declare const toTaskListSortKeyType: (v: string) => "priority" | "name" | "status" | "dueDate" | "assignee" | "creationDate" | "tag";
48
+ declare const toTaskListSortKeyType: (v: string) => "priority" | "name" | "status" | "dueDate" | "assignee" | "creationDate" | "tag" | "timeSpent";
49
49
  export declare type TaskListViewSortKey = ReturnType<typeof toTaskListSortKeyType>;
50
50
  export declare const TASK_LIST_FILTER_CATEGORIES: TaskListFilterCategoryOption[];
51
51
  interface TaskListFilterCategoryOption {
@@ -31,6 +31,7 @@ const ALL_TASK_LIST_SORT_KEYS = [
31
31
  'tag',
32
32
  'status',
33
33
  'priority',
34
+ 'timeSpent',
34
35
  ];
35
36
  const toTaskListSortKeyType = (v) => (0, stringToUnion_1.stringToUnion)(v, ALL_TASK_LIST_SORT_KEYS);
36
37
  exports.TASK_LIST_FILTER_CATEGORIES = [
@@ -39,6 +39,8 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
39
39
  return task.status.name;
40
40
  case 'priority':
41
41
  return taskState_1.ALL_PRIORITY_CODE.indexOf(task.priority.code);
42
+ case 'timeSpent':
43
+ return task.timeSpent;
42
44
  case 'name':
43
45
  default:
44
46
  return task.name.toLowerCase();
@@ -8,9 +8,9 @@ import { Transaction, TransactionID } from '../../entity/transaction/stateTypes/
8
8
  import { VendorBase } from '../../entity/vendor/vendorState';
9
9
  import { EntityRecommendationKey } from '../recommendation/recommendationState';
10
10
  import { TransactionDetailLocalData } from './transactionDetailTypes';
11
- export declare const getTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_refund` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
11
+ export declare const getTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_refund` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
12
12
  export declare type TransactionDetailKey = ReturnType<typeof getTransactionDetailKey>;
13
- export declare const getZeniTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_refund` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
13
+ export declare const getZeniTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_refund` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
14
14
  export declare type ZeniTransactionDetailKey = ReturnType<typeof getTransactionDetailKey>;
15
15
  export declare const getThirdPartyIdFromTransactionId: (transactionId: TransactionID) => string;
16
16
  /**
@@ -1,5 +1,5 @@
1
- import { VendorFiling1099ListResponse } from '../vendorFiling1099ListPayload';
2
- import { VendorFiling1099ListState } from '../vendorFiling1099ListState';
1
+ import { VendorFiling1099ListResponse } from '../vendorFiling1099List/vendorFiling1099ListPayload';
2
+ import { VendorFiling1099ListState } from '../vendorFiling1099List/vendorFiling1099ListState';
3
3
  import { RootState } from '../../../reducer';
4
4
  export { vendorFiling1099ListSelectorMock } from './vendorFiling1099ListSelectorMock';
5
5
  export declare const vendorFiling1099ListSuccessResponse: VendorFiling1099ListResponse;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.rootStateWithVendorList = exports.vendorFiling1099ListFailureState = exports.vendorFiling1099ListSuccessState = exports.vendorFiling1099ListInProgressInitialState = exports.vendorFiling1099ListInProgressState = exports.vendorFiling1099ListFailureResponse = exports.vendorFiling1099ListSuccessResponse = exports.vendorFiling1099ListSelectorMock = void 0;
7
7
  const vendorFiling1099ListSuccess_json_1 = __importDefault(require("./json/vendorFiling1099ListSuccess.json"));
8
8
  const apiFailure_json_1 = __importDefault(require("../../../__testHelpers__/apiFailure.json"));
9
- const vendorFiling1099ListReducer_1 = require("../vendorFiling1099ListReducer");
9
+ const vendorFiling1099ListReducer_1 = require("../vendorFiling1099List/vendorFiling1099ListReducer");
10
10
  const vendorStateMocks_1 = require("../../../entity/vendor/__mocks__/vendorStateMocks");
11
11
  const reducer_1 = require("../../../reducer");
12
12
  const zeniDayJS_1 = require("../../../zeniDayJS");
@@ -1,2 +1,2 @@
1
- import { VendorFiling1099ListSelectorView } from '../vendorFiling1099ListSelector';
1
+ import { VendorFiling1099ListSelectorView } from '../vendorFiling1099List/vendorFiling1099ListSelector';
2
2
  export declare const vendorFiling1099ListSelectorMock: VendorFiling1099ListSelectorView;