@zeniai/client-epic-state 5.2.13-betaAK0 → 5.2.13-betaAK1
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/esm/index.js +1 -1
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.js +8 -1
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +36 -0
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +6 -2
- package/lib/esm/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js +2 -0
- package/lib/index.d.ts +3 -3
- package/lib/index.js +6 -5
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.d.ts +2 -19
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.d.ts +11 -17
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer.js +9 -2
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +10 -1
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +38 -1
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState.d.ts +24 -0
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +6 -2
- package/lib/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.d.ts +6 -0
- package/lib/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js +2 -0
- package/package.json +71 -38
package/lib/esm/index.js
CHANGED
|
@@ -766,7 +766,7 @@ export { getInvoicingCustomerFormView } from './view/invoicing/editInvoicingCust
|
|
|
766
766
|
export { fetchInvoicingSubscriptionFormPage, initializeInvoicingSubscriptionAddress, resetEditInvoicingSubscriptionDetailView, submitInvoicingSubscriptionForm, updateInvoicingSubscriptionFormDraft, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewReducer';
|
|
767
767
|
export { INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, initialInvoicingSubscriptionFormLocalData, invoicingSubscriptionTodayIso, toInvoicingSubscriptionQuantity, } from './view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig';
|
|
768
768
|
export { getEditInvoicingSubscriptionDetailViewState, getInvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
769
|
-
export { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
769
|
+
export { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemDetailEditDraft, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
770
770
|
export { catalogDetailEditValuesToSavePayload, createSubFamilyFormToPayload, planToCatalogDetailEditValues, productToCreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
771
771
|
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';
|
|
772
772
|
export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
|
|
@@ -4,6 +4,7 @@ import { initialInvoicingCatalogItemFormLocalData } from './invoicingCatalogItem
|
|
|
4
4
|
export const initialState = {
|
|
5
5
|
fetchState: 'Not-Started',
|
|
6
6
|
error: undefined,
|
|
7
|
+
detailEditDraftById: {},
|
|
7
8
|
editDraftById: {},
|
|
8
9
|
newItemDraft: { ...initialInvoicingCatalogItemFormLocalData },
|
|
9
10
|
savedItemId: undefined,
|
|
@@ -25,6 +26,10 @@ const editInvoicingCatalogItemDetailView = createSlice({
|
|
|
25
26
|
draft.newItemDraft = localData;
|
|
26
27
|
}
|
|
27
28
|
},
|
|
29
|
+
updateInvoicingCatalogItemDetailEditDraft(draft, action) {
|
|
30
|
+
const { id, localData } = action.payload;
|
|
31
|
+
draft.detailEditDraftById[id] = localData;
|
|
32
|
+
},
|
|
28
33
|
submitInvoicingCatalogItemForm: {
|
|
29
34
|
reducer(draft) {
|
|
30
35
|
draft.fetchState = 'In-Progress';
|
|
@@ -66,6 +71,7 @@ const editInvoicingCatalogItemDetailView = createSlice({
|
|
|
66
71
|
draft.error = undefined;
|
|
67
72
|
draft.savedItemId = action.payload.itemId;
|
|
68
73
|
draft.savedKind = action.payload.kind;
|
|
74
|
+
delete draft.detailEditDraftById[action.payload.itemId];
|
|
69
75
|
},
|
|
70
76
|
submitInvoicingCatalogItemFormFailure(draft, action) {
|
|
71
77
|
draft.fetchState = 'Error';
|
|
@@ -76,6 +82,7 @@ const editInvoicingCatalogItemDetailView = createSlice({
|
|
|
76
82
|
draft.error = undefined;
|
|
77
83
|
draft.savedItemId = undefined;
|
|
78
84
|
draft.savedKind = undefined;
|
|
85
|
+
draft.detailEditDraftById = {};
|
|
79
86
|
draft.editDraftById = {};
|
|
80
87
|
draft.newItemDraft = { ...initialInvoicingCatalogItemFormLocalData };
|
|
81
88
|
},
|
|
@@ -86,5 +93,5 @@ const editInvoicingCatalogItemDetailView = createSlice({
|
|
|
86
93
|
});
|
|
87
94
|
},
|
|
88
95
|
});
|
|
89
|
-
export const { updateInvoicingCatalogItemFormDraft, submitInvoicingCatalogItemForm, saveInvoicingCatalogItem, createInvoicingCatalogSubFamily, archiveInvoicingCatalogSubFamily, submitInvoicingCatalogItemFormSuccess, submitInvoicingCatalogItemFormFailure, resetEditInvoicingCatalogItemDetailView, } = editInvoicingCatalogItemDetailView.actions;
|
|
96
|
+
export const { updateInvoicingCatalogItemDetailEditDraft, updateInvoicingCatalogItemFormDraft, submitInvoicingCatalogItemForm, saveInvoicingCatalogItem, createInvoicingCatalogSubFamily, archiveInvoicingCatalogSubFamily, submitInvoicingCatalogItemFormSuccess, submitInvoicingCatalogItemFormFailure, resetEditInvoicingCatalogItemDetailView, } = editInvoicingCatalogItemDetailView.actions;
|
|
90
97
|
export default editInvoicingCatalogItemDetailView.reducer;
|
|
@@ -2,7 +2,43 @@ import { createSelector } from '@reduxjs/toolkit';
|
|
|
2
2
|
import { getInvoicingPlanById, getInvoicingPlansByIds, } from '../../../entity/invoicing/plan/planSelector';
|
|
3
3
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
4
|
import { getInvoicingQboView, isInvoicingAccountingPickerDataLoading, isInvoicingQboConnected, } from '../invoicingQboView/invoicingQboViewSelector';
|
|
5
|
+
import { planToCatalogDetailEditValues } from './catalogDetailEditPayload';
|
|
5
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()));
|
|
6
42
|
export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
|
|
7
43
|
fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
|
|
8
44
|
error: state.editInvoicingCatalogItemDetailViewState.error,
|
package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { forkJoin, from } from 'rxjs';
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { getInvoicingPlanById } from '../../../entity/invoicing/plan/planSelector';
|
|
3
4
|
import { mergeInvoicingPlanSubFamily, updateInvoicingPlans, } from '../../../entity/invoicing/plan/planReducer';
|
|
4
5
|
import { updateInvoicingProducts } from '../../../entity/invoicing/product/productReducer';
|
|
5
6
|
import { apiErrorSnackbarVariables } from '../../../entity/snackbar/snackbarApiError';
|
|
@@ -9,6 +10,7 @@ import { addInvoicingCatalogItem } from '../invoicingCatalogListView/invoicingCa
|
|
|
9
10
|
import { getInvoicingCatalogAccountingLookup } from '../invoicingQboView/invoicingQboViewSelector';
|
|
10
11
|
import { catalogDetailEditValuesToSavePayload, } from './catalogDetailEditPayload';
|
|
11
12
|
import { localDataToSaveInvoicingCatalogItemPayload, } from './editInvoicingCatalogItemDetailViewPayload';
|
|
13
|
+
import { getInvoicingCatalogItemDetailEditLocalData } from './editInvoicingCatalogItemDetailViewSelector';
|
|
12
14
|
import { saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, submitInvoicingCatalogItemFormFailure, submitInvoicingCatalogItemFormSuccess, } from './editInvoicingCatalogItemDetailViewReducer';
|
|
13
15
|
export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter((action) => submitInvoicingCatalogItemForm.match(action) ||
|
|
14
16
|
saveInvoicingCatalogItem.match(action)), mergeMap((action) => {
|
|
@@ -21,8 +23,10 @@ export const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actio
|
|
|
21
23
|
let data;
|
|
22
24
|
let editProductUpdates;
|
|
23
25
|
if (saveInvoicingCatalogItem.match(action)) {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
+
const plan = id != null
|
|
27
|
+
? getInvoicingPlanById(state.invoicingPlanState, id)
|
|
28
|
+
: undefined;
|
|
29
|
+
const savePayload = catalogDetailEditValuesToSavePayload(getInvoicingCatalogItemDetailEditLocalData(state, id), accountingLookup, plan?.type ?? plan?.itemType, plan?.subFamilies);
|
|
26
30
|
data = savePayload.planData;
|
|
27
31
|
editProductUpdates = savePayload.productUpdates;
|
|
28
32
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getInvoicingPlanById } from '../../../entity/invoicing/plan/planSelector';
|
|
2
2
|
import { getInvoicingConfigView, invoicingFieldHelpForGroup, } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
3
|
+
import { getInvoicingCatalogItemDetailEditLocalData } from '../editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
|
|
3
4
|
export const getInvoicingCatalogItemDetail = (state, _kind, id) => {
|
|
4
5
|
const { error, fetchState } = state.invoicingCatalogItemDetailViewState;
|
|
5
6
|
const { billingPeriodUnitOptions, catalogItemLifecycleActionOptions, catalogItemTypeOptions, catalogProductLifecycleActionOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, fetchState: configFetchState, } = getInvoicingConfigView(state);
|
|
@@ -10,6 +11,7 @@ export const getInvoicingCatalogItemDetail = (state, _kind, id) => {
|
|
|
10
11
|
catalogTierTypeOptionsByPricingModel,
|
|
11
12
|
configFetchState,
|
|
12
13
|
periodUnitOptions: billingPeriodUnitOptions,
|
|
14
|
+
editLocalData: getInvoicingCatalogItemDetailEditLocalData(state, id),
|
|
13
15
|
plan: getInvoicingPlanById(state.invoicingPlanState, id),
|
|
14
16
|
trialEndActionOptions: catalogTrialEndActionOptions,
|
|
15
17
|
trialUnitOptions: catalogTrialUnitOptions,
|
package/lib/index.d.ts
CHANGED
|
@@ -1115,11 +1115,11 @@ export type { InvoicingSubscriptionFormLocalData } from './view/invoicing/editIn
|
|
|
1115
1115
|
export { INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, initialInvoicingSubscriptionFormLocalData, invoicingSubscriptionTodayIso, toInvoicingSubscriptionQuantity, } from './view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig';
|
|
1116
1116
|
export { getEditInvoicingSubscriptionDetailViewState, getInvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
1117
1117
|
export type { EditInvoicingSubscriptionDetailView, InvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
1118
|
-
export { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1119
|
-
export type { ArchiveInvoicingCatalogSubFamilyPayload, CreateInvoicingCatalogSubFamilyPayload, SaveInvoicingCatalogItemPayload, SubmitInvoicingCatalogItemFormPayload, UpdateInvoicingCatalogItemFormDraftPayload, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1118
|
+
export { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemDetailEditDraft, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1119
|
+
export type { ArchiveInvoicingCatalogSubFamilyPayload, CreateInvoicingCatalogSubFamilyPayload, SaveInvoicingCatalogItemPayload, SubmitInvoicingCatalogItemFormPayload, UpdateInvoicingCatalogItemDetailEditDraftPayload, UpdateInvoicingCatalogItemFormDraftPayload, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
1120
1120
|
export type { InvoicingCatalogAccountingLookup } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewPayload';
|
|
1121
1121
|
export { catalogDetailEditValuesToSavePayload, createSubFamilyFormToPayload, planToCatalogDetailEditValues, productToCreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
1122
|
-
export type { CatalogDetailEditValues, CatalogDetailProductUpdate, CatalogDetailSavePayload,
|
|
1122
|
+
export type { CatalogDetailEditValues, CatalogDetailProductUpdate, CatalogDetailSavePayload, CreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
1123
1123
|
export type { InvoicingCatalogItemFormLocalData, InvoicingCatalogItemFormSubFamily, InvoicingCatalogItemFormTier, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState';
|
|
1124
1124
|
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';
|
|
1125
1125
|
export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
|
package/lib/index.js
CHANGED
|
@@ -79,11 +79,11 @@ exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFo
|
|
|
79
79
|
exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = void 0;
|
|
80
80
|
exports.fetchCreateInvoiceFormPage = exports.createInvoice = exports.getInvoiceDetail = exports.fetchInvoiceDetail = exports.getInvoiceListView = exports.ALL_INVOICING_INVOICE_TAB_IDS = exports.updateInvoiceListFilters = exports.setInvoiceActiveTab = exports.fetchInvoiceListPage = exports.fetchInvoiceList = exports.fetchInvoiceKPIs = exports.fetchInvoiceCounts = exports.getInvoicesByIds = exports.getInvoiceById = exports.updateInvoices = exports.removeInvoice = exports.mapAuditLogEntry = exports.toAuditLogEntityRouteOption = exports.isInvoicingEntityLinkable = exports.buildInvoicingEntityPath = exports.toInvoicingDiscountLifecycleActionOption = exports.toInvoicingDiscountLifecycleAction = exports.toInvoicingCatalogProductLifecycleActionOption = exports.toInvoicingCatalogItemLifecycleActionOption = exports.toInvoicingCatalogProductLifecycleAction = exports.toInvoicingCatalogItemLifecycleAction = exports.toInvoicingSubscriptionLifecycleActionOption = exports.toInvoicingSubscriptionLifecycleAction = exports.toInvoicingDunningAction = exports.INVOICING_DISCOUNT_LIFECYCLE_ACTIONS = exports.INVOICING_CATALOG_PRODUCT_LIFECYCLE_ACTIONS = exports.INVOICING_CATALOG_ITEM_LIFECYCLE_ACTIONS = exports.INVOICING_SUBSCRIPTION_LIFECYCLE_ACTIONS = exports.INVOICING_DUNNING_ACTIONS = exports.toKycProvidedDocumentTypeFromAllowed = exports.toKycProvidedDocumentType = exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = void 0;
|
|
81
81
|
exports.INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE = exports.updateInvoicingCustomerFormDraft = exports.submitInvoicingCustomerFormSuccess = exports.submitInvoicingCustomerFormFailure = exports.submitInvoicingCustomerForm = exports.resetEditInvoicingCustomerDetailView = exports.initializeInvoicingCustomerAddress = exports.getRecordPaymentView = exports.getRecordPaymentInvoiceOptions = exports.getRecordPaymentFormView = exports.getCreateInvoiceFormView = exports.getInvoicingAuditView = exports.fetchInvoicingAuditLog = exports.getInvoicingOverview = exports.buildPeriodOptions = exports.fetchInvoicingOverview = exports.clearInvoicingOverview = exports.initialRecordPaymentFormLocalData = exports.localDataToRecordPaymentPayload = exports.localDataToInvoiceRecordPaymentBody = exports.initializeRecordPaymentDraftFromInvoice = exports.getCreateCreditNoteView = exports.getCreateCreditNoteFormView = exports.initialCreateCreditNoteFormLocalData = exports.localDataToCreateCreditNotePayload = exports.updateCreateCreditNoteFormDraft = exports.submitCreateCreditNote = exports.resetCreateCreditNote = exports.createCreditNoteSuccess = exports.createCreditNoteFailure = exports.getIssueCreditNoteView = exports.initialIssueCreditNoteFormLocalData = exports.localDataToIssueCreditNotePayload = exports.initializeIssueCreditNoteDraftFromInvoice = exports.computeIssueCreditNoteTotal = exports.updateIssueCreditNoteFormDraft = exports.submitIssueCreditNote = exports.resetIssueCreditNote = exports.issueCreditNoteSuccess = exports.issueCreditNoteFailure = exports.initializeIssueCreditNoteDraft = exports.updateRecordPaymentFormDraft = exports.submitRecordPayment = exports.initializeRecordPaymentDraft = exports.resetRecordPayment = exports.initialInvoicingCreateInvoiceFormLocalData = exports.createInvoiceFormLocalDataToRequest = exports.blankInvoicingCreateInvoiceLineItem = exports.updateInvoicingCreateInvoiceFormDraft = exports.resetCreateInvoice = void 0;
|
|
82
|
-
exports.
|
|
83
|
-
exports.
|
|
84
|
-
exports.
|
|
85
|
-
exports.
|
|
86
|
-
exports.getInvoicingOnboardingGateView = exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.acceptInvoicingTerms = exports.toInvoicingQboCustomerMatchingMode = exports.toInvoicingNamedOptionsByKey = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingCatalogAccountingLookup = exports.getInvoicingQboView = exports.invoicingAccountsForQboAccountTypes = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingAccountingPickers = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.invoicingQboSettingsLocalDataToPayload = exports.initialInvoicingQboSettingsLocalData = exports.entityToInvoicingQboSettingsLocalData = exports.getInvoicingSettingsView = exports.getInvoicingSettingsHubView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingQboSettingsFormView = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingQboSettingsDraft = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingQboSettings = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingQboSettingsDraft = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.getInvoicingProductById = void 0;
|
|
82
|
+
exports.runInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getEditInvoicingCatalogItemDetailViewState = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = exports.invoicingProductToCatalogItemFormSubFamily = exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.INVOICING_CATALOG_TIER_TYPE_VALUES = exports.INVOICING_CATALOG_PRORATION_VALUES = exports.INVOICING_CATALOG_PRICING_MODEL_VALUES = exports.INVOICING_CATALOG_APPLICABILITY_VALUES = exports.productToCreateSubFamilyFormValues = exports.planToCatalogDetailEditValues = exports.createSubFamilyFormToPayload = exports.catalogDetailEditValuesToSavePayload = exports.updateInvoicingCatalogItemFormDraft = exports.updateInvoicingCatalogItemDetailEditDraft = exports.submitInvoicingCatalogItemForm = exports.saveInvoicingCatalogItem = exports.resetEditInvoicingCatalogItemDetailView = exports.createInvoicingCatalogSubFamily = exports.archiveInvoicingCatalogSubFamily = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.toInvoicingSubscriptionQuantity = exports.invoicingSubscriptionTodayIso = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.updateInvoicingSubscriptionFormDraft = exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = exports.entityToInvoicingCustomerFormLocalData = void 0;
|
|
83
|
+
exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkTokenFetchState = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.getInvoicingCustomerDetail = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.getInvoicingCustomerListView = exports.INVOICING_CUSTOMER_COLUMNS = exports.ALL_INVOICING_CUSTOMER_TAB_IDS = exports.ALL_INVOICING_CUSTOMER_SORT_KEYS = exports.updateInvoicingCustomerFilters = exports.setInvoicingCustomerActiveTab = exports.fetchInvoicingCustomerListPage = exports.fetchInvoicingCustomerList = exports.fetchInvoicingCustomerCounts = exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.INVOICING_LIST_PAGE_SIZE = exports.getInvoicingDataImportActionState = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.getInvoicingDataImportView = exports.setInvoicingActiveMigrationSessionId = exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingMigrationDiagnostics = exports.fetchInvoicingDataImportStatus = exports.getInvoicingPaymentActionState = exports.runInvoicingPaymentAction = exports.getInvoicingDunningActionState = exports.runInvoicingDunningAction = exports.getInvoicingSubscriptionActionState = exports.runInvoicingSubscriptionAction = exports.getInvoicingDiscountActionState = exports.runInvoicingDiscountAction = exports.getInvoicingCatalogActionState = exports.runInvoicingCatalogProductAction = exports.runInvoicingCatalogPlanAction = exports.getInvoicingInvoiceActionState = exports.updateInvoicingInvoice = void 0;
|
|
84
|
+
exports.fetchInvoicingCouponList = exports.fetchInvoicingCouponCounts = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_COLUMNS = exports.ALL_INVOICING_CREDIT_NOTE_TAB_IDS = exports.ALL_INVOICING_CREDIT_NOTE_SORT_KEYS = exports.updateInvoicingCreditNoteFilters = exports.setInvoicingCreditNoteActiveTab = exports.fetchInvoicingCreditNoteListPage = exports.fetchInvoicingCreditNoteList = exports.fetchInvoicingCreditNoteCounts = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.getInvoicingTransactionDetail = exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_COLUMNS = exports.ALL_INVOICING_TRANSACTION_TAB_IDS = exports.ALL_INVOICING_TRANSACTION_SORT_KEYS = exports.updateInvoicingTransactionFilters = exports.setInvoicingTransactionActiveTab = exports.fetchInvoicingTransactionListPage = exports.fetchInvoicingTransactionList = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = exports.getInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_COLUMNS = exports.ALL_INVOICING_SUBSCRIPTION_TAB_IDS = exports.ALL_INVOICING_SUBSCRIPTION_SORT_KEYS = exports.updateInvoicingSubscriptionFilters = exports.setInvoicingSubscriptionActiveTab = exports.fetchInvoicingSubscriptionListPage = exports.fetchInvoicingSubscriptionList = exports.fetchInvoicingSubscriptionCounts = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.resetPromotionalCreditAction = exports.submitAddPromotionalCredits = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = void 0;
|
|
85
|
+
exports.getInvoicingCatalogItemDetail = exports.fetchInvoicingCatalogItemDetail = exports.getInvoicingCatalogListView = exports.INVOICING_PRODUCT_COLUMNS = exports.ALL_INVOICING_PRODUCT_SORT_KEYS = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.updateInvoicingProducts = exports.removeInvoicingProduct = exports.updateInvoicingPlans = exports.removeInvoicingPlan = exports.mergeInvoicingPlanSubFamily = exports.getInvoicingDunningEmailPreview = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.invalidateInvoicingDunningEmailPreview = exports.fetchInvoicingDunningEmailPreviewPage = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_COLUMNS = exports.ALL_INVOICING_DUNNING_CASE_TAB_IDS = exports.ALL_INVOICING_DUNNING_CASE_SORT_KEYS = exports.updateInvoicingDunningCaseFilters = exports.setInvoicingDunningCaseActiveTab = exports.fetchInvoicingDunningCaseListPage = exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.getInvoicingCouponDetail = exports.fetchInvoicingCouponDetail = exports.getInvoicingCouponById = exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_COLUMNS = exports.ALL_INVOICING_COUPON_TAB_IDS = exports.ALL_INVOICING_COUPON_SORT_KEYS = exports.updateInvoicingCouponFilters = exports.setInvoicingCouponActiveTab = exports.fetchInvoicingCouponListPage = void 0;
|
|
86
|
+
exports.getInvoicingOnboardingGateView = exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.acceptInvoicingTerms = exports.toInvoicingQboCustomerMatchingMode = exports.toInvoicingNamedOptionsByKey = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingCatalogAccountingLookup = exports.getInvoicingQboView = exports.invoicingAccountsForQboAccountTypes = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingAccountingPickers = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.invoicingQboSettingsLocalDataToPayload = exports.initialInvoicingQboSettingsLocalData = exports.entityToInvoicingQboSettingsLocalData = exports.getInvoicingSettingsView = exports.getInvoicingSettingsHubView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingQboSettingsFormView = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingQboSettingsDraft = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingQboSettings = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingQboSettingsDraft = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.getInvoicingProductById = exports.getInvoicingPlanById = void 0;
|
|
87
87
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
88
88
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
89
89
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -2825,6 +2825,7 @@ Object.defineProperty(exports, "createInvoicingCatalogSubFamily", { enumerable:
|
|
|
2825
2825
|
Object.defineProperty(exports, "resetEditInvoicingCatalogItemDetailView", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.resetEditInvoicingCatalogItemDetailView; } });
|
|
2826
2826
|
Object.defineProperty(exports, "saveInvoicingCatalogItem", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.saveInvoicingCatalogItem; } });
|
|
2827
2827
|
Object.defineProperty(exports, "submitInvoicingCatalogItemForm", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemForm; } });
|
|
2828
|
+
Object.defineProperty(exports, "updateInvoicingCatalogItemDetailEditDraft", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.updateInvoicingCatalogItemDetailEditDraft; } });
|
|
2828
2829
|
Object.defineProperty(exports, "updateInvoicingCatalogItemFormDraft", { enumerable: true, get: function () { return editInvoicingCatalogItemDetailViewReducer_1.updateInvoicingCatalogItemFormDraft; } });
|
|
2829
2830
|
var catalogDetailEditPayload_1 = require("./view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload");
|
|
2830
2831
|
Object.defineProperty(exports, "catalogDetailEditValuesToSavePayload", { enumerable: true, get: function () { return catalogDetailEditPayload_1.catalogDetailEditValuesToSavePayload; } });
|
|
@@ -2,25 +2,8 @@ import { Amount } from '../../../commonStateTypes/amount';
|
|
|
2
2
|
import type { InvoicingPlan } from '../../../entity/invoicing/plan/planState';
|
|
3
3
|
import type { InvoicingProduct } from '../../../entity/invoicing/product/productState';
|
|
4
4
|
import { type InvoicingCatalogAccountingLookup } from './editInvoicingCatalogItemDetailViewPayload';
|
|
5
|
-
import type {
|
|
6
|
-
export type
|
|
7
|
-
export interface CatalogDetailEditValues {
|
|
8
|
-
applicableItems: string[];
|
|
9
|
-
description: string;
|
|
10
|
-
enabledForCheckout: boolean;
|
|
11
|
-
enabledInPortal: boolean;
|
|
12
|
-
giftClaimRedirectUrl: string;
|
|
13
|
-
includedInMrr: boolean;
|
|
14
|
-
isGiftable: boolean;
|
|
15
|
-
isShippable: boolean;
|
|
16
|
-
itemApplicability: string;
|
|
17
|
-
metered: boolean;
|
|
18
|
-
name: string;
|
|
19
|
-
productCode: string;
|
|
20
|
-
subFamilies: CatalogDetailSubFamilyEditValues[];
|
|
21
|
-
unit: string;
|
|
22
|
-
usageCalculation: string;
|
|
23
|
-
}
|
|
5
|
+
import type { CatalogDetailEditValues, InvoicingCatalogItemFormTier } from './editInvoicingCatalogItemDetailViewState';
|
|
6
|
+
export type { CatalogDetailEditValues } from './editInvoicingCatalogItemDetailViewState';
|
|
24
7
|
export interface CatalogDetailProductUpdate {
|
|
25
8
|
data: Record<string, unknown>;
|
|
26
9
|
id: string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ID } from '../../../commonStateTypes/common';
|
|
2
|
-
import type { InvoicingProduct } from '../../../entity/invoicing/product/productState';
|
|
3
2
|
import { ZeniAPIStatus } from '../../../responsePayload';
|
|
4
3
|
import { InvoicingCatalogItemKind } from '../invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewState';
|
|
5
|
-
import type {
|
|
6
|
-
import { EditInvoicingCatalogItemDetailViewState, InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
4
|
+
import type { CreateSubFamilyFormValues } from './catalogDetailEditPayload';
|
|
5
|
+
import { type CatalogDetailEditValues, EditInvoicingCatalogItemDetailViewState, InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
7
6
|
/** Push the full form draft into CES (edit tree when `id` is present). */
|
|
8
7
|
export interface UpdateInvoicingCatalogItemFormDraftPayload {
|
|
9
8
|
localData: InvoicingCatalogItemFormLocalData;
|
|
@@ -13,24 +12,19 @@ export interface UpdateInvoicingCatalogItemFormDraftPayload {
|
|
|
13
12
|
export interface SubmitInvoicingCatalogItemFormPayload {
|
|
14
13
|
id?: ID;
|
|
15
14
|
}
|
|
15
|
+
/** Push the detail page's inline-edit draft into CES. */
|
|
16
|
+
export interface UpdateInvoicingCatalogItemDetailEditDraftPayload {
|
|
17
|
+
id: ID;
|
|
18
|
+
localData: CatalogDetailEditValues;
|
|
19
|
+
}
|
|
16
20
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
21
|
+
* Save the catalog detail page's inline edit. Carries no form data: the draft,
|
|
22
|
+
* the saved price points and the item type all come off state in the epic, so
|
|
23
|
+
* the page never has to hold or forward them.
|
|
20
24
|
*/
|
|
21
25
|
export interface SaveInvoicingCatalogItemPayload {
|
|
22
|
-
/**
|
|
23
|
-
* The detail page's edit form values. The epic builds the parent body and the
|
|
24
|
-
* per-price-point updates from them, so it can resolve a picked account or
|
|
25
|
-
* class to the record the request carries — a page cannot.
|
|
26
|
-
*/
|
|
27
|
-
editValues: CatalogDetailEditValues;
|
|
28
26
|
kind: InvoicingCatalogItemKind;
|
|
29
27
|
id?: ID;
|
|
30
|
-
/** The catalog item's type, for the price-point bodies. */
|
|
31
|
-
itemType?: string;
|
|
32
|
-
/** The saved price points, so only changed fields are sent. */
|
|
33
|
-
originalSubFamilies?: readonly InvoicingProduct[];
|
|
34
28
|
}
|
|
35
29
|
export interface CreateInvoicingCatalogSubFamilyPayload {
|
|
36
30
|
itemType: string;
|
|
@@ -47,7 +41,7 @@ export interface ArchiveInvoicingCatalogSubFamilyPayload {
|
|
|
47
41
|
subFamilyId: ID;
|
|
48
42
|
}
|
|
49
43
|
export declare const initialState: EditInvoicingCatalogItemDetailViewState;
|
|
50
|
-
export declare const updateInvoicingCatalogItemFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<UpdateInvoicingCatalogItemFormDraftPayload, "editInvoicingCatalogItemDetailView/updateInvoicingCatalogItemFormDraft">, submitInvoicingCatalogItemForm: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SubmitInvoicingCatalogItemFormPayload], SubmitInvoicingCatalogItemFormPayload, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemForm", never, never>, saveInvoicingCatalogItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<SaveInvoicingCatalogItemPayload, "editInvoicingCatalogItemDetailView/saveInvoicingCatalogItem">, createInvoicingCatalogSubFamily: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: CreateInvoicingCatalogSubFamilyPayload], CreateInvoicingCatalogSubFamilyPayload, "editInvoicingCatalogItemDetailView/createInvoicingCatalogSubFamily", never, never>, archiveInvoicingCatalogSubFamily: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ArchiveInvoicingCatalogSubFamilyPayload], ArchiveInvoicingCatalogSubFamilyPayload, "editInvoicingCatalogItemDetailView/archiveInvoicingCatalogSubFamily", never, never>, submitInvoicingCatalogItemFormSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
44
|
+
export declare const updateInvoicingCatalogItemDetailEditDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<UpdateInvoicingCatalogItemDetailEditDraftPayload, "editInvoicingCatalogItemDetailView/updateInvoicingCatalogItemDetailEditDraft">, updateInvoicingCatalogItemFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<UpdateInvoicingCatalogItemFormDraftPayload, "editInvoicingCatalogItemDetailView/updateInvoicingCatalogItemFormDraft">, submitInvoicingCatalogItemForm: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SubmitInvoicingCatalogItemFormPayload], SubmitInvoicingCatalogItemFormPayload, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemForm", never, never>, saveInvoicingCatalogItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<SaveInvoicingCatalogItemPayload, "editInvoicingCatalogItemDetailView/saveInvoicingCatalogItem">, createInvoicingCatalogSubFamily: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: CreateInvoicingCatalogSubFamilyPayload], CreateInvoicingCatalogSubFamilyPayload, "editInvoicingCatalogItemDetailView/createInvoicingCatalogSubFamily", never, never>, archiveInvoicingCatalogSubFamily: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ArchiveInvoicingCatalogSubFamilyPayload], ArchiveInvoicingCatalogSubFamilyPayload, "editInvoicingCatalogItemDetailView/archiveInvoicingCatalogSubFamily", never, never>, submitInvoicingCatalogItemFormSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
51
45
|
itemId: ID;
|
|
52
46
|
kind: InvoicingCatalogItemKind;
|
|
53
47
|
}, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemFormSuccess">, submitInvoicingCatalogItemFormFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemFormFailure">, resetEditInvoicingCatalogItemDetailView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"editInvoicingCatalogItemDetailView/resetEditInvoicingCatalogItemDetailView">;
|
|
@@ -1,13 +1,14 @@
|
|
|
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.createInvoicingCatalogSubFamily = exports.saveInvoicingCatalogItem = exports.submitInvoicingCatalogItemForm = exports.updateInvoicingCatalogItemFormDraft = exports.initialState = void 0;
|
|
4
|
+
exports.resetEditInvoicingCatalogItemDetailView = exports.submitInvoicingCatalogItemFormFailure = exports.submitInvoicingCatalogItemFormSuccess = exports.archiveInvoicingCatalogSubFamily = exports.createInvoicingCatalogSubFamily = exports.saveInvoicingCatalogItem = exports.submitInvoicingCatalogItemForm = exports.updateInvoicingCatalogItemFormDraft = exports.updateInvoicingCatalogItemDetailEditDraft = 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: {},
|
|
11
12
|
editDraftById: {},
|
|
12
13
|
newItemDraft: { ...invoicingCatalogItemFormConfig_1.initialInvoicingCatalogItemFormLocalData },
|
|
13
14
|
savedItemId: undefined,
|
|
@@ -29,6 +30,10 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
29
30
|
draft.newItemDraft = localData;
|
|
30
31
|
}
|
|
31
32
|
},
|
|
33
|
+
updateInvoicingCatalogItemDetailEditDraft(draft, action) {
|
|
34
|
+
const { id, localData } = action.payload;
|
|
35
|
+
draft.detailEditDraftById[id] = localData;
|
|
36
|
+
},
|
|
32
37
|
submitInvoicingCatalogItemForm: {
|
|
33
38
|
reducer(draft) {
|
|
34
39
|
draft.fetchState = 'In-Progress';
|
|
@@ -70,6 +75,7 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
70
75
|
draft.error = undefined;
|
|
71
76
|
draft.savedItemId = action.payload.itemId;
|
|
72
77
|
draft.savedKind = action.payload.kind;
|
|
78
|
+
delete draft.detailEditDraftById[action.payload.itemId];
|
|
73
79
|
},
|
|
74
80
|
submitInvoicingCatalogItemFormFailure(draft, action) {
|
|
75
81
|
draft.fetchState = 'Error';
|
|
@@ -80,6 +86,7 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
80
86
|
draft.error = undefined;
|
|
81
87
|
draft.savedItemId = undefined;
|
|
82
88
|
draft.savedKind = undefined;
|
|
89
|
+
draft.detailEditDraftById = {};
|
|
83
90
|
draft.editDraftById = {};
|
|
84
91
|
draft.newItemDraft = { ...invoicingCatalogItemFormConfig_1.initialInvoicingCatalogItemFormLocalData };
|
|
85
92
|
},
|
|
@@ -90,5 +97,5 @@ const editInvoicingCatalogItemDetailView = (0, toolkit_1.createSlice)({
|
|
|
90
97
|
});
|
|
91
98
|
},
|
|
92
99
|
});
|
|
93
|
-
_a = editInvoicingCatalogItemDetailView.actions, exports.updateInvoicingCatalogItemFormDraft = _a.updateInvoicingCatalogItemFormDraft, exports.submitInvoicingCatalogItemForm = _a.submitInvoicingCatalogItemForm, exports.saveInvoicingCatalogItem = _a.saveInvoicingCatalogItem, exports.createInvoicingCatalogSubFamily = _a.createInvoicingCatalogSubFamily, exports.archiveInvoicingCatalogSubFamily = _a.archiveInvoicingCatalogSubFamily, exports.submitInvoicingCatalogItemFormSuccess = _a.submitInvoicingCatalogItemFormSuccess, exports.submitInvoicingCatalogItemFormFailure = _a.submitInvoicingCatalogItemFormFailure, exports.resetEditInvoicingCatalogItemDetailView = _a.resetEditInvoicingCatalogItemDetailView;
|
|
100
|
+
_a = editInvoicingCatalogItemDetailView.actions, exports.updateInvoicingCatalogItemDetailEditDraft = _a.updateInvoicingCatalogItemDetailEditDraft, exports.updateInvoicingCatalogItemFormDraft = _a.updateInvoicingCatalogItemFormDraft, exports.submitInvoicingCatalogItemForm = _a.submitInvoicingCatalogItemForm, exports.saveInvoicingCatalogItem = _a.saveInvoicingCatalogItem, exports.createInvoicingCatalogSubFamily = _a.createInvoicingCatalogSubFamily, exports.archiveInvoicingCatalogSubFamily = _a.archiveInvoicingCatalogSubFamily, exports.submitInvoicingCatalogItemFormSuccess = _a.submitInvoicingCatalogItemFormSuccess, exports.submitInvoicingCatalogItemFormFailure = _a.submitInvoicingCatalogItemFormFailure, exports.resetEditInvoicingCatalogItemDetailView = _a.resetEditInvoicingCatalogItemDetailView;
|
|
94
101
|
exports.default = editInvoicingCatalogItemDetailView.reducer;
|
|
@@ -6,7 +6,16 @@ import { InvoicingFieldHelpByCode, InvoicingNamedOption, InvoicingNamedOptionsBy
|
|
|
6
6
|
import { InvoicingPlan } from '../../../entity/invoicing/plan/planState';
|
|
7
7
|
import { RootState } from '../../../rootStateTypes';
|
|
8
8
|
import { InvoicingCatalogItemKind } from '../invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewState';
|
|
9
|
-
import { InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
9
|
+
import { type CatalogDetailEditValues, InvoicingCatalogItemFormLocalData } from './editInvoicingCatalogItemDetailViewState';
|
|
10
|
+
/** An unsaved item's inline-edit draft, before the record has loaded. */
|
|
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;
|
|
10
19
|
export declare const getEditInvoicingCatalogItemDetailViewState: (state: RootState) => FetchStateAndError;
|
|
11
20
|
export declare const getSavedInvoicingCatalogItemId: (state: RootState) => ID | undefined;
|
|
12
21
|
export declare const getSavedInvoicingCatalogItemKind: (state: RootState) => InvoicingCatalogItemKind | undefined;
|
|
@@ -1,11 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState = void 0;
|
|
3
|
+
exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getEditInvoicingCatalogItemDetailViewState = exports.getInvoicingCatalogItemDetailEditLocalData = exports.initialCatalogDetailEditValues = void 0;
|
|
4
4
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
5
5
|
const planSelector_1 = require("../../../entity/invoicing/plan/planSelector");
|
|
6
6
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
7
7
|
const invoicingQboViewSelector_1 = require("../invoicingQboView/invoicingQboViewSelector");
|
|
8
|
+
const catalogDetailEditPayload_1 = require("./catalogDetailEditPayload");
|
|
8
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)()));
|
|
9
46
|
const getEditInvoicingCatalogItemDetailViewState = (state) => ({
|
|
10
47
|
fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
|
|
11
48
|
error: state.editInvoicingCatalogItemDetailViewState.error,
|
|
@@ -55,7 +55,31 @@ 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
|
+
}
|
|
58
80
|
export interface EditInvoicingCatalogItemDetailViewState extends FetchedState {
|
|
81
|
+
/** Inline-edit drafts, keyed by catalog item id. */
|
|
82
|
+
detailEditDraftById: Record<ID, CatalogDetailEditValues>;
|
|
59
83
|
editDraftById: Record<ID, InvoicingCatalogItemFormLocalData>;
|
|
60
84
|
newItemDraft: InvoicingCatalogItemFormLocalData;
|
|
61
85
|
savedItemId?: ID;
|
package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js
CHANGED
|
@@ -3,6 +3,7 @@ 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");
|
|
6
7
|
const planReducer_1 = require("../../../entity/invoicing/plan/planReducer");
|
|
7
8
|
const productReducer_1 = require("../../../entity/invoicing/product/productReducer");
|
|
8
9
|
const snackbarApiError_1 = require("../../../entity/snackbar/snackbarApiError");
|
|
@@ -12,6 +13,7 @@ const invoicingCatalogListViewReducer_1 = require("../invoicingCatalogListView/i
|
|
|
12
13
|
const invoicingQboViewSelector_1 = require("../invoicingQboView/invoicingQboViewSelector");
|
|
13
14
|
const catalogDetailEditPayload_1 = require("./catalogDetailEditPayload");
|
|
14
15
|
const editInvoicingCatalogItemDetailViewPayload_1 = require("./editInvoicingCatalogItemDetailViewPayload");
|
|
16
|
+
const editInvoicingCatalogItemDetailViewSelector_1 = require("./editInvoicingCatalogItemDetailViewSelector");
|
|
15
17
|
const editInvoicingCatalogItemDetailViewReducer_1 = require("./editInvoicingCatalogItemDetailViewReducer");
|
|
16
18
|
const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)((action) => editInvoicingCatalogItemDetailViewReducer_1.submitInvoicingCatalogItemForm.match(action) ||
|
|
17
19
|
editInvoicingCatalogItemDetailViewReducer_1.saveInvoicingCatalogItem.match(action)), (0, operators_1.mergeMap)((action) => {
|
|
@@ -24,8 +26,10 @@ const saveInvoicingCatalogItemEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
24
26
|
let data;
|
|
25
27
|
let editProductUpdates;
|
|
26
28
|
if (editInvoicingCatalogItemDetailViewReducer_1.saveInvoicingCatalogItem.match(action)) {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
+
const plan = id != null
|
|
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);
|
|
29
33
|
data = savePayload.planData;
|
|
30
34
|
editProductUpdates = savePayload.productUpdates;
|
|
31
35
|
}
|
|
@@ -3,6 +3,7 @@ import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndRep
|
|
|
3
3
|
import { InvoicingCatalogItemLifecycleAction, InvoicingCatalogLifecycleActionOption, InvoicingCatalogProductLifecycleAction, InvoicingFieldHelpByCode, InvoicingNamedOption, InvoicingNamedOptionsByKey } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
4
4
|
import { InvoicingPlan } from '../../../entity/invoicing/plan/planState';
|
|
5
5
|
import { RootState } from '../../../rootStateTypes';
|
|
6
|
+
import type { CatalogDetailEditValues } from '../editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewState';
|
|
6
7
|
import { InvoicingCatalogItemKind } from './invoicingCatalogItemDetailViewState';
|
|
7
8
|
/**
|
|
8
9
|
* Read-only view for the catalog item (plan or product) detail page. One screen
|
|
@@ -20,6 +21,11 @@ export interface InvoicingCatalogItemDetailView extends SelectorView {
|
|
|
20
21
|
catalogItemLifecycleActionOptions: InvoicingCatalogLifecycleActionOption<InvoicingCatalogItemLifecycleAction>[];
|
|
21
22
|
catalogProductLifecycleActionOptions: InvoicingCatalogLifecycleActionOption<InvoicingCatalogProductLifecycleAction>[];
|
|
22
23
|
configFetchState: FetchState;
|
|
24
|
+
/**
|
|
25
|
+
* The inline editor's form data, seeded from the loaded record and updated on
|
|
26
|
+
* every change, so the page renders from CES rather than from its own reset.
|
|
27
|
+
*/
|
|
28
|
+
editLocalData: CatalogDetailEditValues;
|
|
23
29
|
/**
|
|
24
30
|
* Backend help copy for this screen's field group, keyed by field code.
|
|
25
31
|
* Folded in here so the screen never reaches for the config view itself.
|
package/lib/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getInvoicingCatalogItemDetail = void 0;
|
|
4
4
|
const planSelector_1 = require("../../../entity/invoicing/plan/planSelector");
|
|
5
5
|
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
6
|
+
const editInvoicingCatalogItemDetailViewSelector_1 = require("../editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector");
|
|
6
7
|
const getInvoicingCatalogItemDetail = (state, _kind, id) => {
|
|
7
8
|
const { error, fetchState } = state.invoicingCatalogItemDetailViewState;
|
|
8
9
|
const { billingPeriodUnitOptions, catalogItemLifecycleActionOptions, catalogItemTypeOptions, catalogProductLifecycleActionOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, fetchState: configFetchState, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
@@ -13,6 +14,7 @@ const getInvoicingCatalogItemDetail = (state, _kind, id) => {
|
|
|
13
14
|
catalogTierTypeOptionsByPricingModel,
|
|
14
15
|
configFetchState,
|
|
15
16
|
periodUnitOptions: billingPeriodUnitOptions,
|
|
17
|
+
editLocalData: (0, editInvoicingCatalogItemDetailViewSelector_1.getInvoicingCatalogItemDetailEditLocalData)(state, id),
|
|
16
18
|
plan: (0, planSelector_1.getInvoicingPlanById)(state.invoicingPlanState, id),
|
|
17
19
|
trialEndActionOptions: catalogTrialEndActionOptions,
|
|
18
20
|
trialUnitOptions: catalogTrialUnitOptions,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.2.13-
|
|
3
|
+
"version": "5.2.13-betaAK1",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -33,6 +33,44 @@
|
|
|
33
33
|
"require": "./lib/view/*.js"
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"clean": "rimraf lib",
|
|
38
|
+
"test:typecheck": "echo 'Typechecking test files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.typecheck.json",
|
|
39
|
+
"test:typecheck-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.typecheck.json",
|
|
40
|
+
"test:typecheck-mocks": "echo 'Typechecking mock files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.mocks.json",
|
|
41
|
+
"test:typecheck-mocks-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.mocks.json",
|
|
42
|
+
"test": "pnpm lint-modified-files && pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
43
|
+
"test:full": "pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
44
|
+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --fix",
|
|
45
|
+
"lint-modified-files": "chmod +x ./scripts/lint-modified-files.sh && ./scripts/lint-modified-files.sh",
|
|
46
|
+
"lint:fix-modified-files": "chmod +x ./scripts/lint-modified-files.sh && LINT_FIX=true ./scripts/lint-modified-files.sh",
|
|
47
|
+
"tsc-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh",
|
|
48
|
+
"typecheck": "tsc --noEmit",
|
|
49
|
+
"circular-dependency": "madge --circular --extensions ts ./src",
|
|
50
|
+
"circular-dependency-modified-files": "chmod +x ./scripts/circular-dependency-modified-files.sh && ./scripts/circular-dependency-modified-files.sh",
|
|
51
|
+
"build": "chmod +x ./scripts/run_build.sh && ./scripts/run_build.sh && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
52
|
+
"only-build": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc && tsc -p tsconfig.esm.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
53
|
+
"only-build-dev": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc -p tsconfig.dev.json && tsc -p tsconfig.esm.dev.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
54
|
+
"format": "prettier --write --ignore-unknown \"src/**/*\" && pnpm lint",
|
|
55
|
+
"format-watch": "bash ./scripts/run-format-watch.sh",
|
|
56
|
+
"check-version": "node ./scripts/check_version.js",
|
|
57
|
+
"prepublishOnly": "chmod +x ./scripts/branch_validation.sh && ./scripts/branch_validation.sh && pnpm update-slack-group-topic && pnpm run check-version && pnpm clean && pnpm build",
|
|
58
|
+
"version": "git add -A src",
|
|
59
|
+
"postversion": "git push && git push --tags",
|
|
60
|
+
"check-dependencies": "node ./scripts/check_dependencies.js",
|
|
61
|
+
"clean-overrides": "node ./scripts/clean_overrides.js",
|
|
62
|
+
"create-or-update-release-branch": "chmod +x ./scripts/create_or_update_release_branch.sh && ./scripts/create_or_update_release_branch.sh",
|
|
63
|
+
"bump-versions-master": "chmod +x ./scripts/bump_versions_master.sh && ./scripts/bump_versions_master.sh",
|
|
64
|
+
"bump-versions-beta": "chmod +x ./scripts/bump_versions_beta.sh && ./scripts/bump_versions_beta.sh",
|
|
65
|
+
"bump-update-web-app-cockpit-beta": "chmod +x ./scripts/bump_and_update_web_app_ui_beta.sh && ./scripts/bump_and_update_web_app_ui_beta.sh",
|
|
66
|
+
"send-release-notes": "chmod +x ./scripts/send_release_notes.sh && ./scripts/send_release_notes.sh",
|
|
67
|
+
"update-slack-group-topic": "chmod +x ./scripts/update-slack-group-topic.sh && ./scripts/update-slack-group-topic.sh",
|
|
68
|
+
"build-beta-and-copy": "chmod +x ./scripts/build_and_copy.sh && ./scripts/build_and_copy.sh",
|
|
69
|
+
"pr-approvals-update": "chmod +x ./scripts/pr_approvals.sh && ./scripts/pr_approvals.sh",
|
|
70
|
+
"raise-pr-automation": "chmod +x ./scripts/raise_pr_automation.sh && ./scripts/raise_pr_automation.sh",
|
|
71
|
+
"test:file": "bash ./scripts/test-file.sh",
|
|
72
|
+
"find-unused-code": "knip"
|
|
73
|
+
},
|
|
36
74
|
"files": [
|
|
37
75
|
"lib/**/*"
|
|
38
76
|
],
|
|
@@ -100,41 +138,36 @@
|
|
|
100
138
|
"dayjs": "^1.10.7",
|
|
101
139
|
"url-parse": "^1.5.10"
|
|
102
140
|
},
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
"build-beta-and-copy": "chmod +x ./scripts/build_and_copy.sh && ./scripts/build_and_copy.sh",
|
|
135
|
-
"pr-approvals-update": "chmod +x ./scripts/pr_approvals.sh && ./scripts/pr_approvals.sh",
|
|
136
|
-
"raise-pr-automation": "chmod +x ./scripts/raise_pr_automation.sh && ./scripts/raise_pr_automation.sh",
|
|
137
|
-
"test:file": "bash ./scripts/test-file.sh",
|
|
138
|
-
"find-unused-code": "knip"
|
|
141
|
+
"pnpm": {
|
|
142
|
+
"overrides": {
|
|
143
|
+
"@babel/core": ">=7.29.6",
|
|
144
|
+
"@babel/helpers": ">=7.26.10",
|
|
145
|
+
"@babel/runtime": ">=7.26.10",
|
|
146
|
+
"@babel/traverse": ">=7.23.2",
|
|
147
|
+
"@eslint/eslintrc>ajv": ">=6.14.0 <7",
|
|
148
|
+
"@eslint/plugin-kit": ">=0.3.4",
|
|
149
|
+
"@modelcontextprotocol/sdk": ">=1.25.2",
|
|
150
|
+
"ajv": ">=8.18.0",
|
|
151
|
+
"body-parser": ">=2.2.1",
|
|
152
|
+
"brace-expansion": ">=5.0.9",
|
|
153
|
+
"cross-spawn": ">=7.0.5",
|
|
154
|
+
"esbuild": ">=0.28.1",
|
|
155
|
+
"eslint>ajv": ">=6.14.0 <7",
|
|
156
|
+
"flatted": ">=3.4.2",
|
|
157
|
+
"glob": ">=11.1.0",
|
|
158
|
+
"hono": ">=4.11.4",
|
|
159
|
+
"immutable": ">=4.3.9 <5",
|
|
160
|
+
"js-yaml": ">=4.3.1 <5",
|
|
161
|
+
"minimatch": ">=10.2.3",
|
|
162
|
+
"nanoid": ">=3.3.17 <4",
|
|
163
|
+
"picomatch": ">=4.0.4",
|
|
164
|
+
"postcss": ">=8.5.18",
|
|
165
|
+
"qs": "^6.14.1",
|
|
166
|
+
"rollup": ">=4.59.0",
|
|
167
|
+
"shell-quote": ">=1.9.0",
|
|
168
|
+
"tough-cookie": "=4.1.3",
|
|
169
|
+
"vite": ">=7.3.5 <8",
|
|
170
|
+
"yaml": ">=2.9.0"
|
|
171
|
+
}
|
|
139
172
|
}
|
|
140
|
-
}
|
|
173
|
+
}
|