@zeniai/client-epic-state 5.2.68 → 5.2.69
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/entity/aiCfo/aiCfoState.d.ts +2 -2
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
- package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
- package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
- package/lib/entity/invoicing/{product/productPayload.d.ts → invoicingCatalog/invoicingCatalogPayload.d.ts} +44 -6
- package/lib/entity/invoicing/{product/productPayload.js → invoicingCatalog/invoicingCatalogPayload.js} +50 -6
- package/lib/entity/invoicing/invoicingCatalog/invoicingCatalogReducer.d.ts +12 -0
- package/lib/entity/invoicing/{plan/planReducer.js → invoicingCatalog/invoicingCatalogReducer.js} +20 -21
- package/lib/entity/invoicing/{plan/planSelector.d.ts → invoicingCatalog/invoicingCatalogSelector.d.ts} +5 -6
- package/lib/entity/invoicing/{plan/planSelector.js → invoicingCatalog/invoicingCatalogSelector.js} +12 -12
- package/lib/entity/invoicing/{product/productState.d.ts → invoicingCatalog/invoicingCatalogState.d.ts} +42 -6
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +4 -4
- package/lib/esm/entity/invoicing/{product/productPayload.js → invoicingCatalog/invoicingCatalogPayload.js} +46 -3
- package/lib/esm/entity/invoicing/{plan/planReducer.js → invoicingCatalog/invoicingCatalogReducer.js} +19 -20
- package/lib/esm/entity/invoicing/{plan/planSelector.js → invoicingCatalog/invoicingCatalogSelector.js} +8 -8
- package/lib/esm/index.js +2 -4
- package/lib/esm/reducer.js +4 -7
- package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +5 -3
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +3 -7
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
- package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
- package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
- package/lib/esm/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +4 -4
- package/lib/index.d.ts +3 -6
- package/lib/index.js +9 -15
- package/lib/reducer.d.ts +1 -2
- package/lib/reducer.js +4 -7
- package/lib/rootStateTypes.d.ts +3 -5
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +2 -2
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.d.ts +8 -9
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +5 -3
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.d.ts +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormHelper.d.ts +3 -4
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.d.ts +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.d.ts +2 -3
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionEpic.js +4 -4
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts +2 -3
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +3 -7
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraftEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogListPageEpic.d.ts +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.d.ts +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.d.ts +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogProductListEpic.js +2 -2
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewPayload.d.ts +3 -3
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.d.ts +4 -5
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +4 -4
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState.d.ts +1 -1
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.d.ts +1 -1
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.d.ts +1 -1
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListReducer.d.ts +5 -5
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +2 -2
- package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewReducer.d.ts +2 -2
- package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.d.ts +5 -5
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +2 -2
- package/package.json +1 -1
- package/lib/entity/invoicing/plan/planPayload.d.ts +0 -40
- package/lib/entity/invoicing/plan/planPayload.js +0 -51
- package/lib/entity/invoicing/plan/planReducer.d.ts +0 -14
- package/lib/entity/invoicing/plan/planState.d.ts +0 -43
- package/lib/entity/invoicing/product/productReducer.d.ts +0 -9
- package/lib/entity/invoicing/product/productReducer.js +0 -50
- package/lib/entity/invoicing/product/productSelector.d.ts +0 -4
- package/lib/entity/invoicing/product/productSelector.js +0 -17
- package/lib/entity/invoicing/product/productState.js +0 -2
- package/lib/esm/entity/invoicing/plan/planPayload.js +0 -47
- package/lib/esm/entity/invoicing/product/productReducer.js +0 -43
- package/lib/esm/entity/invoicing/product/productSelector.js +0 -10
- package/lib/esm/entity/invoicing/product/productState.js +0 -1
- /package/lib/entity/invoicing/{plan/planState.js → invoicingCatalog/invoicingCatalogState.js} +0 -0
- /package/lib/esm/entity/invoicing/{plan/planState.js → invoicingCatalog/invoicingCatalogState.js} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import recordGet from 'lodash/get';
|
|
2
|
-
export function
|
|
3
|
-
const
|
|
4
|
-
.map((id) =>
|
|
2
|
+
export function getInvoicingCatalogItemsByIds(catalogState, ids) {
|
|
3
|
+
const items = ids
|
|
4
|
+
.map((id) => getInvoicingCatalogItemById(catalogState, id))
|
|
5
5
|
.filter((value) => value != null);
|
|
6
|
-
return
|
|
6
|
+
return items;
|
|
7
7
|
}
|
|
8
|
-
export function
|
|
9
|
-
return recordGet(
|
|
8
|
+
export function getInvoicingCatalogItemById(catalogState, id) {
|
|
9
|
+
return recordGet(catalogState.itemByID, id);
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* A price point counts while it is active. A missing status is treated as
|
|
@@ -30,8 +30,8 @@ export const invoicingPricePointDisplayAmount = (pricePoint) => pricePoint.displ
|
|
|
30
30
|
* points are priced in different currencies, where the smallest number is not
|
|
31
31
|
* the lowest price. A zero is a real price and wins on its merits.
|
|
32
32
|
*/
|
|
33
|
-
export const
|
|
34
|
-
const amounts = (
|
|
33
|
+
export const getLowestInvoicingCatalogPricePointAmount = (item) => {
|
|
34
|
+
const amounts = (item?.subFamilies ?? [])
|
|
35
35
|
.filter(isActiveInvoicingPricePoint)
|
|
36
36
|
.map(invoicingPricePointDisplayAmount)
|
|
37
37
|
.filter((amount) => amount != null);
|
package/lib/esm/index.js
CHANGED
|
@@ -841,14 +841,12 @@ export { getInvoicingDunningCaseListView } from './view/invoicing/invoicingDunni
|
|
|
841
841
|
export { clearInvoicingDunningCaseDetailView, fetchInvoicingDunningCaseDetail, fetchInvoicingDunningCaseDetailPage, fetchInvoicingDunningEmailPreviewPage, invalidateInvoicingDunningEmailPreview, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer';
|
|
842
842
|
export { getInvoicingDunningCaseById, getInvoicingDunningCaseDetail, getInvoicingDunningEmailPreview, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector';
|
|
843
843
|
// ── Invoicing: catalog (plans + products) ─────────────────────────────────────
|
|
844
|
-
export {
|
|
845
|
-
export { removeInvoicingProduct, updateInvoicingProducts, } from './entity/invoicing/product/productReducer';
|
|
844
|
+
export { mergeInvoicingCatalogPricePoint, removeInvoicingCatalogItem, updateInvoicingCatalogItems, } from './entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
846
845
|
export { fetchInvoicingCatalogCounts, fetchInvoicingCatalogListPage, fetchInvoicingCatalogPlanList, fetchInvoicingCatalogProductList, updateInvoicingCatalogPlanFilters, updateInvoicingCatalogProductFilters, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewReducer';
|
|
847
846
|
export { ALL_INVOICING_PRODUCT_SORT_KEYS, INVOICING_PRODUCT_COLUMNS, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState';
|
|
848
847
|
export { getInvoicingCatalogListView } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
849
848
|
export { fetchInvoicingCatalogItemDetail } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
850
|
-
export {
|
|
851
|
-
export { getInvoicingProductById } from './entity/invoicing/product/productSelector';
|
|
849
|
+
export { getInvoicingCatalogItemById, getLowestInvoicingCatalogPricePointAmount, } from './entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
852
850
|
// ── Invoicing: settings ───────────────────────────────────────────────────────
|
|
853
851
|
export { connectInvoicingStripe, disconnectInvoicingStripe, fetchInvoicingSettings, resetInvoicingBrandingFormDraft, resetInvoicingQboSettingsDraft, resetSaveInvoicingSettings, saveInvoicingSettings, submitInvoicingBrandingForm, submitInvoicingQboSettings, updateInvoicingBrandingFormDraft, updateInvoicingQboSettingsDraft, updateInvoicingSettings, } from './view/invoicing/settingsView/settingsViewReducer';
|
|
854
852
|
export { getInvoicingBrandingFormView, getInvoicingQboSettingsFormView, getInvoicingSettings, getInvoicingSettingsFetchState, getInvoicingSettingsHubView, getInvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
|
package/lib/esm/reducer.js
CHANGED
|
@@ -2,6 +2,7 @@ import { combineReducers } from 'redux';
|
|
|
2
2
|
import account, { initialState as initialAccountState, } from './entity/account/accountReducer';
|
|
3
3
|
import accountGroup, { initialState as initialAccountGroupState, } from './entity/accountGroup/accountGroupReducer';
|
|
4
4
|
import accountRecon, { initialState as initialAccountReconState, } from './entity/accountRecon/accountReconReducer';
|
|
5
|
+
import actualMatching, { initialState as initialActualMatchingState, } from './entity/actualMatching/actualMatchingReducer';
|
|
5
6
|
import address, { initialState as initialAddressState, } from './entity/address/addressReducer';
|
|
6
7
|
import aiAccountantCustomer, { initialAiAccountantCustomerState, } from './entity/aiAccountantCustomer/aiAccountantCustomerReducer';
|
|
7
8
|
import aiCfo, { initialAiCfoState } from './entity/aiCfo/aiCfoReducer';
|
|
@@ -40,9 +41,7 @@ import invoicingInvoice, { initialState as initialInvoicingInvoiceState, } from
|
|
|
40
41
|
import invoicingCustomer, { initialState as initialInvoicingCustomerState, } from './entity/invoicing/invoicingCustomer/invoicingCustomerReducer';
|
|
41
42
|
import invoicingSubscription, { initialState as initialInvoicingSubscriptionState, } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer';
|
|
42
43
|
import invoicingTransaction, { initialState as initialInvoicingTransactionState, } from './entity/invoicing/invoicingTransaction/invoicingTransactionReducer';
|
|
43
|
-
import
|
|
44
|
-
import invoicingProduct, { initialState as initialInvoicingProductState, } from './entity/invoicing/product/productReducer';
|
|
45
|
-
import actualMatching, { initialState as initialActualMatchingState, } from './entity/actualMatching/actualMatchingReducer';
|
|
44
|
+
import invoicingCatalog, { initialState as initialInvoicingCatalogState, } from './entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
46
45
|
import jeSchedules, { initialState as initialJESchedulesState, } from './entity/jeSchedules/jeSchedulesReducer';
|
|
47
46
|
import merchant, { initialState as initialMerchantState, } from './entity/merchant/merchantReducer';
|
|
48
47
|
import monthEndCloseChecks, { initialState as initialMonthEndCloseChecksState, } from './entity/monthEndCloseChecks/monthEndCloseChecksReducer';
|
|
@@ -316,8 +315,7 @@ const initialEntitiesState = {
|
|
|
316
315
|
invoicingCustomerState: initialInvoicingCustomerState,
|
|
317
316
|
invoicingDunningCaseState: initialInvoicingDunningCaseState,
|
|
318
317
|
invoicingInvoiceState: initialInvoicingInvoiceState,
|
|
319
|
-
|
|
320
|
-
invoicingProductState: initialInvoicingProductState,
|
|
318
|
+
invoicingCatalogState: initialInvoicingCatalogState,
|
|
321
319
|
invoicingSubscriptionState: initialInvoicingSubscriptionState,
|
|
322
320
|
invoicingTransactionState: initialInvoicingTransactionState,
|
|
323
321
|
jeSchedulesState: initialJESchedulesState,
|
|
@@ -603,8 +601,7 @@ const entityReducers = {
|
|
|
603
601
|
invoicingCustomerState: invoicingCustomer,
|
|
604
602
|
invoicingDunningCaseState: invoicingDunningCase,
|
|
605
603
|
invoicingInvoiceState: invoicingInvoice,
|
|
606
|
-
|
|
607
|
-
invoicingProductState: invoicingProduct,
|
|
604
|
+
invoicingCatalogState: invoicingCatalog,
|
|
608
605
|
invoicingSubscriptionState: invoicingSubscription,
|
|
609
606
|
invoicingTransactionState: invoicingTransaction,
|
|
610
607
|
jeSchedulesState: jeSchedules,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getAddressByAddressId } from '../../../entity/address/addressSelector';
|
|
2
|
-
import { invoicingPricePointDisplayAmount } from '../../../entity/invoicing/
|
|
2
|
+
import { invoicingPricePointDisplayAmount } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
3
3
|
import { getInvoicingCatalogListView, getInvoicingCatalogPrices, } from '../invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
4
4
|
import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
5
5
|
import { getInvoicingCustomerListView } from '../invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
2
|
import { reduceAllFetchState } from '../../../commonStateTypes/reduceFetchState';
|
|
3
|
-
import {
|
|
3
|
+
import { getInvoicingCatalogItemById, getInvoicingCatalogItemsByIds, } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
4
4
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
5
5
|
import { getInvoicingFormDraftLocalData, isInvoicingFormDraftPending, } from '../invoicingFormDraft';
|
|
6
6
|
import { INVOICING_DEFAULT_INCOME_ACCOUNT_TYPES, INVOICING_INCOME_ACCOUNT_MAPPING_SLOT, NO_INVOICING_ACCOUNT_HIERARCHY, NO_INVOICING_ACCOUNT_IDS, NO_INVOICING_CLASS_HIERARCHY, getInvoicingQboAccountOptions, getInvoicingQboView, invoicingQboAccountIdsForMappingSlot, isInvoicingAccountingPickerDataLoading, isInvoicingQboConnected, } from '../invoicingQboView/invoicingQboViewSelector';
|
|
@@ -36,7 +36,7 @@ const buildApplicableCatalogItemOptions = (plans) => {
|
|
|
36
36
|
* Kept referentially stable across unrelated dispatches; the form view filters
|
|
37
37
|
* out the item being edited (see `getInvoicingCatalogItemFormView`).
|
|
38
38
|
*/
|
|
39
|
-
export const getInvoicingApplicableCatalogItemOptions = createSelector((state) => state.
|
|
39
|
+
export const getInvoicingApplicableCatalogItemOptions = createSelector((state) => state.invoicingCatalogState, (state) => state.invoicingCatalogListViewState, (catalogState, listViewState) => buildApplicableCatalogItemOptions(getInvoicingCatalogItemsByIds(catalogState, [
|
|
40
40
|
...listViewState.planIds,
|
|
41
41
|
...listViewState.productIds,
|
|
42
42
|
])));
|
|
@@ -61,7 +61,9 @@ const getInvoicingCatalogIncomeAccountIds = createSelector([
|
|
|
61
61
|
: NO_INVOICING_ACCOUNT_IDS);
|
|
62
62
|
export const getInvoicingCatalogItemFormView = (state, id) => {
|
|
63
63
|
const { editDraftById, error, fetchState, newItemDraft, savedItemId, savedKind, } = state.editInvoicingCatalogItemDetailViewState;
|
|
64
|
-
const plan = id != null
|
|
64
|
+
const plan = id != null
|
|
65
|
+
? getInvoicingCatalogItemById(state.invoicingCatalogState, id)
|
|
66
|
+
: undefined;
|
|
65
67
|
const kind = plan != null ? 'plan' : undefined;
|
|
66
68
|
// No entity fallback: the draft is the one source of form values, seeded from
|
|
67
69
|
// the record by `seedInvoicingCatalogItemFormDraftEpic` when the detail load
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { updateInvoicingCatalogItems } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
5
|
import { fetchInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetailFailure, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
6
6
|
export const fetchInvoicingCatalogItemDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCatalogItemDetail.match), switchMap((action) => {
|
|
@@ -9,7 +9,7 @@ export const fetchInvoicingCatalogItemDetailEpic = (actions$, _state$, zeniAPI)
|
|
|
9
9
|
return zeniAPI.getJSON(apiUrl).pipe(switchMap((response) => {
|
|
10
10
|
if (isSuccessResponse(response) && response.data != null) {
|
|
11
11
|
return [
|
|
12
|
-
|
|
12
|
+
updateInvoicingCatalogItems([response.data], 'merge'),
|
|
13
13
|
updateInvoicingCatalogItemDetail({ id: response.data.id, kind }),
|
|
14
14
|
];
|
|
15
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { updateInvoicingCatalogItems } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
5
|
import { runInvoicingCatalogPlanAction, runInvoicingCatalogPlanActionFailure, runInvoicingCatalogPlanActionSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
6
6
|
export const runInvoicingCatalogPlanActionEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(runInvoicingCatalogPlanAction.match), mergeMap((action) => {
|
|
@@ -12,7 +12,7 @@ export const runInvoicingCatalogPlanActionEpic = (actions$, _state$, zeniAPI) =>
|
|
|
12
12
|
.pipe(mergeMap((response) => {
|
|
13
13
|
if (isSuccessResponse(response) && response.data != null) {
|
|
14
14
|
return [
|
|
15
|
-
|
|
15
|
+
updateInvoicingCatalogItems([response.data], 'merge'),
|
|
16
16
|
runInvoicingCatalogPlanActionSuccess({ id }),
|
|
17
17
|
];
|
|
18
18
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
4
|
-
import { updateInvoicingProducts } from '../../../entity/invoicing/product/productReducer';
|
|
3
|
+
import { mergeInvoicingCatalogPricePoint } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
5
4
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
6
5
|
import { runInvoicingCatalogProductAction, runInvoicingCatalogProductActionFailure, runInvoicingCatalogProductActionSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
7
6
|
export const runInvoicingCatalogProductActionEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(runInvoicingCatalogProductAction.match), mergeMap((action) => {
|
|
@@ -16,9 +15,10 @@ export const runInvoicingCatalogProductActionEpic = (actions$, _state$, zeniAPI)
|
|
|
16
15
|
.pipe(mergeMap((response) => {
|
|
17
16
|
if (isSuccessResponse(response) && response.data != null) {
|
|
18
17
|
return [
|
|
19
|
-
updateInvoicingProducts([response.data], 'merge'),
|
|
20
18
|
...(parentItemId != null
|
|
21
|
-
? [
|
|
19
|
+
? [
|
|
20
|
+
mergeInvoicingCatalogPricePoint(parentItemId, response.data),
|
|
21
|
+
]
|
|
22
22
|
: []),
|
|
23
23
|
runInvoicingCatalogProductActionSuccess({ id: stateKey }),
|
|
24
24
|
];
|
package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { forkJoin, from } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
4
|
-
import { updateInvoicingProducts } from '../../../entity/invoicing/product/productReducer';
|
|
3
|
+
import { mergeInvoicingCatalogPricePoint, updateInvoicingCatalogItems, } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
5
4
|
import { apiErrorSnackbarVariables } from '../../../entity/snackbar/snackbarApiError';
|
|
6
5
|
import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
7
6
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
@@ -51,11 +50,8 @@ export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actio
|
|
|
51
50
|
}
|
|
52
51
|
const savedProducts = productResponses.flatMap((productResponse) => productResponse.data != null ? [productResponse.data] : []);
|
|
53
52
|
const resultActions = [
|
|
54
|
-
|
|
55
|
-
...
|
|
56
|
-
? [updateInvoicingProducts(savedProducts, 'merge')]
|
|
57
|
-
: []),
|
|
58
|
-
...savedProducts.map((product) => mergeInvoicingPlanSubFamily(savedItem.id, product)),
|
|
53
|
+
updateInvoicingCatalogItems([savedItem], 'merge'),
|
|
54
|
+
...savedProducts.map((product) => mergeInvoicingCatalogPricePoint(savedItem.id, product)),
|
|
59
55
|
submitInvoicingCatalogItemFormSuccess({
|
|
60
56
|
itemId: savedItem.id,
|
|
61
57
|
kind: 'plan',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EMPTY, of } from 'rxjs';
|
|
2
2
|
import { filter, mergeMap, withLatestFrom } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { getInvoicingCatalogItemById } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
4
4
|
import { fetchInvoicingCatalogItemDetailPage, seedInvoicingCatalogItemFormDraft, updateInvoicingCatalogItemDetail, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
5
5
|
import { entityToInvoicingCatalogItemFormLocalData } from './invoicingCatalogItemFormHelper';
|
|
6
6
|
/**
|
|
@@ -34,7 +34,7 @@ export const seedInvoicingCatalogItemFormDraftEpic = (actions$, state$) => actio
|
|
|
34
34
|
}
|
|
35
35
|
// Nothing to seed from on a cold open; the detail response triggers this
|
|
36
36
|
// again once it lands.
|
|
37
|
-
const plan =
|
|
37
|
+
const plan = getInvoicingCatalogItemById(state.invoicingCatalogState, id);
|
|
38
38
|
if (plan == null) {
|
|
39
39
|
return EMPTY;
|
|
40
40
|
}
|
package/lib/esm/view/invoicing/invoicingCatalogListView/epics/fetchInvoicingCatalogPlanListEpic.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { updateInvoicingCatalogItems } from '../../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
5
5
|
import { INVOICING_LIST_PAGE_SIZE, applyListSortParams, withQuery, } from '../../invoicingApiHelper';
|
|
6
6
|
import { fetchInvoicingCatalogPlanList, updateInvoicingCatalogPlanList, updateInvoicingCatalogPlanListFailure, } from '../invoicingCatalogListViewReducer';
|
|
@@ -29,7 +29,7 @@ export const fetchInvoicingCatalogPlanListEpic = (actions$, _state$, zeniAPI) =>
|
|
|
29
29
|
if (isSuccessResponse(response)) {
|
|
30
30
|
const items = response.data?.items ?? [];
|
|
31
31
|
return [
|
|
32
|
-
|
|
32
|
+
updateInvoicingCatalogItems(items, 'merge'),
|
|
33
33
|
updateInvoicingCatalogPlanList({
|
|
34
34
|
ids: items.map((item) => item.id),
|
|
35
35
|
nextCursor: response.data?.next_cursor ?? null,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import {
|
|
3
|
+
import { updateInvoicingCatalogItems } from '../../../../entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
5
5
|
import { INVOICING_LIST_PAGE_SIZE, applyListSortParams, withQuery, } from '../../invoicingApiHelper';
|
|
6
6
|
import { fetchInvoicingCatalogProductList, updateInvoicingCatalogProductList, updateInvoicingCatalogProductListFailure, } from '../invoicingCatalogListViewReducer';
|
|
@@ -29,7 +29,7 @@ export const fetchInvoicingCatalogProductListEpic = (actions$, _state$, zeniAPI)
|
|
|
29
29
|
if (isSuccessResponse(response)) {
|
|
30
30
|
const items = response.data?.items ?? [];
|
|
31
31
|
return [
|
|
32
|
-
|
|
32
|
+
updateInvoicingCatalogItems(items, 'merge'),
|
|
33
33
|
updateInvoicingCatalogProductList({
|
|
34
34
|
ids: items.map((item) => item.id),
|
|
35
35
|
nextCursor: response.data?.next_cursor ?? null,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
-
import {
|
|
2
|
+
import { getInvoicingCatalogItemsByIds } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
3
3
|
import { runningInvoicingActionId } from '../runningInvoicingActionId';
|
|
4
4
|
import { INVOICING_PRODUCT_COLUMNS, } from './invoicingCatalogListViewState';
|
|
5
5
|
/**
|
|
@@ -28,13 +28,13 @@ export const getInvoicingCatalogPrices = (items) => items.flatMap((item) => (ite
|
|
|
28
28
|
* denormalized arrays keep referential identity. The base `fetchState`/`error`
|
|
29
29
|
* track the plan list; the product list has its own `productFetchState`.
|
|
30
30
|
*/
|
|
31
|
-
export const getInvoicingCatalogListView = createSelector((state) => state.
|
|
31
|
+
export const getInvoicingCatalogListView = createSelector((state) => state.invoicingCatalogState, (state) => state.invoicingCatalogListViewState, (state) => state.invoicingConfigViewState.catalogItemLifecycleActionOptions, (state) => state.editInvoicingCatalogItemDetailViewState.actionStateById, (catalogState, listViewState, catalogItemLifecycleActionOptions, actionStateById) => ({
|
|
32
32
|
catalogItemLifecycleActionOptions,
|
|
33
33
|
runningActionId: runningInvoicingActionId(actionStateById),
|
|
34
|
-
plans:
|
|
34
|
+
plans: getInvoicingCatalogItemsByIds(catalogState, listViewState.planIds),
|
|
35
35
|
planSort: listViewState.planSort,
|
|
36
36
|
productColumns: INVOICING_PRODUCT_COLUMNS,
|
|
37
|
-
products:
|
|
37
|
+
products: getInvoicingCatalogItemsByIds(catalogState, listViewState.productIds),
|
|
38
38
|
productSort: listViewState.productSort,
|
|
39
39
|
count: listViewState.counts,
|
|
40
40
|
countsFetchState: listViewState.countsFetchState,
|
package/lib/index.d.ts
CHANGED
|
@@ -1066,8 +1066,7 @@ export type { InvoicingInvoiceStatus } from './entity/invoicing/invoice/invoiceT
|
|
|
1066
1066
|
export type { InvoicingDunningAttempt, InvoicingInvoice, InvoicingInvoiceDiscount, InvoicingInvoiceKPIs, InvoicingInvoiceNote, InvoicingIssuedCreditNote, InvoicingLineItem, InvoicingLinkedPayment, } from './entity/invoicing/invoice/invoiceState';
|
|
1067
1067
|
export type { InvoicingDunningAction, InvoicingDunningActionOption, InvoicingDunningScheduleStepPayload, InvoicingFormOption, InvoicingListCounts, InvoicingPaginatedList, InvoicingPriceType, InvoicingSettingsPayload as InvoicingSettings, InvoicingStripeAccountPayload, InvoicingSubscriptionLifecycleAction, InvoicingSubscriptionLifecycleActionOption, InvoicingSubscriptionLifecycleActionOptionWire, InvoicingCatalogItemLifecycleAction, InvoicingCatalogProductLifecycleAction, InvoicingCatalogLifecycleActionOption, InvoicingCatalogLifecycleActionOptionWire, InvoicingDiscountLifecycleAction, InvoicingDiscountLifecycleActionOption, AuditLogEntityRouteOption, AuditLogEntityRouteOptionWire, AuditLogListSortFieldOption, AuditLogListSortFieldOptionWire, AuditLogSourceLabelOption, AuditLogSourceLabelOptionWire, } from './entity/invoicing/invoicingCommonPayload';
|
|
1068
1068
|
export { INVOICING_DUNNING_ACTIONS, INVOICING_SUBSCRIPTION_LIFECYCLE_ACTIONS, INVOICING_CATALOG_ITEM_LIFECYCLE_ACTIONS, INVOICING_CATALOG_PRODUCT_LIFECYCLE_ACTIONS, INVOICING_DISCOUNT_LIFECYCLE_ACTIONS, toInvoicingDunningAction, toInvoicingSubscriptionLifecycleAction, toInvoicingSubscriptionLifecycleActionOption, toInvoicingCatalogItemLifecycleAction, toInvoicingCatalogProductLifecycleAction, toInvoicingCatalogItemLifecycleActionOption, toInvoicingCatalogProductLifecycleActionOption, toInvoicingDiscountLifecycleAction, toInvoicingDiscountLifecycleActionOption, buildInvoicingEntityPath, isInvoicingEntityLinkable, toAuditLogEntityRouteOption, } from './entity/invoicing/invoicingCommonPayload';
|
|
1069
|
-
export type {
|
|
1070
|
-
export type { InvoicingAccountingDetail, InvoicingPlanTier, InvoicingProduct, } from './entity/invoicing/product/productState';
|
|
1069
|
+
export type { InvoicingAccountingDetail, InvoicingCatalogItem, InvoicingCatalogTier, InvoicingCatalogPricePoint, } from './entity/invoicing/invoicingCatalog/invoicingCatalogState';
|
|
1071
1070
|
export type { InvoicingBillingPeriodUnit, InvoicingSubscriptionStatus, } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionTypes';
|
|
1072
1071
|
export type { InvoicingContractTerm, InvoicingSubscription, InvoicingSubscriptionCoupon, InvoicingSubscriptionItem, } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionState';
|
|
1073
1072
|
export type { InvoicingLinkedCreditNoteRef, InvoicingLinkedInvoiceRef, InvoicingLinkedRefund, InvoicingTransaction, } from './entity/invoicing/invoicingTransaction/invoicingTransactionState';
|
|
@@ -1225,8 +1224,7 @@ export { clearInvoicingDunningCaseDetailView, fetchInvoicingDunningCaseDetail, f
|
|
|
1225
1224
|
export { getInvoicingDunningCaseById, getInvoicingDunningCaseDetail, getInvoicingDunningEmailPreview, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector';
|
|
1226
1225
|
export type { InvoicingDunningCaseDetailView } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector';
|
|
1227
1226
|
export type { InvoicingDunningEmailPreview, InvoicingDunningEmailPreviewState, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewState';
|
|
1228
|
-
export {
|
|
1229
|
-
export { removeInvoicingProduct, updateInvoicingProducts, } from './entity/invoicing/product/productReducer';
|
|
1227
|
+
export { mergeInvoicingCatalogPricePoint, removeInvoicingCatalogItem, updateInvoicingCatalogItems, } from './entity/invoicing/invoicingCatalog/invoicingCatalogReducer';
|
|
1230
1228
|
export { fetchInvoicingCatalogCounts, fetchInvoicingCatalogListPage, fetchInvoicingCatalogPlanList, fetchInvoicingCatalogProductList, updateInvoicingCatalogPlanFilters, updateInvoicingCatalogProductFilters, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewReducer';
|
|
1231
1229
|
export { ALL_INVOICING_PRODUCT_SORT_KEYS, INVOICING_PRODUCT_COLUMNS, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState';
|
|
1232
1230
|
export type { InvoicingCatalogPlanFilters, InvoicingCatalogProductFilters, InvoicingProductColumnConfig, InvoicingProductSortKey, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState';
|
|
@@ -1234,8 +1232,7 @@ export { getInvoicingCatalogListView } from './view/invoicing/invoicingCatalogLi
|
|
|
1234
1232
|
export type { InvoicingCatalogListView } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
1235
1233
|
export { fetchInvoicingCatalogItemDetail } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1236
1234
|
export type { InvoicingCatalogItemKind } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState';
|
|
1237
|
-
export {
|
|
1238
|
-
export { getInvoicingProductById } from './entity/invoicing/product/productSelector';
|
|
1235
|
+
export { getInvoicingCatalogItemById, getLowestInvoicingCatalogPricePointAmount, } from './entity/invoicing/invoicingCatalog/invoicingCatalogSelector';
|
|
1239
1236
|
export { connectInvoicingStripe, disconnectInvoicingStripe, fetchInvoicingSettings, resetInvoicingBrandingFormDraft, resetInvoicingQboSettingsDraft, resetSaveInvoicingSettings, saveInvoicingSettings, submitInvoicingBrandingForm, submitInvoicingQboSettings, updateInvoicingBrandingFormDraft, updateInvoicingQboSettingsDraft, updateInvoicingSettings, } from './view/invoicing/settingsView/settingsViewReducer';
|
|
1240
1237
|
export { getInvoicingBrandingFormView, getInvoicingQboSettingsFormView, getInvoicingSettings, getInvoicingSettingsFetchState, getInvoicingSettingsHubView, getInvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
|
|
1241
1238
|
export type { InvoicingBrandingFormView, InvoicingQboSettingsFormView, InvoicingSettingsHubView, InvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
|
package/lib/index.js
CHANGED
|
@@ -84,9 +84,8 @@ exports.entityToInvoicingCustomerFormLocalData = exports.INVOICING_CUSTOMER_BILL
|
|
|
84
84
|
exports.runInvoicingSubscriptionAction = exports.runInvoicingDiscountAction = exports.runInvoicingCatalogProductAction = exports.runInvoicingCatalogPlanAction = exports.fetchInvoicingCatalogItemDetailPage = exports.shouldDefaultAdjustmentCreditNote = exports.isBackdatedInvoiceDate = exports.buildVoidInvoiceSubmitBody = exports.updateInvoicingInvoice = exports.runInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.fetchInvoicingCouponDetailPage = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = exports.invoicingProductToCatalogItemFormSubFamily = exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.INVOICING_CATALOG_TIER_TYPE_VALUES = exports.INVOICING_CATALOG_PRORATION_VALUES = exports.INVOICING_CATALOG_PRICING_MODEL_VALUES = exports.INVOICING_CATALOG_APPLICABILITY_VALUES = exports.updateInvoicingCatalogItemFormDraft = exports.submitInvoicingCatalogItemForm = exports.resetEditInvoicingCatalogItemDetailView = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.toInvoicingSubscriptionQuantity = exports.invoicingSubscriptionTodayIso = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.updateInvoicingSubscriptionFormDraft = exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = void 0;
|
|
85
85
|
exports.ALL_INVOICING_SUBSCRIPTION_SORT_KEYS = exports.updateInvoicingSubscriptionFilters = exports.setInvoicingSubscriptionActiveTab = exports.fetchInvoicingSubscriptionListPage = exports.fetchInvoicingSubscriptionList = exports.fetchInvoicingSubscriptionCounts = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.resetPromotionalCreditAction = exports.submitAddPromotionalCredits = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.fetchInvoicingPaymentLinkEmailPreviewPage = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.getInvoicingCustomerListView = exports.INVOICING_CUSTOMER_COLUMNS = exports.ALL_INVOICING_CUSTOMER_TAB_IDS = exports.ALL_INVOICING_CUSTOMER_SORT_KEYS = exports.updateInvoicingCustomerFilters = exports.setInvoicingCustomerActiveTab = exports.fetchInvoicingCustomerListPage = exports.fetchInvoicingCustomerList = exports.fetchInvoicingCustomerCounts = exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.INVOICING_LIST_PAGE_SIZE = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.getInvoicingDataImportView = exports.setInvoicingActiveMigrationSessionId = exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingMigrationDiagnostics = exports.fetchInvoicingDataImportStatus = exports.runInvoicingPaymentAction = exports.runInvoicingDunningAction = void 0;
|
|
86
86
|
exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_COLUMNS = exports.ALL_INVOICING_COUPON_TAB_IDS = exports.ALL_INVOICING_COUPON_SORT_KEYS = exports.updateInvoicingCouponFilters = exports.setInvoicingCouponActiveTab = exports.fetchInvoicingCouponListPage = exports.fetchInvoicingCouponList = exports.fetchInvoicingCouponCounts = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_COLUMNS = exports.ALL_INVOICING_CREDIT_NOTE_TAB_IDS = exports.ALL_INVOICING_CREDIT_NOTE_SORT_KEYS = exports.updateInvoicingCreditNoteFilters = exports.setInvoicingCreditNoteActiveTab = exports.fetchInvoicingCreditNoteListPage = exports.fetchInvoicingCreditNoteList = exports.fetchInvoicingCreditNoteCounts = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.getInvoicingTransactionDetail = exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_COLUMNS = exports.ALL_INVOICING_TRANSACTION_TAB_IDS = exports.ALL_INVOICING_TRANSACTION_SORT_KEYS = exports.updateInvoicingTransactionFilters = exports.setInvoicingTransactionActiveTab = exports.fetchInvoicingTransactionListPage = exports.fetchInvoicingTransactionList = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetailPage = exports.fetchInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_COLUMNS = exports.ALL_INVOICING_SUBSCRIPTION_TAB_IDS = void 0;
|
|
87
|
-
exports.updateInvoicingQboSettingsDraft = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingQboSettings = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingQboSettingsDraft = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.
|
|
88
|
-
exports.isAutoReversedAccrual = exports.getExpenseAutomationActualMatchingView = exports.getExpenseAutomationActualMatchingMatchView = exports.parseActualMatchingMatchId = exports.getCloseMatchAfterUndoMatchId = exports.getCloseMatchAfterUndo = exports.getCloseMatchAfterIgnoreMatchId = exports.getActualMatchingMatchModalConfirmStatus = exports.getActualMatchingReversalDate = exports.getActualMatchingAmount = exports.isPendingReviewRow = exports.isRenderableOneTimeAccrual = exports.isOneTimeAccrualRow = exports.isExistingTabRow = exports.isAiAccountantSchedule = exports.isAccruedScheduleRow = exports.getJEScheduleRowType = exports.getExpenseAutomationJEOneTimeAccrualDetailView = exports.getInvoicingOnboardingGateView = exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.acceptInvoicingTerms = exports.toInvoicingQboCustomerMatchingMode = exports.toInvoicingNamedOptionsByKey = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingQboView = exports.invoicingAccountsForQboAccountTypes = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingAccountingPickers = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.invoicingQboSettingsLocalDataToPayload = exports.initialInvoicingQboSettingsLocalData = exports.entityToInvoicingQboSettingsLocalData = exports.getInvoicingSettingsView = exports.getInvoicingSettingsHubView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings =
|
|
89
|
-
exports.isPendingReviewAccrual = exports.isManuallyReversedAccrual = void 0;
|
|
87
|
+
exports.getInvoicingQboSettingsFormView = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingQboSettingsDraft = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingQboSettings = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingQboSettingsDraft = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.getLowestInvoicingCatalogPricePointAmount = exports.getInvoicingCatalogItemById = exports.fetchInvoicingCatalogItemDetail = exports.getInvoicingCatalogListView = exports.INVOICING_PRODUCT_COLUMNS = exports.ALL_INVOICING_PRODUCT_SORT_KEYS = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.updateInvoicingCatalogItems = exports.removeInvoicingCatalogItem = exports.mergeInvoicingCatalogPricePoint = exports.getInvoicingDunningEmailPreview = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.invalidateInvoicingDunningEmailPreview = exports.fetchInvoicingDunningEmailPreviewPage = exports.fetchInvoicingDunningCaseDetailPage = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_COLUMNS = exports.ALL_INVOICING_DUNNING_CASE_TAB_IDS = exports.ALL_INVOICING_DUNNING_CASE_SORT_KEYS = exports.updateInvoicingDunningCaseFilters = exports.setInvoicingDunningCaseActiveTab = exports.fetchInvoicingDunningCaseListPage = exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.fetchInvoicingCouponDetail = exports.getInvoicingCouponById = void 0;
|
|
88
|
+
exports.isPendingReviewAccrual = exports.isManuallyReversedAccrual = exports.isAutoReversedAccrual = exports.getExpenseAutomationActualMatchingView = exports.getExpenseAutomationActualMatchingMatchView = exports.parseActualMatchingMatchId = exports.getCloseMatchAfterUndoMatchId = exports.getCloseMatchAfterUndo = exports.getCloseMatchAfterIgnoreMatchId = exports.getActualMatchingMatchModalConfirmStatus = exports.getActualMatchingReversalDate = exports.getActualMatchingAmount = exports.isPendingReviewRow = exports.isRenderableOneTimeAccrual = exports.isOneTimeAccrualRow = exports.isExistingTabRow = exports.isAiAccountantSchedule = exports.isAccruedScheduleRow = exports.getJEScheduleRowType = exports.getExpenseAutomationJEOneTimeAccrualDetailView = exports.getInvoicingOnboardingGateView = exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.acceptInvoicingTerms = exports.toInvoicingQboCustomerMatchingMode = exports.toInvoicingNamedOptionsByKey = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingQboView = exports.invoicingAccountsForQboAccountTypes = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingAccountingPickers = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.invoicingQboSettingsLocalDataToPayload = exports.initialInvoicingQboSettingsLocalData = exports.entityToInvoicingQboSettingsLocalData = exports.getInvoicingSettingsView = exports.getInvoicingSettingsHubView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = void 0;
|
|
90
89
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
91
90
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
92
91
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -3151,13 +3150,10 @@ Object.defineProperty(exports, "getInvoicingDunningCaseById", { enumerable: true
|
|
|
3151
3150
|
Object.defineProperty(exports, "getInvoicingDunningCaseDetail", { enumerable: true, get: function () { return invoicingDunningCaseDetailViewSelector_1.getInvoicingDunningCaseDetail; } });
|
|
3152
3151
|
Object.defineProperty(exports, "getInvoicingDunningEmailPreview", { enumerable: true, get: function () { return invoicingDunningCaseDetailViewSelector_1.getInvoicingDunningEmailPreview; } });
|
|
3153
3152
|
// ── Invoicing: catalog (plans + products) ─────────────────────────────────────
|
|
3154
|
-
var
|
|
3155
|
-
Object.defineProperty(exports, "
|
|
3156
|
-
Object.defineProperty(exports, "
|
|
3157
|
-
Object.defineProperty(exports, "
|
|
3158
|
-
var productReducer_1 = require("./entity/invoicing/product/productReducer");
|
|
3159
|
-
Object.defineProperty(exports, "removeInvoicingProduct", { enumerable: true, get: function () { return productReducer_1.removeInvoicingProduct; } });
|
|
3160
|
-
Object.defineProperty(exports, "updateInvoicingProducts", { enumerable: true, get: function () { return productReducer_1.updateInvoicingProducts; } });
|
|
3153
|
+
var invoicingCatalogReducer_1 = require("./entity/invoicing/invoicingCatalog/invoicingCatalogReducer");
|
|
3154
|
+
Object.defineProperty(exports, "mergeInvoicingCatalogPricePoint", { enumerable: true, get: function () { return invoicingCatalogReducer_1.mergeInvoicingCatalogPricePoint; } });
|
|
3155
|
+
Object.defineProperty(exports, "removeInvoicingCatalogItem", { enumerable: true, get: function () { return invoicingCatalogReducer_1.removeInvoicingCatalogItem; } });
|
|
3156
|
+
Object.defineProperty(exports, "updateInvoicingCatalogItems", { enumerable: true, get: function () { return invoicingCatalogReducer_1.updateInvoicingCatalogItems; } });
|
|
3161
3157
|
var invoicingCatalogListViewReducer_1 = require("./view/invoicing/invoicingCatalogListView/invoicingCatalogListViewReducer");
|
|
3162
3158
|
Object.defineProperty(exports, "fetchInvoicingCatalogCounts", { enumerable: true, get: function () { return invoicingCatalogListViewReducer_1.fetchInvoicingCatalogCounts; } });
|
|
3163
3159
|
Object.defineProperty(exports, "fetchInvoicingCatalogListPage", { enumerable: true, get: function () { return invoicingCatalogListViewReducer_1.fetchInvoicingCatalogListPage; } });
|
|
@@ -3172,11 +3168,9 @@ var invoicingCatalogListViewSelector_1 = require("./view/invoicing/invoicingCata
|
|
|
3172
3168
|
Object.defineProperty(exports, "getInvoicingCatalogListView", { enumerable: true, get: function () { return invoicingCatalogListViewSelector_1.getInvoicingCatalogListView; } });
|
|
3173
3169
|
var editInvoicingCatalogItemDetailViewReducer_3 = require("./view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer");
|
|
3174
3170
|
Object.defineProperty(exports, "fetchInvoicingCatalogItemDetail", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_3.fetchInvoicingCatalogItemDetail; } });
|
|
3175
|
-
var
|
|
3176
|
-
Object.defineProperty(exports, "
|
|
3177
|
-
Object.defineProperty(exports, "
|
|
3178
|
-
var productSelector_1 = require("./entity/invoicing/product/productSelector");
|
|
3179
|
-
Object.defineProperty(exports, "getInvoicingProductById", { enumerable: true, get: function () { return productSelector_1.getInvoicingProductById; } });
|
|
3171
|
+
var invoicingCatalogSelector_1 = require("./entity/invoicing/invoicingCatalog/invoicingCatalogSelector");
|
|
3172
|
+
Object.defineProperty(exports, "getInvoicingCatalogItemById", { enumerable: true, get: function () { return invoicingCatalogSelector_1.getInvoicingCatalogItemById; } });
|
|
3173
|
+
Object.defineProperty(exports, "getLowestInvoicingCatalogPricePointAmount", { enumerable: true, get: function () { return invoicingCatalogSelector_1.getLowestInvoicingCatalogPricePointAmount; } });
|
|
3180
3174
|
// ── Invoicing: settings ───────────────────────────────────────────────────────
|
|
3181
3175
|
var settingsViewReducer_2 = require("./view/invoicing/settingsView/settingsViewReducer");
|
|
3182
3176
|
Object.defineProperty(exports, "connectInvoicingStripe", { enumerable: true, get: function () { return settingsViewReducer_2.connectInvoicingStripe; } });
|
package/lib/reducer.d.ts
CHANGED
|
@@ -240,8 +240,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
240
240
|
invoicingCustomerState: import("./entity/invoicing/invoicingCustomer/invoicingCustomerState").InvoicingCustomerState;
|
|
241
241
|
invoicingDunningCaseState: import("./entity/invoicing/dunningCase/dunningCaseState").InvoicingDunningCaseState;
|
|
242
242
|
invoicingInvoiceState: import("./entity/invoicing/invoice/invoiceState").InvoiceState;
|
|
243
|
-
|
|
244
|
-
invoicingProductState: import("./entity/invoicing/product/productState").InvoicingProductState;
|
|
243
|
+
invoicingCatalogState: import("./entity/invoicing/invoicingCatalog/invoicingCatalogState").InvoicingCatalogState;
|
|
245
244
|
invoicingSubscriptionState: import("./entity/invoicing/invoicingSubscription/invoicingSubscriptionState").InvoicingSubscriptionState;
|
|
246
245
|
invoicingTransactionState: import("./entity/invoicing/invoicingTransaction/invoicingTransactionState").InvoicingTransactionState;
|
|
247
246
|
jeSchedulesState: import("./entity/jeSchedules/jeSchedulesState").JESchedulesState;
|
package/lib/reducer.js
CHANGED
|
@@ -41,6 +41,7 @@ const redux_1 = require("redux");
|
|
|
41
41
|
const accountReducer_1 = __importStar(require("./entity/account/accountReducer"));
|
|
42
42
|
const accountGroupReducer_1 = __importStar(require("./entity/accountGroup/accountGroupReducer"));
|
|
43
43
|
const accountReconReducer_1 = __importStar(require("./entity/accountRecon/accountReconReducer"));
|
|
44
|
+
const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
|
|
44
45
|
const addressReducer_1 = __importStar(require("./entity/address/addressReducer"));
|
|
45
46
|
const aiAccountantCustomerReducer_1 = __importStar(require("./entity/aiAccountantCustomer/aiAccountantCustomerReducer"));
|
|
46
47
|
const aiCfoReducer_1 = __importStar(require("./entity/aiCfo/aiCfoReducer"));
|
|
@@ -79,9 +80,7 @@ const invoiceReducer_1 = __importStar(require("./entity/invoicing/invoice/invoic
|
|
|
79
80
|
const invoicingCustomerReducer_1 = __importStar(require("./entity/invoicing/invoicingCustomer/invoicingCustomerReducer"));
|
|
80
81
|
const invoicingSubscriptionReducer_1 = __importStar(require("./entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer"));
|
|
81
82
|
const invoicingTransactionReducer_1 = __importStar(require("./entity/invoicing/invoicingTransaction/invoicingTransactionReducer"));
|
|
82
|
-
const
|
|
83
|
-
const productReducer_1 = __importStar(require("./entity/invoicing/product/productReducer"));
|
|
84
|
-
const actualMatchingReducer_1 = __importStar(require("./entity/actualMatching/actualMatchingReducer"));
|
|
83
|
+
const invoicingCatalogReducer_1 = __importStar(require("./entity/invoicing/invoicingCatalog/invoicingCatalogReducer"));
|
|
85
84
|
const jeSchedulesReducer_1 = __importStar(require("./entity/jeSchedules/jeSchedulesReducer"));
|
|
86
85
|
const merchantReducer_1 = __importStar(require("./entity/merchant/merchantReducer"));
|
|
87
86
|
const monthEndCloseChecksReducer_1 = __importStar(require("./entity/monthEndCloseChecks/monthEndCloseChecksReducer"));
|
|
@@ -355,8 +354,7 @@ const initialEntitiesState = {
|
|
|
355
354
|
invoicingCustomerState: invoicingCustomerReducer_1.initialState,
|
|
356
355
|
invoicingDunningCaseState: dunningCaseReducer_1.initialState,
|
|
357
356
|
invoicingInvoiceState: invoiceReducer_1.initialState,
|
|
358
|
-
|
|
359
|
-
invoicingProductState: productReducer_1.initialState,
|
|
357
|
+
invoicingCatalogState: invoicingCatalogReducer_1.initialState,
|
|
360
358
|
invoicingSubscriptionState: invoicingSubscriptionReducer_1.initialState,
|
|
361
359
|
invoicingTransactionState: invoicingTransactionReducer_1.initialState,
|
|
362
360
|
jeSchedulesState: jeSchedulesReducer_1.initialState,
|
|
@@ -642,8 +640,7 @@ const entityReducers = {
|
|
|
642
640
|
invoicingCustomerState: invoicingCustomerReducer_1.default,
|
|
643
641
|
invoicingDunningCaseState: dunningCaseReducer_1.default,
|
|
644
642
|
invoicingInvoiceState: invoiceReducer_1.default,
|
|
645
|
-
|
|
646
|
-
invoicingProductState: productReducer_1.default,
|
|
643
|
+
invoicingCatalogState: invoicingCatalogReducer_1.default,
|
|
647
644
|
invoicingSubscriptionState: invoicingSubscriptionReducer_1.default,
|
|
648
645
|
invoicingTransactionState: invoicingTransactionReducer_1.default,
|
|
649
646
|
jeSchedulesState: jeSchedulesReducer_1.default,
|
package/lib/rootStateTypes.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AccountState } from './entity/account/accountState';
|
|
2
2
|
import { AccountGroupState } from './entity/accountGroup/accountGroupState';
|
|
3
3
|
import { AccountReconState } from './entity/accountRecon/accountReconState';
|
|
4
|
+
import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
|
|
4
5
|
import { AddressState } from './entity/address/addressState';
|
|
5
6
|
import { AiAccountantCustomerState } from './entity/aiAccountantCustomer/aiAccountantCustomerState';
|
|
6
7
|
import { AiCfoState } from './entity/aiCfo/aiCfoState';
|
|
@@ -39,9 +40,7 @@ import { InvoiceState as InvoicingInvoiceState } from './entity/invoicing/invoic
|
|
|
39
40
|
import { InvoicingCustomerState } from './entity/invoicing/invoicingCustomer/invoicingCustomerState';
|
|
40
41
|
import { InvoicingSubscriptionState } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionState';
|
|
41
42
|
import { InvoicingTransactionState } from './entity/invoicing/invoicingTransaction/invoicingTransactionState';
|
|
42
|
-
import {
|
|
43
|
-
import { InvoicingProductState } from './entity/invoicing/product/productState';
|
|
44
|
-
import { ActualMatchingState } from './entity/actualMatching/actualMatchingState';
|
|
43
|
+
import { InvoicingCatalogState } from './entity/invoicing/invoicingCatalog/invoicingCatalogState';
|
|
45
44
|
import { JESchedulesState } from './entity/jeSchedules/jeSchedulesState';
|
|
46
45
|
import { MerchantState } from './entity/merchant/merchant';
|
|
47
46
|
import { MonthEndCloseChecksState } from './entity/monthEndCloseChecks/monthEndCloseChecksState';
|
|
@@ -306,13 +305,12 @@ export type EntitiesState = {
|
|
|
306
305
|
forecastState: ForecastState;
|
|
307
306
|
globalMerchantState: GlobalMerchantState;
|
|
308
307
|
insightState: InsightState;
|
|
308
|
+
invoicingCatalogState: InvoicingCatalogState;
|
|
309
309
|
invoicingCouponState: InvoicingCouponState;
|
|
310
310
|
invoicingCreditNoteState: InvoicingCreditNoteState;
|
|
311
311
|
invoicingCustomerState: InvoicingCustomerState;
|
|
312
312
|
invoicingDunningCaseState: InvoicingDunningCaseState;
|
|
313
313
|
invoicingInvoiceState: InvoicingInvoiceState;
|
|
314
|
-
invoicingPlanState: InvoicingPlanState;
|
|
315
|
-
invoicingProductState: InvoicingProductState;
|
|
316
314
|
invoicingSubscriptionState: InvoicingSubscriptionState;
|
|
317
315
|
invoicingTransactionState: InvoicingTransactionState;
|
|
318
316
|
jeSchedulesState: JESchedulesState;
|
|
@@ -16,9 +16,9 @@ export declare const clearExpenseAutomationJESchedulesView: import("@reduxjs/too
|
|
|
16
16
|
localData: NewOneTimeAccrualLocalData;
|
|
17
17
|
}, "expenseAutomationJESchedulesView/createOneTimeAccrual", never, never>, createOneTimeAccrualFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
18
18
|
status: ZeniAPIStatus;
|
|
19
|
-
}, "expenseAutomationJESchedulesView/createOneTimeAccrualFailure">, createOneTimeAccrualSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationJESchedulesView/createOneTimeAccrualSuccess">, ignoreOneTimeAccrual: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[accrualId: string, reason: "
|
|
19
|
+
}, "expenseAutomationJESchedulesView/createOneTimeAccrualFailure">, createOneTimeAccrualSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"expenseAutomationJESchedulesView/createOneTimeAccrualSuccess">, ignoreOneTimeAccrual: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[accrualId: string, reason: "no_activity" | "paused" | "too_small" | "need_invoice" | "other_ignore", note?: string | undefined], {
|
|
20
20
|
accrualId: string;
|
|
21
|
-
reason: "
|
|
21
|
+
reason: "no_activity" | "paused" | "too_small" | "need_invoice" | "other_ignore";
|
|
22
22
|
note: string | undefined;
|
|
23
23
|
}, "expenseAutomationJESchedulesView/ignoreOneTimeAccrual", never, never>, oneTimeAccrualActionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
24
24
|
accrualId: ID;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ID } from '../../../commonStateTypes/common';
|
|
2
2
|
import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
3
|
import { Address } from '../../../entity/address/addressState';
|
|
4
|
+
import { InvoicingCatalogPricePoint } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogState';
|
|
4
5
|
import { InvoicingFieldHelpByCode, InvoicingSettingsPayload } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
5
|
-
import { InvoicingProduct } from '../../../entity/invoicing/product/productState';
|
|
6
6
|
import { RootState } from '../../../rootStateTypes';
|
|
7
7
|
import { InvoicingCreateInvoiceFormLocalData } from './createInvoiceState';
|
|
8
8
|
/**
|
|
@@ -38,7 +38,7 @@ export interface CreateInvoiceFormView extends SelectorView {
|
|
|
38
38
|
fieldHelp: InvoicingFieldHelpByCode;
|
|
39
39
|
localData: InvoicingCreateInvoiceFormLocalData;
|
|
40
40
|
planNames: InvoicingPlanNameOption[];
|
|
41
|
-
products:
|
|
41
|
+
products: InvoicingCatalogPricePoint[];
|
|
42
42
|
savedInvoiceId?: ID;
|
|
43
43
|
settings?: InvoicingSettingsPayload;
|
|
44
44
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCreateInvoiceFormView = void 0;
|
|
4
4
|
const addressSelector_1 = require("../../../entity/address/addressSelector");
|
|
5
|
-
const
|
|
5
|
+
const invoicingCatalogSelector_1 = require("../../../entity/invoicing/invoicingCatalog/invoicingCatalogSelector");
|
|
6
6
|
const invoicingCatalogListViewSelector_1 = require("../invoicingCatalogListView/invoicingCatalogListViewSelector");
|
|
7
7
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
8
8
|
const invoicingCustomerListViewSelector_1 = require("../invoicingCustomerListView/invoicingCustomerListViewSelector");
|
|
@@ -31,7 +31,7 @@ const hasPerUnitRate = (pricingModel) => pricingModel == null ||
|
|
|
31
31
|
* `undefined` when there is no safe per-unit rate to prefill.
|
|
32
32
|
*/
|
|
33
33
|
const planNamePrefillPrice = (pricePoint) => hasPerUnitRate(pricePoint.pricingModel)
|
|
34
|
-
? (0,
|
|
34
|
+
? (0, invoicingCatalogSelector_1.invoicingPricePointDisplayAmount)(pricePoint)?.amount
|
|
35
35
|
: undefined;
|
|
36
36
|
/**
|
|
37
37
|
* Display name for a customer option: company, else the full name, else the
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { AccountBase } from '../../../entity/account/accountState';
|
|
2
2
|
import { ClassBase } from '../../../entity/class/classState';
|
|
3
|
-
import {
|
|
4
|
-
import { InvoicingAccountingDetailPayload, InvoicingProductPayload } from '../../../entity/invoicing/product/productPayload';
|
|
3
|
+
import { InvoicingAccountingDetailPayload, InvoicingCatalogItemPayload, InvoicingCatalogPricePointPayload } from '../../../entity/invoicing/invoicingCatalog/invoicingCatalogPayload';
|
|
5
4
|
import { ZeniAPIResponse } from '../../../responsePayload';
|
|
6
5
|
import { InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
7
|
-
export type SaveInvoicingCatalogItemResponse = ZeniAPIResponse<
|
|
6
|
+
export type SaveInvoicingCatalogItemResponse = ZeniAPIResponse<InvoicingCatalogItemPayload>;
|
|
8
7
|
/**
|
|
9
|
-
* The price-point half of a save body. `
|
|
8
|
+
* The price-point half of a save body. `InvoicingCatalogPricePointPayload` is the shape
|
|
10
9
|
* the service returns; a save differs in that a field is cleared by sending an
|
|
11
10
|
* explicit `null`, since an absent key reads as "leave it alone".
|
|
12
11
|
*/
|
|
13
|
-
export type InvoicingCatalogSubFamilySavePayload = Omit<Partial<
|
|
12
|
+
export type InvoicingCatalogSubFamilySavePayload = Omit<Partial<InvoicingCatalogPricePointPayload>, 'accounting_detail' | 'description' | 'invoice_notes'> & {
|
|
14
13
|
accounting_detail?: InvoicingAccountingDetailPayload | null;
|
|
15
14
|
description?: string | null;
|
|
16
15
|
invoice_notes?: string | null;
|
|
@@ -25,7 +24,7 @@ export type InvoicingCatalogSubFamilySavePayload = Omit<Partial<InvoicingProduct
|
|
|
25
24
|
* by its own request instead; see
|
|
26
25
|
* `localDataToCreateInvoicingCatalogProductPayloads`.
|
|
27
26
|
*/
|
|
28
|
-
export type InvoicingCatalogItemSavePayload = Omit<Partial<
|
|
27
|
+
export type InvoicingCatalogItemSavePayload = Omit<Partial<InvoicingCatalogItemPayload>, 'sub_families'> & {
|
|
29
28
|
sub_families?: InvoicingCatalogSubFamilySavePayload[];
|
|
30
29
|
};
|
|
31
30
|
/**
|
|
@@ -67,6 +66,6 @@ export declare const localDataToSaveInvoicingCatalogItemPayload: (localData: Inv
|
|
|
67
66
|
* price point that does not exist yet to clear.
|
|
68
67
|
*/
|
|
69
68
|
export declare const localDataToCreateInvoicingCatalogProductPayloads: (localData: InvoicingCatalogItemFormLocalData, itemId: string, lookup: InvoicingCatalogAccountingLookup) => InvoicingCatalogSubFamilySavePayload[];
|
|
70
|
-
export type RunInvoicingCatalogPlanActionResponse = ZeniAPIResponse<
|
|
71
|
-
export type RunInvoicingCatalogProductActionResponse = ZeniAPIResponse<
|
|
72
|
-
export type InvoicingCatalogItemDetailResponse = ZeniAPIResponse<
|
|
69
|
+
export type RunInvoicingCatalogPlanActionResponse = ZeniAPIResponse<InvoicingCatalogItemPayload>;
|
|
70
|
+
export type RunInvoicingCatalogProductActionResponse = ZeniAPIResponse<InvoicingCatalogPricePointPayload>;
|
|
71
|
+
export type InvoicingCatalogItemDetailResponse = ZeniAPIResponse<InvoicingCatalogItemPayload>;
|