@zeniai/client-epic-state 5.2.31 → 5.2.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/epic.d.ts +6 -6
- package/lib/epic.js +7 -8
- package/lib/esm/epic.js +6 -7
- package/lib/esm/index.js +9 -10
- package/lib/esm/reducer.js +12 -12
- package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +29 -11
- package/lib/esm/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.js +1 -24
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +10 -36
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.js +2 -21
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +11 -33
- package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +9 -1
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +2 -0
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/initializeInvoicingCustomerAddressEpic.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +15 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/fetchInvoicingSubscriptionFormPageEpic.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/initializeInvoicingSubscriptionAddressEpic.js +1 -1
- package/lib/esm/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewEpics.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewEpics.js} +1 -1
- package/lib/esm/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewReducer.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewReducer.js} +4 -4
- package/lib/esm/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector.js} +2 -4
- package/lib/esm/view/invoicing/{invoicingCouponDetailView → invoicingCouponRecordView}/fetchInvoicingCouponDetailEpic.js +1 -1
- package/lib/esm/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewReducer.js → invoicingCouponRecordView/invoicingCouponRecordViewReducer.js} +4 -4
- package/lib/esm/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewSelector.js → invoicingCouponRecordView/invoicingCouponRecordViewSelector.js} +2 -2
- package/lib/esm/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailEpic.js +1 -1
- package/lib/esm/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailPageEpic.js +2 -2
- package/lib/esm/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.js → invoicingCustomerRecordView/invoicingCustomerRecordViewReducer.js} +4 -4
- package/lib/esm/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js → invoicingCustomerRecordView/invoicingCustomerRecordViewSelector.js} +3 -3
- package/lib/esm/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewEpics.js} +1 -1
- package/lib/esm/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer.js} +4 -4
- package/lib/esm/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector.js} +2 -2
- package/lib/esm/view/invoicing/promotionalCreditAction/promotionalCreditActionEpic.js +1 -1
- package/lib/index.d.ts +15 -17
- package/lib/index.js +23 -32
- package/lib/reducer.d.ts +4 -4
- package/lib/reducer.js +12 -12
- package/lib/rootStateTypes.d.ts +8 -8
- package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +29 -11
- package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +2 -2
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.d.ts +1 -1
- package/lib/view/invoicing/customerPaymentMethod/customerPaymentMethodEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.d.ts +1 -1
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload.js +1 -1
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.d.ts +3 -19
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.js +2 -25
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +11 -11
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +11 -38
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState.d.ts +4 -27
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.d.ts +2 -3
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.js +2 -22
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts +2 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +9 -31
- package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.d.ts +12 -1
- package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +9 -1
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.d.ts +8 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +2 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/initializeInvoicingCustomerAddressEpic.d.ts +1 -1
- package/lib/view/invoicing/editInvoicingCustomerDetailView/initializeInvoicingCustomerAddressEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +11 -2
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +15 -0
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/fetchInvoicingSubscriptionFormPageEpic.d.ts +1 -1
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/fetchInvoicingSubscriptionFormPageEpic.js +2 -2
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/initializeInvoicingSubscriptionAddressEpic.d.ts +1 -1
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/initializeInvoicingSubscriptionAddressEpic.js +2 -2
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewEpics.d.ts → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewEpics.d.ts} +1 -1
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewEpics.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewEpics.js} +5 -5
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewReducer.d.ts → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewReducer.d.ts} +5 -5
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewReducer.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewReducer.js} +4 -4
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.d.ts → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector.d.ts} +3 -5
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector.js} +4 -6
- package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewState.d.ts → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState.d.ts} +1 -1
- package/lib/view/invoicing/{invoicingCouponDetailView → invoicingCouponRecordView}/fetchInvoicingCouponDetailEpic.d.ts +1 -1
- package/lib/view/invoicing/{invoicingCouponDetailView → invoicingCouponRecordView}/fetchInvoicingCouponDetailEpic.js +5 -5
- package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewReducer.d.ts → invoicingCouponRecordView/invoicingCouponRecordViewReducer.d.ts} +6 -6
- package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewReducer.js → invoicingCouponRecordView/invoicingCouponRecordViewReducer.js} +4 -4
- package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewSelector.d.ts → invoicingCouponRecordView/invoicingCouponRecordViewSelector.d.ts} +2 -2
- package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewSelector.js → invoicingCouponRecordView/invoicingCouponRecordViewSelector.js} +4 -4
- package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewState.d.ts → invoicingCouponRecordView/invoicingCouponRecordViewState.d.ts} +1 -1
- package/lib/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailEpic.d.ts +1 -1
- package/lib/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailEpic.js +5 -5
- package/lib/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailPageEpic.d.ts +1 -1
- package/lib/view/invoicing/{invoicingCustomerDetailView → invoicingCustomerRecordView}/fetchInvoicingCustomerDetailPageEpic.js +4 -4
- package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.d.ts → invoicingCustomerRecordView/invoicingCustomerRecordViewReducer.d.ts} +7 -7
- package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewReducer.js → invoicingCustomerRecordView/invoicingCustomerRecordViewReducer.js} +4 -4
- package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.d.ts → invoicingCustomerRecordView/invoicingCustomerRecordViewSelector.d.ts} +2 -2
- package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js → invoicingCustomerRecordView/invoicingCustomerRecordViewSelector.js} +5 -5
- package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewState.d.ts → invoicingCustomerRecordView/invoicingCustomerRecordViewState.d.ts} +1 -1
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.d.ts → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewEpics.d.ts} +1 -1
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewEpics.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewEpics.js} +5 -5
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.d.ts → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer.d.ts} +5 -5
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer.js} +4 -4
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.d.ts → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector.d.ts} +2 -2
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector.js} +4 -4
- package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.d.ts → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewState.d.ts} +1 -1
- package/lib/view/invoicing/promotionalCreditAction/promotionalCreditActionEpic.d.ts +1 -1
- package/lib/view/invoicing/promotionalCreditAction/promotionalCreditActionEpic.js +2 -2
- package/package.json +71 -38
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +0 -191
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.d.ts +0 -46
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +0 -198
- /package/lib/esm/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewPayload.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewPayload.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewState.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewPayload.js → invoicingCouponRecordView/invoicingCouponRecordViewPayload.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewState.js → invoicingCouponRecordView/invoicingCouponRecordViewState.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.js → invoicingCustomerRecordView/invoicingCustomerRecordViewPayload.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewState.js → invoicingCustomerRecordView/invoicingCustomerRecordViewState.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewPayload.js} +0 -0
- /package/lib/esm/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewState.js} +0 -0
- /package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewPayload.d.ts → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewPayload.d.ts} +0 -0
- /package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewPayload.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewPayload.js} +0 -0
- /package/lib/view/invoicing/{invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewState.js → invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState.js} +0 -0
- /package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewPayload.d.ts → invoicingCouponRecordView/invoicingCouponRecordViewPayload.d.ts} +0 -0
- /package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewPayload.js → invoicingCouponRecordView/invoicingCouponRecordViewPayload.js} +0 -0
- /package/lib/view/invoicing/{invoicingCouponDetailView/invoicingCouponDetailViewState.js → invoicingCouponRecordView/invoicingCouponRecordViewState.js} +0 -0
- /package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.d.ts → invoicingCustomerRecordView/invoicingCustomerRecordViewPayload.d.ts} +0 -0
- /package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewPayload.js → invoicingCustomerRecordView/invoicingCustomerRecordViewPayload.js} +0 -0
- /package/lib/view/invoicing/{invoicingCustomerDetailView/invoicingCustomerDetailViewState.js → invoicingCustomerRecordView/invoicingCustomerRecordViewState.js} +0 -0
- /package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.d.ts → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewPayload.d.ts} +0 -0
- /package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewPayload.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewPayload.js} +0 -0
- /package/lib/view/invoicing/{invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState.js → invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewState.js} +0 -0
|
@@ -1,44 +1,9 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
2
|
import { getInvoicingPlanById, getInvoicingPlansByIds, } from '../../../entity/invoicing/plan/planSelector';
|
|
3
|
+
import { getInvoicingCatalogItemRecord, } from '../invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector';
|
|
3
4
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
5
|
import { getInvoicingQboView, isInvoicingAccountingPickerDataLoading, isInvoicingQboConnected, } from '../invoicingQboView/invoicingQboViewSelector';
|
|
5
|
-
import { planToCatalogDetailEditValues } from './catalogDetailEditPayload';
|
|
6
6
|
import { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, entityToInvoicingCatalogItemFormLocalData, } from './invoicingCatalogItemFormConfig';
|
|
7
|
-
/** An unsaved item's inline-edit draft, before the record has loaded. */
|
|
8
|
-
export const initialCatalogDetailEditValues = () => ({
|
|
9
|
-
applicableItems: [],
|
|
10
|
-
description: '',
|
|
11
|
-
enabledForCheckout: true,
|
|
12
|
-
enabledInPortal: true,
|
|
13
|
-
giftClaimRedirectUrl: '',
|
|
14
|
-
includedInMrr: true,
|
|
15
|
-
isGiftable: false,
|
|
16
|
-
isShippable: false,
|
|
17
|
-
itemApplicability: 'all',
|
|
18
|
-
metered: false,
|
|
19
|
-
name: '',
|
|
20
|
-
productCode: '',
|
|
21
|
-
subFamilies: [],
|
|
22
|
-
unit: '',
|
|
23
|
-
usageCalculation: 'sum_of_usages',
|
|
24
|
-
});
|
|
25
|
-
/**
|
|
26
|
-
* The detail page's inline-edit form data: the stored draft once the user has
|
|
27
|
-
* touched the form, seeded from the loaded record until then. Memoized so the
|
|
28
|
-
* page receives a stable value — recomputing it per store change would reseed
|
|
29
|
-
* the form mid-edit and drop what the user had typed.
|
|
30
|
-
*/
|
|
31
|
-
export const getInvoicingCatalogItemDetailEditLocalData = createSelector([
|
|
32
|
-
(state, id) => id != null
|
|
33
|
-
? state.editInvoicingCatalogItemDetailViewState.detailEditDraftById[id]
|
|
34
|
-
: undefined,
|
|
35
|
-
(state, id) => id != null
|
|
36
|
-
? getInvoicingPlanById(state.invoicingPlanState, id)
|
|
37
|
-
: undefined,
|
|
38
|
-
], (storedDraft, plan) => storedDraft ??
|
|
39
|
-
(plan != null
|
|
40
|
-
? planToCatalogDetailEditValues(plan)
|
|
41
|
-
: initialCatalogDetailEditValues()));
|
|
42
7
|
export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
|
|
43
8
|
fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
|
|
44
9
|
error: state.editInvoicingCatalogItemDetailViewState.error,
|
|
@@ -89,7 +54,16 @@ export const getInvoicingCatalogItemFormView = (state, id) => {
|
|
|
89
54
|
? getInvoicingQboView(state)
|
|
90
55
|
: undefined;
|
|
91
56
|
const { billingPeriodUnitOptions, catalogItemTypeOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, } = getInvoicingConfigView(state);
|
|
57
|
+
// In create mode there is no record to load, so the record view is only
|
|
58
|
+
// consulted when editing an existing item.
|
|
59
|
+
const recordView = id != null ? getInvoicingCatalogItemRecord(state, 'plan', id) : undefined;
|
|
92
60
|
return {
|
|
61
|
+
catalogItemLifecycleActionOptions: recordView?.catalogItemLifecycleActionOptions ?? [],
|
|
62
|
+
catalogProductLifecycleActionOptions: recordView?.catalogProductLifecycleActionOptions ?? [],
|
|
63
|
+
recordState: {
|
|
64
|
+
error: recordView?.error,
|
|
65
|
+
fetchState: recordView?.fetchState ?? 'Not-Started',
|
|
66
|
+
},
|
|
93
67
|
fieldHelp: invoicingFieldHelpForGroup(state, 'catalog'),
|
|
94
68
|
isQboPickerDataLoading: isInvoicingAccountingPickerDataLoading(state),
|
|
95
69
|
qboAccountHierarchy: qboView?.nestedAccountHierarchy ?? [],
|
package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.js
CHANGED
|
@@ -2,9 +2,7 @@ import { of } from 'rxjs';
|
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { mergeInvoicingPlanSubFamily } from '../../../entity/invoicing/plan/planReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
|
|
5
|
-
import {
|
|
6
|
-
import { createSubFamilyFormToPayload } from './catalogDetailEditPayload';
|
|
7
|
-
import { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
5
|
+
import { archiveInvoicingCatalogSubFamily, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
8
6
|
const subFamilySuccessActions = (parentItemId, subFamilyPayload) => [
|
|
9
7
|
mergeInvoicingPlanSubFamily(parentItemId, subFamilyPayload),
|
|
10
8
|
submitInvoicingCatalogItemFormSuccess({
|
|
@@ -12,23 +10,6 @@ const subFamilySuccessActions = (parentItemId, subFamilyPayload) => [
|
|
|
12
10
|
kind: 'plan',
|
|
13
11
|
}),
|
|
14
12
|
];
|
|
15
|
-
export const createInvoicingCatalogSubFamilyEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(createInvoicingCatalogSubFamily.match), mergeMap((action) => {
|
|
16
|
-
const { itemType, parentItemId, values } = action.payload;
|
|
17
|
-
const state = state$.value;
|
|
18
|
-
// Built here so the dialog can stay in picked ids: resolving one to the
|
|
19
|
-
// account record the payload carries needs the shared account list.
|
|
20
|
-
const data = createSubFamilyFormToPayload(parentItemId, itemType, values, getInvoicingCatalogAccountingLookup(state));
|
|
21
|
-
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
22
|
-
return zeniAPI
|
|
23
|
-
.postAndGetJSON(`${baseUrl}/catalog/products`, data)
|
|
24
|
-
.pipe(mergeMap((response) => {
|
|
25
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
26
|
-
return subFamilySuccessActions(parentItemId, response.data);
|
|
27
|
-
}
|
|
28
|
-
return of(submitInvoicingCatalogItemFormFailure(response.status));
|
|
29
|
-
}), catchError((error) => of(submitInvoicingCatalogItemFormFailure(createZeniAPIStatus('Unexpected Error', 'Create sub-family REST API call errored out ' +
|
|
30
|
-
JSON.stringify(error))))));
|
|
31
|
-
}));
|
|
32
13
|
export const archiveInvoicingCatalogSubFamilyEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(archiveInvoicingCatalogSubFamily.match), mergeMap((action) => {
|
|
33
14
|
const { parentItemId, subFamilyId } = action.payload;
|
|
34
15
|
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
@@ -40,6 +21,6 @@ export const archiveInvoicingCatalogSubFamilyEpic = (actions$, _state$, zeniAPI)
|
|
|
40
21
|
return subFamilySuccessActions(parentItemId, response.data);
|
|
41
22
|
}
|
|
42
23
|
return of(submitInvoicingCatalogItemFormFailure(response.status));
|
|
43
|
-
}), catchError((error) => of(submitInvoicingCatalogItemFormFailure(createZeniAPIStatus('Unexpected Error', 'Archive
|
|
24
|
+
}), catchError((error) => of(submitInvoicingCatalogItemFormFailure(createZeniAPIStatus('Unexpected Error', 'Archive price point REST API call errored out ' +
|
|
44
25
|
JSON.stringify(error))))));
|
|
45
26
|
}));
|
package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { from } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { getInvoicingPlanById } from '../../../entity/invoicing/plan/planSelector';
|
|
4
3
|
import { mergeInvoicingPlanSubFamily, updateInvoicingPlans, } from '../../../entity/invoicing/plan/planReducer';
|
|
5
4
|
import { updateInvoicingProducts } from '../../../entity/invoicing/product/productReducer';
|
|
6
5
|
import { apiErrorSnackbarVariables } from '../../../entity/snackbar/snackbarApiError';
|
|
@@ -8,34 +7,19 @@ import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
|
8
7
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
9
8
|
import { addInvoicingCatalogItem } from '../invoicingCatalogListView/invoicingCatalogListViewReducer';
|
|
10
9
|
import { getInvoicingCatalogAccountingLookup } from '../invoicingQboView/invoicingQboViewSelector';
|
|
11
|
-
import { catalogDetailEditValuesToSavePayload, } from './catalogDetailEditPayload';
|
|
12
10
|
import { localDataToSaveInvoicingCatalogItemPayload, } from './editInvoicingCatalogItemDetailViewPayload';
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter((action) => submitInvoicingCatalogItemForm.match(action) ||
|
|
16
|
-
saveInvoicingCatalogItem.match(action)), mergeMap((action) => {
|
|
11
|
+
import { submitInvoicingCatalogItemForm, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
12
|
+
export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter((action) => submitInvoicingCatalogItemForm.match(action)), mergeMap((action) => {
|
|
17
13
|
const { id } = action.payload;
|
|
18
14
|
const state = state$.value;
|
|
19
15
|
const accountingLookup = getInvoicingCatalogAccountingLookup(state);
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
// detail page
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
? getInvoicingPlanById(state.invoicingPlanState, id)
|
|
28
|
-
: undefined;
|
|
29
|
-
const savePayload = catalogDetailEditValuesToSavePayload(getInvoicingCatalogItemDetailEditLocalData(state, id), accountingLookup, plan?.type ?? plan?.itemType, plan?.subFamilies);
|
|
30
|
-
data = savePayload.planData;
|
|
31
|
-
editProductUpdates = savePayload.productUpdates;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
const viewState = state.editInvoicingCatalogItemDetailViewState;
|
|
35
|
-
const localData = (id != null ? viewState.editDraftById[id] : viewState.newItemDraft) ??
|
|
36
|
-
viewState.newItemDraft;
|
|
37
|
-
data = localDataToSaveInvoicingCatalogItemPayload(localData, id == null, accountingLookup);
|
|
38
|
-
}
|
|
16
|
+
// Form values, turned into a request body here so the picked account and
|
|
17
|
+
// class become the records the service stores. Price points ride along
|
|
18
|
+
// nested, so the detail page and the create/edit form share one request.
|
|
19
|
+
const viewState = state.editInvoicingCatalogItemDetailViewState;
|
|
20
|
+
const localData = (id != null ? viewState.editDraftById[id] : viewState.newItemDraft) ??
|
|
21
|
+
viewState.newItemDraft;
|
|
22
|
+
const data = localDataToSaveInvoicingCatalogItemPayload(localData, id == null, accountingLookup);
|
|
39
23
|
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
40
24
|
const path = id != null
|
|
41
25
|
? `${baseUrl}/catalog/plans/${encodeURIComponent(id)}`
|
|
@@ -96,13 +80,7 @@ export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actio
|
|
|
96
80
|
}));
|
|
97
81
|
return resultActions;
|
|
98
82
|
};
|
|
99
|
-
|
|
100
|
-
? (editProductUpdates ?? [])
|
|
101
|
-
: [];
|
|
102
|
-
if (productUpdates.length === 0) {
|
|
103
|
-
return completeSave([]);
|
|
104
|
-
}
|
|
105
|
-
return forkJoin(productUpdates.map((productUpdate) => zeniAPI.putAndGetJSON(`${baseUrl}/catalog/products/${encodeURIComponent(productUpdate.id)}`, productUpdate.data))).pipe(mergeMap(completeSave));
|
|
83
|
+
return completeSave([]);
|
|
106
84
|
}
|
|
107
85
|
return from([
|
|
108
86
|
submitInvoicingCatalogItemFormFailure(response.status),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getInvoicingCouponById } from '../../../entity/invoicing/coupon/couponSelector';
|
|
2
2
|
import { toInvoicingFormOption, } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
3
3
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
|
+
import { getInvoicingCouponRecord } from '../invoicingCouponRecordView/invoicingCouponRecordViewSelector';
|
|
4
5
|
import { entityToInvoicingCouponFormLocalData, } from './editInvoicingCouponDetailViewState';
|
|
5
6
|
/**
|
|
6
7
|
* Bundled view for the discount create/edit form: the save fetch state/error,
|
|
@@ -10,9 +11,17 @@ import { entityToInvoicingCouponFormLocalData, } from './editInvoicingCouponDeta
|
|
|
10
11
|
export const getEditInvoicingCouponDetailViewState = (state, couponId) => {
|
|
11
12
|
const { error, fetchState, savedCouponId } = state.editInvoicingCouponDetailViewState;
|
|
12
13
|
const { discountLifecycleActionOptions, fetchState: configFetchState } = getInvoicingConfigView(state);
|
|
14
|
+
// In create mode there is no record to load, so the read view is only
|
|
15
|
+
// consulted when editing an existing coupon.
|
|
16
|
+
const readView = couponId != null ? getInvoicingCouponRecord(state, couponId) : undefined;
|
|
13
17
|
return {
|
|
14
18
|
configFetchState,
|
|
15
19
|
discountLifecycleActionOptions,
|
|
20
|
+
fieldHelp: invoicingFieldHelpForGroup(state, 'discount'),
|
|
21
|
+
recordState: {
|
|
22
|
+
error: readView?.error,
|
|
23
|
+
fetchState: readView?.fetchState ?? 'Not-Started',
|
|
24
|
+
},
|
|
16
25
|
coupon: couponId != null
|
|
17
26
|
? getInvoicingCouponById(state.invoicingCouponState, couponId)
|
|
18
27
|
: undefined,
|
|
@@ -37,7 +46,6 @@ export const getInvoicingCouponFormView = (state, couponId) => {
|
|
|
37
46
|
: newCouponDraft;
|
|
38
47
|
const { billingPeriodUnitOptions, discountApplyOnOptions, discountDurationTypeOptions, discountTypeOptions, } = getInvoicingConfigView(state);
|
|
39
48
|
return {
|
|
40
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'discount'),
|
|
41
49
|
...base,
|
|
42
50
|
applyOnOptions: discountApplyOnOptions.map(toInvoicingFormOption),
|
|
43
51
|
discountTypeOptions: discountTypeOptions.map(toInvoicingFormOption),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getInvoicingCustomerById } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
2
2
|
import { getFormattedAddress } from '../../addressView/addressViewSelector';
|
|
3
|
+
import { getInvoicingCustomerRecord, } from '../invoicingCustomerRecordView/invoicingCustomerRecordViewSelector';
|
|
3
4
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
5
|
import { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE, entityToInvoicingCustomerFormLocalData, } from './invoicingCustomerFormConfig';
|
|
5
6
|
/**
|
|
@@ -29,6 +30,7 @@ export const getInvoicingCustomerFormView = (state, invoicingCustomerID) => {
|
|
|
29
30
|
: undefined;
|
|
30
31
|
const { customerTypeOptions, netTermDayOptions, taxabilityOptions } = getInvoicingConfigView(state);
|
|
31
32
|
return {
|
|
33
|
+
record: getInvoicingCustomerRecord(state, invoicingCustomerID ?? ''),
|
|
32
34
|
fieldHelp: invoicingFieldHelpForGroup(state, 'customer'),
|
|
33
35
|
customerTypeOptions,
|
|
34
36
|
localData,
|
|
@@ -3,7 +3,7 @@ import { filter, mergeMap } from 'rxjs/operators';
|
|
|
3
3
|
import { getAddressByAddressId } from '../../../entity/address/addressSelector';
|
|
4
4
|
import { getInvoicingCustomerById } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
5
5
|
import { newAddressInLocalStore } from '../../addressView/addressViewReducer';
|
|
6
|
-
import { updateInvoicingCustomerDetail } from '../
|
|
6
|
+
import { updateInvoicingCustomerDetail } from '../invoicingCustomerRecordView/invoicingCustomerRecordViewReducer';
|
|
7
7
|
import { initializeInvoicingCustomerAddress } from './editInvoicingCustomerDetailViewReducer';
|
|
8
8
|
import { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE } from './invoicingCustomerFormConfig';
|
|
9
9
|
/**
|
|
@@ -2,6 +2,7 @@ import { getInvoicingSubscriptionById } from '../../../entity/invoicing/invoicin
|
|
|
2
2
|
import { getFormattedAddress } from '../../addressView/addressViewSelector';
|
|
3
3
|
import { getInvoicingCouponListItems } from '../couponView/couponViewSelector';
|
|
4
4
|
import { getInvoicingCatalogListView, getInvoicingCatalogPrices, } from '../invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
5
|
+
import { getInvoicingSubscriptionRecord } from '../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector';
|
|
5
6
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
6
7
|
import { getInvoicingCustomerListView } from '../invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
7
8
|
import { INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, } from './invoicingSubscriptionFormConfig';
|
|
@@ -41,7 +42,21 @@ export const getInvoicingSubscriptionFormView = (state, invoicingSubscriptionID)
|
|
|
41
42
|
const catalogListView = getInvoicingCatalogListView(state);
|
|
42
43
|
const planPrices = getInvoicingCatalogPrices(catalogListView.plans);
|
|
43
44
|
const addonAndChargePrices = getInvoicingCatalogPrices(catalogListView.products);
|
|
45
|
+
// In create mode there is no record to load, so the record view is only
|
|
46
|
+
// consulted when editing an existing subscription.
|
|
47
|
+
const recordView = invoicingSubscriptionID != null
|
|
48
|
+
? getInvoicingSubscriptionRecord(state, invoicingSubscriptionID)
|
|
49
|
+
: undefined;
|
|
44
50
|
return {
|
|
51
|
+
actionState: recordView?.actionState ?? {
|
|
52
|
+
error: undefined,
|
|
53
|
+
fetchState: 'Not-Started',
|
|
54
|
+
},
|
|
55
|
+
cancelReasonCodeOptions: getInvoicingConfigView(state).subscriptionCancelReasonCodeOptions,
|
|
56
|
+
recordState: {
|
|
57
|
+
error: recordView?.error,
|
|
58
|
+
fetchState: recordView?.fetchState ?? 'Not-Started',
|
|
59
|
+
},
|
|
45
60
|
fieldHelp: invoicingFieldHelpForGroup(state, 'subscription'),
|
|
46
61
|
coupons: getInvoicingCouponListItems(state),
|
|
47
62
|
customers: getInvoicingCustomerListView(state).customers,
|
|
@@ -3,7 +3,7 @@ import { filter, mergeMap } from 'rxjs/operators';
|
|
|
3
3
|
import { fetchInvoicingCouponList } from '../couponView/couponViewReducer';
|
|
4
4
|
import { fetchInvoicingCatalogPlanList } from '../invoicingCatalogListView/invoicingCatalogListViewReducer';
|
|
5
5
|
import { fetchInvoicingCustomerList } from '../invoicingCustomerListView/invoicingCustomerListViewReducer';
|
|
6
|
-
import { fetchInvoicingSubscriptionDetail } from '../
|
|
6
|
+
import { fetchInvoicingSubscriptionDetail } from '../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer';
|
|
7
7
|
import { fetchInvoicingSubscriptionFormPage } from './editInvoicingSubscriptionDetailViewReducer';
|
|
8
8
|
/**
|
|
9
9
|
* Orchestrates the subscription create/edit form: on
|
|
@@ -3,7 +3,7 @@ import { filter, mergeMap } from 'rxjs/operators';
|
|
|
3
3
|
import { getAddressByAddressId } from '../../../entity/address/addressSelector';
|
|
4
4
|
import { getInvoicingSubscriptionById } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionSelector';
|
|
5
5
|
import { newAddressInLocalStore } from '../../addressView/addressViewReducer';
|
|
6
|
-
import { updateInvoicingSubscriptionDetail } from '../
|
|
6
|
+
import { updateInvoicingSubscriptionDetail } from '../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer';
|
|
7
7
|
import { initializeInvoicingSubscriptionAddress } from './editInvoicingSubscriptionDetailViewReducer';
|
|
8
8
|
import { INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE } from './invoicingSubscriptionFormConfig';
|
|
9
9
|
/**
|
|
@@ -2,7 +2,7 @@ import { of } from 'rxjs';
|
|
|
2
2
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
3
|
import { updateInvoicingPlans } from '../../../entity/invoicing/plan/planReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
|
-
import { fetchInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetailFailure, } from './
|
|
5
|
+
import { fetchInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetailFailure, } from './invoicingCatalogItemRecordViewReducer';
|
|
6
6
|
export const fetchInvoicingCatalogItemDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCatalogItemDetail.match), switchMap((action) => {
|
|
7
7
|
const { id, kind } = action.payload;
|
|
8
8
|
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/catalog/plans/${encodeURIComponent(id)}`;
|
|
@@ -6,8 +6,8 @@ export const initialState = {
|
|
|
6
6
|
id: undefined,
|
|
7
7
|
kind: undefined,
|
|
8
8
|
};
|
|
9
|
-
const
|
|
10
|
-
name: '
|
|
9
|
+
const invoicingCatalogItemRecordView = createSlice({
|
|
10
|
+
name: 'invoicingCatalogItemRecordView',
|
|
11
11
|
initialState,
|
|
12
12
|
reducers: {
|
|
13
13
|
fetchInvoicingCatalogItemDetail(draft, action) {
|
|
@@ -33,5 +33,5 @@ const invoicingCatalogItemDetailView = createSlice({
|
|
|
33
33
|
});
|
|
34
34
|
},
|
|
35
35
|
});
|
|
36
|
-
export const { fetchInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetailFailure, } =
|
|
37
|
-
export default
|
|
36
|
+
export const { fetchInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetail, updateInvoicingCatalogItemDetailFailure, } = invoicingCatalogItemRecordView.actions;
|
|
37
|
+
export default invoicingCatalogItemRecordView.reducer;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { getInvoicingPlanById } from '../../../entity/invoicing/plan/planSelector';
|
|
2
2
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const { error, fetchState } = state.invoicingCatalogItemDetailViewState;
|
|
3
|
+
export const getInvoicingCatalogItemRecord = (state, _kind, id) => {
|
|
4
|
+
const { error, fetchState } = state.invoicingCatalogItemRecordViewState;
|
|
6
5
|
const { billingPeriodUnitOptions, catalogItemLifecycleActionOptions, catalogItemTypeOptions, catalogProductLifecycleActionOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, fetchState: configFetchState, } = getInvoicingConfigView(state);
|
|
7
6
|
return {
|
|
8
7
|
fieldHelp: invoicingFieldHelpForGroup(state, 'catalog'),
|
|
@@ -11,7 +10,6 @@ export const getInvoicingCatalogItemDetail = (state, _kind, id) => {
|
|
|
11
10
|
catalogTierTypeOptionsByPricingModel,
|
|
12
11
|
configFetchState,
|
|
13
12
|
periodUnitOptions: billingPeriodUnitOptions,
|
|
14
|
-
editLocalData: getInvoicingCatalogItemDetailEditLocalData(state, id),
|
|
15
13
|
plan: getInvoicingPlanById(state.invoicingPlanState, id),
|
|
16
14
|
trialEndActionOptions: catalogTrialEndActionOptions,
|
|
17
15
|
trialUnitOptions: catalogTrialUnitOptions,
|
|
@@ -2,7 +2,7 @@ import { of } from 'rxjs';
|
|
|
2
2
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
3
|
import { updateInvoicingCoupons } from '../../../entity/invoicing/coupon/couponReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
5
|
-
import { fetchInvoicingCouponDetail, updateInvoicingCouponDetail, updateInvoicingCouponDetailFailure, } from './
|
|
5
|
+
import { fetchInvoicingCouponDetail, updateInvoicingCouponDetail, updateInvoicingCouponDetailFailure, } from './invoicingCouponRecordViewReducer';
|
|
6
6
|
export const fetchInvoicingCouponDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCouponDetail.match), switchMap((action) => {
|
|
7
7
|
const { id } = action.payload;
|
|
8
8
|
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/discounts/${id}`;
|
|
@@ -14,8 +14,8 @@ function hasCompletedFetch() {
|
|
|
14
14
|
export function buildInvoicingCouponDetail(id, fetchState, error) {
|
|
15
15
|
return { id, fetchState, error, hasValidState: hasCompletedFetch };
|
|
16
16
|
}
|
|
17
|
-
const
|
|
18
|
-
name: '
|
|
17
|
+
const invoicingCouponRecordView = createSlice({
|
|
18
|
+
name: 'invoicingCouponRecordView',
|
|
19
19
|
initialState,
|
|
20
20
|
reducers: {
|
|
21
21
|
fetchInvoicingCouponDetail(draft, action) {
|
|
@@ -37,5 +37,5 @@ const invoicingCouponDetailView = createSlice({
|
|
|
37
37
|
});
|
|
38
38
|
},
|
|
39
39
|
});
|
|
40
|
-
export const { fetchInvoicingCouponDetail, updateInvoicingCouponDetail, updateInvoicingCouponDetailFailure, } =
|
|
41
|
-
export default
|
|
40
|
+
export const { fetchInvoicingCouponDetail, updateInvoicingCouponDetail, updateInvoicingCouponDetailFailure, } = invoicingCouponRecordView.actions;
|
|
41
|
+
export default invoicingCouponRecordView.reducer;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import recordGet from 'lodash/get';
|
|
2
2
|
import { getInvoicingCouponById } from '../../../entity/invoicing/coupon/couponSelector';
|
|
3
3
|
import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
|
-
export const
|
|
5
|
-
const detail = recordGet(state.
|
|
4
|
+
export const getInvoicingCouponRecord = (state, id) => {
|
|
5
|
+
const detail = recordGet(state.invoicingCouponRecordViewState.detailById, id, undefined);
|
|
6
6
|
return {
|
|
7
7
|
fieldHelp: invoicingFieldHelpForGroup(state, 'discount'),
|
|
8
8
|
coupon: getInvoicingCouponById(state.invoicingCouponState, id),
|
|
@@ -4,7 +4,7 @@ import { updateAddresses } from '../../../entity/address/addressReducer';
|
|
|
4
4
|
import { extractInvoicingCustomerAddresses } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerPayload';
|
|
5
5
|
import { updateInvoicingCustomers } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerReducer';
|
|
6
6
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
7
|
-
import { fetchInvoicingCustomerDetail, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, } from './
|
|
7
|
+
import { fetchInvoicingCustomerDetail, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, } from './invoicingCustomerRecordViewReducer';
|
|
8
8
|
export const fetchInvoicingCustomerDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingCustomerDetail.match), switchMap((action) => {
|
|
9
9
|
const { id } = action.payload;
|
|
10
10
|
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/customers/${id}`;
|
|
@@ -2,7 +2,7 @@ import { concat, from } from 'rxjs';
|
|
|
2
2
|
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { fetchInvoiceList } from '../invoiceList/invoiceListReducer';
|
|
4
4
|
import { fetchInvoicingSettings } from '../settingsView/settingsViewReducer';
|
|
5
|
-
import { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './
|
|
5
|
+
import { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './invoicingCustomerRecordViewReducer';
|
|
6
6
|
/**
|
|
7
7
|
* Fetch unless the endpoint is already loaded or in flight — or always when the
|
|
8
8
|
* caller forces a refresh via `cacheOverride` (e.g. on a manual refresh).
|
|
@@ -18,7 +18,7 @@ const shouldFetch = (fetchStateAndError, cacheOverride) => cacheOverride ||
|
|
|
18
18
|
*/
|
|
19
19
|
export const fetchInvoicingCustomerDetailPageEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoicingCustomerDetailPage.match), mergeMap((action) => {
|
|
20
20
|
const { cacheOverride, id } = action.payload;
|
|
21
|
-
const customerDetail = state$.value.
|
|
21
|
+
const customerDetail = state$.value.invoicingCustomerRecordViewState.detailById[id];
|
|
22
22
|
const invoiceListState = state$.value.invoicingInvoiceListState;
|
|
23
23
|
const invoiceListTabState = invoiceListState.invoiceByTab[invoiceListState.activeTab];
|
|
24
24
|
const settingsState = state$.value.invoicingSettingsViewState;
|
|
@@ -14,8 +14,8 @@ function hasCompletedFetch() {
|
|
|
14
14
|
export function buildInvoicingCustomerDetail(id, fetchState, error) {
|
|
15
15
|
return { id, fetchState, error, hasValidState: hasCompletedFetch };
|
|
16
16
|
}
|
|
17
|
-
const
|
|
18
|
-
name: '
|
|
17
|
+
const invoicingCustomerRecordView = createSlice({
|
|
18
|
+
name: 'invoicingCustomerRecordView',
|
|
19
19
|
initialState,
|
|
20
20
|
reducers: {
|
|
21
21
|
fetchInvoicingCustomerDetail(draft, action) {
|
|
@@ -50,5 +50,5 @@ const invoicingCustomerDetailView = createSlice({
|
|
|
50
50
|
});
|
|
51
51
|
},
|
|
52
52
|
});
|
|
53
|
-
export const { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, } =
|
|
54
|
-
export default
|
|
53
|
+
export const { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, updateInvoicingCustomerDetail, updateInvoicingCustomerDetailFailure, } = invoicingCustomerRecordView.actions;
|
|
54
|
+
export default invoicingCustomerRecordView.reducer;
|
|
@@ -5,9 +5,9 @@ import { getInvoicingPaymentLinkSendState, getInvoicingPaymentMethodSaveState, g
|
|
|
5
5
|
import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
6
6
|
import { isStripeConnectedFromSettings } from '../settingsView/invoicingSettingsHelpers';
|
|
7
7
|
import { getInvoicingSettings } from '../settingsView/settingsViewSelector';
|
|
8
|
-
export const
|
|
9
|
-
const { invoicingCustomerState,
|
|
10
|
-
const invoicingCustomerDetail = recordGet(
|
|
8
|
+
export const getInvoicingCustomerRecord = (state, invoicingCustomerID) => {
|
|
9
|
+
const { invoicingCustomerState, invoicingCustomerRecordViewState } = state;
|
|
10
|
+
const invoicingCustomerDetail = recordGet(invoicingCustomerRecordViewState.detailById, invoicingCustomerID, undefined);
|
|
11
11
|
const settings = getInvoicingSettings(state);
|
|
12
12
|
const invoicingCustomer = getInvoicingCustomerById(invoicingCustomerState, invoicingCustomerID);
|
|
13
13
|
return {
|
|
@@ -4,7 +4,7 @@ import { updateAddresses } from '../../../entity/address/addressReducer';
|
|
|
4
4
|
import { extractInvoicingSubscriptionAddresses } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionPayload';
|
|
5
5
|
import { updateInvoicingSubscriptions } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer';
|
|
6
6
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
7
|
-
import { fetchInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetailFailure, } from './
|
|
7
|
+
import { fetchInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetailFailure, } from './invoicingSubscriptionRecordViewReducer';
|
|
8
8
|
export const fetchInvoicingSubscriptionDetailEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchInvoicingSubscriptionDetail.match), switchMap((action) => {
|
|
9
9
|
const { id } = action.payload;
|
|
10
10
|
const apiUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0/subscriptions/${id}`;
|
|
@@ -5,8 +5,8 @@ export const initialState = {
|
|
|
5
5
|
error: undefined,
|
|
6
6
|
id: undefined,
|
|
7
7
|
};
|
|
8
|
-
const
|
|
9
|
-
name: '
|
|
8
|
+
const invoicingSubscriptionRecordView = createSlice({
|
|
9
|
+
name: 'invoicingSubscriptionRecordView',
|
|
10
10
|
initialState,
|
|
11
11
|
reducers: {
|
|
12
12
|
fetchInvoicingSubscriptionDetail(draft, action) {
|
|
@@ -30,5 +30,5 @@ const invoicingSubscriptionDetailView = createSlice({
|
|
|
30
30
|
});
|
|
31
31
|
},
|
|
32
32
|
});
|
|
33
|
-
export const { fetchInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetailFailure, } =
|
|
34
|
-
export default
|
|
33
|
+
export const { fetchInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetail, updateInvoicingSubscriptionDetailFailure, } = invoicingSubscriptionRecordView.actions;
|
|
34
|
+
export default invoicingSubscriptionRecordView.reducer;
|
|
@@ -2,8 +2,8 @@ import { getInvoicingSubscriptionById as getInvoicingSubscriptionByIdFromState }
|
|
|
2
2
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
3
3
|
import { getInvoicingSubscriptionActionState } from '../subscriptionAction/subscriptionActionSelector';
|
|
4
4
|
export const getInvoicingSubscriptionById = (state, id) => getInvoicingSubscriptionByIdFromState(state.invoicingSubscriptionState, id);
|
|
5
|
-
export const
|
|
6
|
-
const { error, fetchState } = state.
|
|
5
|
+
export const getInvoicingSubscriptionRecord = (state, invoicingSubscriptionID) => {
|
|
6
|
+
const { error, fetchState } = state.invoicingSubscriptionRecordViewState;
|
|
7
7
|
return {
|
|
8
8
|
fieldHelp: invoicingFieldHelpForGroup(state, 'subscription'),
|
|
9
9
|
cancelReasonCodeOptions: getInvoicingConfigView(state).subscriptionCancelReasonCodeOptions,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
4
|
-
import { fetchInvoicingCustomerDetail } from '../
|
|
4
|
+
import { fetchInvoicingCustomerDetail } from '../invoicingCustomerRecordView/invoicingCustomerRecordViewReducer';
|
|
5
5
|
import { addPromotionalCreditsFailure, addPromotionalCreditsSuccess, submitAddPromotionalCredits, } from './promotionalCreditActionReducer';
|
|
6
6
|
export const addPromotionalCreditsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(submitAddPromotionalCredits.match), mergeMap((action) => {
|
|
7
7
|
const { amount, currencyCode, customerId, description } = action.payload;
|
package/lib/index.d.ts
CHANGED
|
@@ -1128,11 +1128,9 @@ export type { InvoicingSubscriptionFormLocalData } from './view/invoicing/editIn
|
|
|
1128
1128
|
export { INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, initialInvoicingSubscriptionFormLocalData, invoicingSubscriptionTodayIso, toInvoicingSubscriptionQuantity, } from './view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig';
|
|
1129
1129
|
export { getEditInvoicingSubscriptionDetailViewState, getInvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
1130
1130
|
export type { EditInvoicingSubscriptionDetailView, InvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
1131
|
-
export { archiveInvoicingCatalogSubFamily,
|
|
1132
|
-
export type { ArchiveInvoicingCatalogSubFamilyPayload,
|
|
1131
|
+
export { archiveInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1132
|
+
export type { ArchiveInvoicingCatalogSubFamilyPayload, SubmitInvoicingCatalogItemFormPayload, UpdateInvoicingCatalogItemFormDraftPayload, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1133
1133
|
export type { InvoicingCatalogAccountingLookup } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload';
|
|
1134
|
-
export { catalogDetailEditValuesToSavePayload, createSubFamilyFormToPayload, planToCatalogDetailEditValues, productToCreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
1135
|
-
export type { CatalogDetailEditValues, CatalogDetailProductUpdate, CatalogDetailSavePayload, CreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
1136
1134
|
export type { InvoicingCatalogItemFormLocalData, InvoicingCatalogItemFormSubFamily, InvoicingCatalogItemFormTier, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState';
|
|
1137
1135
|
export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, invoicingProductToCatalogItemFormSubFamily, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
|
|
1138
1136
|
export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
|
|
@@ -1183,9 +1181,9 @@ export { ALL_INVOICING_CUSTOMER_SORT_KEYS, ALL_INVOICING_CUSTOMER_TAB_IDS, INVOI
|
|
|
1183
1181
|
export type { InvoicingCustomerColumnConfig, InvoicingCustomerFilters, InvoicingCustomerSortKey, InvoicingCustomerTabId, } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState';
|
|
1184
1182
|
export { getInvoicingCustomerListView } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
1185
1183
|
export type { InvoicingCustomerListView } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
1186
|
-
export { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './view/invoicing/
|
|
1187
|
-
export {
|
|
1188
|
-
export type {
|
|
1184
|
+
export { fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './view/invoicing/invoicingCustomerRecordView/invoicingCustomerRecordViewReducer';
|
|
1185
|
+
export { getInvoicingCustomerRecord } from './view/invoicing/invoicingCustomerRecordView/invoicingCustomerRecordViewSelector';
|
|
1186
|
+
export type { InvoicingCustomerRecordView } from './view/invoicing/invoicingCustomerRecordView/invoicingCustomerRecordViewSelector';
|
|
1189
1187
|
export { createInvoicingSetupIntent, fetchInvoicingPlaidLinkToken, resetInvoicingCustomerPaymentMethod, saveInvoicingPaymentMethod, sendInvoicingPaymentLink, } from './view/invoicing/customerPaymentMethod/customerPaymentMethodReducer';
|
|
1190
1188
|
export type { InvoicingSetupIntent } from './view/invoicing/customerPaymentMethod/customerPaymentMethodState';
|
|
1191
1189
|
export { getInvoicingPaymentLinkSendState, getInvoicingPaymentMethodSaveState, getInvoicingPlaidLinkToken, getInvoicingPlaidLinkTokenFetchState, getInvoicingSentPaymentLinkEmail, getInvoicingSentPaymentLinkMagicUrl, getInvoicingSetupIntent, getInvoicingSetupIntentFetchState, } from './view/invoicing/customerPaymentMethod/customerPaymentMethodSelector';
|
|
@@ -1197,9 +1195,9 @@ export { ALL_INVOICING_SUBSCRIPTION_SORT_KEYS, ALL_INVOICING_SUBSCRIPTION_TAB_ID
|
|
|
1197
1195
|
export type { InvoicingSubscriptionColumnConfig, InvoicingSubscriptionFilters, InvoicingSubscriptionSortKey, InvoicingSubscriptionTabId, } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState';
|
|
1198
1196
|
export { getInvoicingSubscriptionListView } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector';
|
|
1199
1197
|
export type { InvoicingSubscriptionListView } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector';
|
|
1200
|
-
export { fetchInvoicingSubscriptionDetail } from './view/invoicing/
|
|
1201
|
-
export { getInvoicingSubscriptionById,
|
|
1202
|
-
export type {
|
|
1198
|
+
export { fetchInvoicingSubscriptionDetail } from './view/invoicing/invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer';
|
|
1199
|
+
export { getInvoicingSubscriptionById, getInvoicingSubscriptionRecord, } from './view/invoicing/invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector';
|
|
1200
|
+
export type { InvoicingSubscriptionRecordView } from './view/invoicing/invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector';
|
|
1203
1201
|
export { removeInvoicingTransaction, updateInvoicingTransactions, } from './entity/invoicing/invoicingTransaction/invoicingTransactionReducer';
|
|
1204
1202
|
export { fetchInvoicingTransactionList, fetchInvoicingTransactionListPage, setInvoicingTransactionActiveTab, updateInvoicingTransactionFilters, } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewReducer';
|
|
1205
1203
|
export { ALL_INVOICING_TRANSACTION_SORT_KEYS, ALL_INVOICING_TRANSACTION_TAB_IDS, INVOICING_TRANSACTION_COLUMNS, } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState';
|
|
@@ -1225,9 +1223,9 @@ export type { InvoicingCouponColumnConfig, InvoicingCouponFilters, InvoicingCoup
|
|
|
1225
1223
|
export { getInvoicingCouponCounts, getInvoicingCouponListFetchState, getInvoicingCouponListFilters, getInvoicingCouponListHasMore, getInvoicingCouponListItems, getInvoicingCouponListNextCursor, getInvoicingCouponListView, } from './view/invoicing/couponView/couponViewSelector';
|
|
1226
1224
|
export type { InvoicingCouponListView } from './view/invoicing/couponView/couponViewSelector';
|
|
1227
1225
|
export { getInvoicingCouponById } from './entity/invoicing/coupon/couponSelector';
|
|
1228
|
-
export { fetchInvoicingCouponDetail } from './view/invoicing/
|
|
1229
|
-
export {
|
|
1230
|
-
export type {
|
|
1226
|
+
export { fetchInvoicingCouponDetail } from './view/invoicing/invoicingCouponRecordView/invoicingCouponRecordViewReducer';
|
|
1227
|
+
export { getInvoicingCouponRecord } from './view/invoicing/invoicingCouponRecordView/invoicingCouponRecordViewSelector';
|
|
1228
|
+
export type { InvoicingCouponRecordView } from './view/invoicing/invoicingCouponRecordView/invoicingCouponRecordViewSelector';
|
|
1231
1229
|
export { removeInvoicingDunningCase, updateInvoicingDunningCases, } from './entity/invoicing/dunningCase/dunningCaseReducer';
|
|
1232
1230
|
export { fetchInvoicingDunningCaseCounts, fetchInvoicingDunningCaseList, fetchInvoicingDunningCaseListPage, setInvoicingDunningCaseActiveTab, updateInvoicingDunningCaseFilters, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer';
|
|
1233
1231
|
export { ALL_INVOICING_DUNNING_CASE_SORT_KEYS, ALL_INVOICING_DUNNING_CASE_TAB_IDS, INVOICING_DUNNING_CASE_COLUMNS, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState';
|
|
@@ -1245,12 +1243,12 @@ export { ALL_INVOICING_PRODUCT_SORT_KEYS, INVOICING_PRODUCT_COLUMNS, } from './v
|
|
|
1245
1243
|
export type { InvoicingCatalogPlanFilters, InvoicingCatalogProductFilters, InvoicingProductColumnConfig, InvoicingProductSortKey, } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewState';
|
|
1246
1244
|
export { getInvoicingCatalogListView } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
1247
1245
|
export type { InvoicingCatalogListView } from './view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
1248
|
-
export { fetchInvoicingCatalogItemDetail } from './view/invoicing/
|
|
1249
|
-
export type { InvoicingCatalogItemKind } from './view/invoicing/
|
|
1250
|
-
export {
|
|
1246
|
+
export { fetchInvoicingCatalogItemDetail } from './view/invoicing/invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewReducer';
|
|
1247
|
+
export type { InvoicingCatalogItemKind } from './view/invoicing/invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState';
|
|
1248
|
+
export { getInvoicingCatalogItemRecord } from './view/invoicing/invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector';
|
|
1251
1249
|
export { getInvoicingPlanById } from './entity/invoicing/plan/planSelector';
|
|
1252
1250
|
export { getInvoicingProductById } from './entity/invoicing/product/productSelector';
|
|
1253
|
-
export type {
|
|
1251
|
+
export type { InvoicingCatalogItemRecordView } from './view/invoicing/invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector';
|
|
1254
1252
|
export { connectInvoicingStripe, disconnectInvoicingStripe, fetchInvoicingSettings, resetInvoicingBrandingFormDraft, resetInvoicingQboSettingsDraft, resetSaveInvoicingSettings, saveInvoicingSettings, submitInvoicingBrandingForm, submitInvoicingQboSettings, updateInvoicingBrandingFormDraft, updateInvoicingQboSettingsDraft, updateInvoicingSettings, } from './view/invoicing/settingsView/settingsViewReducer';
|
|
1255
1253
|
export { getInvoicingBrandingFormView, getInvoicingQboSettingsFormView, getInvoicingSettings, getInvoicingSettingsFetchState, getInvoicingSettingsHubView, getInvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
|
|
1256
1254
|
export type { InvoicingBrandingFormView, InvoicingQboSettingsFormView, InvoicingSettingsHubView, InvoicingSettingsView, } from './view/invoicing/settingsView/settingsViewSelector';
|