@zeniai/client-epic-state 4.9.62 → 4.9.64

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.
@@ -1,7 +1,6 @@
1
1
  import { ActionsObservable } from 'redux-observable';
2
2
  import { Observable } from 'rxjs';
3
- import { fetchNotificationSettings } from '../settingsViewReducer';
4
3
  import { fetchClassList } from '../../classList/classListReducer';
5
4
  import { fetchPeople } from '../../people/peopleReducer';
6
- export declare type ActionType = ReturnType<typeof fetchPeople> | ReturnType<typeof fetchNotificationSettings> | ReturnType<typeof fetchClassList>;
5
+ export declare type ActionType = ReturnType<typeof fetchPeople> | ReturnType<typeof fetchClassList>;
7
6
  export declare const fetchNotificationSettingsViewEpic: (actions$: ActionsObservable<ActionType>) => Observable<ActionType>;
@@ -7,10 +7,7 @@ const settingsViewReducer_1 = require("../settingsViewReducer");
7
7
  const classListReducer_1 = require("../../classList/classListReducer");
8
8
  const peopleReducer_1 = require("../../people/peopleReducer");
9
9
  const fetchNotificationSettingsViewEpic = (actions$) => actions$.pipe((0, operators_1.filter)(settingsViewReducer_1.fetchNotificationSettingsView.match), (0, operators_1.switchMap)(() => {
10
- return (0, rxjs_1.from)([
11
- (0, peopleReducer_1.fetchPeople)(),
12
- (0, classListReducer_1.fetchClassList)(),
13
- (0, settingsViewReducer_1.fetchNotificationSettings)(),
14
- ]);
10
+ const actions = [(0, peopleReducer_1.fetchPeople)(), (0, classListReducer_1.fetchClassList)()];
11
+ return (0, rxjs_1.from)(actions);
15
12
  }));
16
13
  exports.fetchNotificationSettingsViewEpic = fetchNotificationSettingsViewEpic;
@@ -65,8 +65,8 @@ export declare const fetchEditBillDetailPage: import("@reduxjs/toolkit").ActionC
65
65
  amountPayload: AmountPayload;
66
66
  conversionRate: number;
67
67
  billId?: string | undefined;
68
- }, string>, fetchVendorAndUpdateBillLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorId: string, billId?: string | undefined], {
69
- vendorId: string;
68
+ }, string>, fetchVendorAndUpdateBillLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorId?: string | undefined, billId?: string | undefined], {
69
+ vendorId: string | undefined;
70
70
  billId: string | undefined;
71
71
  }, string, never, never>, waitForVendorByIdThenSaveBillUpdatetoLocalStore: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorId: string, billId?: string | undefined], {
72
72
  vendorId: string;
@@ -18,22 +18,31 @@ const fetchVendorAndUpdateBillLocalDataEpic = (actions$, state$) => actions$.pip
18
18
  const fetchActions = [];
19
19
  const { vendorId } = action.payload;
20
20
  const state = state$.value;
21
- const vendor = (0, vendorSelector_1.getVendorByVendorId)(state.vendorState, vendorId);
22
21
  let billInLocalStore = state.editBillDetailViewState.newBillState;
23
22
  if (action.payload.billId != null) {
24
23
  const billDetailKey = (0, billDetailViewState_1.getBillTransactionDetailKey)(action.payload.billId);
25
24
  billInLocalStore =
26
25
  state.editBillDetailViewState.editBillStateById[billDetailKey];
27
26
  }
28
- if (vendor != null) {
27
+ if (vendorId != null) {
28
+ const vendor = (0, vendorSelector_1.getVendorByVendorId)(state.vendorState, vendorId);
29
+ if (vendor != null) {
30
+ fetchActions.push((0, editBillViewReducer_1.saveBillUpdatesToLocalStore)({
31
+ billDetailLocalData: prepareBillLocalData(state, billInLocalStore, vendor),
32
+ billId: action.payload.billId,
33
+ }));
34
+ fetchActions.push((0, previousBillsReducer_1.fetchPreviousBills)(vendor.qboId, false));
35
+ }
36
+ else {
37
+ fetchActions.push((0, vendorViewReducer_1.fetchVendor)(vendorId), (0, editBillViewReducer_1.waitForVendorByIdThenSaveBillUpdatetoLocalStore)(vendorId, action.payload.billId));
38
+ }
39
+ }
40
+ else {
41
+ // when tentative vendor is selected from the vendor dropdown, then vendor_id is undefined
29
42
  fetchActions.push((0, editBillViewReducer_1.saveBillUpdatesToLocalStore)({
30
- billDetailLocalData: prepareBillLocalData(state, billInLocalStore, vendor),
43
+ billDetailLocalData: prepareBillLocalData(state, billInLocalStore),
31
44
  billId: action.payload.billId,
32
45
  }));
33
- fetchActions.push((0, previousBillsReducer_1.fetchPreviousBills)(vendor.qboId, false));
34
- }
35
- else {
36
- fetchActions.push((0, vendorViewReducer_1.fetchVendor)(vendorId), (0, editBillViewReducer_1.waitForVendorByIdThenSaveBillUpdatetoLocalStore)(vendorId, action.payload.billId));
37
46
  }
38
47
  return (0, rxjs_1.from)(fetchActions);
39
48
  }));
@@ -67,17 +76,17 @@ function prepareBillLocalData(state, billInLocalStore, vendor) {
67
76
  const isCancelled = billInLocalStore.billDetailLocalData.isCancelled;
68
77
  const lines = billInLocalStore.billDetailLocalData.updatesByLineId;
69
78
  const updatedLines = Object.assign({}, lines);
70
- const vendorCategory = vendor.accountId != null
79
+ const vendorCategory = (vendor === null || vendor === void 0 ? void 0 : vendor.accountId) != null
71
80
  ? (0, accountSelector_1.getAccountBase)(state.accountState, vendor.accountId, 'account_list')
72
81
  : undefined;
73
- const vendorClass = vendor.classId != null
82
+ const vendorClass = (vendor === null || vendor === void 0 ? void 0 : vendor.classId) != null
74
83
  ? (0, classSelector_1.getClassById)(state.classState, {
75
84
  classId: vendor.classId,
76
85
  reportId: 'class_list',
77
86
  })
78
87
  : undefined;
79
- const vendorCurrencyCode = vendor.vendorCurrencyCode;
80
- const vendorCurrencySymbol = vendor.vendorCurrencySymbol;
88
+ const vendorCurrencyCode = vendor === null || vendor === void 0 ? void 0 : vendor.vendorCurrencyCode;
89
+ const vendorCurrencySymbol = vendor === null || vendor === void 0 ? void 0 : vendor.vendorCurrencySymbol;
81
90
  const { tenantState, companyState } = state;
82
91
  const { currentTenantId } = tenantState;
83
92
  const companyId = currentTenantId != null
@@ -101,8 +110,8 @@ function prepareBillLocalData(state, billInLocalStore, vendor) {
101
110
  if (Object.keys(updatedLines).length === 0) {
102
111
  updatedLines['1'] = Object.assign({ account: vendorCategory, class: vendorClass, amount: {
103
112
  amount: 0,
104
- currencyCode: vendorCurrencyCode,
105
- currencySymbol: vendorCurrencySymbol,
113
+ currencyCode: vendorCurrencyCode !== null && vendorCurrencyCode !== void 0 ? vendorCurrencyCode : 'USD',
114
+ currencySymbol: vendorCurrencySymbol !== null && vendorCurrencySymbol !== void 0 ? vendorCurrencySymbol : '$',
106
115
  }, id: '1', lineDescription: '', platformLineDetailType: 'account_based_expense_line_detail', type: 'transaction_with_account_and_class_line', billable: 'not_billable', isCategoryMiscategorized: false, isClassMiscategorized: false }, editBillViewState_1.defaultRecommendationStateObj);
107
116
  }
108
117
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.9.62",
3
+ "version": "4.9.64",
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
  "types": "lib/index.d.ts",