@zeniai/client-epic-state 5.1.97-betaAK4 → 5.1.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/entity/invoicing/coupon/couponConstants.d.ts +11 -0
- package/lib/entity/invoicing/coupon/couponConstants.js +29 -0
- package/lib/entity/invoicing/invoicingCommonPayload.d.ts +0 -12
- package/lib/entity/invoicing/invoicingCommonPayload.js +0 -18
- package/lib/esm/entity/invoicing/coupon/couponConstants.js +26 -0
- package/lib/esm/entity/invoicing/invoicingCommonPayload.js +0 -16
- package/lib/esm/index.js +11 -12
- package/lib/esm/view/invoicing/auditView/auditViewSelector.js +0 -4
- package/lib/esm/view/invoicing/couponView/couponViewSelector.js +3 -10
- package/lib/esm/view/invoicing/couponView/couponViewState.js +9 -0
- package/lib/esm/view/invoicing/createCreditNote/createCreditNoteFormConfig.js +0 -1
- package/lib/esm/view/invoicing/createCreditNote/createCreditNotePayload.js +1 -2
- package/lib/esm/view/invoicing/createCreditNote/createCreditNoteSelector.js +2 -4
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +6 -7
- package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.js +19 -3
- package/lib/esm/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +5 -10
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +4 -6
- package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig.js +17 -0
- package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +0 -5
- package/lib/esm/view/invoicing/invoiceList/fetchInvoiceListPageEpic.js +1 -2
- package/lib/esm/view/invoicing/invoiceList/invoiceListReducer.js +6 -6
- package/lib/esm/view/invoicing/invoiceList/invoiceListSelector.js +4 -12
- package/lib/esm/view/invoicing/invoiceList/invoiceListState.js +9 -13
- package/lib/esm/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js +1 -5
- package/lib/esm/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +1 -2
- package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +0 -26
- package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +0 -9
- package/lib/esm/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewSelector.js +3 -8
- package/lib/esm/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewState.js +9 -0
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.js +2 -2
- package/lib/esm/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +1 -1
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.js +3 -9
- package/lib/esm/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.js +9 -0
- package/lib/esm/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewSelector.js +3 -8
- package/lib/esm/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.js +9 -1
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.js +3 -11
- package/lib/esm/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.js +9 -0
- package/lib/esm/view/invoicing/invoicingTransactionListView/epics/fetchInvoicingTransactionListPageEpic.js +1 -2
- package/lib/esm/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewReducer.js +5 -5
- package/lib/esm/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewSelector.js +4 -9
- package/lib/esm/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState.js +9 -11
- package/lib/esm/view/invoicing/issueCreditNote/issueCreditNoteFormConfig.js +8 -1
- package/lib/esm/view/invoicing/issueCreditNote/issueCreditNotePayload.js +1 -3
- package/lib/esm/view/invoicing/issueCreditNote/issueCreditNoteSelector.js +2 -5
- package/lib/esm/view/invoicing/recordPayment/recordPaymentFormConfig.js +26 -0
- package/lib/esm/view/invoicing/recordPayment/recordPaymentSelector.js +6 -27
- package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +1 -7
- package/lib/index.d.ts +12 -13
- package/lib/index.js +24 -9
- package/lib/view/invoicing/auditView/auditViewSelector.d.ts +0 -4
- package/lib/view/invoicing/auditView/auditViewSelector.js +0 -4
- package/lib/view/invoicing/couponView/couponViewSelector.d.ts +1 -5
- package/lib/view/invoicing/couponView/couponViewSelector.js +2 -9
- package/lib/view/invoicing/couponView/couponViewState.d.ts +7 -0
- package/lib/view/invoicing/couponView/couponViewState.js +10 -1
- package/lib/view/invoicing/createCreditNote/createCreditNoteFormConfig.js +0 -1
- package/lib/view/invoicing/createCreditNote/createCreditNotePayload.js +1 -2
- package/lib/view/invoicing/createCreditNote/createCreditNoteSelector.d.ts +1 -3
- package/lib/view/invoicing/createCreditNote/createCreditNoteSelector.js +2 -4
- package/lib/view/invoicing/createCreditNote/createCreditNoteState.d.ts +0 -6
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.d.ts +5 -5
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector.js +5 -6
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.d.ts +6 -3
- package/lib/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.js +20 -4
- package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.d.ts +7 -9
- package/lib/view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewSelector.js +5 -10
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.d.ts +3 -4
- package/lib/view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector.js +3 -5
- package/lib/view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig.d.ts +8 -0
- package/lib/view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig.js +18 -1
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.d.ts +0 -5
- package/lib/view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector.js +0 -5
- package/lib/view/invoicing/invoiceList/fetchInvoiceListPageEpic.js +1 -2
- package/lib/view/invoicing/invoiceList/invoiceListReducer.js +5 -5
- package/lib/view/invoicing/invoiceList/invoiceListSelector.d.ts +1 -3
- package/lib/view/invoicing/invoiceList/invoiceListSelector.js +3 -11
- package/lib/view/invoicing/invoiceList/invoiceListState.d.ts +9 -13
- package/lib/view/invoicing/invoiceList/invoiceListState.js +10 -15
- package/lib/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.d.ts +1 -9
- package/lib/view/invoicing/invoicingCatalogItemDetailView/invoicingCatalogItemDetailViewSelector.js +1 -5
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.d.ts +1 -3
- package/lib/view/invoicing/invoicingCatalogListView/invoicingCatalogListViewSelector.js +1 -2
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewPayload.d.ts +0 -13
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +0 -26
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.d.ts +1 -19
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +1 -11
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewState.d.ts +0 -13
- package/lib/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewSelector.d.ts +1 -3
- package/lib/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewSelector.js +2 -7
- package/lib/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewState.d.ts +7 -0
- package/lib/view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewState.js +10 -1
- package/lib/view/invoicing/invoicingCustomerDetailView/fetchInvoicingCustomerDetailPageEpic.js +2 -2
- package/lib/view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector.js +1 -1
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.d.ts +1 -3
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector.js +2 -8
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.d.ts +7 -0
- package/lib/view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState.js +10 -1
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewSelector.d.ts +1 -3
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewSelector.js +2 -7
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.d.ts +9 -2
- package/lib/view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState.js +10 -2
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.d.ts +1 -7
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector.js +2 -10
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.d.ts +7 -0
- package/lib/view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState.js +10 -1
- package/lib/view/invoicing/invoicingTransactionListView/epics/fetchInvoicingTransactionListPageEpic.js +1 -2
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewReducer.js +4 -4
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewSelector.d.ts +0 -3
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewSelector.js +3 -8
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState.d.ts +10 -10
- package/lib/view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState.js +10 -13
- package/lib/view/invoicing/issueCreditNote/issueCreditNoteFormConfig.d.ts +2 -0
- package/lib/view/invoicing/issueCreditNote/issueCreditNoteFormConfig.js +9 -2
- package/lib/view/invoicing/issueCreditNote/issueCreditNotePayload.d.ts +2 -2
- package/lib/view/invoicing/issueCreditNote/issueCreditNotePayload.js +1 -3
- package/lib/view/invoicing/issueCreditNote/issueCreditNoteSelector.d.ts +1 -3
- package/lib/view/invoicing/issueCreditNote/issueCreditNoteSelector.js +1 -4
- package/lib/view/invoicing/issueCreditNote/issueCreditNoteState.d.ts +0 -6
- package/lib/view/invoicing/recordPayment/recordPaymentFormConfig.d.ts +6 -0
- package/lib/view/invoicing/recordPayment/recordPaymentFormConfig.js +27 -1
- package/lib/view/invoicing/recordPayment/recordPaymentSelector.d.ts +2 -3
- package/lib/view/invoicing/recordPayment/recordPaymentSelector.js +6 -27
- package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +1 -11
- package/lib/view/invoicing/settingsView/settingsViewSelector.js +1 -7
- package/package.json +1 -1
- package/lib/esm/view/invoicing/invoicingTabHelper.js +0 -25
- package/lib/view/invoicing/invoicingTabHelper.d.ts +0 -27
- package/lib/view/invoicing/invoicingTabHelper.js +0 -28
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InvoicingFormOption } from '../invoicingCommonPayload';
|
|
2
|
+
import { InvoicingCouponApplyOn, InvoicingCouponDurationType, InvoicingCouponPeriodUnit, InvoicingDiscountType } from './couponPayload';
|
|
3
|
+
/**
|
|
4
|
+
* Coupon form select options. Single source of truth (CES-owned) for the value
|
|
5
|
+
* sets that back the coupon's string-union domain fields; surfaced to the form
|
|
6
|
+
* via `getInvoicingCouponFormView` so web-components need not hardcode them.
|
|
7
|
+
*/
|
|
8
|
+
export declare const INVOICING_DISCOUNT_TYPE_OPTIONS: readonly InvoicingFormOption<InvoicingDiscountType>[];
|
|
9
|
+
export declare const INVOICING_COUPON_DURATION_TYPE_OPTIONS: readonly InvoicingFormOption<InvoicingCouponDurationType>[];
|
|
10
|
+
export declare const INVOICING_COUPON_PERIOD_UNIT_OPTIONS: readonly InvoicingFormOption<InvoicingCouponPeriodUnit>[];
|
|
11
|
+
export declare const INVOICING_COUPON_APPLY_ON_OPTIONS: readonly InvoicingFormOption<InvoicingCouponApplyOn>[];
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INVOICING_COUPON_APPLY_ON_OPTIONS = exports.INVOICING_COUPON_PERIOD_UNIT_OPTIONS = exports.INVOICING_COUPON_DURATION_TYPE_OPTIONS = exports.INVOICING_DISCOUNT_TYPE_OPTIONS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Coupon form select options. Single source of truth (CES-owned) for the value
|
|
6
|
+
* sets that back the coupon's string-union domain fields; surfaced to the form
|
|
7
|
+
* via `getInvoicingCouponFormView` so web-components need not hardcode them.
|
|
8
|
+
*/
|
|
9
|
+
exports.INVOICING_DISCOUNT_TYPE_OPTIONS = [
|
|
10
|
+
{ label: 'Percentage', value: 'percentage' },
|
|
11
|
+
{ label: 'Fixed amount', value: 'fixed_amount' },
|
|
12
|
+
{ label: 'Offer quantity', value: 'offer_quantity' },
|
|
13
|
+
];
|
|
14
|
+
exports.INVOICING_COUPON_DURATION_TYPE_OPTIONS = [
|
|
15
|
+
{ label: 'One time', value: 'one_time' },
|
|
16
|
+
{ label: 'Forever', value: 'forever' },
|
|
17
|
+
{ label: 'Limited period', value: 'limited_period' },
|
|
18
|
+
];
|
|
19
|
+
exports.INVOICING_COUPON_PERIOD_UNIT_OPTIONS = [
|
|
20
|
+
{ label: 'Day', value: 'day' },
|
|
21
|
+
{ label: 'Week', value: 'week' },
|
|
22
|
+
{ label: 'Month', value: 'month' },
|
|
23
|
+
{ label: 'Year', value: 'year' },
|
|
24
|
+
];
|
|
25
|
+
exports.INVOICING_COUPON_APPLY_ON_OPTIONS = [
|
|
26
|
+
{ label: 'Invoice amount', value: 'invoice_amount' },
|
|
27
|
+
{ label: 'Each specified item', value: 'each_specified_item' },
|
|
28
|
+
{ label: 'Specified items total', value: 'specified_items_total' },
|
|
29
|
+
];
|
|
@@ -210,18 +210,6 @@ export interface InvoicingSubscriptionEditFieldOption {
|
|
|
210
210
|
name: string;
|
|
211
211
|
}
|
|
212
212
|
export declare function toInvoicingNamedOption(option: InvoicingNamedOptionWire): InvoicingNamedOption;
|
|
213
|
-
/**
|
|
214
|
-
* Adapt a config option to the `{label, value}` shape the form pickers take.
|
|
215
|
-
* Config is the single source of truth for which options exist and what they are
|
|
216
|
-
* called, so every form value set that used to be a hardcoded
|
|
217
|
-
* `InvoicingFormOption[]` constant is now mapped through here.
|
|
218
|
-
*/
|
|
219
|
-
export declare function toInvoicingFormOption(option: InvoicingNamedOption): InvoicingFormOption;
|
|
220
|
-
/**
|
|
221
|
-
* Just the codes of a config option list, for the consumers that need the value
|
|
222
|
-
* set rather than labelled options (status membership checks, tab id sets).
|
|
223
|
-
*/
|
|
224
|
-
export declare function invoicingOptionCodes(options: InvoicingNamedOption[]): string[];
|
|
225
213
|
/**
|
|
226
214
|
* A config-driven map from some key (a pricing model, a status, …) to the
|
|
227
215
|
* options allowed for it. Lets the backend widen an allowed set without a
|
|
@@ -15,8 +15,6 @@ exports.getInvoicingQboAccountMappingId = getInvoicingQboAccountMappingId;
|
|
|
15
15
|
exports.withInvoicingQboAccountMappingId = withInvoicingQboAccountMappingId;
|
|
16
16
|
exports.toInvoicingQboAccountMappingKindOption = toInvoicingQboAccountMappingKindOption;
|
|
17
17
|
exports.toInvoicingNamedOption = toInvoicingNamedOption;
|
|
18
|
-
exports.toInvoicingFormOption = toInvoicingFormOption;
|
|
19
|
-
exports.invoicingOptionCodes = invoicingOptionCodes;
|
|
20
18
|
exports.toInvoicingNamedOptionsByKey = toInvoicingNamedOptionsByKey;
|
|
21
19
|
exports.toInvoicingSubscriptionEditFieldOption = toInvoicingSubscriptionEditFieldOption;
|
|
22
20
|
exports.toAuditLogEntityRouteOption = toAuditLogEntityRouteOption;
|
|
@@ -203,22 +201,6 @@ function toInvoicingQboAccountMappingKindOption(option) {
|
|
|
203
201
|
function toInvoicingNamedOption(option) {
|
|
204
202
|
return { code: option.code, name: option.name };
|
|
205
203
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Adapt a config option to the `{label, value}` shape the form pickers take.
|
|
208
|
-
* Config is the single source of truth for which options exist and what they are
|
|
209
|
-
* called, so every form value set that used to be a hardcoded
|
|
210
|
-
* `InvoicingFormOption[]` constant is now mapped through here.
|
|
211
|
-
*/
|
|
212
|
-
function toInvoicingFormOption(option) {
|
|
213
|
-
return { label: option.name, value: option.code };
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Just the codes of a config option list, for the consumers that need the value
|
|
217
|
-
* set rather than labelled options (status membership checks, tab id sets).
|
|
218
|
-
*/
|
|
219
|
-
function invoicingOptionCodes(options) {
|
|
220
|
-
return options.map((option) => option.code);
|
|
221
|
-
}
|
|
222
204
|
function toInvoicingNamedOptionsByKey(optionsByKey) {
|
|
223
205
|
return Object.fromEntries(Object.entries(optionsByKey).map(([key, options]) => [
|
|
224
206
|
key,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coupon form select options. Single source of truth (CES-owned) for the value
|
|
3
|
+
* sets that back the coupon's string-union domain fields; surfaced to the form
|
|
4
|
+
* via `getInvoicingCouponFormView` so web-components need not hardcode them.
|
|
5
|
+
*/
|
|
6
|
+
export const INVOICING_DISCOUNT_TYPE_OPTIONS = [
|
|
7
|
+
{ label: 'Percentage', value: 'percentage' },
|
|
8
|
+
{ label: 'Fixed amount', value: 'fixed_amount' },
|
|
9
|
+
{ label: 'Offer quantity', value: 'offer_quantity' },
|
|
10
|
+
];
|
|
11
|
+
export const INVOICING_COUPON_DURATION_TYPE_OPTIONS = [
|
|
12
|
+
{ label: 'One time', value: 'one_time' },
|
|
13
|
+
{ label: 'Forever', value: 'forever' },
|
|
14
|
+
{ label: 'Limited period', value: 'limited_period' },
|
|
15
|
+
];
|
|
16
|
+
export const INVOICING_COUPON_PERIOD_UNIT_OPTIONS = [
|
|
17
|
+
{ label: 'Day', value: 'day' },
|
|
18
|
+
{ label: 'Week', value: 'week' },
|
|
19
|
+
{ label: 'Month', value: 'month' },
|
|
20
|
+
{ label: 'Year', value: 'year' },
|
|
21
|
+
];
|
|
22
|
+
export const INVOICING_COUPON_APPLY_ON_OPTIONS = [
|
|
23
|
+
{ label: 'Invoice amount', value: 'invoice_amount' },
|
|
24
|
+
{ label: 'Each specified item', value: 'each_specified_item' },
|
|
25
|
+
{ label: 'Specified items total', value: 'specified_items_total' },
|
|
26
|
+
];
|
|
@@ -179,22 +179,6 @@ export function toInvoicingQboAccountMappingKindOption(option) {
|
|
|
179
179
|
export function toInvoicingNamedOption(option) {
|
|
180
180
|
return { code: option.code, name: option.name };
|
|
181
181
|
}
|
|
182
|
-
/**
|
|
183
|
-
* Adapt a config option to the `{label, value}` shape the form pickers take.
|
|
184
|
-
* Config is the single source of truth for which options exist and what they are
|
|
185
|
-
* called, so every form value set that used to be a hardcoded
|
|
186
|
-
* `InvoicingFormOption[]` constant is now mapped through here.
|
|
187
|
-
*/
|
|
188
|
-
export function toInvoicingFormOption(option) {
|
|
189
|
-
return { label: option.name, value: option.code };
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Just the codes of a config option list, for the consumers that need the value
|
|
193
|
-
* set rather than labelled options (status membership checks, tab id sets).
|
|
194
|
-
*/
|
|
195
|
-
export function invoicingOptionCodes(options) {
|
|
196
|
-
return options.map((option) => option.code);
|
|
197
|
-
}
|
|
198
182
|
export function toInvoicingNamedOptionsByKey(optionsByKey) {
|
|
199
183
|
return Object.fromEntries(Object.entries(optionsByKey).map(([key, options]) => [
|
|
200
184
|
key,
|
package/lib/esm/index.js
CHANGED
|
@@ -729,7 +729,7 @@ export { mapAuditLogEntry } from './view/invoicing/auditView/auditViewPayload';
|
|
|
729
729
|
export { clearAllInvoices, removeInvoice, updateInvoices, } from './entity/invoicing/invoice/invoiceReducer';
|
|
730
730
|
export { getInvoiceById, getInvoicesByIds, } from './entity/invoicing/invoice/invoiceSelector';
|
|
731
731
|
export { clearInvoiceList, fetchInvoiceCounts, fetchInvoiceKPIs, fetchInvoiceList, fetchInvoiceListPage, setInvoiceActiveTab, updateInvoiceListFilters, } from './view/invoicing/invoiceList/invoiceListReducer';
|
|
732
|
-
export { ALL_INVOICING_INVOICE_TAB_IDS, } from './view/invoicing/invoiceList/invoiceListState';
|
|
732
|
+
export { ALL_INVOICING_INVOICE_TAB_IDS, INVOICING_INVOICE_TABS, } from './view/invoicing/invoiceList/invoiceListState';
|
|
733
733
|
export { getInvoiceListView } from './view/invoicing/invoiceList/invoiceListSelector';
|
|
734
734
|
export { clearAllInvoiceDetail, fetchInvoiceDetail, } from './view/invoicing/invoiceDetail/invoiceDetailReducer';
|
|
735
735
|
export { getInvoiceDetail } from './view/invoicing/invoiceDetail/invoiceDetailSelector';
|
|
@@ -738,14 +738,14 @@ export { blankInvoicingCreateInvoiceLineItem, createInvoiceFormLocalDataToReques
|
|
|
738
738
|
export { resetRecordPayment, initializeRecordPaymentDraft, submitRecordPayment, updateRecordPaymentFormDraft, } from './view/invoicing/recordPayment/recordPaymentReducer';
|
|
739
739
|
export { initializeIssueCreditNoteDraft, issueCreditNoteFailure, issueCreditNoteSuccess, resetIssueCreditNote, submitIssueCreditNote, updateIssueCreditNoteFormDraft, } from './view/invoicing/issueCreditNote/issueCreditNoteReducer';
|
|
740
740
|
export { computeIssueCreditNoteTotal, initializeIssueCreditNoteDraftFromInvoice, localDataToIssueCreditNotePayload, } from './view/invoicing/issueCreditNote/issueCreditNotePayload';
|
|
741
|
-
export { initialIssueCreditNoteFormLocalData, } from './view/invoicing/issueCreditNote/issueCreditNoteFormConfig';
|
|
741
|
+
export { INVOICING_CREDIT_NOTE_REASON_CODES, initialIssueCreditNoteFormLocalData, } from './view/invoicing/issueCreditNote/issueCreditNoteFormConfig';
|
|
742
742
|
export { getIssueCreditNoteView } from './view/invoicing/issueCreditNote/issueCreditNoteSelector';
|
|
743
743
|
export { createCreditNoteFailure, createCreditNoteSuccess, resetCreateCreditNote, submitCreateCreditNote, updateCreateCreditNoteFormDraft, } from './view/invoicing/createCreditNote/createCreditNoteReducer';
|
|
744
744
|
export { localDataToCreateCreditNotePayload } from './view/invoicing/createCreditNote/createCreditNotePayload';
|
|
745
745
|
export { initialCreateCreditNoteFormLocalData } from './view/invoicing/createCreditNote/createCreditNoteFormConfig';
|
|
746
746
|
export { getCreateCreditNoteFormView, getCreateCreditNoteView, } from './view/invoicing/createCreditNote/createCreditNoteSelector';
|
|
747
747
|
export { initializeRecordPaymentDraftFromInvoice, localDataToInvoiceRecordPaymentBody, localDataToRecordPaymentPayload, } from './view/invoicing/recordPayment/recordPaymentPayload';
|
|
748
|
-
export { initialRecordPaymentFormLocalData, } from './view/invoicing/recordPayment/recordPaymentFormConfig';
|
|
748
|
+
export { INVOICING_PAYMENT_GATEWAY_VALUES, INVOICING_PAYMENT_METHOD_VALUES, initialRecordPaymentFormLocalData, } from './view/invoicing/recordPayment/recordPaymentFormConfig';
|
|
749
749
|
export { clearInvoicingOverview, fetchInvoicingOverview, } from './view/invoicing/invoicingOverview/invoicingOverviewReducer';
|
|
750
750
|
export { buildPeriodOptions, getInvoicingOverview, } from './view/invoicing/invoicingOverview/invoicingOverviewSelector';
|
|
751
751
|
export { clearInvoicingAuditView, fetchInvoicingAuditLog, } from './view/invoicing/auditView/auditViewReducer';
|
|
@@ -753,14 +753,14 @@ export { getInvoicingAuditView } from './view/invoicing/auditView/auditViewSelec
|
|
|
753
753
|
export { getCreateInvoiceFormView } from './view/invoicing/createInvoice/createInvoiceSelector';
|
|
754
754
|
export { getRecordPaymentFormView, getRecordPaymentInvoiceOptions, getRecordPaymentView, } from './view/invoicing/recordPayment/recordPaymentSelector';
|
|
755
755
|
export { initializeInvoicingCustomerAddress, resetEditInvoicingCustomerDetailView, submitInvoicingCustomerForm, submitInvoicingCustomerFormFailure, submitInvoicingCustomerFormSuccess, updateInvoicingCustomerFormDraft, } from './view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewReducer';
|
|
756
|
-
export { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE, entityToInvoicingCustomerFormLocalData, initialInvoicingCustomerFormLocalData, } from './view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig';
|
|
756
|
+
export { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE, INVOICING_CUSTOMER_TYPE_VALUES, INVOICING_NET_TERM_DAY_VALUES, INVOICING_TAXABILITY_VALUES, entityToInvoicingCustomerFormLocalData, initialInvoicingCustomerFormLocalData, } from './view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig';
|
|
757
757
|
export { getInvoicingCustomerFormView } from './view/invoicing/editInvoicingCustomerDetailView/editInvoicingCustomerDetailViewSelector';
|
|
758
758
|
export { fetchInvoicingSubscriptionFormPage, initializeInvoicingSubscriptionAddress, resetEditInvoicingSubscriptionDetailView, submitInvoicingSubscriptionForm, updateInvoicingSubscriptionFormDraft, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewReducer';
|
|
759
759
|
export { INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES, INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, initialInvoicingSubscriptionFormLocalData, invoicingSubscriptionTodayIso, toInvoicingSubscriptionQuantity, } from './view/invoicing/editInvoicingSubscriptionDetailView/invoicingSubscriptionFormConfig';
|
|
760
760
|
export { getEditInvoicingSubscriptionDetailViewState, getInvoicingSubscriptionFormView, } from './view/invoicing/editInvoicingSubscriptionDetailView/editInvoicingSubscriptionDetailViewSelector';
|
|
761
761
|
export { archiveInvoicingCatalogSubFamily, createInvoicingCatalogSubFamily, resetEditInvoicingCatalogItemDetailView, saveInvoicingCatalogItem, submitInvoicingCatalogItemForm, updateInvoicingCatalogItemFormDraft, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewReducer';
|
|
762
762
|
export { catalogDetailEditValuesToSavePayload, createSubFamilyFormToPayload, planToCatalogDetailEditValues, productToCreateSubFamilyFormValues, } from './view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload';
|
|
763
|
-
export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
|
|
763
|
+
export { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, blankInvoicingCatalogSubFamily, blankInvoicingCatalogTier, entityToInvoicingCatalogItemFormLocalData, initialInvoicingCatalogItemFormLocalData, isTieredCatalogPricingModel, } from './view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig';
|
|
764
764
|
export { getEditInvoicingCatalogItemDetailViewState, getInvoicingApplicableCatalogItemOptions, getInvoicingCatalogItemFormView, getSavedInvoicingCatalogItemId, getSavedInvoicingCatalogItemKind, } from './view/invoicing/editInvoicingCatalogItemDetailView/editInvoicingCatalogItemDetailViewSelector';
|
|
765
765
|
export { resetEditInvoicingCouponDetailView, saveInvoicingCoupon, submitInvoicingCouponForm, updateInvoicingCouponFormDraft, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewReducer';
|
|
766
766
|
export { entityToInvoicingCouponFormLocalData, initialInvoicingCouponFormLocalData, } from './view/invoicing/editInvoicingCouponDetailView/editInvoicingCouponDetailViewState';
|
|
@@ -785,7 +785,7 @@ export { INVOICING_LIST_PAGE_SIZE } from './view/invoicing/invoicingApiHelper';
|
|
|
785
785
|
// ── Invoicing: customers ──────────────────────────────────────────────────────
|
|
786
786
|
export { clearAllInvoicingCustomers, removeInvoicingCustomer, updateInvoicingCustomers, } from './entity/invoicing/invoicingCustomer/invoicingCustomerReducer';
|
|
787
787
|
export { clearInvoicingCustomerListView, fetchInvoicingCustomerCounts, fetchInvoicingCustomerList, fetchInvoicingCustomerListPage, setInvoicingCustomerActiveTab, updateInvoicingCustomerFilters, } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewReducer';
|
|
788
|
-
export { ALL_INVOICING_CUSTOMER_SORT_KEYS, ALL_INVOICING_CUSTOMER_TAB_IDS, INVOICING_CUSTOMER_COLUMNS, } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState';
|
|
788
|
+
export { ALL_INVOICING_CUSTOMER_SORT_KEYS, ALL_INVOICING_CUSTOMER_TAB_IDS, INVOICING_CUSTOMER_COLUMNS, INVOICING_CUSTOMER_TABS, } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewState';
|
|
789
789
|
export { getInvoicingCustomerListView } from './view/invoicing/invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
790
790
|
export { clearInvoicingCustomerDetailView, fetchInvoicingCustomerDetail, fetchInvoicingCustomerDetailPage, } from './view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewReducer';
|
|
791
791
|
export { getInvoicingCustomerDetail } from './view/invoicing/invoicingCustomerDetailView/invoicingCustomerDetailViewSelector';
|
|
@@ -797,28 +797,28 @@ export { submitAddPromotionalCredits, resetPromotionalCreditAction, } from './vi
|
|
|
797
797
|
// ── Invoicing: subscriptions ──────────────────────────────────────────────────
|
|
798
798
|
export { clearAllInvoicingSubscriptions, removeInvoicingSubscription, updateInvoicingSubscriptions, } from './entity/invoicing/invoicingSubscription/invoicingSubscriptionReducer';
|
|
799
799
|
export { clearInvoicingSubscriptionListView, fetchInvoicingSubscriptionCounts, fetchInvoicingSubscriptionList, fetchInvoicingSubscriptionListPage, setInvoicingSubscriptionActiveTab, updateInvoicingSubscriptionFilters, } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer';
|
|
800
|
-
export { ALL_INVOICING_SUBSCRIPTION_SORT_KEYS, ALL_INVOICING_SUBSCRIPTION_TAB_IDS, INVOICING_SUBSCRIPTION_COLUMNS, } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState';
|
|
800
|
+
export { ALL_INVOICING_SUBSCRIPTION_SORT_KEYS, ALL_INVOICING_SUBSCRIPTION_TAB_IDS, INVOICING_SUBSCRIPTION_COLUMNS, INVOICING_SUBSCRIPTION_TABS, } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState';
|
|
801
801
|
export { getInvoicingSubscriptionListView } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewSelector';
|
|
802
802
|
export { clearInvoicingSubscriptionDetailView, fetchInvoicingSubscriptionDetail, } from './view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer';
|
|
803
803
|
export { getInvoicingSubscriptionById, getInvoicingSubscriptionDetail, } from './view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewSelector';
|
|
804
804
|
// ── Invoicing: payments (transactions) ────────────────────────────────────────
|
|
805
805
|
export { clearAllInvoicingTransactions, removeInvoicingTransaction, updateInvoicingTransactions, } from './entity/invoicing/invoicingTransaction/invoicingTransactionReducer';
|
|
806
806
|
export { clearInvoicingTransactionListView, fetchInvoicingTransactionList, fetchInvoicingTransactionListPage, setInvoicingTransactionActiveTab, updateInvoicingTransactionFilters, } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewReducer';
|
|
807
|
-
export { ALL_INVOICING_TRANSACTION_SORT_KEYS, ALL_INVOICING_TRANSACTION_TAB_IDS, INVOICING_TRANSACTION_COLUMNS, } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState';
|
|
807
|
+
export { ALL_INVOICING_TRANSACTION_SORT_KEYS, ALL_INVOICING_TRANSACTION_TAB_IDS, INVOICING_TRANSACTION_COLUMNS, INVOICING_TRANSACTION_TABS, } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewState';
|
|
808
808
|
export { getInvoicingTransactionListView } from './view/invoicing/invoicingTransactionListView/invoicingTransactionListViewSelector';
|
|
809
809
|
export { clearInvoicingTransactionDetailView, fetchInvoicingTransactionDetail, } from './view/invoicing/invoicingTransactionDetailView/invoicingTransactionDetailViewReducer';
|
|
810
810
|
export { getInvoicingTransactionById, getInvoicingTransactionDetail, } from './view/invoicing/invoicingTransactionDetailView/invoicingTransactionDetailViewSelector';
|
|
811
811
|
// ── Invoicing: credit notes ───────────────────────────────────────────────────
|
|
812
812
|
export { clearAllInvoicingCreditNotes, removeInvoicingCreditNote, updateInvoicingCreditNotes, } from './entity/invoicing/creditNote/creditNoteReducer';
|
|
813
813
|
export { clearInvoicingCreditNoteListView, fetchInvoicingCreditNoteCounts, fetchInvoicingCreditNoteList, fetchInvoicingCreditNoteListPage, setInvoicingCreditNoteActiveTab, updateInvoicingCreditNoteFilters, } from './view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewReducer';
|
|
814
|
-
export { ALL_INVOICING_CREDIT_NOTE_SORT_KEYS, ALL_INVOICING_CREDIT_NOTE_TAB_IDS, INVOICING_CREDIT_NOTE_COLUMNS, } from './view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewState';
|
|
814
|
+
export { ALL_INVOICING_CREDIT_NOTE_SORT_KEYS, ALL_INVOICING_CREDIT_NOTE_TAB_IDS, INVOICING_CREDIT_NOTE_COLUMNS, INVOICING_CREDIT_NOTE_TABS, } from './view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewState';
|
|
815
815
|
export { getInvoicingCreditNoteListView } from './view/invoicing/invoicingCreditNoteListView/invoicingCreditNoteListViewSelector';
|
|
816
816
|
export { clearInvoicingCreditNoteDetailView, fetchInvoicingCreditNoteDetail, } from './view/invoicing/invoicingCreditNoteDetailView/invoicingCreditNoteDetailViewReducer';
|
|
817
817
|
export { getInvoicingCreditNoteById, getInvoicingCreditNoteDetail, } from './view/invoicing/invoicingCreditNoteDetailView/invoicingCreditNoteDetailViewSelector';
|
|
818
818
|
// ── Invoicing: discounts (coupons) ────────────────────────────────────────────
|
|
819
819
|
export { clearAllInvoicingCoupons, removeInvoicingCoupon, updateInvoicingCoupons, } from './entity/invoicing/coupon/couponReducer';
|
|
820
820
|
export { clearInvoicingCouponView, fetchInvoicingCouponCounts, fetchInvoicingCouponList, fetchInvoicingCouponListPage, setInvoicingCouponActiveTab, updateInvoicingCouponFilters, } from './view/invoicing/couponView/couponViewReducer';
|
|
821
|
-
export { ALL_INVOICING_COUPON_SORT_KEYS, ALL_INVOICING_COUPON_TAB_IDS, INVOICING_COUPON_COLUMNS, } from './view/invoicing/couponView/couponViewState';
|
|
821
|
+
export { ALL_INVOICING_COUPON_SORT_KEYS, ALL_INVOICING_COUPON_TAB_IDS, INVOICING_COUPON_COLUMNS, INVOICING_COUPON_TABS, } from './view/invoicing/couponView/couponViewState';
|
|
822
822
|
export { getInvoicingCouponCounts, getInvoicingCouponListFetchState, getInvoicingCouponListFilters, getInvoicingCouponListHasMore, getInvoicingCouponListItems, getInvoicingCouponListNextCursor, getInvoicingCouponListView, } from './view/invoicing/couponView/couponViewSelector';
|
|
823
823
|
export { getInvoicingCouponById } from './entity/invoicing/coupon/couponSelector';
|
|
824
824
|
export { clearInvoicingCouponDetailView, fetchInvoicingCouponDetail, } from './view/invoicing/invoicingCouponDetailView/invoicingCouponDetailViewReducer';
|
|
@@ -826,7 +826,7 @@ export { getInvoicingCouponDetail } from './view/invoicing/invoicingCouponDetail
|
|
|
826
826
|
// ── Invoicing: dunning ────────────────────────────────────────────────────────
|
|
827
827
|
export { clearAllInvoicingDunningCases, removeInvoicingDunningCase, updateInvoicingDunningCases, } from './entity/invoicing/dunningCase/dunningCaseReducer';
|
|
828
828
|
export { clearInvoicingDunningCaseListView, fetchInvoicingDunningCaseCounts, fetchInvoicingDunningCaseList, fetchInvoicingDunningCaseListPage, setInvoicingDunningCaseActiveTab, updateInvoicingDunningCaseFilters, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer';
|
|
829
|
-
export { ALL_INVOICING_DUNNING_CASE_SORT_KEYS, ALL_INVOICING_DUNNING_CASE_TAB_IDS, INVOICING_DUNNING_CASE_COLUMNS, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState';
|
|
829
|
+
export { ALL_INVOICING_DUNNING_CASE_SORT_KEYS, ALL_INVOICING_DUNNING_CASE_TAB_IDS, INVOICING_DUNNING_CASE_COLUMNS, INVOICING_DUNNING_CASE_TABS, } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState';
|
|
830
830
|
export { getInvoicingDunningCaseListView } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewSelector';
|
|
831
831
|
export { clearInvoicingDunningCaseDetailView, fetchInvoicingDunningCaseDetail, fetchInvoicingDunningEmailPreviewPage, invalidateInvoicingDunningEmailPreview, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer';
|
|
832
832
|
export { getInvoicingDunningCaseById, getInvoicingDunningCaseDetail, getInvoicingDunningEmailPreview, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector';
|
|
@@ -852,4 +852,3 @@ export { INVOICING_QBO_CUSTOMER_MATCHING_MODES, getInvoicingQboAccountMappingId,
|
|
|
852
852
|
// ── Invoicing: config ─────────────────────────────────────────────────────────
|
|
853
853
|
export { acceptInvoicingTerms, clearInvoicingConfig, enableInvoicing, fetchInvoicingConfig, resetInvoicingConfigActionStates, updateInvoicingConfig, } from './view/invoicing/invoicingConfigView/invoicingConfigViewReducer';
|
|
854
854
|
export { getInvoicingConfigView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
|
855
|
-
export { getInvoicingOnboardingGateView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
2
1
|
/**
|
|
3
2
|
* Single bundled view for the invoicing audit log — consumers read only this.
|
|
4
3
|
* Carries the log `items`, pagination (`nextCursor` + derived `hasMore`), the
|
|
@@ -6,10 +5,7 @@ import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigVi
|
|
|
6
5
|
*/
|
|
7
6
|
export const getInvoicingAuditView = (state) => {
|
|
8
7
|
const auditState = state.invoicingAuditViewState;
|
|
9
|
-
const { auditLogEntityRouteOptions, auditLogListSortFieldOptions } = getInvoicingConfigView(state);
|
|
10
8
|
return {
|
|
11
|
-
auditLogEntityRouteOptions,
|
|
12
|
-
auditLogListSortFieldOptions,
|
|
13
9
|
filters: auditState.filters,
|
|
14
10
|
hasMore: auditState.nextCursor != null,
|
|
15
11
|
items: auditState.items,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
-
import {
|
|
3
|
-
import { INVOICING_COUPON_COLUMNS, ALL_INVOICING_COUPON_TAB_IDS, } from './couponViewState';
|
|
2
|
+
import { INVOICING_COUPON_COLUMNS, INVOICING_COUPON_TABS, } from './couponViewState';
|
|
4
3
|
export const getInvoicingCouponListItems = (state) => state.invoicingCouponViewState.ids
|
|
5
4
|
.map((id) => state.invoicingCouponState.couponByID[id])
|
|
6
5
|
.filter((item) => item != null);
|
|
@@ -18,7 +17,7 @@ export const getInvoicingCouponCounts = (state) => state.invoicingCouponViewStat
|
|
|
18
17
|
* array (and the wrapping view object) keep referential identity until the
|
|
19
18
|
* coupon entity slice or the list-view slice actually change.
|
|
20
19
|
*/
|
|
21
|
-
export const getInvoicingCouponListView = createSelector((state) => state.invoicingCouponState, (state) => state.invoicingCouponViewState, (
|
|
20
|
+
export const getInvoicingCouponListView = createSelector((state) => state.invoicingCouponState, (state) => state.invoicingCouponViewState, (couponState, listViewState) => {
|
|
22
21
|
const { activeTab } = listViewState;
|
|
23
22
|
const allCoupons = listViewState.ids
|
|
24
23
|
.map((id) => couponState.couponByID[id])
|
|
@@ -39,13 +38,7 @@ export const getInvoicingCouponListView = createSelector((state) => state.invoic
|
|
|
39
38
|
countsFetchState: listViewState.countsFetchState,
|
|
40
39
|
filters: listViewState.filters,
|
|
41
40
|
nextCursor: listViewState.nextCursor,
|
|
42
|
-
|
|
43
|
-
statusOptions,
|
|
44
|
-
tabIds: invoicingTabIdsFromConfig({
|
|
45
|
-
allTabIds: ALL_INVOICING_COUPON_TAB_IDS,
|
|
46
|
-
localTabIds: ['inactive'],
|
|
47
|
-
statusOptions,
|
|
48
|
-
}),
|
|
41
|
+
tabIds: INVOICING_COUPON_TABS,
|
|
49
42
|
fetchState: listViewState.fetchState,
|
|
50
43
|
error: listViewState.error,
|
|
51
44
|
sort: listViewState.sort,
|
|
@@ -28,3 +28,12 @@ export const ALL_INVOICING_COUPON_TAB_IDS = [
|
|
|
28
28
|
'inactive',
|
|
29
29
|
];
|
|
30
30
|
export const toInvoicingCouponTabId = (v) => stringToUnion(v, ALL_INVOICING_COUPON_TAB_IDS);
|
|
31
|
+
/**
|
|
32
|
+
* Ordered filter-tab id set owned by CES so the coupon/discount-list tabs live
|
|
33
|
+
* next to the model rather than being hardcoded in web-components. Tab labels
|
|
34
|
+
* and the per-tab count lookup stay in the view layer; this only carries the id
|
|
35
|
+
* set and display order.
|
|
36
|
+
*/
|
|
37
|
+
export const INVOICING_COUPON_TABS = [
|
|
38
|
+
...ALL_INVOICING_COUPON_TAB_IDS,
|
|
39
|
+
];
|
|
@@ -15,11 +15,10 @@ export const localDataToCreateCreditNotePayload = (localData) => {
|
|
|
15
15
|
lineItem.unit_amount > 0);
|
|
16
16
|
const reasonCode = localData.reasonCode.trim();
|
|
17
17
|
const referenceInvoiceId = localData.referenceInvoiceId.trim();
|
|
18
|
-
const type = localData.type.trim();
|
|
19
18
|
return {
|
|
20
19
|
customer_id: localData.customerId,
|
|
21
20
|
line_items: lineItems,
|
|
22
|
-
|
|
21
|
+
type: 'adjustment',
|
|
23
22
|
...(reasonCode !== '' ? { reason_code: reasonCode } : {}),
|
|
24
23
|
...(referenceInvoiceId !== ''
|
|
25
24
|
? { reference_invoice_id: referenceInvoiceId }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { INVOICING_CREDIT_NOTE_REASON_CODES } from '../issueCreditNote/issueCreditNoteFormConfig';
|
|
2
2
|
export const getCreateCreditNoteView = (state) => {
|
|
3
3
|
const { createdCreditNoteId, error, fetchState } = state.invoicingCreateCreditNoteState;
|
|
4
4
|
return {
|
|
@@ -10,11 +10,9 @@ export const getCreateCreditNoteView = (state) => {
|
|
|
10
10
|
};
|
|
11
11
|
export const getCreateCreditNoteFormView = (state) => {
|
|
12
12
|
const { draft, error, fetchState } = state.invoicingCreateCreditNoteState;
|
|
13
|
-
const { creditNoteReasonCodeOptions, creditNoteTypeOptions } = getInvoicingConfigView(state);
|
|
14
13
|
return {
|
|
15
14
|
localData: draft,
|
|
16
|
-
|
|
17
|
-
typeOptions: creditNoteTypeOptions,
|
|
15
|
+
reasonCodeValues: [...INVOICING_CREDIT_NOTE_REASON_CODES],
|
|
18
16
|
error,
|
|
19
17
|
fetchState,
|
|
20
18
|
version: 1.0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
|
2
2
|
import { getInvoicingPlanById, getInvoicingPlansByIds, } from '../../../entity/invoicing/plan/planSelector';
|
|
3
3
|
import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
|
-
import { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, entityToInvoicingCatalogItemFormLocalData, } from './invoicingCatalogItemFormConfig';
|
|
4
|
+
import { INVOICING_CATALOG_APPLICABILITY_VALUES, INVOICING_CATALOG_PERIOD_UNIT_VALUES, INVOICING_CATALOG_PRICING_MODEL_VALUES, INVOICING_CATALOG_PRORATION_VALUES, INVOICING_CATALOG_TIER_TYPE_VALUES, INVOICING_CATALOG_TRIAL_END_ACTION_VALUES, INVOICING_CATALOG_TRIAL_UNIT_VALUES, INVOICING_CATALOG_TYPE_VALUES, entityToInvoicingCatalogItemFormLocalData, } from './invoicingCatalogItemFormConfig';
|
|
5
5
|
export const getEditInvoicingCatalogItemDetailViewState = (state) => ({
|
|
6
6
|
fetchState: state.editInvoicingCatalogItemDetailViewState.fetchState,
|
|
7
7
|
error: state.editInvoicingCatalogItemDetailViewState.error,
|
|
@@ -48,20 +48,19 @@ export const getInvoicingCatalogItemFormView = (state, id) => {
|
|
|
48
48
|
const applicableItemOptions = id != null
|
|
49
49
|
? allApplicableItemOptions.filter((option) => option.id !== id)
|
|
50
50
|
: allApplicableItemOptions;
|
|
51
|
-
const { billingPeriodUnitOptions, catalogItemTypeOptions, catalogTierTypeOptionsByPricingModel, catalogTrialEndActionOptions, catalogTrialUnitOptions, } = getInvoicingConfigView(state);
|
|
52
51
|
return {
|
|
53
52
|
applicabilityValues: INVOICING_CATALOG_APPLICABILITY_VALUES,
|
|
54
53
|
applicableItemOptions,
|
|
55
54
|
localData,
|
|
56
55
|
mode: id != null ? 'edit' : 'create',
|
|
57
|
-
|
|
56
|
+
periodUnitValues: INVOICING_CATALOG_PERIOD_UNIT_VALUES,
|
|
58
57
|
pricingModelValues: INVOICING_CATALOG_PRICING_MODEL_VALUES,
|
|
59
58
|
prorationValues: INVOICING_CATALOG_PRORATION_VALUES,
|
|
60
59
|
tierTypeValues: INVOICING_CATALOG_TIER_TYPE_VALUES,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
catalogTierTypeOptionsByPricingModel,
|
|
60
|
+
trialEndActionValues: INVOICING_CATALOG_TRIAL_END_ACTION_VALUES,
|
|
61
|
+
trialUnitValues: INVOICING_CATALOG_TRIAL_UNIT_VALUES,
|
|
62
|
+
typeValues: INVOICING_CATALOG_TYPE_VALUES,
|
|
63
|
+
catalogTierTypeOptionsByPricingModel: getInvoicingConfigView(state).catalogTierTypeOptionsByPricingModel,
|
|
65
64
|
kind,
|
|
66
65
|
plan,
|
|
67
66
|
savedItemId,
|
package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/invoicingCatalogItemFormConfig.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* here until it does. Everything else on this form comes from `/1.0/config`.
|
|
2
|
+
* Canonical value sets for the catalog item form. CES owns the values;
|
|
3
|
+
* web-components maps each value to a localized label.
|
|
5
4
|
*/
|
|
5
|
+
export const INVOICING_CATALOG_TYPE_VALUES = [
|
|
6
|
+
'plan',
|
|
7
|
+
'addon',
|
|
8
|
+
'charge',
|
|
9
|
+
];
|
|
10
|
+
export const INVOICING_CATALOG_PERIOD_UNIT_VALUES = [
|
|
11
|
+
'day',
|
|
12
|
+
'week',
|
|
13
|
+
'month',
|
|
14
|
+
'year',
|
|
15
|
+
];
|
|
6
16
|
export const INVOICING_CATALOG_PRICING_MODEL_VALUES = [
|
|
7
17
|
'flat_fee',
|
|
8
18
|
'per_unit',
|
|
@@ -15,6 +25,12 @@ export const INVOICING_CATALOG_TIER_TYPE_VALUES = [
|
|
|
15
25
|
'flat_fee',
|
|
16
26
|
'package',
|
|
17
27
|
];
|
|
28
|
+
export const INVOICING_CATALOG_TRIAL_UNIT_VALUES = ['day', 'month'];
|
|
29
|
+
export const INVOICING_CATALOG_TRIAL_END_ACTION_VALUES = [
|
|
30
|
+
'site_default',
|
|
31
|
+
'activate_subscription',
|
|
32
|
+
'cancel_subscription',
|
|
33
|
+
];
|
|
18
34
|
export const INVOICING_CATALOG_PRORATION_VALUES = [
|
|
19
35
|
'site_default',
|
|
20
36
|
'partial_term',
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import { INVOICING_COUPON_APPLY_ON_OPTIONS, INVOICING_COUPON_DURATION_TYPE_OPTIONS, INVOICING_COUPON_PERIOD_UNIT_OPTIONS, INVOICING_DISCOUNT_TYPE_OPTIONS, } from '../../../entity/invoicing/coupon/couponConstants';
|
|
1
2
|
import { getInvoicingCouponById } from '../../../entity/invoicing/coupon/couponSelector';
|
|
2
|
-
import { toInvoicingFormOption, } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
3
|
-
import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
3
|
import { entityToInvoicingCouponFormLocalData, } from './editInvoicingCouponDetailViewState';
|
|
5
4
|
/**
|
|
6
5
|
* Bundled view for the discount create/edit form: the save fetch state/error,
|
|
@@ -9,10 +8,7 @@ import { entityToInvoicingCouponFormLocalData, } from './editInvoicingCouponDeta
|
|
|
9
8
|
*/
|
|
10
9
|
export const getEditInvoicingCouponDetailViewState = (state, couponId) => {
|
|
11
10
|
const { error, fetchState, savedCouponId } = state.editInvoicingCouponDetailViewState;
|
|
12
|
-
const { discountLifecycleActionOptions, fetchState: configFetchState } = getInvoicingConfigView(state);
|
|
13
11
|
return {
|
|
14
|
-
configFetchState,
|
|
15
|
-
discountLifecycleActionOptions,
|
|
16
12
|
coupon: couponId != null
|
|
17
13
|
? getInvoicingCouponById(state.invoicingCouponState, couponId)
|
|
18
14
|
: undefined,
|
|
@@ -35,14 +31,13 @@ export const getInvoicingCouponFormView = (state, couponId) => {
|
|
|
35
31
|
? (editDraftById[couponId] ??
|
|
36
32
|
entityToInvoicingCouponFormLocalData(base.coupon))
|
|
37
33
|
: newCouponDraft;
|
|
38
|
-
const { billingPeriodUnitOptions, discountApplyOnOptions, discountDurationTypeOptions, discountTypeOptions, } = getInvoicingConfigView(state);
|
|
39
34
|
return {
|
|
40
35
|
...base,
|
|
41
|
-
applyOnOptions:
|
|
42
|
-
discountTypeOptions:
|
|
43
|
-
durationTypeOptions:
|
|
36
|
+
applyOnOptions: INVOICING_COUPON_APPLY_ON_OPTIONS,
|
|
37
|
+
discountTypeOptions: INVOICING_DISCOUNT_TYPE_OPTIONS,
|
|
38
|
+
durationTypeOptions: INVOICING_COUPON_DURATION_TYPE_OPTIONS,
|
|
44
39
|
localData,
|
|
45
40
|
mode: couponId != null ? 'edit' : 'create',
|
|
46
|
-
periodUnitOptions:
|
|
41
|
+
periodUnitOptions: INVOICING_COUPON_PERIOD_UNIT_OPTIONS,
|
|
47
42
|
};
|
|
48
43
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getInvoicingCustomerById } from '../../../entity/invoicing/invoicingCustomer/invoicingCustomerSelector';
|
|
2
2
|
import { getFormattedAddress } from '../../addressView/addressViewSelector';
|
|
3
|
-
import {
|
|
4
|
-
import { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE, entityToInvoicingCustomerFormLocalData, } from './invoicingCustomerFormConfig';
|
|
3
|
+
import { INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE, INVOICING_CUSTOMER_TYPE_VALUES, INVOICING_NET_TERM_DAY_VALUES, INVOICING_TAXABILITY_VALUES, entityToInvoicingCustomerFormLocalData, } from './invoicingCustomerFormConfig';
|
|
5
4
|
/**
|
|
6
5
|
* Bundled view for the customer create/edit form. Exposes the draft `localData`
|
|
7
6
|
* (seeded from the existing customer entity in edit mode until the user edits),
|
|
@@ -27,13 +26,12 @@ export const getInvoicingCustomerFormView = (state, invoicingCustomerID) => {
|
|
|
27
26
|
const billingAddressLabel = newAddress?.addressToCreate != null
|
|
28
27
|
? getFormattedAddress(newAddress.addressToCreate)
|
|
29
28
|
: undefined;
|
|
30
|
-
const { customerTypeOptions, netTermDayOptions, taxabilityOptions } = getInvoicingConfigView(state);
|
|
31
29
|
return {
|
|
32
|
-
|
|
30
|
+
customerTypeValues: [...INVOICING_CUSTOMER_TYPE_VALUES],
|
|
33
31
|
localData,
|
|
34
32
|
mode,
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
netTermDayValues: [...INVOICING_NET_TERM_DAY_VALUES],
|
|
34
|
+
taxabilityValues: [...INVOICING_TAXABILITY_VALUES],
|
|
37
35
|
billingAddressId,
|
|
38
36
|
billingAddressLabel,
|
|
39
37
|
savedCustomerId,
|
package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/invoicingCustomerFormConfig.js
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
/** `AddressType` key used when the customer form opens the shared Address screen. */
|
|
2
2
|
export const INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE = 'invoicing_customer_billing_address';
|
|
3
|
+
/**
|
|
4
|
+
* Canonical option value sets for the customer form. CES owns the values;
|
|
5
|
+
* web-components maps each value to a localized label (same split as the
|
|
6
|
+
* invoicing list column/tab config).
|
|
7
|
+
*/
|
|
8
|
+
export const INVOICING_CUSTOMER_TYPE_VALUES = [
|
|
9
|
+
'business',
|
|
10
|
+
'residential',
|
|
11
|
+
];
|
|
12
|
+
export const INVOICING_TAXABILITY_VALUES = ['taxable', 'exempt'];
|
|
13
|
+
export const INVOICING_NET_TERM_DAY_VALUES = [
|
|
14
|
+
'0',
|
|
15
|
+
'15',
|
|
16
|
+
'30',
|
|
17
|
+
'45',
|
|
18
|
+
'60',
|
|
19
|
+
];
|
|
3
20
|
export const initialInvoicingCustomerFormLocalData = {
|
|
4
21
|
autoCollection: true,
|
|
5
22
|
company: '',
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { getInvoicingSubscriptionById } from '../../../entity/invoicing/invoicingSubscription/invoicingSubscriptionSelector';
|
|
2
2
|
import { getFormattedAddress } from '../../addressView/addressViewSelector';
|
|
3
3
|
import { getInvoicingCouponListItems } from '../couponView/couponViewSelector';
|
|
4
|
-
import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
5
4
|
import { getInvoicingCatalogListView, getInvoicingCatalogPrices, } from '../invoicingCatalogListView/invoicingCatalogListViewSelector';
|
|
6
5
|
import { getInvoicingCustomerListView } from '../invoicingCustomerListView/invoicingCustomerListViewSelector';
|
|
7
6
|
import { INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES, INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE, entityToInvoicingSubscriptionFormLocalData, } from './invoicingSubscriptionFormConfig';
|
|
8
7
|
export const getEditInvoicingSubscriptionDetailViewState = (state, invoicingSubscriptionID) => {
|
|
9
8
|
const { error, fetchState, savedSubscriptionId } = state.editInvoicingSubscriptionDetailViewState;
|
|
10
|
-
const { subscriptionCommercialEditAllowedFromStatuses, subscriptionLifecycleActionOptions, subscriptionMetadataEditAllowedFromStatuses, } = getInvoicingConfigView(state);
|
|
11
9
|
return {
|
|
12
|
-
subscriptionCommercialEditAllowedFromStatuses,
|
|
13
|
-
subscriptionLifecycleActionOptions,
|
|
14
|
-
subscriptionMetadataEditAllowedFromStatuses,
|
|
15
10
|
subscription: invoicingSubscriptionID != null
|
|
16
11
|
? getInvoicingSubscriptionById(state.invoicingSubscriptionState, invoicingSubscriptionID)
|
|
17
12
|
: undefined,
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { concat, from } from 'rxjs';
|
|
2
2
|
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { makeInvoiceTabState } from './invoiceListState';
|
|
4
3
|
import { fetchInvoiceCounts, fetchInvoiceKPIs, fetchInvoiceList, fetchInvoiceListPage, } from './invoiceListReducer';
|
|
5
4
|
/**
|
|
6
5
|
* Fetch unless the endpoint is already loaded or in flight — or always when the
|
|
@@ -17,7 +16,7 @@ const shouldFetch = (fetchStateAndError, cacheOverride) => cacheOverride ||
|
|
|
17
16
|
export const fetchInvoiceListPageEpic = (actions$, state$) => actions$.pipe(filter(fetchInvoiceListPage.match), mergeMap((action) => {
|
|
18
17
|
const { cacheOverride, filters, sort } = action.payload;
|
|
19
18
|
const state = state$.value.invoicingInvoiceListState;
|
|
20
|
-
const activeTabState = state.invoiceByTab[state.activeTab]
|
|
19
|
+
const activeTabState = state.invoiceByTab[state.activeTab];
|
|
21
20
|
const pageActions = [];
|
|
22
21
|
if (shouldFetch({ fetchState: activeTabState.fetchState, error: activeTabState.error }, cacheOverride)) {
|
|
23
22
|
pageActions.push(fetchInvoiceList({ filters, sort }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSlice } from '@reduxjs/toolkit';
|
|
2
2
|
import { clearAll } from '../../../rootActions';
|
|
3
|
-
import { ALL_INVOICING_INVOICE_TAB_IDS,
|
|
3
|
+
import { ALL_INVOICING_INVOICE_TAB_IDS, makeInvoiceByTab, } from './invoiceListState';
|
|
4
4
|
/**
|
|
5
5
|
* Whether two invoice-list queries share the same base (tab-independent) query.
|
|
6
6
|
* The status tab is server-side per-tab, so it is excluded here — when the base
|
|
@@ -37,7 +37,7 @@ const invoiceList = createSlice({
|
|
|
37
37
|
reducers: {
|
|
38
38
|
fetchInvoiceList: {
|
|
39
39
|
reducer(draft, action) {
|
|
40
|
-
const tab =
|
|
40
|
+
const tab = draft.invoiceByTab[draft.activeTab];
|
|
41
41
|
if (!action.payload.keepExistingListItems) {
|
|
42
42
|
tab.invoiceIds = [];
|
|
43
43
|
tab.nextCursor = null;
|
|
@@ -80,7 +80,7 @@ const invoiceList = createSlice({
|
|
|
80
80
|
},
|
|
81
81
|
},
|
|
82
82
|
updateInvoiceList(draft, action) {
|
|
83
|
-
const tab =
|
|
83
|
+
const tab = draft.invoiceByTab[draft.activeTab];
|
|
84
84
|
const newIds = action.payload.invoices.map((invoice) => invoice.id);
|
|
85
85
|
tab.invoiceIds = action.payload.keepExistingListItems
|
|
86
86
|
? [...new Set([...tab.invoiceIds, ...newIds])]
|
|
@@ -90,7 +90,7 @@ const invoiceList = createSlice({
|
|
|
90
90
|
tab.error = undefined;
|
|
91
91
|
},
|
|
92
92
|
updateInvoiceListFailure(draft, action) {
|
|
93
|
-
const tab =
|
|
93
|
+
const tab = draft.invoiceByTab[draft.activeTab];
|
|
94
94
|
tab.fetchState = 'Error';
|
|
95
95
|
tab.error = action.payload;
|
|
96
96
|
},
|
|
@@ -136,14 +136,14 @@ const invoiceList = createSlice({
|
|
|
136
136
|
// are left untouched and refetched lazily.
|
|
137
137
|
addInvoiceToList(draft, action) {
|
|
138
138
|
const { id, status } = action.payload;
|
|
139
|
-
const allTab =
|
|
139
|
+
const allTab = draft.invoiceByTab['all'];
|
|
140
140
|
if (allTab.invoiceIds.includes(id)) {
|
|
141
141
|
return;
|
|
142
142
|
}
|
|
143
143
|
allTab.invoiceIds = [id, ...allTab.invoiceIds];
|
|
144
144
|
const statusTab = statusToTabId(status);
|
|
145
145
|
if (statusTab != null) {
|
|
146
|
-
const tab =
|
|
146
|
+
const tab = draft.invoiceByTab[statusTab];
|
|
147
147
|
if (!tab.invoiceIds.includes(id)) {
|
|
148
148
|
tab.invoiceIds = [id, ...tab.invoiceIds];
|
|
149
149
|
}
|