@zeniai/client-epic-state 5.2.91 → 5.2.93
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/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +1 -0
- package/lib/entity/transaction/stateTypes/paymentType.d.ts +2 -2
- package/lib/entity/transaction/stateTypes/paymentType.js +9 -1
- package/lib/entity/transaction/stateTypes/printStatus.d.ts +4 -0
- package/lib/entity/transaction/stateTypes/printStatus.js +11 -0
- package/lib/epic.d.ts +5 -1
- package/lib/epic.js +8 -0
- package/lib/esm/entity/snackbar/snackbarTypes.js +1 -0
- package/lib/esm/entity/transaction/stateTypes/paymentType.js +9 -1
- package/lib/esm/entity/transaction/stateTypes/printStatus.js +7 -0
- package/lib/esm/epic.js +8 -0
- package/lib/esm/index.js +4 -2
- package/lib/esm/view/invoicing/invoicingOverview/invoicingOverviewPayload.js +3 -0
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionLocalDataHelper.js +157 -0
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionPayload.js +164 -0
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionSelector.js +47 -0
- package/lib/esm/view/transactionDetail/createTransaction/createTransactionState.js +11 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.js +19 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/createTransactionEpic.js +81 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/fetchVendorRecommendationsForCreateTransactionEpic.js +53 -0
- package/lib/esm/view/transactionDetail/createTransaction/epics/initializeCreateTransactionLocalDataEpic.js +10 -0
- package/lib/esm/view/transactionDetail/transactionDetailReducer.js +196 -1
- package/lib/index.d.ts +6 -2
- package/lib/index.js +56 -37
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewPayload.d.ts +7 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewPayload.js +3 -0
- package/lib/view/invoicing/invoicingOverview/invoicingOverviewState.d.ts +4 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionLocalDataHelper.d.ts +56 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionLocalDataHelper.js +172 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionPayload.d.ts +95 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionPayload.js +169 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionSelector.d.ts +44 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionSelector.js +53 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionState.d.ts +82 -0
- package/lib/view/transactionDetail/createTransaction/createTransactionState.js +14 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.d.ts +10 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionAttachmentUploadFailureEpic.js +23 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionEpic.d.ts +9 -0
- package/lib/view/transactionDetail/createTransaction/epics/createTransactionEpic.js +85 -0
- package/lib/view/transactionDetail/createTransaction/epics/fetchVendorRecommendationsForCreateTransactionEpic.d.ts +20 -0
- package/lib/view/transactionDetail/createTransaction/epics/fetchVendorRecommendationsForCreateTransactionEpic.js +57 -0
- package/lib/view/transactionDetail/createTransaction/epics/initializeCreateTransactionLocalDataEpic.d.ts +12 -0
- package/lib/view/transactionDetail/createTransaction/epics/initializeCreateTransactionLocalDataEpic.js +14 -0
- package/lib/view/transactionDetail/transactionDetailReducer.d.ts +39 -1
- package/lib/view/transactionDetail/transactionDetailReducer.js +198 -2
- package/lib/view/transactionDetail/transactionDetailState.d.ts +12 -0
- package/package.json +1 -1
|
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.toggleSplitEditMode = exports.deleteSplitLine = exports.addSplitLine = exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetSelectedCustomer = exports.resetVendor = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.markCategoryClassRecommendationsFailureForTransactionDetail = exports.markCategoryClassRecommendationsCompletedForTransactionDetail = exports.markCategoryClassRecommendationsInProgressForTransactionDetail = exports.setEntityRecommendationForLineIdsForTransactionDetail = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.clearTransactionDetailLocalData = exports.saveTransactionDetailLocalData = exports.initializeTransactionDetailLocalData = exports.saveTransactionDetail = exports.updateTransactionStateIfUpdateActionNotAllowed = exports.updateStatusConsolidatedSaveTransactionDetail = exports.updateStatusForTransactionNotMiscategorizedUpdate = exports.deleteTransactionAttachmentSuccess = exports.deleteTransactionAttachmentFailure = exports.deleteTransactionAttachment = exports.markTransactionAsNotMiscategorized = exports.clearTransactionDetailSaveStatus = exports.updateTransactionDetailSaveStatus = exports.updateTransactionDetail = exports.uploadMissingAttachmentSuccess = exports.removeTransactionDetail = exports.updateTransactionDetailFetchState = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.initialState = void 0;
|
|
7
|
+
exports.createTransaction = exports.resetCreateTransactionLocalData = exports.removeCreateTransactionLine = exports.addCreateTransactionLine = exports.updateCreateTransactionLineLocalData = exports.updateCreateTransactionLocalData = exports.initializeCreateTransactionLocalData = exports.toggleSplitEditMode = exports.deleteSplitLine = exports.addSplitLine = exports.setIsVendorUpdateAllChecked = exports.updateVendorBulkRecommendationsFetchStatus = exports.updateLatestSelectedEntity = exports.resetAllLineItemsToVendor = exports.updateVendorToAllLineItems = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetSelectedCustomer = exports.resetVendor = exports.updateSelectedCustomer = exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.markCategoryClassRecommendationsFailureForTransactionDetail = exports.markCategoryClassRecommendationsCompletedForTransactionDetail = exports.markCategoryClassRecommendationsInProgressForTransactionDetail = exports.setEntityRecommendationForLineIdsForTransactionDetail = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.clearTransactionDetailLocalData = exports.saveTransactionDetailLocalData = exports.initializeTransactionDetailLocalData = exports.saveTransactionDetail = exports.updateTransactionStateIfUpdateActionNotAllowed = exports.updateStatusConsolidatedSaveTransactionDetail = exports.updateStatusForTransactionNotMiscategorizedUpdate = exports.deleteTransactionAttachmentSuccess = exports.deleteTransactionAttachmentFailure = exports.deleteTransactionAttachment = exports.markTransactionAsNotMiscategorized = exports.clearTransactionDetailSaveStatus = exports.updateTransactionDetailSaveStatus = exports.updateTransactionDetail = exports.uploadMissingAttachmentSuccess = exports.removeTransactionDetail = exports.updateTransactionDetailFetchState = exports.fetchTransactionDetail = exports.downloadAccountingProviderAttachmentFailure = exports.downloadAccountingProviderAttachmentSuccess = exports.downloadAccountingProviderAttachment = exports.initialState = void 0;
|
|
8
|
+
exports.createTransactionAttachmentUploadFailure = exports.fetchVendorRecommendationsForCreateTransaction = exports.clearRecommendationsForCreateTransactionLines = exports.setRecommendationsForCreateTransactionLines = exports.createTransactionSuccessOrFailure = void 0;
|
|
8
9
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
9
10
|
const get_1 = __importDefault(require("lodash/get"));
|
|
10
11
|
const entity_1 = require("../../entity/genericEntity/entity");
|
|
11
12
|
const rootActions_1 = require("../../rootActions");
|
|
13
|
+
const createTransactionLocalDataHelper_1 = require("./createTransaction/createTransactionLocalDataHelper");
|
|
12
14
|
const transactionDetailLocalDataHelper_1 = require("./transactionDetailLocalDataHelper");
|
|
13
15
|
const transactionDetailState_1 = require("./transactionDetailState");
|
|
14
16
|
exports.initialState = {
|
|
@@ -17,6 +19,10 @@ exports.initialState = {
|
|
|
17
19
|
fetchState: 'Not-Started',
|
|
18
20
|
attachmentDataByID: {},
|
|
19
21
|
},
|
|
22
|
+
createTransactionsState: {
|
|
23
|
+
createStatus: { fetchState: 'Not-Started' },
|
|
24
|
+
newTransactionState: (0, createTransactionLocalDataHelper_1.getInitialCreateTransactionLocalDataByType)(),
|
|
25
|
+
},
|
|
20
26
|
};
|
|
21
27
|
const transactionDetail = (0, toolkit_1.createSlice)({
|
|
22
28
|
name: 'transactionDetail',
|
|
@@ -836,6 +842,196 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
836
842
|
};
|
|
837
843
|
},
|
|
838
844
|
},
|
|
845
|
+
// ---------------------------------------------------------------------------------
|
|
846
|
+
// Create Transaction
|
|
847
|
+
//
|
|
848
|
+
// These live on the transactionDetail slice rather than in createTransaction/ because a
|
|
849
|
+
// createSlice owns exactly one state object, and createTransactionsState is nested inside
|
|
850
|
+
// TransactionDetailState. The derivation itself stays in the folder -- each body below
|
|
851
|
+
// delegates to createTransactionLocalDataHelper.ts.
|
|
852
|
+
//
|
|
853
|
+
// They need no clearAll case of their own: the slice already resets to initialState on
|
|
854
|
+
// tenant switch, and createTransactionsState is part of it.
|
|
855
|
+
// ---------------------------------------------------------------------------------
|
|
856
|
+
/** Trigger only -- initializeCreateTransactionLocalDataEpic does the seeding. */
|
|
857
|
+
initializeCreateTransactionLocalData: {
|
|
858
|
+
reducer(
|
|
859
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
860
|
+
_draft,
|
|
861
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
862
|
+
_action) {
|
|
863
|
+
// no-op
|
|
864
|
+
},
|
|
865
|
+
prepare(transactionType) {
|
|
866
|
+
return { payload: { transactionType } };
|
|
867
|
+
},
|
|
868
|
+
},
|
|
869
|
+
updateCreateTransactionLocalData: {
|
|
870
|
+
reducer(draft, action) {
|
|
871
|
+
const { transactionType, localData } = action.payload;
|
|
872
|
+
const current = draft.createTransactionsState.newTransactionState[transactionType];
|
|
873
|
+
draft.createTransactionsState.newTransactionState[transactionType] =
|
|
874
|
+
(0, createTransactionLocalDataHelper_1.mergeCreateTransactionLocalData)(current, localData);
|
|
875
|
+
},
|
|
876
|
+
prepare(transactionType, localData) {
|
|
877
|
+
return { payload: { transactionType, localData } };
|
|
878
|
+
},
|
|
879
|
+
},
|
|
880
|
+
updateCreateTransactionLineLocalData: {
|
|
881
|
+
reducer(draft, action) {
|
|
882
|
+
const { transactionType, lineId, lineUpdates } = action.payload;
|
|
883
|
+
const current = draft.createTransactionsState.newTransactionState[transactionType];
|
|
884
|
+
current.lines = (0, createTransactionLocalDataHelper_1.updateCreateTransactionLine)(current.lines, lineId, lineUpdates);
|
|
885
|
+
},
|
|
886
|
+
prepare(transactionType, lineId, lineUpdates) {
|
|
887
|
+
return { payload: { transactionType, lineId, lineUpdates } };
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
/**
|
|
891
|
+
* `line` is supplied by the caller rather than built here, so a row added after a vendor is
|
|
892
|
+
* already chosen can arrive pre-populated from the cached recommendations instead of blank.
|
|
893
|
+
*/
|
|
894
|
+
addCreateTransactionLine: {
|
|
895
|
+
reducer(draft, action) {
|
|
896
|
+
const { transactionType, line } = action.payload;
|
|
897
|
+
draft.createTransactionsState.newTransactionState[transactionType].lines.push({
|
|
898
|
+
...line,
|
|
899
|
+
id: (0, createTransactionLocalDataHelper_1.nextCreateTransactionLineId)(),
|
|
900
|
+
});
|
|
901
|
+
},
|
|
902
|
+
prepare(transactionType, line) {
|
|
903
|
+
return { payload: { transactionType, line } };
|
|
904
|
+
},
|
|
905
|
+
},
|
|
906
|
+
removeCreateTransactionLine: {
|
|
907
|
+
reducer(draft, action) {
|
|
908
|
+
const { transactionType, lineId } = action.payload;
|
|
909
|
+
const current = draft.createTransactionsState.newTransactionState[transactionType];
|
|
910
|
+
current.lines = current.lines.filter((line) => line.id !== lineId);
|
|
911
|
+
},
|
|
912
|
+
prepare(transactionType, lineId) {
|
|
913
|
+
return { payload: { transactionType, lineId } };
|
|
914
|
+
},
|
|
915
|
+
},
|
|
916
|
+
/**
|
|
917
|
+
* Restores the blank working copy AND re-seeds it, so reopening Create starts from a fresh
|
|
918
|
+
* form rather than the previous transaction's values.
|
|
919
|
+
*/
|
|
920
|
+
resetCreateTransactionLocalData: {
|
|
921
|
+
reducer(draft, action) {
|
|
922
|
+
const { transactionType } = action.payload;
|
|
923
|
+
draft.createTransactionsState.newTransactionState[transactionType] =
|
|
924
|
+
(0, createTransactionLocalDataHelper_1.getSeededCreateTransactionLocalData)(transactionType);
|
|
925
|
+
draft.createTransactionsState.createStatus = {
|
|
926
|
+
fetchState: 'Not-Started',
|
|
927
|
+
};
|
|
928
|
+
draft.createTransactionsState.createdTransactionId = undefined;
|
|
929
|
+
},
|
|
930
|
+
prepare(transactionType) {
|
|
931
|
+
return { payload: { transactionType } };
|
|
932
|
+
},
|
|
933
|
+
},
|
|
934
|
+
/** Submit trigger -- createTransactionEpic builds the payload from localData. */
|
|
935
|
+
createTransaction: {
|
|
936
|
+
reducer(draft,
|
|
937
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
938
|
+
_action) {
|
|
939
|
+
draft.createTransactionsState.createStatus = {
|
|
940
|
+
fetchState: 'In-Progress',
|
|
941
|
+
};
|
|
942
|
+
draft.createTransactionsState.createdTransactionId = undefined;
|
|
943
|
+
},
|
|
944
|
+
prepare(transactionType) {
|
|
945
|
+
return { payload: { transactionType } };
|
|
946
|
+
},
|
|
947
|
+
},
|
|
948
|
+
/**
|
|
949
|
+
* Trigger only -- fetchVendorRecommendationsForCreateTransactionEpic does the work.
|
|
950
|
+
* A null entity means the vendor was cleared.
|
|
951
|
+
*/
|
|
952
|
+
fetchVendorRecommendationsForCreateTransaction: {
|
|
953
|
+
reducer(
|
|
954
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
955
|
+
_draft,
|
|
956
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
957
|
+
_action) {
|
|
958
|
+
// no-op
|
|
959
|
+
},
|
|
960
|
+
prepare(transactionType, lineIds, entity) {
|
|
961
|
+
return { payload: { transactionType, lineIds, entity } };
|
|
962
|
+
},
|
|
963
|
+
},
|
|
964
|
+
/** Trigger only -- createTransactionAttachmentUploadFailureEpic raises the snackbar. */
|
|
965
|
+
createTransactionAttachmentUploadFailure: {
|
|
966
|
+
reducer(
|
|
967
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
968
|
+
_draft,
|
|
969
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
970
|
+
_action) {
|
|
971
|
+
// no-op
|
|
972
|
+
},
|
|
973
|
+
prepare(failedAttachmentFileNames) {
|
|
974
|
+
return { payload: { failedAttachmentFileNames } };
|
|
975
|
+
},
|
|
976
|
+
},
|
|
977
|
+
/**
|
|
978
|
+
* Writes a vendor's recommendations into the named lines. `lineIds` is explicit rather than
|
|
979
|
+
* "all lines" because a journal entry recommends per line, from that line's own entity.
|
|
980
|
+
*/
|
|
981
|
+
setRecommendationsForCreateTransactionLines: {
|
|
982
|
+
reducer(draft, action) {
|
|
983
|
+
const { transactionType, lineIds, recommendations, isAccountingClassesEnabled, } = action.payload;
|
|
984
|
+
const current = draft.createTransactionsState.newTransactionState[transactionType];
|
|
985
|
+
// Clear first: on vendor A -> B, A's prefill is no longer empty, so B's would never
|
|
986
|
+
// replace it. Fields the user picked carry no prefill flag and survive the clear.
|
|
987
|
+
current.lines = current.lines.map((line) => lineIds.includes(line.id)
|
|
988
|
+
? (0, createTransactionLocalDataHelper_1.applyRecommendationsToCreateTransactionLine)((0, createTransactionLocalDataHelper_1.clearRecommendationsFromCreateTransactionLine)(line), recommendations, isAccountingClassesEnabled)
|
|
989
|
+
: line);
|
|
990
|
+
},
|
|
991
|
+
prepare(transactionType, lineIds, recommendations, isAccountingClassesEnabled) {
|
|
992
|
+
return {
|
|
993
|
+
payload: {
|
|
994
|
+
transactionType,
|
|
995
|
+
lineIds,
|
|
996
|
+
recommendations,
|
|
997
|
+
isAccountingClassesEnabled,
|
|
998
|
+
},
|
|
999
|
+
};
|
|
1000
|
+
},
|
|
1001
|
+
},
|
|
1002
|
+
/** Vendor cleared: drop the dropdown group and undo only what the prefill wrote. */
|
|
1003
|
+
clearRecommendationsForCreateTransactionLines: {
|
|
1004
|
+
reducer(draft, action) {
|
|
1005
|
+
const { transactionType, lineIds } = action.payload;
|
|
1006
|
+
const current = draft.createTransactionsState.newTransactionState[transactionType];
|
|
1007
|
+
current.lines = current.lines.map((line) => lineIds.includes(line.id)
|
|
1008
|
+
? (0, createTransactionLocalDataHelper_1.clearRecommendationsFromCreateTransactionLine)(line)
|
|
1009
|
+
: line);
|
|
1010
|
+
},
|
|
1011
|
+
prepare(transactionType, lineIds) {
|
|
1012
|
+
return { payload: { transactionType, lineIds } };
|
|
1013
|
+
},
|
|
1014
|
+
},
|
|
1015
|
+
createTransactionSuccessOrFailure: {
|
|
1016
|
+
reducer(draft, action) {
|
|
1017
|
+
const { fetchState, error, createdTransactionId } = action.payload;
|
|
1018
|
+
draft.createTransactionsState.createStatus = { fetchState, error };
|
|
1019
|
+
if (createdTransactionId != null) {
|
|
1020
|
+
draft.createTransactionsState.createdTransactionId =
|
|
1021
|
+
createdTransactionId;
|
|
1022
|
+
// The API will not return a QBO-only row until delta sync, so the optimistic insert
|
|
1023
|
+
// is marked fetched: detail local data can be saved and a fetch is a cache hit.
|
|
1024
|
+
draft.transactionDetailById[(0, transactionDetailState_1.getTransactionDetailKey)(createdTransactionId)] = {
|
|
1025
|
+
...transactionDetailState_1.initialSupportedTransactionDetail,
|
|
1026
|
+
fetchState: 'Completed',
|
|
1027
|
+
transactionId: createdTransactionId,
|
|
1028
|
+
};
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
prepare(fetchState, createdTransactionId, error) {
|
|
1032
|
+
return { payload: { fetchState, createdTransactionId, error } };
|
|
1033
|
+
},
|
|
1034
|
+
},
|
|
839
1035
|
},
|
|
840
1036
|
extraReducers: (builder) => {
|
|
841
1037
|
builder.addCase(rootActions_1.clearAll, (draft) => {
|
|
@@ -843,7 +1039,7 @@ const transactionDetail = (0, toolkit_1.createSlice)({
|
|
|
843
1039
|
});
|
|
844
1040
|
},
|
|
845
1041
|
});
|
|
846
|
-
_a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.markCategoryClassRecommendationsInProgressForTransactionDetail = _a.markCategoryClassRecommendationsInProgressForTransactionDetail, exports.markCategoryClassRecommendationsCompletedForTransactionDetail = _a.markCategoryClassRecommendationsCompletedForTransactionDetail, exports.markCategoryClassRecommendationsFailureForTransactionDetail = _a.markCategoryClassRecommendationsFailureForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.updateSelectedCustomer = _a.updateSelectedCustomer, exports.resetVendor = _a.resetVendor, exports.resetSelectedCustomer = _a.resetSelectedCustomer, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked, exports.addSplitLine = _a.addSplitLine, exports.deleteSplitLine = _a.deleteSplitLine, exports.toggleSplitEditMode = _a.toggleSplitEditMode;
|
|
1042
|
+
_a = transactionDetail.actions, exports.downloadAccountingProviderAttachment = _a.downloadAccountingProviderAttachment, exports.downloadAccountingProviderAttachmentSuccess = _a.downloadAccountingProviderAttachmentSuccess, exports.downloadAccountingProviderAttachmentFailure = _a.downloadAccountingProviderAttachmentFailure, exports.fetchTransactionDetail = _a.fetchTransactionDetail, exports.updateTransactionDetailFetchState = _a.updateTransactionDetailFetchState, exports.removeTransactionDetail = _a.removeTransactionDetail, exports.uploadMissingAttachmentSuccess = _a.uploadMissingAttachmentSuccess, exports.updateTransactionDetail = _a.updateTransactionDetail, exports.updateTransactionDetailSaveStatus = _a.updateTransactionDetailSaveStatus, exports.clearTransactionDetailSaveStatus = _a.clearTransactionDetailSaveStatus, exports.markTransactionAsNotMiscategorized = _a.markTransactionAsNotMiscategorized, exports.deleteTransactionAttachment = _a.deleteTransactionAttachment, exports.deleteTransactionAttachmentFailure = _a.deleteTransactionAttachmentFailure, exports.deleteTransactionAttachmentSuccess = _a.deleteTransactionAttachmentSuccess, exports.updateStatusForTransactionNotMiscategorizedUpdate = _a.updateStatusForTransactionNotMiscategorizedUpdate, exports.updateStatusConsolidatedSaveTransactionDetail = _a.updateStatusConsolidatedSaveTransactionDetail, exports.updateTransactionStateIfUpdateActionNotAllowed = _a.updateTransactionStateIfUpdateActionNotAllowed, exports.saveTransactionDetail = _a.saveTransactionDetail, exports.initializeTransactionDetailLocalData = _a.initializeTransactionDetailLocalData, exports.saveTransactionDetailLocalData = _a.saveTransactionDetailLocalData, exports.clearTransactionDetailLocalData = _a.clearTransactionDetailLocalData, exports.resetLineItemsCategoryClassInLocalData = _a.resetLineItemsCategoryClassInLocalData, exports.setAllLineItemsToCategoryClassInLocalData = _a.setAllLineItemsToCategoryClassInLocalData, exports.setAllLineItemsLocalDataIsUpdateAllChecked = _a.setAllLineItemsLocalDataIsUpdateAllChecked, exports.setEntityRecommendationForLineIdsForTransactionDetail = _a.setEntityRecommendationForLineIdsForTransactionDetail, exports.markCategoryClassRecommendationsInProgressForTransactionDetail = _a.markCategoryClassRecommendationsInProgressForTransactionDetail, exports.markCategoryClassRecommendationsCompletedForTransactionDetail = _a.markCategoryClassRecommendationsCompletedForTransactionDetail, exports.markCategoryClassRecommendationsFailureForTransactionDetail = _a.markCategoryClassRecommendationsFailureForTransactionDetail, exports.removeEntityRecommendationForLineIdForTransactionDetail = _a.removeEntityRecommendationForLineIdForTransactionDetail, exports.updateSelectedVendor = _a.updateSelectedVendor, exports.updateSelectedCustomer = _a.updateSelectedCustomer, exports.resetVendor = _a.resetVendor, exports.resetSelectedCustomer = _a.resetSelectedCustomer, exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = _a.updateLocalDataWithTransactionsUpdateWithVendorCheckbox, exports.updateVendorToAllLineItems = _a.updateVendorToAllLineItems, exports.resetAllLineItemsToVendor = _a.resetAllLineItemsToVendor, exports.updateLatestSelectedEntity = _a.updateLatestSelectedEntity, exports.updateVendorBulkRecommendationsFetchStatus = _a.updateVendorBulkRecommendationsFetchStatus, exports.setIsVendorUpdateAllChecked = _a.setIsVendorUpdateAllChecked, exports.addSplitLine = _a.addSplitLine, exports.deleteSplitLine = _a.deleteSplitLine, exports.toggleSplitEditMode = _a.toggleSplitEditMode, exports.initializeCreateTransactionLocalData = _a.initializeCreateTransactionLocalData, exports.updateCreateTransactionLocalData = _a.updateCreateTransactionLocalData, exports.updateCreateTransactionLineLocalData = _a.updateCreateTransactionLineLocalData, exports.addCreateTransactionLine = _a.addCreateTransactionLine, exports.removeCreateTransactionLine = _a.removeCreateTransactionLine, exports.resetCreateTransactionLocalData = _a.resetCreateTransactionLocalData, exports.createTransaction = _a.createTransaction, exports.createTransactionSuccessOrFailure = _a.createTransactionSuccessOrFailure, exports.setRecommendationsForCreateTransactionLines = _a.setRecommendationsForCreateTransactionLines, exports.clearRecommendationsForCreateTransactionLines = _a.clearRecommendationsForCreateTransactionLines, exports.fetchVendorRecommendationsForCreateTransaction = _a.fetchVendorRecommendationsForCreateTransaction, exports.createTransactionAttachmentUploadFailure = _a.createTransactionAttachmentUploadFailure;
|
|
847
1043
|
exports.default = transactionDetail.reducer;
|
|
848
1044
|
function getUpdatedEntityLocalData(detail, updates, entity, resetRecommendations, type) {
|
|
849
1045
|
const key = type === 'customer' ? 'customerUpdates' : 'vendorUpdates';
|
|
@@ -11,6 +11,7 @@ import { TransactionID } from '../../entity/transaction/stateTypes/transactionID
|
|
|
11
11
|
import { TransactionCategory } from '../../entity/transaction/stateTypes/transactionType';
|
|
12
12
|
import { VendorBase } from '../../entity/vendor/vendorState';
|
|
13
13
|
import { EntityRecommendationKey } from '../recommendation/recommendationState';
|
|
14
|
+
import { CreateTransactionLocalDataByType } from './createTransaction/createTransactionState';
|
|
14
15
|
import { TransactionDetailLineItemData, TransactionDetailLocalData } from './transactionDetailTypes';
|
|
15
16
|
export declare const getTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_check` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_refund` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
|
|
16
17
|
export type TransactionDetailKey = ReturnType<typeof getTransactionDetailKey>;
|
|
@@ -44,11 +45,22 @@ interface AccountingProviderAttachment {
|
|
|
44
45
|
fetchState: FetchStateAndError;
|
|
45
46
|
}
|
|
46
47
|
export declare const initialSupportedTransactionDetail: SupportedTransactionDetail;
|
|
48
|
+
export interface CreateTransactionsState {
|
|
49
|
+
createStatus: FetchStateAndError;
|
|
50
|
+
/**
|
|
51
|
+
* Keyed by type so switching type in the Create dropdown does not clobber a draft the user
|
|
52
|
+
* already started on another type.
|
|
53
|
+
*/
|
|
54
|
+
newTransactionState: CreateTransactionLocalDataByType;
|
|
55
|
+
/** Set on a successful create, so the page can navigate to the new transaction. */
|
|
56
|
+
createdTransactionId?: TransactionID;
|
|
57
|
+
}
|
|
47
58
|
export interface TransactionDetailState {
|
|
48
59
|
accountingProviderAttachment: {
|
|
49
60
|
attachmentDataByID: Record<ID, ArrayBuffer>;
|
|
50
61
|
fetchState: FetchState;
|
|
51
62
|
};
|
|
63
|
+
createTransactionsState: CreateTransactionsState;
|
|
52
64
|
transactionDetailById: Record<TransactionDetailKey, SupportedTransactionDetail | undefined>;
|
|
53
65
|
}
|
|
54
66
|
export interface TransactionLineUpdates {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.93",
|
|
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",
|