@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,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.resetEditInvoicingCatalogItemDetailView = exports.submitInvoicingCatalogItemFormFailure = exports.submitInvoicingCatalogItemFormSuccess = exports.archiveInvoicingCatalogSubFamily = exports.
|
|
4
|
+
exports.resetEditInvoicingCatalogItemDetailView = exports.submitInvoicingCatalogItemFormFailure = exports.submitInvoicingCatalogItemFormSuccess = exports.archiveInvoicingCatalogSubFamily = exports.submitInvoicingCatalogItemForm = exports.updateInvoicingCatalogItemFormDraft = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const rootActions_1 = require("../../../rootActions");
|
|
7
7
|
const invoicingCatalogItemFormConfig_1 = require("./invoicingCatalogItemFormConfig");
|
|
8
8
|
exports.initialState = {
|
|
9
9
|
fetchState: 'Not-Started',
|
|
10
10
|
error: undefined,
|
|
11
|
-
detailEditDraftById: {},
|
|
12
11
|
editDraftById: {},
|
|
13
12
|
newItemDraft: { ...invoicingCatalogItemFormConfig_1.initialInvoicingCatalogItemFormLocalData },
|
|
14
13
|
savedItemId: undefined,
|
|
@@ -30,10 +29,6 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
30
29
|
draft.newItemDraft = localData;
|
|
31
30
|
}
|
|
32
31
|
},
|
|
33
|
-
updateInvoicingCatalogItemDetailEditDraft(draft, action) {
|
|
34
|
-
const { id, localData } = action.payload;
|
|
35
|
-
draft.detailEditDraftById[id] = localData;
|
|
36
|
-
},
|
|
37
32
|
submitInvoicingCatalogItemForm: {
|
|
38
33
|
reducer(draft) {
|
|
39
34
|
draft.fetchState = 'In-Progress';
|
|
@@ -44,22 +39,6 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
44
39
|
return { payload };
|
|
45
40
|
},
|
|
46
41
|
},
|
|
47
|
-
saveInvoicingCatalogItem(draft, action) {
|
|
48
|
-
draft.fetchState = 'In-Progress';
|
|
49
|
-
draft.error = undefined;
|
|
50
|
-
draft.savedItemId = undefined;
|
|
51
|
-
draft.savedKind = action.payload.kind;
|
|
52
|
-
},
|
|
53
|
-
createInvoicingCatalogSubFamily: {
|
|
54
|
-
reducer(draft) {
|
|
55
|
-
draft.fetchState = 'In-Progress';
|
|
56
|
-
draft.error = undefined;
|
|
57
|
-
draft.savedItemId = undefined;
|
|
58
|
-
},
|
|
59
|
-
prepare(payload) {
|
|
60
|
-
return { payload };
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
42
|
archiveInvoicingCatalogSubFamily: {
|
|
64
43
|
reducer(draft) {
|
|
65
44
|
draft.fetchState = 'In-Progress';
|
|
@@ -75,7 +54,6 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
75
54
|
draft.error = undefined;
|
|
76
55
|
draft.savedItemId = action.payload.itemId;
|
|
77
56
|
draft.savedKind = action.payload.kind;
|
|
78
|
-
delete draft.detailEditDraftById[action.payload.itemId];
|
|
79
57
|
},
|
|
80
58
|
submitInvoicingCatalogItemFormFailure(draft, action) {
|
|
81
59
|
draft.fetchState = 'Error';
|
|
@@ -86,7 +64,6 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
86
64
|
draft.error = undefined;
|
|
87
65
|
draft.savedItemId = undefined;
|
|
88
66
|
draft.savedKind = undefined;
|
|
89
|
-
draft.detailEditDraftById = {};
|
|
90
67
|
draft.editDraftById = {};
|
|
91
68
|
draft.newItemDraft = { ...invoicingCatalogItemFormConfig_1.initialInvoicingCatalogItemFormLocalData };
|
|
92
69
|
},
|
|
@@ -97,5 +74,5 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
97
74
|
});
|
|
98
75
|
},
|
|
99
76
|
});
|
|
100
|
-
_a = editInvoicingCatalogItemDetailView.actions, exports.
|
|
77
|
+
_a = editInvoicingCatalogItemDetailView.actions, exports.updateInvoicingCatalogItemFormDraft = _a.updateInvoicingCatalogItemFormDraft, exports.submitInvoicingCatalogItemForm = _a.submitInvoicingCatalogItemForm, exports.archiveInvoicingCatalogSubFamily = _a.archiveInvoicingCatalogSubFamily, exports.submitInvoicingCatalogItemFormSuccess = _a.submitInvoicingCatalogItemFormSuccess, exports.submitInvoicingCatalogItemFormFailure = _a.submitInvoicingCatalogItemFormFailure, exports.resetEditInvoicingCatalogItemDetailView = _a.resetEditInvoicingCatalogItemDetailView;
|
|
101
78
|
exports.default = editInvoicingCatalogItemDetailView.reducer;
|
|
@@ -5,17 +5,9 @@ import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndRep
|
|
|
5
5
|
import { InvoicingFieldHelpByCode, InvoicingNamedOption, InvoicingNamedOptionsByKey } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
6
6
|
import { InvoicingPlan } from '../../../entity/invoicing/plan/planState';
|
|
7
7
|
import { RootState } from '../../../rootStateTypes';
|
|
8
|
-
import { InvoicingCatalogItemKind } from '../
|
|
9
|
-
import { type
|
|
10
|
-
|
|
11
|
-
export declare const initialCatalogDetailEditValues: () => CatalogDetailEditValues;
|
|
12
|
-
/**
|
|
13
|
-
* The detail page's inline-edit form data: the stored draft once the user has
|
|
14
|
-
* touched the form, seeded from the loaded record until then. Memoized so the
|
|
15
|
-
* page receives a stable value — recomputing it per store change would reseed
|
|
16
|
-
* the form mid-edit and drop what the user had typed.
|
|
17
|
-
*/
|
|
18
|
-
export declare const getInvoicingCatalogItemDetailEditLocalData: (state: RootState, id: ID | undefined) => CatalogDetailEditValues;
|
|
8
|
+
import { InvoicingCatalogItemKind } from '../invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState';
|
|
9
|
+
import { type InvoicingCatalogItemRecordView } from '../invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector';
|
|
10
|
+
import { InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
19
11
|
export declare const getEditInvoicingCatalogItemDetailViewState: (state: RootState) => FetchStateAndError;
|
|
20
12
|
export declare const getSavedInvoicingCatalogItemId: (state: RootState) => ID | undefined;
|
|
21
13
|
export declare const getSavedInvoicingCatalogItemKind: (state: RootState) => InvoicingCatalogItemKind | undefined;
|
|
@@ -41,6 +33,9 @@ export declare const getInvoicingApplicableCatalogItemOptions: (state: RootState
|
|
|
41
33
|
export interface InvoicingCatalogItemFormView extends SelectorView {
|
|
42
34
|
applicabilityValues: readonly string[];
|
|
43
35
|
applicableItemOptions: ApplicableCatalogItemOption[];
|
|
36
|
+
/** Lifecycle option lists, folded in from the record view. */
|
|
37
|
+
catalogItemLifecycleActionOptions: InvoicingCatalogItemRecordView['catalogItemLifecycleActionOptions'];
|
|
38
|
+
catalogProductLifecycleActionOptions: InvoicingCatalogItemRecordView['catalogProductLifecycleActionOptions'];
|
|
44
39
|
/**
|
|
45
40
|
* Backend help copy for this screen's field group, keyed by field code.
|
|
46
41
|
* Folded in here so the screen never reaches for the config view itself.
|
|
@@ -64,6 +59,11 @@ export interface InvoicingCatalogItemFormView extends SelectorView {
|
|
|
64
59
|
*/
|
|
65
60
|
qboAccountHierarchy: NestedAccountHierarchyForReport[];
|
|
66
61
|
qboClassHierarchy: NestedClassHierarchyForReport[];
|
|
62
|
+
/**
|
|
63
|
+
* Loading the item, as distinct from this view's own `fetchState`, which
|
|
64
|
+
* tracks the save.
|
|
65
|
+
*/
|
|
66
|
+
recordState: FetchStateAndError;
|
|
67
67
|
tierTypeValues: readonly string[];
|
|
68
68
|
trialEndActionOptions: InvoicingNamedOption[];
|
|
69
69
|
trialUnitOptions: InvoicingNamedOption[];
|
|
@@ -1,48 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState =
|
|
3
|
+
exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState = void 0;
|
|
4
4
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
5
5
|
const planSelector_1 = require("../../../entity/invoicing/plan/planSelector");
|
|
6
|
+
const invoicingCatalogItemRecordViewSelector_1 = require("../invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewSelector");
|
|
6
7
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
7
8
|
const invoicingQboViewSelector_1 = require("../invoicingQboView/invoicingQboViewSelector");
|
|
8
|
-
const catalogDetailEditPayload_1 = require("./catalogDetailEditPayload");
|
|
9
9
|
const invoicingCatalogItemFormConfig_1 = require("./invoicingCatalogItemFormConfig");
|
|
10
|
-
/** An unsaved item's inline-edit draft, before the record has loaded. */
|
|
11
|
-
const initialCatalogDetailEditValues = () => ({
|
|
12
|
-
applicableItems: [],
|
|
13
|
-
description: '',
|
|
14
|
-
enabledForCheckout: true,
|
|
15
|
-
enabledInPortal: true,
|
|
16
|
-
giftClaimRedirectUrl: '',
|
|
17
|
-
includedInMrr: true,
|
|
18
|
-
isGiftable: false,
|
|
19
|
-
isShippable: false,
|
|
20
|
-
itemApplicability: 'all',
|
|
21
|
-
metered: false,
|
|
22
|
-
name: '',
|
|
23
|
-
productCode: '',
|
|
24
|
-
subFamilies: [],
|
|
25
|
-
unit: '',
|
|
26
|
-
usageCalculation: 'sum_of_usages',
|
|
27
|
-
});
|
|
28
|
-
exports.initialCatalogDetailEditValues = initialCatalogDetailEditValues;
|
|
29
|
-
/**
|
|
30
|
-
* The detail page's inline-edit form data: the stored draft once the user has
|
|
31
|
-
* touched the form, seeded from the loaded record until then. Memoized so the
|
|
32
|
-
* page receives a stable value — recomputing it per store change would reseed
|
|
33
|
-
* the form mid-edit and drop what the user had typed.
|
|
34
|
-
*/
|
|
35
|
-
exports.getInvoicingCatalogItemDetailEditLocalData = (0, toolkit_1.createSelector)([
|
|
36
|
-
(state, id) => id != null
|
|
37
|
-
? state.editInvoicingCatalogItemDetailViewState.detailEditDraftById[id]
|
|
38
|
-
: undefined,
|
|
39
|
-
(state, id) => id != null
|
|
40
|
-
? (0, planSelector_1.getInvoicingPlanById)(state.invoicingPlanState, id)
|
|
41
|
-
: undefined,
|
|
42
|
-
], (storedDraft, plan) => storedDraft ??
|
|
43
|
-
(plan != null
|
|
44
|
-
? (0, catalogDetailEditPayload_1.planToCatalogDetailEditValues)(plan)
|
|
45
|
-
: (0, exports.initialCatalogDetailEditValues)()));
|
|
46
10
|
const getEditInvoicingCatalogItemDetailViewState = (state) => ({
|
|
47
11
|
fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
|
|
48
12
|
error: state.editInvoicingCatalogItemDetailViewState.error,
|
|
@@ -96,7 +60,16 @@ const getInvoicingCatalogItemFormView = (state, id) => {
|
|
|
96
60
|
? (0, invoicingQboViewSelector_1.getInvoicingQboView)(state)
|
|
97
61
|
: undefined;
|
|
98
62
|
const { billingPeriodUnitOptions, catalogItemTypeOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
63
|
+
// In create mode there is no record to load, so the record view is only
|
|
64
|
+
// consulted when editing an existing item.
|
|
65
|
+
const recordView = id != null ? (0, invoicingCatalogItemRecordViewSelector_1.getInvoicingCatalogItemRecord)(state, 'plan', id) : undefined;
|
|
99
66
|
return {
|
|
67
|
+
catalogItemLifecycleActionOptions: recordView?.catalogItemLifecycleActionOptions ?? [],
|
|
68
|
+
catalogProductLifecycleActionOptions: recordView?.catalogProductLifecycleActionOptions ?? [],
|
|
69
|
+
recordState: {
|
|
70
|
+
error: recordView?.error,
|
|
71
|
+
fetchState: recordView?.fetchState ?? 'Not-Started',
|
|
72
|
+
},
|
|
100
73
|
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'catalog'),
|
|
101
74
|
isQboPickerDataLoading: (0, invoicingQboViewSelector_1.isInvoicingAccountingPickerDataLoading)(state),
|
|
102
75
|
qboAccountHierarchy: qboView?.nestedAccountHierarchy ?? [],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Amount } from '../../../commonStateTypes/amount';
|
|
2
2
|
import { FetchedState, ID } from '../../../commonStateTypes/common';
|
|
3
|
-
import { InvoicingCatalogItemKind } from '../
|
|
4
|
-
/** A single pricing tier within a
|
|
3
|
+
import { InvoicingCatalogItemKind } from '../invoicingCatalogItemRecordView/invoicingCatalogItemRecordViewState';
|
|
4
|
+
/** A single pricing tier within a price point (values kept as raw strings). */
|
|
5
5
|
export interface InvoicingCatalogItemFormTier {
|
|
6
6
|
endingUnit: string;
|
|
7
7
|
packageSize: string;
|
|
@@ -10,9 +10,9 @@ export interface InvoicingCatalogItemFormTier {
|
|
|
10
10
|
/** Unset until entered, so a blank field is distinguishable from a real 0. */
|
|
11
11
|
price?: Amount;
|
|
12
12
|
}
|
|
13
|
-
/** A
|
|
13
|
+
/** A price point (price point) of a catalog item. */
|
|
14
14
|
export interface InvoicingCatalogItemFormSubFamily {
|
|
15
|
-
/** Accounting integration is per
|
|
15
|
+
/** Accounting integration is per price point: the API carries
|
|
16
16
|
* `accounting_detail` on each product, not on the parent item. */
|
|
17
17
|
accountingCategory: string;
|
|
18
18
|
accountingCode: string;
|
|
@@ -55,31 +55,8 @@ export interface InvoicingCatalogItemFormLocalData {
|
|
|
55
55
|
subFamilies: InvoicingCatalogItemFormSubFamily[];
|
|
56
56
|
unit: string;
|
|
57
57
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Draft form state for the detail page's inline edit. Separate from
|
|
60
|
-
* {@link InvoicingCatalogItemFormLocalData}: the inline editor exposes the
|
|
61
|
-
* portal/checkout/gifting fields the create form does not.
|
|
62
|
-
*/
|
|
63
|
-
export interface CatalogDetailEditValues {
|
|
64
|
-
applicableItems: string[];
|
|
65
|
-
description: string;
|
|
66
|
-
enabledForCheckout: boolean;
|
|
67
|
-
enabledInPortal: boolean;
|
|
68
|
-
giftClaimRedirectUrl: string;
|
|
69
|
-
includedInMrr: boolean;
|
|
70
|
-
isGiftable: boolean;
|
|
71
|
-
isShippable: boolean;
|
|
72
|
-
itemApplicability: string;
|
|
73
|
-
metered: boolean;
|
|
74
|
-
name: string;
|
|
75
|
-
productCode: string;
|
|
76
|
-
subFamilies: InvoicingCatalogItemFormSubFamily[];
|
|
77
|
-
unit: string;
|
|
78
|
-
usageCalculation: string;
|
|
79
|
-
}
|
|
80
58
|
export interface EditInvoicingCatalogItemDetailViewState extends FetchedState {
|
|
81
59
|
/** Inline-edit drafts, keyed by catalog item id. */
|
|
82
|
-
detailEditDraftById: Record<ID, CatalogDetailEditValues>;
|
|
83
60
|
editDraftById: Record<ID, InvoicingCatalogItemFormLocalData>;
|
|
84
61
|
newItemDraft: InvoicingCatalogItemFormLocalData;
|
|
85
62
|
savedItemId?: ID;
|
package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { mergeInvoicingPlanSubFamily } from '../../../entity/invoicing/plan/planReducer';
|
|
4
4
|
import { RootState } from '../../../rootStateTypes';
|
|
5
5
|
import { ZeniAPI } from '../../../zeniAPI';
|
|
6
|
-
import { archiveInvoicingCatalogSubFamily,
|
|
7
|
-
export type ActionType = ReturnType<typeof
|
|
8
|
-
export declare const createInvoicingCatalogSubFamilyEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
6
|
+
import { archiveInvoicingCatalogSubFamily, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess } from './editInvoicingCatalogItemDetailViewReducer';
|
|
7
|
+
export type ActionType = ReturnType<typeof archiveInvoicingCatalogSubFamily> | ReturnType<typeof mergeInvoicingPlanSubFamily> | ReturnType<typeof submitInvoicingCatalogItemFormSuccess> | ReturnType<typeof submitInvoicingCatalogItemFormFailure>;
|
|
9
8
|
export declare const archiveInvoicingCatalogSubFamilyEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogSubFamilyEpics.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.archiveInvoicingCatalogSubFamilyEpic =
|
|
3
|
+
exports.archiveInvoicingCatalogSubFamilyEpic = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
6
|
const planReducer_1 = require("../../../entity/invoicing/plan/planReducer");
|
|
7
7
|
const responsePayload_1 = require("../../../responsePayload");
|
|
8
|
-
const invoicingQboViewSelector_1 = require("../invoicingQboView/invoicingQboViewSelector");
|
|
9
|
-
const catalogDetailEditPayload_1 = require("./catalogDetailEditPayload");
|
|
10
8
|
const editInvoicingCatalogItemDetailViewReducer_1 = require("./editInvoicingCatalogItemDetailViewReducer");
|
|
11
9
|
const subFamilySuccessActions = (parentItemId, subFamilyPayload) => [
|
|
12
10
|
(0, planReducer_1.mergeInvoicingPlanSubFamily)(parentItemId, subFamilyPayload),
|
|
@@ -15,24 +13,6 @@ const subFamilySuccessActions = (parentItemId, subFamilyPayload) => [
|
|
|
15
13
|
kind: 'plan',
|
|
16
14
|
}),
|
|
17
15
|
];
|
|
18
|
-
const createInvoicingCatalogSubFamilyEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(editInvoicingCatalogItemDetailViewReducer_1.createInvoicingCatalogSubFamily.match), (0, operators_1.mergeMap)((action) => {
|
|
19
|
-
const { itemType, parentItemId, values } = action.payload;
|
|
20
|
-
const state = state$.value;
|
|
21
|
-
// Built here so the dialog can stay in picked ids: resolving one to the
|
|
22
|
-
// account record the payload carries needs the shared account list.
|
|
23
|
-
const data = (0, catalogDetailEditPayload_1.createSubFamilyFormToPayload)(parentItemId, itemType, values, (0, invoicingQboViewSelector_1.getInvoicingCatalogAccountingLookup)(state));
|
|
24
|
-
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
25
|
-
return zeniAPI
|
|
26
|
-
.postAndGetJSON(`${baseUrl}/catalog/products`, data)
|
|
27
|
-
.pipe((0, operators_1.mergeMap)((response) => {
|
|
28
|
-
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
29
|
-
return subFamilySuccessActions(parentItemId, response.data);
|
|
30
|
-
}
|
|
31
|
-
return (0, rxjs_1.of)((0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)(response.status));
|
|
32
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Create sub-family REST API call errored out ' +
|
|
33
|
-
JSON.stringify(error))))));
|
|
34
|
-
}));
|
|
35
|
-
exports.createInvoicingCatalogSubFamilyEpic = createInvoicingCatalogSubFamilyEpic;
|
|
36
16
|
const archiveInvoicingCatalogSubFamilyEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(editInvoicingCatalogItemDetailViewReducer_1.archiveInvoicingCatalogSubFamily.match), (0, operators_1.mergeMap)((action) => {
|
|
37
17
|
const { parentItemId, subFamilyId } = action.payload;
|
|
38
18
|
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
@@ -44,7 +24,7 @@ const archiveInvoicingCatalogSubFamilyEpic = (actions$, _state$, zeniAPI) => act
|
|
|
44
24
|
return subFamilySuccessActions(parentItemId, response.data);
|
|
45
25
|
}
|
|
46
26
|
return (0, rxjs_1.of)((0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)(response.status));
|
|
47
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Archive
|
|
27
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Archive price point REST API call errored out ' +
|
|
48
28
|
JSON.stringify(error))))));
|
|
49
29
|
}));
|
|
50
30
|
exports.archiveInvoicingCatalogSubFamilyEpic = archiveInvoicingCatalogSubFamilyEpic;
|
package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
|
6
6
|
import { RootState } from '../../../rootStateTypes';
|
|
7
7
|
import { ZeniAPI } from '../../../zeniAPI';
|
|
8
8
|
import { addInvoicingCatalogItem } from '../invoicingCatalogListView/invoicingCatalogListViewReducer';
|
|
9
|
-
import {
|
|
10
|
-
export type ActionType = ReturnType<typeof submitInvoicingCatalogItemForm> | ReturnType<typeof
|
|
9
|
+
import { submitInvoicingCatalogItemForm, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess } from './editInvoicingCatalogItemDetailViewReducer';
|
|
10
|
+
export type ActionType = ReturnType<typeof submitInvoicingCatalogItemForm> | ReturnType<typeof submitInvoicingCatalogItemFormSuccess> | ReturnType<typeof submitInvoicingCatalogItemFormFailure> | ReturnType<typeof updateInvoicingPlans> | ReturnType<typeof updateInvoicingProducts> | ReturnType<typeof mergeInvoicingPlanSubFamily> | ReturnType<typeof addInvoicingCatalogItem> | ReturnType<typeof openSnackbar>;
|
|
11
11
|
export declare const saveInvoicingCatalogItemEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.saveInvoicingCatalogItemEpic = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const planSelector_1 = require("../../../entity/invoicing/plan/planSelector");
|
|
7
6
|
const planReducer_1 = require("../../../entity/invoicing/plan/planReducer");
|
|
8
7
|
const productReducer_1 = require("../../../entity/invoicing/product/productReducer");
|
|
9
8
|
const snackbarApiError_1 = require("../../../entity/snackbar/snackbarApiError");
|
|
@@ -11,34 +10,19 @@ const snackbarReducer_1 = require("../../../entity/snackbar/snackbarReducer");
|
|
|
11
10
|
const responsePayload_1 = require("../../../responsePayload");
|
|
12
11
|
const invoicingCatalogListViewReducer_1 = require("../invoicingCatalogListView/invoicingCatalogListViewReducer");
|
|
13
12
|
const invoicingQboViewSelector_1 = require("../invoicingQboView/invoicingQboViewSelector");
|
|
14
|
-
const catalogDetailEditPayload_1 = require("./catalogDetailEditPayload");
|
|
15
13
|
const editInvoicingCatalogItemDetailViewPayload_1 = require("./editInvoicingCatalogItemDetailViewPayload");
|
|
16
|
-
const editInvoicingCatalogItemDetailViewSelector_1 = require("./editInvoicingCatalogItemDetailViewSelector");
|
|
17
14
|
const editInvoicingCatalogItemDetailViewReducer_1 = require("./editInvoicingCatalogItemDetailViewReducer");
|
|
18
|
-
const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)((action) => editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemForm.match(action)
|
|
19
|
-
editInvoicingCatalogItemDetailViewReducer_1.saveInvoicingCatalogItem.match(action)), (0, operators_1.mergeMap)((action) => {
|
|
15
|
+
const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)((action) => editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemForm.match(action)), (0, operators_1.mergeMap)((action) => {
|
|
20
16
|
const { id } = action.payload;
|
|
21
17
|
const state = state$.value;
|
|
22
18
|
const accountingLookup = (0, invoicingQboViewSelector_1.getInvoicingCatalogAccountingLookup)(state);
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
// detail page
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
? (0, planSelector_1.getInvoicingPlanById)(state.invoicingPlanState, id)
|
|
31
|
-
: undefined;
|
|
32
|
-
const savePayload = (0, catalogDetailEditPayload_1.catalogDetailEditValuesToSavePayload)((0, editInvoicingCatalogItemDetailViewSelector_1.getInvoicingCatalogItemDetailEditLocalData)(state, id), accountingLookup, plan?.type ?? plan?.itemType, plan?.subFamilies);
|
|
33
|
-
data = savePayload.planData;
|
|
34
|
-
editProductUpdates = savePayload.productUpdates;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
const viewState = state.editInvoicingCatalogItemDetailViewState;
|
|
38
|
-
const localData = (id != null ? viewState.editDraftById[id] : viewState.newItemDraft) ??
|
|
39
|
-
viewState.newItemDraft;
|
|
40
|
-
data = (0, editInvoicingCatalogItemDetailViewPayload_1.localDataToSaveInvoicingCatalogItemPayload)(localData, id == null, accountingLookup);
|
|
41
|
-
}
|
|
19
|
+
// Form values, turned into a request body here so the picked account and
|
|
20
|
+
// class become the records the service stores. Price points ride along
|
|
21
|
+
// nested, so the detail page and the create/edit form share one request.
|
|
22
|
+
const viewState = state.editInvoicingCatalogItemDetailViewState;
|
|
23
|
+
const localData = (id != null ? viewState.editDraftById[id] : viewState.newItemDraft) ??
|
|
24
|
+
viewState.newItemDraft;
|
|
25
|
+
const data = (0, editInvoicingCatalogItemDetailViewPayload_1.localDataToSaveInvoicingCatalogItemPayload)(localData, id == null, accountingLookup);
|
|
42
26
|
const baseUrl = `${zeniAPI.apiEndPoints.invoicingMicroServiceBaseUrl}/1.0`;
|
|
43
27
|
const path = id != null
|
|
44
28
|
? `${baseUrl}/catalog/plans/${encodeURIComponent(id)}`
|
|
@@ -99,13 +83,7 @@ const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
99
83
|
}));
|
|
100
84
|
return resultActions;
|
|
101
85
|
};
|
|
102
|
-
|
|
103
|
-
? (editProductUpdates ?? [])
|
|
104
|
-
: [];
|
|
105
|
-
if (productUpdates.length === 0) {
|
|
106
|
-
return completeSave([]);
|
|
107
|
-
}
|
|
108
|
-
return (0, rxjs_1.forkJoin)(productUpdates.map((productUpdate) => zeniAPI.putAndGetJSON(`${baseUrl}/catalog/products/${encodeURIComponent(productUpdate.id)}`, productUpdate.data))).pipe((0, operators_1.mergeMap)(completeSave));
|
|
86
|
+
return completeSave([]);
|
|
109
87
|
}
|
|
110
88
|
return (0, rxjs_1.from)([
|
|
111
89
|
(0, editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemFormFailure)(response.status),
|
package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FetchState, ID } from '../../../commonStateTypes/common';
|
|
1
|
+
import { FetchState, FetchStateAndError, ID } from '../../../commonStateTypes/common';
|
|
2
2
|
import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
3
|
import { InvoicingCoupon } from '../../../entity/invoicing/coupon/couponState';
|
|
4
4
|
import { InvoicingDiscountLifecycleActionOption, InvoicingFieldHelpByCode, InvoicingFormOption } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
@@ -8,6 +8,17 @@ export interface EditInvoicingCouponDetailView extends SelectorView {
|
|
|
8
8
|
/** Config-owned; folded in so the screen reads one selector. */
|
|
9
9
|
configFetchState: FetchState;
|
|
10
10
|
discountLifecycleActionOptions: InvoicingDiscountLifecycleActionOption[];
|
|
11
|
+
/**
|
|
12
|
+
* Backend help copy for this screen's field group, keyed by field code.
|
|
13
|
+
* Folded in here so the screen never reaches for the config view itself.
|
|
14
|
+
*/
|
|
15
|
+
fieldHelp: InvoicingFieldHelpByCode;
|
|
16
|
+
/**
|
|
17
|
+
* Loading the coupon, as distinct from this view's own `fetchState`, which
|
|
18
|
+
* tracks the save. Folded in from the read view so a screen reads one
|
|
19
|
+
* selector rather than pairing this one with it.
|
|
20
|
+
*/
|
|
21
|
+
recordState: FetchStateAndError;
|
|
11
22
|
coupon?: InvoicingCoupon;
|
|
12
23
|
savedCouponId?: ID;
|
|
13
24
|
}
|
package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewSta
|
|
|
4
4
|
const couponSelector_1 = require("../../../entity/invoicing/coupon/couponSelector");
|
|
5
5
|
const invoicingCommonPayload_1 = require("../../../entity/invoicing/invoicingCommonPayload");
|
|
6
6
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
7
|
+
const invoicingCouponRecordViewSelector_1 = require("../invoicingCouponRecordView/invoicingCouponRecordViewSelector");
|
|
7
8
|
const editInvoicingCouponDetailViewState_1 = require("./editInvoicingCouponDetailViewState");
|
|
8
9
|
/**
|
|
9
10
|
* Bundled view for the discount create/edit form: the save fetch state/error,
|
|
@@ -13,9 +14,17 @@ const editInvoicingCouponDetailViewState_1 = require("./editInvoicingCouponDetai
|
|
|
13
14
|
const getEditInvoicingCouponDetailViewState = (state, couponId) => {
|
|
14
15
|
const { error, fetchState, savedCouponId } = state.editInvoicingCouponDetailViewState;
|
|
15
16
|
const { discountLifecycleActionOptions, fetchState: configFetchState } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
17
|
+
// In create mode there is no record to load, so the read view is only
|
|
18
|
+
// consulted when editing an existing coupon.
|
|
19
|
+
const readView = couponId != null ? (0, invoicingCouponRecordViewSelector_1.getInvoicingCouponRecord)(state, couponId) : undefined;
|
|
16
20
|
return {
|
|
17
21
|
configFetchState,
|
|
18
22
|
discountLifecycleActionOptions,
|
|
23
|
+
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'discount'),
|
|
24
|
+
recordState: {
|
|
25
|
+
error: readView?.error,
|
|
26
|
+
fetchState: readView?.fetchState ?? 'Not-Started',
|
|
27
|
+
},
|
|
19
28
|
coupon: couponId != null
|
|
20
29
|
? (0, couponSelector_1.getInvoicingCouponById)(state.invoicingCouponState, couponId)
|
|
21
30
|
: undefined,
|
|
@@ -41,7 +50,6 @@ const getInvoicingCouponFormView = (state, couponId) => {
|
|
|
41
50
|
: newCouponDraft;
|
|
42
51
|
const { billingPeriodUnitOptions, discountApplyOnOptions, discountDurationTypeOptions, discountTypeOptions, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
43
52
|
return {
|
|
44
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'discount'),
|
|
45
53
|
...base,
|
|
46
54
|
applyOnOptions: discountApplyOnOptions.map(invoicingCommonPayload_1.toInvoicingFormOption),
|
|
47
55
|
discountTypeOptions: discountTypeOptions.map(invoicingCommonPayload_1.toInvoicingFormOption),
|
|
@@ -2,6 +2,7 @@ import { ID } from '../../../commonStateTypes/common';
|
|
|
2
2
|
import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
3
|
import { InvoicingFieldHelpByCode, InvoicingNamedOption } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
4
4
|
import { RootState } from '../../../rootStateTypes';
|
|
5
|
+
import { type InvoicingCustomerRecordView } from '../invoicingCustomerRecordView/invoicingCustomerRecordViewSelector';
|
|
5
6
|
import { InvoicingCustomerFormLocalData } from './editInvoicingCustomerDetailViewState';
|
|
6
7
|
export interface InvoicingCustomerFormView extends SelectorView {
|
|
7
8
|
customerTypeOptions: InvoicingNamedOption[];
|
|
@@ -13,6 +14,13 @@ export interface InvoicingCustomerFormView extends SelectorView {
|
|
|
13
14
|
localData: InvoicingCustomerFormLocalData;
|
|
14
15
|
mode: 'create' | 'edit';
|
|
15
16
|
netTermDayOptions: InvoicingNamedOption[];
|
|
17
|
+
/**
|
|
18
|
+
* The record and everything the detail page renders alongside it — invoices,
|
|
19
|
+
* payment methods, branding, Stripe state. Nested rather than flattened: it
|
|
20
|
+
* is a page's worth of state, and spreading it here would bury this view's
|
|
21
|
+
* own form fields. Screens read one selector and reach through this.
|
|
22
|
+
*/
|
|
23
|
+
record: InvoicingCustomerRecordView;
|
|
16
24
|
taxabilityOptions: InvoicingNamedOption[];
|
|
17
25
|
billingAddressId?: ID;
|
|
18
26
|
billingAddressLabel?: string;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getInvoicingCustomerFormView = void 0;
|
|
4
4
|
const invoicingCustomerSelector_1 = require("../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector");
|
|
5
5
|
const addressViewSelector_1 = require("../../addressView/addressViewSelector");
|
|
6
|
+
const invoicingCustomerRecordViewSelector_1 = require("../invoicingCustomerRecordView/invoicingCustomerRecordViewSelector");
|
|
6
7
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
7
8
|
const invoicingCustomerFormConfig_1 = require("./invoicingCustomerFormConfig");
|
|
8
9
|
/**
|
|
@@ -32,6 +33,7 @@ const getInvoicingCustomerFormView = (state, invoicingCustomerID) => {
|
|
|
32
33
|
: undefined;
|
|
33
34
|
const { customerTypeOptions, netTermDayOptions, taxabilityOptions } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
34
35
|
return {
|
|
36
|
+
record: (0, invoicingCustomerRecordViewSelector_1.getInvoicingCustomerRecord)(state, invoicingCustomerID ?? ''),
|
|
35
37
|
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'customer'),
|
|
36
38
|
customerTypeOptions,
|
|
37
39
|
localData,
|
|
@@ -2,7 +2,7 @@ import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { RootState } from '../../../rootStateTypes';
|
|
4
4
|
import { newAddressInLocalStore } from '../../addressView/addressViewReducer';
|
|
5
|
-
import { updateInvoicingCustomerDetail } from '../
|
|
5
|
+
import { updateInvoicingCustomerDetail } from '../invoicingCustomerRecordView/invoicingCustomerRecordViewReducer';
|
|
6
6
|
import { initializeInvoicingCustomerAddress } from './editInvoicingCustomerDetailViewReducer';
|
|
7
7
|
export type ActionType = ReturnType<typeof initializeInvoicingCustomerAddress> | ReturnType<typeof updateInvoicingCustomerDetail> | ReturnType<typeof newAddressInLocalStore>;
|
|
8
8
|
/**
|
package/lib/view/invoicing/editInvoicingCustomerDetailView/initializeInvoicingCustomerAddressEpic.js
CHANGED
|
@@ -6,7 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const addressSelector_1 = require("../../../entity/address/addressSelector");
|
|
7
7
|
const invoicingCustomerSelector_1 = require("../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector");
|
|
8
8
|
const addressViewReducer_1 = require("../../addressView/addressViewReducer");
|
|
9
|
-
const
|
|
9
|
+
const invoicingCustomerRecordViewReducer_1 = require("../invoicingCustomerRecordView/invoicingCustomerRecordViewReducer");
|
|
10
10
|
const editInvoicingCustomerDetailViewReducer_1 = require("./editInvoicingCustomerDetailViewReducer");
|
|
11
11
|
const invoicingCustomerFormConfig_1 = require("./invoicingCustomerFormConfig");
|
|
12
12
|
/**
|
|
@@ -18,7 +18,7 @@ const invoicingCustomerFormConfig_1 = require("./invoicingCustomerFormConfig");
|
|
|
18
18
|
* `initializeVendorAddressEpic`.
|
|
19
19
|
*/
|
|
20
20
|
const initializeInvoicingCustomerAddressEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)((action) => editInvoicingCustomerDetailViewReducer_1.initializeInvoicingCustomerAddress.match(action) ||
|
|
21
|
-
|
|
21
|
+
invoicingCustomerRecordViewReducer_1.updateInvoicingCustomerDetail.match(action)), (0, operators_1.mergeMap)((action) => {
|
|
22
22
|
const { id } = action.payload;
|
|
23
23
|
const rootState = state$.value;
|
|
24
24
|
const existingDraft = rootState.addressViewState.newAddressState?.[invoicingCustomerFormConfig_1.INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE]?.addressToCreate;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ID } from '../../../commonStateTypes/common';
|
|
1
|
+
import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
|
|
2
2
|
import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
3
|
import { InvoicingCoupon } from '../../../entity/invoicing/coupon/couponState';
|
|
4
|
-
import { InvoicingFieldHelpByCode, InvoicingSubscriptionLifecycleActionOption } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
4
|
+
import { InvoicingFieldHelpByCode, InvoicingNamedOption, InvoicingSubscriptionLifecycleActionOption } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
5
5
|
import { InvoicingCustomer } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerState';
|
|
6
6
|
import { InvoicingSubscription } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionState';
|
|
7
7
|
import { InvoicingProduct } from '../../../entity/invoicing/product/productState';
|
|
@@ -30,6 +30,10 @@ export interface EditInvoicingSubscriptionDetailView extends SelectorView {
|
|
|
30
30
|
* to its own option shapes, so this stays free of any web-components dependency.
|
|
31
31
|
*/
|
|
32
32
|
export interface InvoicingSubscriptionFormView extends SelectorView {
|
|
33
|
+
/** Lifecycle action in flight, folded in from the record view. */
|
|
34
|
+
actionState: FetchStateAndError;
|
|
35
|
+
/** Cancel reasons from `/1.0/config`, so the dialog hardcodes nothing. */
|
|
36
|
+
cancelReasonCodeOptions: InvoicingNamedOption[];
|
|
33
37
|
coupons: InvoicingCoupon[];
|
|
34
38
|
customers: InvoicingCustomer[];
|
|
35
39
|
/**
|
|
@@ -41,6 +45,11 @@ export interface InvoicingSubscriptionFormView extends SelectorView {
|
|
|
41
45
|
mode: 'create' | 'edit';
|
|
42
46
|
plans: InvoicingProduct[];
|
|
43
47
|
products: InvoicingProduct[];
|
|
48
|
+
/**
|
|
49
|
+
* Loading the subscription, as distinct from this view's own `fetchState`,
|
|
50
|
+
* which tracks the save. Folded in so a screen reads one selector.
|
|
51
|
+
*/
|
|
52
|
+
recordState: FetchStateAndError;
|
|
44
53
|
savedSubscriptionId?: ID;
|
|
45
54
|
shippingAddressLabel?: string;
|
|
46
55
|
subscription?: InvoicingSubscription;
|
|
@@ -5,6 +5,7 @@ const invoicingSubscriptionSelector_1 = require("../../../entity/invoicing/invoi
|
|
|
5
5
|
const addressViewSelector_1 = require("../../addressView/addressViewSelector");
|
|
6
6
|
const couponViewSelector_1 = require("../couponView/couponViewSelector");
|
|
7
7
|
const invoicingCatalogListViewSelector_1 = require("../invoicingCatalogListView/invoicingCatalogListViewSelector");
|
|
8
|
+
const invoicingSubscriptionRecordViewSelector_1 = require("../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewSelector");
|
|
8
9
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
9
10
|
const invoicingCustomerListViewSelector_1 = require("../invoicingCustomerListView/invoicingCustomerListViewSelector");
|
|
10
11
|
const invoicingSubscriptionFormConfig_1 = require("./invoicingSubscriptionFormConfig");
|
|
@@ -45,7 +46,21 @@ const getInvoicingSubscriptionFormView = (state, invoicingSubscriptionID) => {
|
|
|
45
46
|
const catalogListView = (0, invoicingCatalogListViewSelector_1.getInvoicingCatalogListView)(state);
|
|
46
47
|
const planPrices = (0, invoicingCatalogListViewSelector_1.getInvoicingCatalogPrices)(catalogListView.plans);
|
|
47
48
|
const addonAndChargePrices = (0, invoicingCatalogListViewSelector_1.getInvoicingCatalogPrices)(catalogListView.products);
|
|
49
|
+
// In create mode there is no record to load, so the record view is only
|
|
50
|
+
// consulted when editing an existing subscription.
|
|
51
|
+
const recordView = invoicingSubscriptionID != null
|
|
52
|
+
? (0, invoicingSubscriptionRecordViewSelector_1.getInvoicingSubscriptionRecord)(state, invoicingSubscriptionID)
|
|
53
|
+
: undefined;
|
|
48
54
|
return {
|
|
55
|
+
actionState: recordView?.actionState ?? {
|
|
56
|
+
error: undefined,
|
|
57
|
+
fetchState: 'Not-Started',
|
|
58
|
+
},
|
|
59
|
+
cancelReasonCodeOptions: (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state).subscriptionCancelReasonCodeOptions,
|
|
60
|
+
recordState: {
|
|
61
|
+
error: recordView?.error,
|
|
62
|
+
fetchState: recordView?.fetchState ?? 'Not-Started',
|
|
63
|
+
},
|
|
49
64
|
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'subscription'),
|
|
50
65
|
coupons: (0, couponViewSelector_1.getInvoicingCouponListItems)(state),
|
|
51
66
|
customers: (0, invoicingCustomerListViewSelector_1.getInvoicingCustomerListView)(state).customers,
|
|
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
|
|
|
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
|
* Every action this epic can emit, plus the trigger it listens for. Wired into
|
|
@@ -6,7 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const couponViewReducer_1 = require("../couponView/couponViewReducer");
|
|
7
7
|
const invoicingCatalogListViewReducer_1 = require("../invoicingCatalogListView/invoicingCatalogListViewReducer");
|
|
8
8
|
const invoicingCustomerListViewReducer_1 = require("../invoicingCustomerListView/invoicingCustomerListViewReducer");
|
|
9
|
-
const
|
|
9
|
+
const invoicingSubscriptionRecordViewReducer_1 = require("../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer");
|
|
10
10
|
const editInvoicingSubscriptionDetailViewReducer_1 = require("./editInvoicingSubscriptionDetailViewReducer");
|
|
11
11
|
/**
|
|
12
12
|
* Orchestrates the subscription create/edit form: on
|
|
@@ -26,7 +26,7 @@ const fetchInvoicingSubscriptionFormPageEpic = (actions$) => actions$.pipe((0, o
|
|
|
26
26
|
(0, couponViewReducer_1.fetchInvoicingCouponList)({ filters: {}, keepExistingListItems: false }),
|
|
27
27
|
];
|
|
28
28
|
if (subscriptionId != null) {
|
|
29
|
-
pageActions.push((0,
|
|
29
|
+
pageActions.push((0, invoicingSubscriptionRecordViewReducer_1.fetchInvoicingSubscriptionDetail)({ id: subscriptionId }));
|
|
30
30
|
}
|
|
31
31
|
return (0, rxjs_1.concat)((0, rxjs_1.from)(pageActions));
|
|
32
32
|
}));
|
|
@@ -2,7 +2,7 @@ import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { RootState } from '../../../rootStateTypes';
|
|
4
4
|
import { newAddressInLocalStore } from '../../addressView/addressViewReducer';
|
|
5
|
-
import { updateInvoicingSubscriptionDetail } from '../
|
|
5
|
+
import { updateInvoicingSubscriptionDetail } from '../invoicingSubscriptionRecordView/invoicingSubscriptionRecordViewReducer';
|
|
6
6
|
import { initializeInvoicingSubscriptionAddress } from './editInvoicingSubscriptionDetailViewReducer';
|
|
7
7
|
export type ActionType = ReturnType<typeof initializeInvoicingSubscriptionAddress> | ReturnType<typeof updateInvoicingSubscriptionDetail> | ReturnType<typeof newAddressInLocalStore>;
|
|
8
8
|
/**
|