@zeniai/client-epic-state 5.1.30 → 5.1.32-betaAK0
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.
- package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.d.ts +1 -1
- package/lib/entity/customer/customerPayload.js +11 -2
- package/lib/entity/genericEntity/entity.d.ts +1 -1
- package/lib/entity/invoicing/coupon/couponPayload.d.ts +50 -0
- package/lib/entity/invoicing/coupon/couponPayload.js +2 -0
- package/lib/entity/invoicing/coupon/couponReducer.d.ts +10 -0
- package/lib/entity/invoicing/coupon/couponReducer.js +33 -0
- package/lib/entity/invoicing/coupon/couponState.d.ts +5 -0
- package/lib/entity/invoicing/coupon/couponState.js +2 -0
- package/lib/entity/invoicing/creditNote/creditNotePayload.d.ts +47 -0
- package/lib/entity/invoicing/creditNote/creditNotePayload.js +2 -0
- package/lib/entity/invoicing/creditNote/creditNoteReducer.d.ts +10 -0
- package/lib/entity/invoicing/creditNote/creditNoteReducer.js +35 -0
- package/lib/entity/invoicing/creditNote/creditNoteState.d.ts +5 -0
- package/lib/entity/invoicing/creditNote/creditNoteState.js +2 -0
- package/lib/entity/invoicing/dunningCase/dunningCasePayload.d.ts +29 -0
- package/lib/entity/invoicing/dunningCase/dunningCasePayload.js +2 -0
- package/lib/entity/invoicing/dunningCase/dunningCaseReducer.d.ts +10 -0
- package/lib/entity/invoicing/dunningCase/dunningCaseReducer.js +35 -0
- package/lib/entity/invoicing/dunningCase/dunningCaseState.d.ts +5 -0
- package/lib/entity/invoicing/dunningCase/dunningCaseState.js +2 -0
- package/lib/entity/invoicing/invoice/invoicePayload.d.ts +93 -0
- package/lib/entity/invoicing/invoice/invoicePayload.js +2 -0
- package/lib/entity/invoicing/invoice/invoiceReducer.d.ts +10 -0
- package/lib/entity/invoicing/invoice/invoiceReducer.js +36 -0
- package/lib/entity/invoicing/invoice/invoiceSelector.d.ts +5 -0
- package/lib/entity/invoicing/invoice/invoiceSelector.js +9 -0
- package/lib/entity/invoicing/invoice/invoiceState.d.ts +5 -0
- package/lib/entity/invoicing/invoice/invoiceState.js +2 -0
- package/lib/entity/invoicing/invoicingCommonPayload.d.ts +56 -0
- package/lib/entity/invoicing/invoicingCommonPayload.js +2 -0
- package/lib/entity/invoicing/invoicingCommonState.d.ts +45 -0
- package/lib/entity/invoicing/invoicingCommonState.js +2 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.d.ts +54 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.js +72 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerReducer.d.ts +9 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerReducer.js +47 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.d.ts +4 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.js +17 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerState.d.ts +50 -0
- package/lib/entity/invoicing/invoicingCustomer/invoicingCustomerState.js +2 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.d.ts +75 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.js +105 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer.d.ts +9 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer.js +49 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionSelector.d.ts +5 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionSelector.js +17 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionState.d.ts +75 -0
- package/lib/entity/invoicing/invoicingSubscription/invoicingSubscriptionState.js +2 -0
- package/lib/entity/invoicing/plan/planPayload.d.ts +41 -0
- package/lib/entity/invoicing/plan/planPayload.js +2 -0
- package/lib/entity/invoicing/plan/planReducer.d.ts +10 -0
- package/lib/entity/invoicing/plan/planReducer.js +33 -0
- package/lib/entity/invoicing/plan/planState.d.ts +5 -0
- package/lib/entity/invoicing/plan/planState.js +2 -0
- package/lib/entity/invoicing/product/productPayload.d.ts +60 -0
- package/lib/entity/invoicing/product/productPayload.js +2 -0
- package/lib/entity/invoicing/product/productReducer.d.ts +10 -0
- package/lib/entity/invoicing/product/productReducer.js +33 -0
- package/lib/entity/invoicing/product/productState.d.ts +5 -0
- package/lib/entity/invoicing/product/productState.js +2 -0
- package/lib/entity/invoicing/transaction/transactionPayload.d.ts +54 -0
- package/lib/entity/invoicing/transaction/transactionPayload.js +2 -0
- package/lib/entity/invoicing/transaction/transactionReducer.d.ts +10 -0
- package/lib/entity/invoicing/transaction/transactionReducer.js +35 -0
- package/lib/entity/invoicing/transaction/transactionState.d.ts +5 -0
- package/lib/entity/invoicing/transaction/transactionState.js +2 -0
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +2 -3
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +1 -1
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +4 -4
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +1 -1
- package/lib/entity/tenant/clearAllEpic.d.ts +41 -2
- package/lib/entity/tenant/clearAllEpic.js +82 -4
- package/lib/entity/tenant/tenantReducer.js +3 -3
- package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +1 -1
- package/lib/entity/vendor/vendorPayload.d.ts +2 -6
- package/lib/entity/vendor/vendorPayload.js +3 -14
- package/lib/entity/vendor/vendorReducer.js +0 -3
- package/lib/epic.d.ts +35 -2
- package/lib/epic.js +46 -2
- package/lib/esm/entity/customer/customerPayload.js +11 -2
- package/lib/esm/entity/invoicing/coupon/couponPayload.js +1 -0
- package/lib/esm/entity/invoicing/coupon/couponReducer.js +29 -0
- package/lib/esm/entity/invoicing/coupon/couponState.js +1 -0
- package/lib/esm/entity/invoicing/creditNote/creditNotePayload.js +1 -0
- package/lib/esm/entity/invoicing/creditNote/creditNoteReducer.js +31 -0
- package/lib/esm/entity/invoicing/creditNote/creditNoteState.js +1 -0
- package/lib/esm/entity/invoicing/dunningCase/dunningCasePayload.js +1 -0
- package/lib/esm/entity/invoicing/dunningCase/dunningCaseReducer.js +31 -0
- package/lib/esm/entity/invoicing/dunningCase/dunningCaseState.js +1 -0
- package/lib/esm/entity/invoicing/invoice/invoicePayload.js +1 -0
- package/lib/esm/entity/invoicing/invoice/invoiceReducer.js +32 -0
- package/lib/esm/entity/invoicing/invoice/invoiceSelector.js +4 -0
- package/lib/esm/entity/invoicing/invoice/invoiceState.js +1 -0
- package/lib/esm/entity/invoicing/invoicingCommonPayload.js +1 -0
- package/lib/esm/entity/invoicing/invoicingCommonState.js +1 -0
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerPayload.js +68 -0
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerReducer.js +40 -0
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerSelector.js +10 -0
- package/lib/esm/entity/invoicing/invoicingCustomer/invoicingCustomerState.js +1 -0
- package/lib/esm/entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload.js +98 -0
- package/lib/esm/entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer.js +42 -0
- package/lib/esm/entity/invoicing/invoicingSubscription/invoicingSubscriptionSelector.js +10 -0
- package/lib/esm/entity/invoicing/invoicingSubscription/invoicingSubscriptionState.js +1 -0
- package/lib/esm/entity/invoicing/plan/planPayload.js +1 -0
- package/lib/esm/entity/invoicing/plan/planReducer.js +29 -0
- package/lib/esm/entity/invoicing/plan/planState.js +1 -0
- package/lib/esm/entity/invoicing/product/productPayload.js +1 -0
- package/lib/esm/entity/invoicing/product/productReducer.js +29 -0
- package/lib/esm/entity/invoicing/product/productState.js +1 -0
- package/lib/esm/entity/invoicing/transaction/transactionPayload.js +1 -0
- package/lib/esm/entity/invoicing/transaction/transactionReducer.js +31 -0
- package/lib/esm/entity/invoicing/transaction/transactionState.js +1 -0
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +2 -3
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +4 -4
- package/lib/esm/entity/tenant/clearAllEpic.js +78 -0
- package/lib/esm/entity/tenant/tenantReducer.js +3 -3
- package/lib/esm/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -2
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogPayload.js +1 -1
- package/lib/esm/entity/vendor/vendorPayload.js +2 -12
- package/lib/esm/entity/vendor/vendorReducer.js +1 -4
- package/lib/esm/epic.js +46 -2
- package/lib/esm/index.js +82 -0
- package/lib/esm/reducer.js +120 -0
- package/lib/esm/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +6 -11
- package/lib/esm/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +0 -2
- package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +1 -5
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +2 -1
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +4 -2
- package/lib/esm/view/expenseAutomationView/payload/jeSchedulesPayload.js +1 -4
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +1 -2
- package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +1 -1
- package/lib/esm/view/fileView/fileUploadHelpers.js +1 -2
- package/lib/esm/view/invoicing/approvalAction/approvalActionEpic.js +27 -0
- package/lib/esm/view/invoicing/approvalAction/approvalActionPayload.js +1 -0
- package/lib/esm/view/invoicing/approvalAction/approvalActionReducer.js +36 -0
- package/lib/esm/view/invoicing/approvalAction/approvalActionSelector.js +5 -0
- package/lib/esm/view/invoicing/approvalAction/approvalActionState.js +1 -0
- package/lib/esm/view/invoicing/approvalsView/approvalsViewEpics.js +35 -0
- package/lib/esm/view/invoicing/approvalsView/approvalsViewPayload.js +1 -0
- package/lib/esm/view/invoicing/approvalsView/approvalsViewReducer.js +62 -0
- package/lib/esm/view/invoicing/approvalsView/approvalsViewSelector.js +8 -0
- package/lib/esm/view/invoicing/approvalsView/approvalsViewState.js +1 -0
- package/lib/esm/view/invoicing/auditView/auditViewEpics.js +44 -0
- package/lib/esm/view/invoicing/auditView/auditViewPayload.js +1 -0
- package/lib/esm/view/invoicing/auditView/auditViewReducer.js +56 -0
- package/lib/esm/view/invoicing/auditView/auditViewSelector.js +8 -0
- package/lib/esm/view/invoicing/auditView/auditViewState.js +1 -0
- package/lib/esm/view/invoicing/catalogView/catalogViewEpics.js +139 -0
- package/lib/esm/view/invoicing/catalogView/catalogViewPayload.js +1 -0
- package/lib/esm/view/invoicing/catalogView/catalogViewReducer.js +162 -0
- package/lib/esm/view/invoicing/catalogView/catalogViewSelector.js +31 -0
- package/lib/esm/view/invoicing/catalogView/catalogViewState.js +1 -0
- package/lib/esm/view/invoicing/catalogWrite/catalogWriteEpic.js +35 -0
- package/lib/esm/view/invoicing/catalogWrite/catalogWritePayload.js +1 -0
- package/lib/esm/view/invoicing/catalogWrite/catalogWriteReducer.js +39 -0
- package/lib/esm/view/invoicing/catalogWrite/catalogWriteSelector.js +6 -0
- package/lib/esm/view/invoicing/catalogWrite/catalogWriteState.js +1 -0
- package/lib/esm/view/invoicing/couponView/couponViewEpics.js +79 -0
- package/lib/esm/view/invoicing/couponView/couponViewPayload.js +1 -0
- package/lib/esm/view/invoicing/couponView/couponViewReducer.js +105 -0
- package/lib/esm/view/invoicing/couponView/couponViewSelector.js +18 -0
- package/lib/esm/view/invoicing/couponView/couponViewState.js +1 -0
- package/lib/esm/view/invoicing/couponWrite/couponWriteEpic.js +28 -0
- package/lib/esm/view/invoicing/couponWrite/couponWritePayload.js +1 -0
- package/lib/esm/view/invoicing/couponWrite/couponWriteReducer.js +36 -0
- package/lib/esm/view/invoicing/couponWrite/couponWriteSelector.js +5 -0
- package/lib/esm/view/invoicing/couponWrite/couponWriteState.js +1 -0
- package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +22 -0
- package/lib/esm/view/invoicing/createInvoice/createInvoicePayload.js +1 -0
- package/lib/esm/view/invoicing/createInvoice/createInvoiceReducer.js +36 -0
- package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +5 -0
- package/lib/esm/view/invoicing/createInvoice/createInvoiceState.js +1 -0
- package/lib/esm/view/invoicing/creditNoteView/creditNoteViewEpics.js +85 -0
- package/lib/esm/view/invoicing/creditNoteView/creditNoteViewPayload.js +1 -0
- package/lib/esm/view/invoicing/creditNoteView/creditNoteViewReducer.js +105 -0
- package/lib/esm/view/invoicing/creditNoteView/creditNoteViewSelector.js +20 -0
- package/lib/esm/view/invoicing/creditNoteView/creditNoteViewState.js +1 -0
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +60 -0
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodPayload.js +1 -0
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +84 -0
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +7 -0
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodState.js +1 -0
- package/lib/esm/view/invoicing/dataImportAction/dataImportActionEpic.js +41 -0
- package/lib/esm/view/invoicing/dataImportAction/dataImportActionPayload.js +1 -0
- package/lib/esm/view/invoicing/dataImportAction/dataImportActionReducer.js +73 -0
- package/lib/esm/view/invoicing/dataImportAction/dataImportActionSelector.js +5 -0
- package/lib/esm/view/invoicing/dataImportAction/dataImportActionState.js +1 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewEpics.js +34 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewPayload.js +1 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewReducer.js +66 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewSelector.js +8 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewState.js +1 -0
- package/lib/esm/view/invoicing/dunningAction/dunningActionEpic.js +27 -0
- package/lib/esm/view/invoicing/dunningAction/dunningActionPayload.js +1 -0
- package/lib/esm/view/invoicing/dunningAction/dunningActionReducer.js +36 -0
- package/lib/esm/view/invoicing/dunningAction/dunningActionSelector.js +5 -0
- package/lib/esm/view/invoicing/dunningAction/dunningActionState.js +1 -0
- package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +79 -0
- package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewPayload.js +1 -0
- package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +105 -0
- package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +20 -0
- package/lib/esm/view/invoicing/dunningCaseView/dunningCaseViewState.js +1 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewPayload.js +1 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +36 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +19 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewState.js +1 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.js +22 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewPayload.js +1 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewReducer.js +36 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +30 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewState.js +1 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +24 -0
- package/lib/esm/view/invoicing/invoiceAction/invoiceActionEpic.js +49 -0
- package/lib/esm/view/invoicing/invoiceAction/invoiceActionPayload.js +1 -0
- package/lib/esm/view/invoicing/invoiceAction/invoiceActionReducer.js +42 -0
- package/lib/esm/view/invoicing/invoiceAction/invoiceActionSelector.js +5 -0
- package/lib/esm/view/invoicing/invoiceAction/invoiceActionState.js +1 -0
- package/lib/esm/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +19 -0
- package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailPayload.js +1 -0
- package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailReducer.js +34 -0
- package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailSelector.js +9 -0
- package/lib/esm/view/invoicing/invoiceDetail/invoiceDetailState.js +1 -0
- package/lib/esm/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +32 -0
- package/lib/esm/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +14 -0
- package/lib/esm/view/invoicing/invoiceList/fetchInvoiceListEpic.js +53 -0
- package/lib/esm/view/invoicing/invoiceList/invoiceListPayload.js +1 -0
- package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +90 -0
- package/lib/esm/view/invoicing/invoiceList/invoiceListSelector.js +11 -0
- package/lib/esm/view/invoicing/invoiceList/invoiceListState.js +1 -0
- package/lib/esm/view/invoicing/invoicePdf/invoicePdfEpic.js +36 -0
- package/lib/esm/view/invoicing/invoicePdf/invoicePdfReducer.js +33 -0
- package/lib/esm/view/invoicing/invoicePdf/invoicePdfSelector.js +5 -0
- package/lib/esm/view/invoicing/invoicePdf/invoicePdfState.js +1 -0
- package/lib/esm/view/invoicing/invoicingApiHelper.js +14 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailEpic.js +22 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.js +41 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.js +1 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.js +51 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +25 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewState.js +1 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerCountsEpic.js +20 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListEpic.js +40 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListPageEpic.js +27 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewPayload.js +1 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewReducer.js +89 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.js +9 -0
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.js +1 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewChurnEpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewDashboardSummaryEpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewEpic.js +55 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewKPIsEpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic.js +17 -0
- package/lib/esm/view/invoicing/invoicingOverview/invoicingOverviewPayload.js +87 -0
- package/lib/esm/view/invoicing/invoicingOverview/invoicingOverviewReducer.js +115 -0
- package/lib/esm/view/invoicing/invoicingOverview/invoicingOverviewSelector.js +62 -0
- package/lib/esm/view/invoicing/invoicingOverview/invoicingOverviewState.js +1 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.js +19 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.js +1 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.js +31 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.js +13 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.js +1 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionCountsEpic.js +23 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListEpic.js +49 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListPageEpic.js +27 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewPayload.js +1 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.js +89 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.js +9 -0
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.js +1 -0
- package/lib/esm/view/invoicing/paymentAction/paymentActionEpic.js +27 -0
- package/lib/esm/view/invoicing/paymentAction/paymentActionPayload.js +1 -0
- package/lib/esm/view/invoicing/paymentAction/paymentActionReducer.js +36 -0
- package/lib/esm/view/invoicing/paymentAction/paymentActionSelector.js +5 -0
- package/lib/esm/view/invoicing/paymentAction/paymentActionState.js +1 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentEpic.js +22 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentPayload.js +1 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentReducer.js +36 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentSelector.js +5 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentState.js +1 -0
- package/lib/esm/view/invoicing/reportsView/reportsViewEpics.js +27 -0
- package/lib/esm/view/invoicing/reportsView/reportsViewPayload.js +1 -0
- package/lib/esm/view/invoicing/reportsView/reportsViewReducer.js +54 -0
- package/lib/esm/view/invoicing/reportsView/reportsViewSelector.js +13 -0
- package/lib/esm/view/invoicing/reportsView/reportsViewState.js +1 -0
- package/lib/esm/view/invoicing/settingsView/settingsViewEpics.js +52 -0
- package/lib/esm/view/invoicing/settingsView/settingsViewPayload.js +1 -0
- package/lib/esm/view/invoicing/settingsView/settingsViewReducer.js +69 -0
- package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +7 -0
- package/lib/esm/view/invoicing/settingsView/settingsViewState.js +1 -0
- package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionEpic.js +27 -0
- package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionPayload.js +1 -0
- package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionReducer.js +36 -0
- package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionSelector.js +5 -0
- package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionState.js +1 -0
- package/lib/esm/view/invoicing/transactionView/transactionViewEpics.js +70 -0
- package/lib/esm/view/invoicing/transactionView/transactionViewPayload.js +1 -0
- package/lib/esm/view/invoicing/transactionView/transactionViewReducer.js +90 -0
- package/lib/esm/view/invoicing/transactionView/transactionViewSelector.js +19 -0
- package/lib/esm/view/invoicing/transactionView/transactionViewState.js +1 -0
- package/lib/esm/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +1 -5
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +5 -4
- package/lib/esm/view/scheduleView/scheduleAccruedDetailView/epics/deleteScheduleAccruedDetailEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleAccruedDetailView/epics/fetchRecommendedTransactionRowIndexEpic.js +5 -11
- package/lib/esm/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailPayload.js +1 -4
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/createNewSchedulesEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/deleteScheduleDetailEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/markAsCompleteScheduleDetailEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/saveScheduleDetailsEpic.js +1 -1
- package/lib/esm/view/scheduleView/scheduleDetailView/scheduleDetailPayload.js +3 -12
- package/lib/esm/view/scheduleView/scheduleListView/scheduleListSelector.js +7 -8
- package/lib/esm/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +3 -8
- package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +2 -1
- package/lib/esm/view/transactionDetail/epics/saveTransactionDetailEpic.js +1 -1
- package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +9 -10
- package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +2 -6
- package/lib/esm/view/trendWithTransactions/fetchTrendForEntityEpic.js +1 -3
- package/lib/esm/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListReducer.js +1 -4
- package/lib/esm/view/vendorList/vendorListReducer.js +1 -4
- package/lib/esm/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.js +1 -9
- package/lib/index.d.ts +127 -0
- package/lib/index.js +355 -1
- package/lib/reducer.d.ts +120 -0
- package/lib/reducer.js +126 -6
- package/lib/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +6 -11
- package/lib/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +0 -2
- package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +1 -5
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +2 -1
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +4 -2
- package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.js +1 -4
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +1 -2
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +1 -1
- package/lib/view/expenseAutomationView/types/fluxAnalysisViewState.d.ts +1 -1
- package/lib/view/fileView/fileUploadHelpers.js +1 -2
- package/lib/view/invoicing/approvalAction/approvalActionEpic.d.ts +8 -0
- package/lib/view/invoicing/approvalAction/approvalActionEpic.js +31 -0
- package/lib/view/invoicing/approvalAction/approvalActionPayload.d.ts +3 -0
- package/lib/view/invoicing/approvalAction/approvalActionPayload.js +2 -0
- package/lib/view/invoicing/approvalAction/approvalActionReducer.d.ts +17 -0
- package/lib/view/invoicing/approvalAction/approvalActionReducer.js +40 -0
- package/lib/view/invoicing/approvalAction/approvalActionSelector.d.ts +3 -0
- package/lib/view/invoicing/approvalAction/approvalActionSelector.js +9 -0
- package/lib/view/invoicing/approvalAction/approvalActionState.d.ts +5 -0
- package/lib/view/invoicing/approvalAction/approvalActionState.js +2 -0
- package/lib/view/invoicing/approvalsView/approvalsViewEpics.d.ts +7 -0
- package/lib/view/invoicing/approvalsView/approvalsViewEpics.js +39 -0
- package/lib/view/invoicing/approvalsView/approvalsViewPayload.d.ts +14 -0
- package/lib/view/invoicing/approvalsView/approvalsViewPayload.js +2 -0
- package/lib/view/invoicing/approvalsView/approvalsViewReducer.d.ts +22 -0
- package/lib/view/invoicing/approvalsView/approvalsViewReducer.js +66 -0
- package/lib/view/invoicing/approvalsView/approvalsViewSelector.d.ts +9 -0
- package/lib/view/invoicing/approvalsView/approvalsViewSelector.js +16 -0
- package/lib/view/invoicing/approvalsView/approvalsViewState.d.ts +14 -0
- package/lib/view/invoicing/approvalsView/approvalsViewState.js +2 -0
- package/lib/view/invoicing/auditView/auditViewEpics.d.ts +7 -0
- package/lib/view/invoicing/auditView/auditViewEpics.js +48 -0
- package/lib/view/invoicing/auditView/auditViewPayload.d.ts +14 -0
- package/lib/view/invoicing/auditView/auditViewPayload.js +2 -0
- package/lib/view/invoicing/auditView/auditViewReducer.d.ts +22 -0
- package/lib/view/invoicing/auditView/auditViewReducer.js +60 -0
- package/lib/view/invoicing/auditView/auditViewSelector.d.ts +9 -0
- package/lib/view/invoicing/auditView/auditViewSelector.js +16 -0
- package/lib/view/invoicing/auditView/auditViewState.d.ts +17 -0
- package/lib/view/invoicing/auditView/auditViewState.js +2 -0
- package/lib/view/invoicing/catalogView/catalogViewEpics.d.ts +14 -0
- package/lib/view/invoicing/catalogView/catalogViewEpics.js +148 -0
- package/lib/view/invoicing/catalogView/catalogViewPayload.d.ts +10 -0
- package/lib/view/invoicing/catalogView/catalogViewPayload.js +2 -0
- package/lib/view/invoicing/catalogView/catalogViewReducer.d.ts +46 -0
- package/lib/view/invoicing/catalogView/catalogViewReducer.js +166 -0
- package/lib/view/invoicing/catalogView/catalogViewSelector.d.ts +24 -0
- package/lib/view/invoicing/catalogView/catalogViewSelector.js +52 -0
- package/lib/view/invoicing/catalogView/catalogViewState.d.ts +36 -0
- package/lib/view/invoicing/catalogView/catalogViewState.js +2 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteEpic.d.ts +9 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteEpic.js +39 -0
- package/lib/view/invoicing/catalogWrite/catalogWritePayload.d.ts +4 -0
- package/lib/view/invoicing/catalogWrite/catalogWritePayload.js +2 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteReducer.d.ts +16 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteReducer.js +43 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteSelector.d.ts +6 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteSelector.js +12 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteState.d.ts +7 -0
- package/lib/view/invoicing/catalogWrite/catalogWriteState.js +2 -0
- package/lib/view/invoicing/couponView/couponViewEpics.d.ts +11 -0
- package/lib/view/invoicing/couponView/couponViewEpics.js +86 -0
- package/lib/view/invoicing/couponView/couponViewPayload.d.ts +7 -0
- package/lib/view/invoicing/couponView/couponViewPayload.js +2 -0
- package/lib/view/invoicing/couponView/couponViewReducer.d.ts +28 -0
- package/lib/view/invoicing/couponView/couponViewReducer.js +109 -0
- package/lib/view/invoicing/couponView/couponViewSelector.d.ts +15 -0
- package/lib/view/invoicing/couponView/couponViewSelector.js +31 -0
- package/lib/view/invoicing/couponView/couponViewState.d.ts +20 -0
- package/lib/view/invoicing/couponView/couponViewState.js +2 -0
- package/lib/view/invoicing/couponWrite/couponWriteEpic.d.ts +8 -0
- package/lib/view/invoicing/couponWrite/couponWriteEpic.js +32 -0
- package/lib/view/invoicing/couponWrite/couponWritePayload.d.ts +3 -0
- package/lib/view/invoicing/couponWrite/couponWritePayload.js +2 -0
- package/lib/view/invoicing/couponWrite/couponWriteReducer.d.ts +14 -0
- package/lib/view/invoicing/couponWrite/couponWriteReducer.js +40 -0
- package/lib/view/invoicing/couponWrite/couponWriteSelector.d.ts +4 -0
- package/lib/view/invoicing/couponWrite/couponWriteSelector.js +10 -0
- package/lib/view/invoicing/couponWrite/couponWriteState.d.ts +5 -0
- package/lib/view/invoicing/couponWrite/couponWriteState.js +2 -0
- package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +8 -0
- package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +26 -0
- package/lib/view/invoicing/createInvoice/createInvoicePayload.d.ts +25 -0
- package/lib/view/invoicing/createInvoice/createInvoicePayload.js +2 -0
- package/lib/view/invoicing/createInvoice/createInvoiceReducer.d.ts +10 -0
- package/lib/view/invoicing/createInvoice/createInvoiceReducer.js +40 -0
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +4 -0
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +10 -0
- package/lib/view/invoicing/createInvoice/createInvoiceState.d.ts +6 -0
- package/lib/view/invoicing/createInvoice/createInvoiceState.js +2 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.d.ts +11 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewEpics.js +92 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewPayload.d.ts +7 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewPayload.js +2 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.d.ts +28 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewReducer.js +109 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.d.ts +15 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewSelector.js +33 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewState.d.ts +21 -0
- package/lib/view/invoicing/creditNoteView/creditNoteViewState.js +2 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.d.ts +11 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +67 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodPayload.d.ts +18 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodPayload.js +2 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.d.ts +21 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodReducer.js +88 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.d.ts +10 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodSelector.js +17 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodState.d.ts +23 -0
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodState.js +2 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionEpic.d.ts +7 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionEpic.js +45 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionPayload.d.ts +3 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionPayload.js +2 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionReducer.d.ts +19 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionReducer.js +77 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionSelector.d.ts +4 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionSelector.js +9 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionState.d.ts +5 -0
- package/lib/view/invoicing/dataImportAction/dataImportActionState.js +2 -0
- package/lib/view/invoicing/dataImportView/dataImportViewEpics.d.ts +9 -0
- package/lib/view/invoicing/dataImportView/dataImportViewEpics.js +40 -0
- package/lib/view/invoicing/dataImportView/dataImportViewPayload.d.ts +50 -0
- package/lib/view/invoicing/dataImportView/dataImportViewPayload.js +2 -0
- package/lib/view/invoicing/dataImportView/dataImportViewReducer.d.ts +7 -0
- package/lib/view/invoicing/dataImportView/dataImportViewReducer.js +70 -0
- package/lib/view/invoicing/dataImportView/dataImportViewSelector.d.ts +9 -0
- package/lib/view/invoicing/dataImportView/dataImportViewSelector.js +17 -0
- package/lib/view/invoicing/dataImportView/dataImportViewState.d.ts +10 -0
- package/lib/view/invoicing/dataImportView/dataImportViewState.js +2 -0
- package/lib/view/invoicing/dunningAction/dunningActionEpic.d.ts +8 -0
- package/lib/view/invoicing/dunningAction/dunningActionEpic.js +31 -0
- package/lib/view/invoicing/dunningAction/dunningActionPayload.d.ts +3 -0
- package/lib/view/invoicing/dunningAction/dunningActionPayload.js +2 -0
- package/lib/view/invoicing/dunningAction/dunningActionReducer.d.ts +21 -0
- package/lib/view/invoicing/dunningAction/dunningActionReducer.js +40 -0
- package/lib/view/invoicing/dunningAction/dunningActionSelector.d.ts +3 -0
- package/lib/view/invoicing/dunningAction/dunningActionSelector.js +9 -0
- package/lib/view/invoicing/dunningAction/dunningActionState.d.ts +5 -0
- package/lib/view/invoicing/dunningAction/dunningActionState.js +2 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.d.ts +11 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewEpics.js +86 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewPayload.d.ts +7 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewPayload.js +2 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.d.ts +28 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewReducer.js +109 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.d.ts +15 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewSelector.js +33 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewState.d.ts +20 -0
- package/lib/view/invoicing/dunningCaseView/dunningCaseViewState.js +2 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewPayload.d.ts +3 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewPayload.js +2 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.d.ts +14 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer.js +40 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.d.ts +15 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +23 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewState.d.ts +5 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewState.js +2 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.d.ts +8 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.js +26 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewPayload.d.ts +3 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewPayload.js +2 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewReducer.d.ts +14 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewReducer.js +40 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +34 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +35 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewState.d.ts +5 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewState.js +2 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.d.ts +8 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +28 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionEpic.d.ts +9 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionEpic.js +54 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionPayload.d.ts +3 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionPayload.js +2 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionReducer.d.ts +23 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionReducer.js +46 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionSelector.d.ts +3 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionSelector.js +9 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionState.d.ts +5 -0
- package/lib/view/invoicing/invoiceAction/invoiceActionState.js +2 -0
- package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.d.ts +8 -0
- package/lib/view/invoicing/invoiceDetail/fetchInvoiceDetailEpic.js +23 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailPayload.d.ts +3 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailPayload.js +2 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.d.ts +11 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailReducer.js +38 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.d.ts +5 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailSelector.js +14 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailState.d.ts +4 -0
- package/lib/view/invoicing/invoiceDetail/invoiceDetailState.js +2 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.d.ts +7 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceCountsEpic.js +36 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.d.ts +7 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceKPIsEpic.js +18 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.d.ts +8 -0
- package/lib/view/invoicing/invoiceList/fetchInvoiceListEpic.js +57 -0
- package/lib/view/invoicing/invoiceList/invoiceListPayload.d.ts +6 -0
- package/lib/view/invoicing/invoiceList/invoiceListPayload.js +2 -0
- package/lib/view/invoicing/invoiceList/invoiceListReducer.d.ts +23 -0
- package/lib/view/invoicing/invoiceList/invoiceListReducer.js +94 -0
- package/lib/view/invoicing/invoiceList/invoiceListSelector.d.ts +12 -0
- package/lib/view/invoicing/invoiceList/invoiceListSelector.js +21 -0
- package/lib/view/invoicing/invoiceList/invoiceListState.d.ts +26 -0
- package/lib/view/invoicing/invoiceList/invoiceListState.js +2 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfEpic.js +40 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfReducer.d.ts +17 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfReducer.js +37 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfSelector.d.ts +3 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfSelector.js +9 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfState.d.ts +5 -0
- package/lib/view/invoicing/invoicePdf/invoicePdfState.js +2 -0
- package/lib/view/invoicing/invoicingApiHelper.d.ts +15 -0
- package/lib/view/invoicing/invoicingApiHelper.js +19 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailEpic.d.ts +8 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailEpic.js +26 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.d.ts +18 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.js +45 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.d.ts +3 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.js +2 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.d.ts +22 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.js +56 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.d.ts +25 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +32 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewState.d.ts +7 -0
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewState.js +2 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerCountsEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerCountsEpic.js +24 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListEpic.d.ts +8 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListEpic.js +44 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListPageEpic.d.ts +16 -0
- package/lib/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListPageEpic.js +31 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewPayload.d.ts +5 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewPayload.js +2 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewReducer.d.ts +31 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewReducer.js +93 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.d.ts +12 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.js +13 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.d.ts +16 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.js +2 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewChurnEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewChurnEpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewDashboardSummaryEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewDashboardSummaryEpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewEpic.d.ts +14 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewEpic.js +59 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewKPIsEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewKPIsEpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewMRREpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewPlanRevenueEpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewRevenueEpic.js +21 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewPayload.d.ts +98 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewPayload.js +96 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewReducer.d.ts +10 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewReducer.js +119 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewSelector.d.ts +32 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewSelector.js +67 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewState.d.ts +110 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewState.js +2 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.d.ts +8 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.js +23 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.d.ts +3 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.js +2 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.d.ts +11 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.js +35 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.d.ts +15 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.js +18 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.d.ts +4 -0
- package/lib/view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.js +2 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionCountsEpic.d.ts +7 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionCountsEpic.js +27 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListEpic.d.ts +8 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListEpic.js +53 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListPageEpic.d.ts +16 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/epics/fetchInvoicingSubscriptionListPageEpic.js +31 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewPayload.d.ts +5 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewPayload.js +2 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.d.ts +31 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.js +93 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.d.ts +12 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.js +13 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.d.ts +19 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.js +2 -0
- package/lib/view/invoicing/paymentAction/paymentActionEpic.d.ts +8 -0
- package/lib/view/invoicing/paymentAction/paymentActionEpic.js +31 -0
- package/lib/view/invoicing/paymentAction/paymentActionPayload.d.ts +3 -0
- package/lib/view/invoicing/paymentAction/paymentActionPayload.js +2 -0
- package/lib/view/invoicing/paymentAction/paymentActionReducer.d.ts +18 -0
- package/lib/view/invoicing/paymentAction/paymentActionReducer.js +40 -0
- package/lib/view/invoicing/paymentAction/paymentActionSelector.d.ts +3 -0
- package/lib/view/invoicing/paymentAction/paymentActionSelector.js +9 -0
- package/lib/view/invoicing/paymentAction/paymentActionState.d.ts +5 -0
- package/lib/view/invoicing/paymentAction/paymentActionState.js +2 -0
- package/lib/view/invoicing/recordPayment/recordPaymentEpic.d.ts +8 -0
- package/lib/view/invoicing/recordPayment/recordPaymentEpic.js +26 -0
- package/lib/view/invoicing/recordPayment/recordPaymentPayload.d.ts +23 -0
- package/lib/view/invoicing/recordPayment/recordPaymentPayload.js +2 -0
- package/lib/view/invoicing/recordPayment/recordPaymentReducer.d.ts +10 -0
- package/lib/view/invoicing/recordPayment/recordPaymentReducer.js +40 -0
- package/lib/view/invoicing/recordPayment/recordPaymentSelector.d.ts +4 -0
- package/lib/view/invoicing/recordPayment/recordPaymentSelector.js +10 -0
- package/lib/view/invoicing/recordPayment/recordPaymentState.d.ts +6 -0
- package/lib/view/invoicing/recordPayment/recordPaymentState.js +2 -0
- package/lib/view/invoicing/reportsView/reportsViewEpics.d.ts +7 -0
- package/lib/view/invoicing/reportsView/reportsViewEpics.js +31 -0
- package/lib/view/invoicing/reportsView/reportsViewPayload.d.ts +58 -0
- package/lib/view/invoicing/reportsView/reportsViewPayload.js +2 -0
- package/lib/view/invoicing/reportsView/reportsViewReducer.d.ts +13 -0
- package/lib/view/invoicing/reportsView/reportsViewReducer.js +58 -0
- package/lib/view/invoicing/reportsView/reportsViewSelector.d.ts +12 -0
- package/lib/view/invoicing/reportsView/reportsViewSelector.js +24 -0
- package/lib/view/invoicing/reportsView/reportsViewState.d.ts +8 -0
- package/lib/view/invoicing/reportsView/reportsViewState.js +2 -0
- package/lib/view/invoicing/settingsView/settingsViewEpics.d.ts +10 -0
- package/lib/view/invoicing/settingsView/settingsViewEpics.js +59 -0
- package/lib/view/invoicing/settingsView/settingsViewPayload.d.ts +8 -0
- package/lib/view/invoicing/settingsView/settingsViewPayload.js +2 -0
- package/lib/view/invoicing/settingsView/settingsViewReducer.d.ts +7 -0
- package/lib/view/invoicing/settingsView/settingsViewReducer.js +73 -0
- package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +7 -0
- package/lib/view/invoicing/settingsView/settingsViewSelector.js +14 -0
- package/lib/view/invoicing/settingsView/settingsViewState.d.ts +7 -0
- package/lib/view/invoicing/settingsView/settingsViewState.js +2 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.d.ts +8 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.js +31 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionPayload.d.ts +3 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionPayload.js +2 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.d.ts +18 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionReducer.js +40 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.d.ts +3 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionSelector.js +9 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionState.d.ts +5 -0
- package/lib/view/invoicing/subscriptionAction/subscriptionActionState.js +2 -0
- package/lib/view/invoicing/transactionView/transactionViewEpics.d.ts +10 -0
- package/lib/view/invoicing/transactionView/transactionViewEpics.js +76 -0
- package/lib/view/invoicing/transactionView/transactionViewPayload.d.ts +6 -0
- package/lib/view/invoicing/transactionView/transactionViewPayload.js +2 -0
- package/lib/view/invoicing/transactionView/transactionViewReducer.d.ts +27 -0
- package/lib/view/invoicing/transactionView/transactionViewReducer.js +94 -0
- package/lib/view/invoicing/transactionView/transactionViewSelector.d.ts +13 -0
- package/lib/view/invoicing/transactionView/transactionViewSelector.js +31 -0
- package/lib/view/invoicing/transactionView/transactionViewState.d.ts +20 -0
- package/lib/view/invoicing/transactionView/transactionViewState.js +2 -0
- package/lib/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +1 -5
- package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +5 -4
- package/lib/view/scheduleView/scheduleAccruedDetailView/epics/deleteScheduleAccruedDetailEpic.js +1 -1
- package/lib/view/scheduleView/scheduleAccruedDetailView/epics/fetchRecommendedTransactionRowIndexEpic.js +5 -11
- package/lib/view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailPayload.js +1 -4
- package/lib/view/scheduleView/scheduleDetailView/epics/createNewSchedulesEpic.js +1 -1
- package/lib/view/scheduleView/scheduleDetailView/epics/deleteScheduleDetailEpic.js +1 -1
- package/lib/view/scheduleView/scheduleDetailView/epics/markAsCompleteScheduleDetailEpic.js +1 -1
- package/lib/view/scheduleView/scheduleDetailView/epics/saveScheduleDetailsEpic.js +1 -1
- package/lib/view/scheduleView/scheduleDetailView/scheduleDetailPayload.js +3 -12
- package/lib/view/scheduleView/scheduleListView/scheduleListSelector.js +7 -8
- package/lib/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +3 -8
- package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
- package/lib/view/spendManagement/commonSetup/setupViewReducer.js +2 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +3 -3
- package/lib/view/transactionDetail/epics/saveTransactionDetailEpic.js +1 -1
- package/lib/view/transactionDetail/epics/transactionDetailEpic.js +8 -9
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +2 -6
- package/lib/view/trendWithTransactions/fetchTrendForEntityEpic.js +1 -3
- package/lib/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListReducer.js +1 -4
- package/lib/view/vendorList/vendorListReducer.js +1 -4
- package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.js +1 -9
- package/lib/zeniAPI.d.ts +1 -0
- package/package.json +1 -1
- package/lib/commonPayloadTypes/payloadIdentifier.d.ts +0 -6
- package/lib/commonPayloadTypes/payloadIdentifier.js +0 -18
- package/lib/esm/commonPayloadTypes/payloadIdentifier.js +0 -14
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
export const initialState = {
|
|
3
|
+
fetchState: 'Not-Started',
|
|
4
|
+
error: undefined,
|
|
5
|
+
invoiceIds: [],
|
|
6
|
+
nextCursor: null,
|
|
7
|
+
filters: {},
|
|
8
|
+
counts: { all: 0 },
|
|
9
|
+
countsFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
10
|
+
kpis: undefined,
|
|
11
|
+
kpisFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
12
|
+
hasValidState() {
|
|
13
|
+
return this.fetchState === 'Completed';
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const invoiceList = createSlice({
|
|
17
|
+
name: 'invoicingInvoiceList',
|
|
18
|
+
initialState,
|
|
19
|
+
reducers: {
|
|
20
|
+
fetchInvoiceList: {
|
|
21
|
+
reducer(draft, action) {
|
|
22
|
+
if (!action.payload.keepExistingListItems) {
|
|
23
|
+
draft.invoiceIds = [];
|
|
24
|
+
draft.nextCursor = null;
|
|
25
|
+
}
|
|
26
|
+
draft.filters = action.payload.filters;
|
|
27
|
+
draft.sort = action.payload.sort;
|
|
28
|
+
draft.fetchState = 'In-Progress';
|
|
29
|
+
draft.error = undefined;
|
|
30
|
+
},
|
|
31
|
+
prepare(payload) {
|
|
32
|
+
return {
|
|
33
|
+
payload: {
|
|
34
|
+
filters: payload.filters ?? {},
|
|
35
|
+
cursor: payload.cursor,
|
|
36
|
+
keepExistingListItems: payload.keepExistingListItems ?? false,
|
|
37
|
+
sort: payload.sort,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
updateInvoiceList(draft, action) {
|
|
43
|
+
const newIds = action.payload.invoices.map((invoice) => invoice.id);
|
|
44
|
+
draft.invoiceIds = action.payload.keepExistingListItems
|
|
45
|
+
? [...new Set([...draft.invoiceIds, ...newIds])]
|
|
46
|
+
: newIds;
|
|
47
|
+
draft.nextCursor = action.payload.nextCursor;
|
|
48
|
+
draft.fetchState = 'Completed';
|
|
49
|
+
draft.error = undefined;
|
|
50
|
+
},
|
|
51
|
+
updateInvoiceListFailure(draft, action) {
|
|
52
|
+
draft.fetchState = 'Error';
|
|
53
|
+
draft.error = action.payload;
|
|
54
|
+
},
|
|
55
|
+
fetchInvoiceCounts(draft) {
|
|
56
|
+
draft.countsFetchState.fetchState = 'In-Progress';
|
|
57
|
+
draft.countsFetchState.error = undefined;
|
|
58
|
+
},
|
|
59
|
+
updateInvoiceCounts(draft, action) {
|
|
60
|
+
draft.counts = action.payload;
|
|
61
|
+
draft.countsFetchState.fetchState = 'Completed';
|
|
62
|
+
draft.countsFetchState.error = undefined;
|
|
63
|
+
},
|
|
64
|
+
updateInvoiceCountsFailure(draft, action) {
|
|
65
|
+
draft.countsFetchState.fetchState = 'Error';
|
|
66
|
+
draft.countsFetchState.error = action.payload;
|
|
67
|
+
},
|
|
68
|
+
fetchInvoiceKPIs(draft) {
|
|
69
|
+
draft.kpisFetchState.fetchState = 'In-Progress';
|
|
70
|
+
draft.kpisFetchState.error = undefined;
|
|
71
|
+
},
|
|
72
|
+
updateInvoiceKPIs(draft, action) {
|
|
73
|
+
draft.kpis = action.payload;
|
|
74
|
+
draft.kpisFetchState.fetchState = 'Completed';
|
|
75
|
+
draft.kpisFetchState.error = undefined;
|
|
76
|
+
},
|
|
77
|
+
updateInvoiceKPIsFailure(draft, action) {
|
|
78
|
+
draft.kpisFetchState.fetchState = 'Error';
|
|
79
|
+
draft.kpisFetchState.error = action.payload;
|
|
80
|
+
},
|
|
81
|
+
updateInvoiceListFilters(draft, action) {
|
|
82
|
+
draft.filters = action.payload;
|
|
83
|
+
},
|
|
84
|
+
clearInvoiceList(draft) {
|
|
85
|
+
Object.assign(draft, initialState);
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
export const { fetchInvoiceList, updateInvoiceList, updateInvoiceListFailure, fetchInvoiceCounts, updateInvoiceCounts, updateInvoiceCountsFailure, fetchInvoiceKPIs, updateInvoiceKPIs, updateInvoiceKPIsFailure, updateInvoiceListFilters, clearInvoiceList, } = invoiceList.actions;
|
|
90
|
+
export default invoiceList.reducer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getInvoicesByIds } from '../../../entity/invoicing/invoice/invoiceSelector';
|
|
2
|
+
export const getInvoiceListFetchState = (state) => ({
|
|
3
|
+
fetchState: state.invoicingInvoiceListState.fetchState,
|
|
4
|
+
error: state.invoicingInvoiceListState.error,
|
|
5
|
+
});
|
|
6
|
+
export const getInvoiceListItems = (state) => getInvoicesByIds(state, state.invoicingInvoiceListState.invoiceIds);
|
|
7
|
+
export const getInvoiceListNextCursor = (state) => state.invoicingInvoiceListState.nextCursor;
|
|
8
|
+
export const getInvoiceListHasMore = (state) => state.invoicingInvoiceListState.nextCursor != null;
|
|
9
|
+
export const getInvoiceListFilters = (state) => state.invoicingInvoiceListState.filters;
|
|
10
|
+
export const getInvoiceCounts = (state) => state.invoicingInvoiceListState.counts;
|
|
11
|
+
export const getInvoiceKPIs = (state) => state.invoicingInvoiceListState.kpis;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, map, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { createZeniAPIStatus } from '../../../responsePayload';
|
|
4
|
+
import { downloadInvoicePdf, downloadInvoicePdfFailure, downloadInvoicePdfSuccess, } from './invoicePdfReducer';
|
|
5
|
+
/**
|
|
6
|
+
* Turn the auth-fetched PDF bytes into a browser download. The invoicing PDF
|
|
7
|
+
* endpoint requires the zeni-* auth headers, so the blob must be fetched via
|
|
8
|
+
* ZeniAPI (a plain <a href>/<iframe> cannot attach them) and then handed to the
|
|
9
|
+
* browser as an object URL.
|
|
10
|
+
*/
|
|
11
|
+
const triggerBrowserDownload = (data, fileName) => {
|
|
12
|
+
if (typeof document === 'undefined' || typeof URL === 'undefined') {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const blob = new Blob([data], { type: 'application/pdf' });
|
|
16
|
+
const objectUrl = URL.createObjectURL(blob);
|
|
17
|
+
const anchor = document.createElement('a');
|
|
18
|
+
anchor.href = objectUrl;
|
|
19
|
+
anchor.download = fileName;
|
|
20
|
+
document.body.appendChild(anchor);
|
|
21
|
+
anchor.click();
|
|
22
|
+
anchor.remove();
|
|
23
|
+
URL.revokeObjectURL(objectUrl);
|
|
24
|
+
};
|
|
25
|
+
export const downloadInvoicePdfEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(downloadInvoicePdf.match), mergeMap((action) => {
|
|
26
|
+
const { fileName, invoiceId } = action.payload;
|
|
27
|
+
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/invoices/${encodeURIComponent(invoiceId)}/pdf`;
|
|
28
|
+
return zeniAPI.getFile(apiUrl).pipe(map((data) => {
|
|
29
|
+
triggerBrowserDownload(data, fileName != null && fileName !== '' ? fileName : `${invoiceId}.pdf`);
|
|
30
|
+
return downloadInvoicePdfSuccess({ invoiceId });
|
|
31
|
+
}), catchError((error) => of(downloadInvoicePdfFailure({
|
|
32
|
+
error: createZeniAPIStatus('Unexpected Error', 'Invoice PDF download REST API call errored out ' +
|
|
33
|
+
JSON.stringify(error)),
|
|
34
|
+
invoiceId,
|
|
35
|
+
}))));
|
|
36
|
+
}));
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
export const initialState = {
|
|
3
|
+
byInvoiceId: {},
|
|
4
|
+
};
|
|
5
|
+
const invoicePdf = createSlice({
|
|
6
|
+
name: 'invoicingInvoicePdf',
|
|
7
|
+
initialState,
|
|
8
|
+
reducers: {
|
|
9
|
+
downloadInvoicePdf(draft, action) {
|
|
10
|
+
draft.byInvoiceId[action.payload.invoiceId] = {
|
|
11
|
+
fetchState: 'In-Progress',
|
|
12
|
+
error: undefined,
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
downloadInvoicePdfSuccess(draft, action) {
|
|
16
|
+
draft.byInvoiceId[action.payload.invoiceId] = {
|
|
17
|
+
fetchState: 'Completed',
|
|
18
|
+
error: undefined,
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
downloadInvoicePdfFailure(draft, action) {
|
|
22
|
+
draft.byInvoiceId[action.payload.invoiceId] = {
|
|
23
|
+
fetchState: 'Error',
|
|
24
|
+
error: action.payload.error,
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
clearAllInvoicingInvoicePdf(draft) {
|
|
28
|
+
draft.byInvoiceId = {};
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
export const { downloadInvoicePdf, downloadInvoicePdfSuccess, downloadInvoicePdfFailure, clearAllInvoicingInvoicePdf, } = invoicePdf.actions;
|
|
33
|
+
export default invoicePdf.reducer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Default page size for invoicing list / infinite-scroll requests. */
|
|
2
|
+
export const INVOICING_LIST_PAGE_SIZE = 50;
|
|
3
|
+
/** Append a query string (with leading `?`) when params are present. */
|
|
4
|
+
export const withQuery = (path, params) => {
|
|
5
|
+
const qs = params.toString();
|
|
6
|
+
return qs.length > 0 ? `${path}?${qs}` : path;
|
|
7
|
+
};
|
|
8
|
+
/** Attach `sort_field`/`sort_dir` to a list query when a sort is active. */
|
|
9
|
+
export const applyListSortParams = (params, sort) => {
|
|
10
|
+
if (sort != null && sort.field !== '') {
|
|
11
|
+
params.set('sort_field', sort.field);
|
|
12
|
+
params.set('sort_dir', sort.dir);
|
|
13
|
+
}
|
|
14
|
+
};
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailEpic.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { updateInvoicingCustomers } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerReducer';
|
|
4
|
+
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
|
+
import { fetchInvoicingCustomerDetail, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, } from './invoicingCustomerDetailViewReducer';
|
|
6
|
+
export const fetchInvoicingCustomerDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCustomerDetail.match), switchMap((action) => {
|
|
7
|
+
const { id } = action.payload;
|
|
8
|
+
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/customers/${id}`;
|
|
9
|
+
return zeniAPI.getJSON(apiUrl).pipe(switchMap((response) => {
|
|
10
|
+
if (isSuccessResponse(response) && response.data != null) {
|
|
11
|
+
return [
|
|
12
|
+
updateInvoicingCustomers([response.data], 'merge'),
|
|
13
|
+
updateInvoicingCustomerDetail({ id: response.data.id }),
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
return of(updateInvoicingCustomerDetailFailure({ id, status: response.status }));
|
|
17
|
+
}), catchError((error) => of(updateInvoicingCustomerDetailFailure({
|
|
18
|
+
id,
|
|
19
|
+
status: createZeniAPIStatus('Unexpected Error', 'Fetch customer detail REST API call errored out ' +
|
|
20
|
+
JSON.stringify(error)),
|
|
21
|
+
}))));
|
|
22
|
+
}));
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { concat, from } from 'rxjs';
|
|
2
|
+
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { fetchInvoiceList } from '../invoiceList/invoiceListReducer';
|
|
4
|
+
import { fetchInvoicingSettings } from '../settingsView/settingsViewReducer';
|
|
5
|
+
import { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './invoicingCustomerDetailViewReducer';
|
|
6
|
+
/**
|
|
7
|
+
* Fetch unless the endpoint is already loaded or in flight — or always when the
|
|
8
|
+
* caller forces a refresh via `cacheOverride` (e.g. on a manual refresh).
|
|
9
|
+
*/
|
|
10
|
+
const shouldFetch = (fetchStateAndError, cacheOverride) => cacheOverride ||
|
|
11
|
+
(fetchStateAndError.fetchState !== 'Completed' &&
|
|
12
|
+
fetchStateAndError.fetchState !== 'In-Progress');
|
|
13
|
+
/**
|
|
14
|
+
* Orchestrates the customer detail page: on `fetchInvoicingCustomerDetailPage`,
|
|
15
|
+
* fans out to the customer detail, the customer's invoice list and the invoicing
|
|
16
|
+
* settings, skipping any whose data is already cached unless `cacheOverride` is
|
|
17
|
+
* set (e.g. on a manual refresh).
|
|
18
|
+
*/
|
|
19
|
+
export const fetchInvoicingCustomerDetailPageEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoicingCustomerDetailPage.match), mergeMap((action) => {
|
|
20
|
+
const { cacheOverride, id } = action.payload;
|
|
21
|
+
const customerDetail = state$.value.invoicingCustomerDetailViewState.detailById[id];
|
|
22
|
+
const invoiceListState = state$.value.invoicingInvoiceListState;
|
|
23
|
+
const settingsState = state$.value.invoicingSettingsViewState;
|
|
24
|
+
const pageActions = [];
|
|
25
|
+
if (shouldFetch({
|
|
26
|
+
fetchState: customerDetail?.fetchState ?? 'Not-Started',
|
|
27
|
+
error: customerDetail?.error,
|
|
28
|
+
}, cacheOverride)) {
|
|
29
|
+
pageActions.push(fetchInvoicingCustomerDetail({ id }));
|
|
30
|
+
}
|
|
31
|
+
if (shouldFetch({
|
|
32
|
+
fetchState: invoiceListState.fetchState,
|
|
33
|
+
error: invoiceListState.error,
|
|
34
|
+
}, cacheOverride)) {
|
|
35
|
+
pageActions.push(fetchInvoiceList({ filters: { customerId: id } }));
|
|
36
|
+
}
|
|
37
|
+
if (shouldFetch({ fetchState: settingsState.fetchState, error: settingsState.error }, cacheOverride)) {
|
|
38
|
+
pageActions.push(fetchInvoicingSettings());
|
|
39
|
+
}
|
|
40
|
+
return concat(from(pageActions));
|
|
41
|
+
}));
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
export const initialState = {
|
|
3
|
+
detailById: {},
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Shared `hasValidState` implementation so every `detailById` entry references
|
|
7
|
+
* the same function (keeps entries reference-stable for equality checks).
|
|
8
|
+
*/
|
|
9
|
+
function hasCompletedFetch() {
|
|
10
|
+
return this.fetchState === 'Completed';
|
|
11
|
+
}
|
|
12
|
+
/** Build a per-customer detail fetch-state entry. */
|
|
13
|
+
export function buildInvoicingCustomerDetail(id, fetchState, error) {
|
|
14
|
+
return { id, fetchState, error, hasValidState: hasCompletedFetch };
|
|
15
|
+
}
|
|
16
|
+
const invoicingCustomerDetailView = createSlice({
|
|
17
|
+
name: 'invoicingCustomerDetailView',
|
|
18
|
+
initialState,
|
|
19
|
+
reducers: {
|
|
20
|
+
fetchInvoicingCustomerDetail(draft, action) {
|
|
21
|
+
const { id } = action.payload;
|
|
22
|
+
draft.detailById[id] = buildInvoicingCustomerDetail(id, 'In-Progress');
|
|
23
|
+
},
|
|
24
|
+
fetchInvoicingCustomerDetailPage: {
|
|
25
|
+
reducer() {
|
|
26
|
+
// Orchestrator trigger only — the individual fetches own the state.
|
|
27
|
+
},
|
|
28
|
+
prepare(payload) {
|
|
29
|
+
return {
|
|
30
|
+
payload: {
|
|
31
|
+
cacheOverride: payload.cacheOverride ?? false,
|
|
32
|
+
id: payload.id,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
updateInvoicingCustomerDetail(draft, action) {
|
|
38
|
+
const { id } = action.payload;
|
|
39
|
+
draft.detailById[id] = buildInvoicingCustomerDetail(id, 'Completed');
|
|
40
|
+
},
|
|
41
|
+
updateInvoicingCustomerDetailFailure(draft, action) {
|
|
42
|
+
const { id, status } = action.payload;
|
|
43
|
+
draft.detailById[id] = buildInvoicingCustomerDetail(id, 'Error', status);
|
|
44
|
+
},
|
|
45
|
+
clearInvoicingCustomerDetailView(draft) {
|
|
46
|
+
draft.detailById = {};
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
export const { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, clearInvoicingCustomerDetailView, } = invoicingCustomerDetailView.actions;
|
|
51
|
+
export default invoicingCustomerDetailView.reducer;
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import recordGet from 'lodash/get';
|
|
2
|
+
import { getInvoicingCustomerById } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
3
|
+
import { getInvoicingPaymentLinkSendState, getInvoicingPaymentMethodSaveState, getInvoicingPlaidLinkToken, getInvoicingSentPaymentLinkEmail, getInvoicingSetupIntent, getInvoicingSetupIntentFetchState, } from '../customerPaymentMethod/customerPaymentMethodSelector';
|
|
4
|
+
import { getInvoiceListItems } from '../invoiceList/invoiceListSelector';
|
|
5
|
+
import { getInvoicingSettings } from '../settingsView/settingsViewSelector';
|
|
6
|
+
export const getInvoicingCustomerDetail = (state, invoicingCustomerID) => {
|
|
7
|
+
const { invoicingCustomerState, invoicingCustomerDetailViewState } = state;
|
|
8
|
+
const invoicingCustomerDetail = recordGet(invoicingCustomerDetailViewState.detailById, invoicingCustomerID, undefined);
|
|
9
|
+
const settings = getInvoicingSettings(state);
|
|
10
|
+
return {
|
|
11
|
+
invoicingCustomer: getInvoicingCustomerById(invoicingCustomerState, invoicingCustomerID),
|
|
12
|
+
invoices: getInvoiceListItems(state),
|
|
13
|
+
setupIntent: getInvoicingSetupIntent(state),
|
|
14
|
+
setupIntentFetchState: getInvoicingSetupIntentFetchState(state),
|
|
15
|
+
plaidLinkToken: getInvoicingPlaidLinkToken(state),
|
|
16
|
+
paymentMethodSaveState: getInvoicingPaymentMethodSaveState(state),
|
|
17
|
+
sendLinkState: getInvoicingPaymentLinkSendState(state),
|
|
18
|
+
sentPaymentLinkEmail: getInvoicingSentPaymentLinkEmail(state),
|
|
19
|
+
stripeConnected: settings?.stripe_connected_account_id != null &&
|
|
20
|
+
settings.stripe_connected_account_id !== '',
|
|
21
|
+
fetchState: invoicingCustomerDetail?.fetchState ?? 'Not-Started',
|
|
22
|
+
error: invoicingCustomerDetail?.error,
|
|
23
|
+
version: 1.0,
|
|
24
|
+
};
|
|
25
|
+
};
|
package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewState.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerCountsEpic.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
4
|
+
import { withQuery } from '../../invoicingApiHelper';
|
|
5
|
+
import { fetchInvoicingCustomerCounts, updateInvoicingCustomerCounts, updateInvoicingCustomerCountsFailure, } from '../invoicingCustomerListViewReducer';
|
|
6
|
+
export const fetchInvoicingCustomerCountsEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCustomerCounts.match), switchMap(() => {
|
|
7
|
+
const { filters } = state$.value.invoicingCustomerListViewState;
|
|
8
|
+
const params = new URLSearchParams();
|
|
9
|
+
if (filters.search != null && filters.search.length > 0) {
|
|
10
|
+
params.set('search', filters.search);
|
|
11
|
+
}
|
|
12
|
+
const apiUrl = withQuery(`${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/customers/counts`, params);
|
|
13
|
+
return zeniAPI.getJSON(apiUrl).pipe(switchMap((response) => {
|
|
14
|
+
if (isSuccessResponse(response) && response.data != null) {
|
|
15
|
+
return of(updateInvoicingCustomerCounts(response.data));
|
|
16
|
+
}
|
|
17
|
+
return of(updateInvoicingCustomerCountsFailure(response.status));
|
|
18
|
+
}), catchError((error) => of(updateInvoicingCustomerCountsFailure(createZeniAPIStatus('Unexpected Error', 'Fetch customer counts REST API call errored out ' +
|
|
19
|
+
JSON.stringify(error))))));
|
|
20
|
+
}));
|
package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListEpic.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { updateInvoicingCustomers } from '../../../../entity/invoicing/invoicingCustomer/invoicingCustomerReducer';
|
|
4
|
+
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
5
|
+
import { INVOICING_LIST_PAGE_SIZE, applyListSortParams, withQuery, } from '../../invoicingApiHelper';
|
|
6
|
+
import { fetchInvoicingCustomerList, updateInvoicingCustomerList, updateInvoicingCustomerListFailure, } from '../invoicingCustomerListViewReducer';
|
|
7
|
+
const buildQuery = (filters, cursor, sort) => {
|
|
8
|
+
const params = new URLSearchParams();
|
|
9
|
+
if (filters.search != null && filters.search.length > 0) {
|
|
10
|
+
params.set('search', filters.search);
|
|
11
|
+
}
|
|
12
|
+
if (filters.status != null && filters.status.length > 0) {
|
|
13
|
+
params.set('status', filters.status);
|
|
14
|
+
}
|
|
15
|
+
params.set('limit', String(INVOICING_LIST_PAGE_SIZE));
|
|
16
|
+
if (cursor != null) {
|
|
17
|
+
params.set('cursor', cursor);
|
|
18
|
+
}
|
|
19
|
+
applyListSortParams(params, sort);
|
|
20
|
+
return params;
|
|
21
|
+
};
|
|
22
|
+
export const fetchInvoicingCustomerListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCustomerList.match), switchMap((action) => {
|
|
23
|
+
const { filters, cursor, keepExistingListItems, sort } = action.payload;
|
|
24
|
+
const apiUrl = withQuery(`${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/customers`, buildQuery(filters, cursor, sort));
|
|
25
|
+
return zeniAPI.getJSON(apiUrl).pipe(switchMap((response) => {
|
|
26
|
+
if (isSuccessResponse(response)) {
|
|
27
|
+
const items = response.data?.items ?? [];
|
|
28
|
+
return [
|
|
29
|
+
updateInvoicingCustomers(items, 'merge'),
|
|
30
|
+
updateInvoicingCustomerList({
|
|
31
|
+
ids: items.map((item) => item.id),
|
|
32
|
+
nextCursor: response.data?.next_cursor ?? null,
|
|
33
|
+
keepExistingListItems,
|
|
34
|
+
}),
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
return of(updateInvoicingCustomerListFailure(response.status));
|
|
38
|
+
}), catchError((error) => of(updateInvoicingCustomerListFailure(createZeniAPIStatus('Unexpected Error', 'Fetch customer list REST API call errored out ' +
|
|
39
|
+
JSON.stringify(error))))));
|
|
40
|
+
}));
|
package/lib/esm/view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListPageEpic.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { concat, from } from 'rxjs';
|
|
2
|
+
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { fetchInvoicingCustomerCounts, fetchInvoicingCustomerList, fetchInvoicingCustomerListPage, } from '../invoicingCustomerListViewReducer';
|
|
4
|
+
/**
|
|
5
|
+
* Fetch unless the endpoint is already loaded or in flight — or always when the
|
|
6
|
+
* caller forces a refresh via `cacheOverride` (e.g. on a filter/sort change).
|
|
7
|
+
*/
|
|
8
|
+
const shouldFetch = (fetchStateAndError, cacheOverride) => cacheOverride ||
|
|
9
|
+
(fetchStateAndError.fetchState !== 'Completed' &&
|
|
10
|
+
fetchStateAndError.fetchState !== 'In-Progress');
|
|
11
|
+
/**
|
|
12
|
+
* Orchestrates the customers list page: on `fetchInvoicingCustomerListPage`,
|
|
13
|
+
* fans out to the list and counts fetches, skipping either one whose data is
|
|
14
|
+
* already cached unless `cacheOverride` is set (e.g. on a filter/sort change).
|
|
15
|
+
*/
|
|
16
|
+
export const fetchInvoicingCustomerListPageEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoicingCustomerListPage.match), mergeMap((action) => {
|
|
17
|
+
const { cacheOverride, filters, sort } = action.payload;
|
|
18
|
+
const state = state$.value.invoicingCustomerListViewState;
|
|
19
|
+
const pageActions = [];
|
|
20
|
+
if (shouldFetch({ fetchState: state.fetchState, error: state.error }, cacheOverride)) {
|
|
21
|
+
pageActions.push(fetchInvoicingCustomerList({ filters, sort }));
|
|
22
|
+
}
|
|
23
|
+
if (shouldFetch(state.countsFetchState, cacheOverride)) {
|
|
24
|
+
pageActions.push(fetchInvoicingCustomerCounts());
|
|
25
|
+
}
|
|
26
|
+
return concat(from(pageActions));
|
|
27
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
export const initialState = {
|
|
3
|
+
fetchState: 'Not-Started',
|
|
4
|
+
error: undefined,
|
|
5
|
+
ids: [],
|
|
6
|
+
nextCursor: null,
|
|
7
|
+
filters: {},
|
|
8
|
+
counts: { all: 0 },
|
|
9
|
+
countsFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
10
|
+
hasValidState() {
|
|
11
|
+
return this.fetchState === 'Completed';
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const invoicingCustomerListView = createSlice({
|
|
15
|
+
name: 'invoicingCustomerListView',
|
|
16
|
+
initialState,
|
|
17
|
+
reducers: {
|
|
18
|
+
fetchInvoicingCustomerList: {
|
|
19
|
+
reducer(draft, action) {
|
|
20
|
+
if (!action.payload.keepExistingListItems) {
|
|
21
|
+
draft.ids = [];
|
|
22
|
+
draft.nextCursor = null;
|
|
23
|
+
}
|
|
24
|
+
draft.filters = action.payload.filters;
|
|
25
|
+
draft.sort = action.payload.sort;
|
|
26
|
+
draft.fetchState = 'In-Progress';
|
|
27
|
+
draft.error = undefined;
|
|
28
|
+
},
|
|
29
|
+
prepare(payload) {
|
|
30
|
+
return {
|
|
31
|
+
payload: {
|
|
32
|
+
filters: payload.filters ?? {},
|
|
33
|
+
cursor: payload.cursor,
|
|
34
|
+
keepExistingListItems: payload.keepExistingListItems ?? false,
|
|
35
|
+
sort: payload.sort,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
fetchInvoicingCustomerListPage: {
|
|
41
|
+
reducer(draft, action) {
|
|
42
|
+
draft.filters = action.payload.filters;
|
|
43
|
+
draft.sort = action.payload.sort;
|
|
44
|
+
},
|
|
45
|
+
prepare(payload) {
|
|
46
|
+
return {
|
|
47
|
+
payload: {
|
|
48
|
+
cacheOverride: payload.cacheOverride ?? false,
|
|
49
|
+
filters: payload.filters ?? {},
|
|
50
|
+
sort: payload.sort,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
updateInvoicingCustomerList(draft, action) {
|
|
56
|
+
draft.ids = action.payload.keepExistingListItems
|
|
57
|
+
? [...new Set([...draft.ids, ...action.payload.ids])]
|
|
58
|
+
: action.payload.ids;
|
|
59
|
+
draft.nextCursor = action.payload.nextCursor;
|
|
60
|
+
draft.fetchState = 'Completed';
|
|
61
|
+
draft.error = undefined;
|
|
62
|
+
},
|
|
63
|
+
updateInvoicingCustomerListFailure(draft, action) {
|
|
64
|
+
draft.fetchState = 'Error';
|
|
65
|
+
draft.error = action.payload;
|
|
66
|
+
},
|
|
67
|
+
fetchInvoicingCustomerCounts(draft) {
|
|
68
|
+
draft.countsFetchState.fetchState = 'In-Progress';
|
|
69
|
+
draft.countsFetchState.error = undefined;
|
|
70
|
+
},
|
|
71
|
+
updateInvoicingCustomerCounts(draft, action) {
|
|
72
|
+
draft.counts = action.payload;
|
|
73
|
+
draft.countsFetchState.fetchState = 'Completed';
|
|
74
|
+
draft.countsFetchState.error = undefined;
|
|
75
|
+
},
|
|
76
|
+
updateInvoicingCustomerCountsFailure(draft, action) {
|
|
77
|
+
draft.countsFetchState.fetchState = 'Error';
|
|
78
|
+
draft.countsFetchState.error = action.payload;
|
|
79
|
+
},
|
|
80
|
+
updateInvoicingCustomerFilters(draft, action) {
|
|
81
|
+
draft.filters = action.payload;
|
|
82
|
+
},
|
|
83
|
+
clearInvoicingCustomerListView(draft) {
|
|
84
|
+
Object.assign(draft, initialState);
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
export const { fetchInvoicingCustomerList, fetchInvoicingCustomerListPage, updateInvoicingCustomerList, updateInvoicingCustomerListFailure, fetchInvoicingCustomerCounts, updateInvoicingCustomerCounts, updateInvoicingCustomerCountsFailure, updateInvoicingCustomerFilters, clearInvoicingCustomerListView, } = invoicingCustomerListView.actions;
|
|
89
|
+
export default invoicingCustomerListView.reducer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getInvoicingCustomersByIds } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
2
|
+
export const getInvoicingCustomerListView = (state) => ({
|
|
3
|
+
customers: getInvoicingCustomersByIds(state.invoicingCustomerState, state.invoicingCustomerListViewState.ids),
|
|
4
|
+
fetchState: state.invoicingCustomerListViewState.fetchState,
|
|
5
|
+
error: state.invoicingCustomerListViewState.error,
|
|
6
|
+
nextCursor: state.invoicingCustomerListViewState.nextCursor,
|
|
7
|
+
filters: state.invoicingCustomerListViewState.filters,
|
|
8
|
+
count: state.invoicingCustomerListViewState.counts,
|
|
9
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EMPTY, of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { createZeniAPIStatus, isSuccessResponse } from '../../../../responsePayload';
|
|
4
|
+
import { fetchInvoicingOverviewChurn, updateInvoicingOverviewChurn, updateInvoicingOverviewChurnFailure, } from '../invoicingOverviewReducer';
|
|
5
|
+
export const fetchInvoicingOverviewChurnEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingOverviewChurn.match), switchMap(() => {
|
|
6
|
+
const { period } = state$.value.invoicingOverviewState;
|
|
7
|
+
if (period == null) {
|
|
8
|
+
return EMPTY;
|
|
9
|
+
}
|
|
10
|
+
const base = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
11
|
+
return zeniAPI
|
|
12
|
+
.getJSON(`${base}/analytics/churn?months=6&year=${period.year}&month=${period.month}`)
|
|
13
|
+
.pipe(switchMap((response) => isSuccessResponse(response) && response.data != null
|
|
14
|
+
? of(updateInvoicingOverviewChurn(response.data))
|
|
15
|
+
: of(updateInvoicingOverviewChurnFailure(response.status))), catchError((error) => of(updateInvoicingOverviewChurnFailure(createZeniAPIStatus('Unexpected Error', 'Fetch overview churn REST API call errored out ' +
|
|
16
|
+
JSON.stringify(error))))));
|
|
17
|
+
}));
|
package/lib/esm/view/invoicing/invoicingOverview/epics/fetchInvoicingOverviewDashboardSummaryEpic.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EMPTY, of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { createZeniAPIStatus, isSuccessResponse } from '../../../../responsePayload';
|
|
4
|
+
import { fetchInvoicingOverviewDashboardSummary, updateInvoicingOverviewDashboardSummary, updateInvoicingOverviewDashboardSummaryFailure, } from '../invoicingOverviewReducer';
|
|
5
|
+
export const fetchInvoicingOverviewDashboardSummaryEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingOverviewDashboardSummary.match), switchMap(() => {
|
|
6
|
+
const { period } = state$.value.invoicingOverviewState;
|
|
7
|
+
if (period == null) {
|
|
8
|
+
return EMPTY;
|
|
9
|
+
}
|
|
10
|
+
const base = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
11
|
+
return zeniAPI
|
|
12
|
+
.getJSON(`${base}/analytics/dashboard-summary?year=${period.year}&month=${period.month}`)
|
|
13
|
+
.pipe(switchMap((response) => isSuccessResponse(response) && response.data != null
|
|
14
|
+
? of(updateInvoicingOverviewDashboardSummary(response.data))
|
|
15
|
+
: of(updateInvoicingOverviewDashboardSummaryFailure(response.status))), catchError((error) => of(updateInvoicingOverviewDashboardSummaryFailure(createZeniAPIStatus('Unexpected Error', 'Fetch overview dashboard summary REST API call errored out ' +
|
|
16
|
+
JSON.stringify(error))))));
|
|
17
|
+
}));
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { concat, from } from 'rxjs';
|
|
2
|
+
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { fetchInvoicingSettings } from '../../settingsView/settingsViewReducer';
|
|
4
|
+
import { getInvoicingSettingsFetchState } from '../../settingsView/settingsViewSelector';
|
|
5
|
+
import { fetchInvoicingSubscriptionList } from '../../invoicingSubscriptionListView/invoicingSubscriptionListViewReducer';
|
|
6
|
+
import { getInvoicingSubscriptionListView } from '../../invoicingSubscriptionListView/invoicingSubscriptionListViewSelector';
|
|
7
|
+
import { fetchInvoicingOverviewChurn, fetchInvoicingOverviewDashboardSummary, fetchInvoicingOverviewKPIs, fetchInvoicingOverviewMRR, fetchInvoicingOverviewPlanRevenue, fetchInvoicingOverviewRevenue, fetchInvoicingOverview, } from '../invoicingOverviewReducer';
|
|
8
|
+
/**
|
|
9
|
+
* Fetch unless the endpoint is already loaded or in flight \u2014 or always when the
|
|
10
|
+
* caller forces a refresh via `cacheOverride` (e.g. on a period change).
|
|
11
|
+
*/
|
|
12
|
+
const shouldFetch = (fetchStateAndError, cacheOverride) => cacheOverride ||
|
|
13
|
+
(fetchStateAndError.fetchState !== 'Completed' &&
|
|
14
|
+
fetchStateAndError.fetchState !== 'In-Progress');
|
|
15
|
+
/**
|
|
16
|
+
* Orchestrates the overview: on `fetchInvoicingOverview`, fans out to each
|
|
17
|
+
* per-endpoint fetch (the six analytics calls plus settings and the
|
|
18
|
+
* subscription list), skipping any whose data is already cached unless
|
|
19
|
+
* `cacheOverride` is set.
|
|
20
|
+
*/
|
|
21
|
+
export const fetchInvoicingOverviewEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoicingOverview.match), mergeMap((action) => {
|
|
22
|
+
const { cacheOverride } = action.payload;
|
|
23
|
+
const rootState = state$.value;
|
|
24
|
+
const state = rootState.invoicingOverviewState;
|
|
25
|
+
const overviewActions = [];
|
|
26
|
+
if (shouldFetch(state.kpisFetchState, cacheOverride)) {
|
|
27
|
+
overviewActions.push(fetchInvoicingOverviewKPIs());
|
|
28
|
+
}
|
|
29
|
+
if (shouldFetch(state.revenueFetchState, cacheOverride)) {
|
|
30
|
+
overviewActions.push(fetchInvoicingOverviewRevenue());
|
|
31
|
+
}
|
|
32
|
+
if (shouldFetch(state.mrrFetchState, cacheOverride)) {
|
|
33
|
+
overviewActions.push(fetchInvoicingOverviewMRR());
|
|
34
|
+
}
|
|
35
|
+
if (shouldFetch(state.churnFetchState, cacheOverride)) {
|
|
36
|
+
overviewActions.push(fetchInvoicingOverviewChurn());
|
|
37
|
+
}
|
|
38
|
+
if (shouldFetch(state.planRevenueFetchState, cacheOverride)) {
|
|
39
|
+
overviewActions.push(fetchInvoicingOverviewPlanRevenue());
|
|
40
|
+
}
|
|
41
|
+
if (shouldFetch(state.summaryFetchState, cacheOverride)) {
|
|
42
|
+
overviewActions.push(fetchInvoicingOverviewDashboardSummary());
|
|
43
|
+
}
|
|
44
|
+
if (shouldFetch(getInvoicingSettingsFetchState(rootState), cacheOverride)) {
|
|
45
|
+
overviewActions.push(fetchInvoicingSettings());
|
|
46
|
+
}
|
|
47
|
+
const subscriptionListView = getInvoicingSubscriptionListView(rootState);
|
|
48
|
+
if (shouldFetch({
|
|
49
|
+
fetchState: subscriptionListView.fetchState,
|
|
50
|
+
error: subscriptionListView.error,
|
|
51
|
+
}, cacheOverride)) {
|
|
52
|
+
overviewActions.push(fetchInvoicingSubscriptionList({}));
|
|
53
|
+
}
|
|
54
|
+
return concat(from(overviewActions));
|
|
55
|
+
}));
|