@cxbox-ui/core 2.0.0-alpha.7 → 2.0.0-alpha.9
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/README.md +261 -28
- package/dist/core.d.ts +4274 -0
- package/dist/index.js +2 -6
- package/dist/index.js.map +1 -0
- package/package.json +19 -30
- package/dist/actions/index.d.ts +0 -1081
- package/dist/api/ObservableApi.d.ts +0 -53
- package/dist/api/ObservableApiWrapper.d.ts +0 -11
- package/dist/api/index.d.ts +0 -1
- package/dist/cxbox-ui-core.cjs.development.js +0 -3674
- package/dist/cxbox-ui-core.cjs.production.min.js +0 -2
- package/dist/cxbox-ui-core.esm.js +0 -3638
- package/dist/cxbox-ui-core.modern.development.js +0 -3568
- package/dist/cxbox-ui-core.modern.js +0 -3568
- package/dist/cxbox-ui-core.modern.production.min.js +0 -2
- package/dist/epics/data/bcCancelCreateDataEpic.d.ts +0 -9
- package/dist/epics/data/bcDeleteDataEpic.d.ts +0 -2
- package/dist/epics/data/bcFetchDataEpic.d.ts +0 -15
- package/dist/epics/data/bcFetchRowMetaRequestEpic.d.ts +0 -17
- package/dist/epics/data/bcLoadMoreEpic.d.ts +0 -2
- package/dist/epics/data/bcNewDataEpic.d.ts +0 -14
- package/dist/epics/data/bcSaveDataEpic.d.ts +0 -24
- package/dist/epics/data/bcSelectDepthRecordEpic.d.ts +0 -2
- package/dist/epics/data/bcSelectRecordEpic.d.ts +0 -2
- package/dist/epics/data/changeAssociationEpic.d.ts +0 -2
- package/dist/epics/data/changeAssociationFullEpic.d.ts +0 -5
- package/dist/epics/data/changeAssociationSameBcEpic.d.ts +0 -5
- package/dist/epics/data/changeChildrenAssociationsEpic.d.ts +0 -2
- package/dist/epics/data/changeChildrenAssociationsSameBcEpic.d.ts +0 -2
- package/dist/epics/data/changeDescendantsAssociationsFullEpic.d.ts +0 -5
- package/dist/epics/data/index.d.ts +0 -20
- package/dist/epics/data/inlinePickListFetchDataEpic.d.ts +0 -2
- package/dist/epics/data/removeMultivalueTagEpic.d.ts +0 -17
- package/dist/epics/data/saveAssociationsActiveEpic.d.ts +0 -7
- package/dist/epics/data/saveAssociationsPassiveEpic.d.ts +0 -7
- package/dist/epics/data/selectViewEpic.d.ts +0 -11
- package/dist/epics/index.d.ts +0 -6
- package/dist/epics/router/changeLocationEpic.d.ts +0 -10
- package/dist/epics/router/drilldownEpic.d.ts +0 -2
- package/dist/epics/router/handleRouterEpic.d.ts +0 -2
- package/dist/epics/router/index.d.ts +0 -10
- package/dist/epics/router/loginDoneEpic.d.ts +0 -9
- package/dist/epics/router/selectScreenEpic.d.ts +0 -7
- package/dist/epics/router/selectScreenFailEpic.d.ts +0 -7
- package/dist/epics/router/selectViewEpic.d.ts +0 -7
- package/dist/epics/router/selectViewFailEpic.d.ts +0 -6
- package/dist/epics/router/userDrillDownEpic.d.ts +0 -6
- package/dist/epics/router/userDrilldownChangeCursorsEpic.d.ts +0 -2
- package/dist/epics/screen/apiErrorEpic.d.ts +0 -2
- package/dist/epics/screen/downloadFileByUrlEpic.d.ts +0 -2
- package/dist/epics/screen/downloadFileEpic.d.ts +0 -2
- package/dist/epics/screen/httpError401Epic.d.ts +0 -2
- package/dist/epics/screen/httpError409Epic.d.ts +0 -2
- package/dist/epics/screen/httpError418Epic.d.ts +0 -2
- package/dist/epics/screen/httpError500Epic.d.ts +0 -2
- package/dist/epics/screen/httpErrorDefaultEpic.d.ts +0 -2
- package/dist/epics/screen/index.d.ts +0 -10
- package/dist/epics/screen/processPostInvokeConfirmEpic.d.ts +0 -2
- package/dist/epics/screen/processPostInvokeEpic.d.ts +0 -2
- package/dist/epics/session/index.d.ts +0 -5
- package/dist/epics/session/loginByAnotherRoleEpic.d.ts +0 -5
- package/dist/epics/session/loginDoneEpic.d.ts +0 -6
- package/dist/epics/session/refreshMetaAndReloadPageEpic.d.ts +0 -2
- package/dist/epics/session/refreshMetaEpic.d.ts +0 -5
- package/dist/epics/session/switchRoleEpic.d.ts +0 -5
- package/dist/epics/utils/postOperationRoutine.d.ts +0 -13
- package/dist/epics/view/clearPendingDataChangesAfterCursorChangeEpic.d.ts +0 -7
- package/dist/epics/view/fileUploadConfirmEpic.d.ts +0 -11
- package/dist/epics/view/getRowMetaByForceActiveEpic.d.ts +0 -5
- package/dist/epics/view/index.d.ts +0 -9
- package/dist/epics/view/selectTableCellInitEpic.d.ts +0 -2
- package/dist/epics/view/sendOperationAssociateEpic.d.ts +0 -5
- package/dist/epics/view/sendOperationEpic.d.ts +0 -10
- package/dist/epics/view/showAllTableRecordsInitEpic.d.ts +0 -2
- package/dist/epics/view/showAssocPopupEpic.d.ts +0 -2
- package/dist/epics/view/showFileUploadPopupEpic.d.ts +0 -5
- package/dist/index.d.ts +0 -7
- package/dist/interfaces/bc.d.ts +0 -79
- package/dist/interfaces/customEpics.d.ts +0 -15
- package/dist/interfaces/customMiddlewares.d.ts +0 -35
- package/dist/interfaces/data.d.ts +0 -48
- package/dist/interfaces/filters.d.ts +0 -32
- package/dist/interfaces/index.d.ts +0 -27
- package/dist/interfaces/navigation.d.ts +0 -48
- package/dist/interfaces/objectMap.d.ts +0 -36
- package/dist/interfaces/operation.d.ts +0 -336
- package/dist/interfaces/router.d.ts +0 -17
- package/dist/interfaces/rowMeta.d.ts +0 -74
- package/dist/interfaces/screen.d.ts +0 -28
- package/dist/interfaces/session.d.ts +0 -83
- package/dist/interfaces/store.d.ts +0 -14
- package/dist/interfaces/tree.d.ts +0 -66
- package/dist/interfaces/view.d.ts +0 -202
- package/dist/interfaces/widget.d.ts +0 -209
- package/dist/middlewares/autosaveMiddleware.d.ts +0 -2
- package/dist/middlewares/index.d.ts +0 -6
- package/dist/middlewares/popupMiddleware.d.ts +0 -2
- package/dist/middlewares/preInvokeMiddleware.d.ts +0 -5
- package/dist/middlewares/requiredFieldsMiddleware.d.ts +0 -30
- package/dist/reducers/ReducerBuilderManager.d.ts +0 -19
- package/dist/reducers/data.d.ts +0 -4
- package/dist/reducers/depthData.d.ts +0 -4
- package/dist/reducers/index.d.ts +0 -6
- package/dist/reducers/router.d.ts +0 -9
- package/dist/reducers/screen.d.ts +0 -10
- package/dist/reducers/session.d.ts +0 -10
- package/dist/reducers/view.d.ts +0 -10
- package/dist/utils/api.d.ts +0 -25
- package/dist/utils/apiError.d.ts +0 -19
- package/dist/utils/autosave.d.ts +0 -37
- package/dist/utils/bc.d.ts +0 -27
- package/dist/utils/breadthFirst.d.ts +0 -21
- package/dist/utils/cancelRequestEpic.d.ts +0 -27
- package/dist/utils/combineMiddlewares.d.ts +0 -3
- package/dist/utils/deleteUndefinedFromObject.d.ts +0 -1
- package/dist/utils/exportState.d.ts +0 -0
- package/dist/utils/extendPopupWidgetTypes.d.ts +0 -8
- package/dist/utils/filters.d.ts +0 -63
- package/dist/utils/hierarchy.d.ts +0 -17
- package/dist/utils/highlightJson.d.ts +0 -12
- package/dist/utils/history.d.ts +0 -50
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/operations.d.ts +0 -21
- package/dist/utils/others.d.ts +0 -6
- package/dist/utils/strings.d.ts +0 -44
- package/dist/utils/tree.d.ts +0 -43
- package/dist/utils/viewTabs.d.ts +0 -20
|
@@ -1,3638 +0,0 @@
|
|
|
1
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
-
return cooked;
|
|
4
|
-
};
|
|
5
|
-
var __assign = (this && this.__assign) || function () {
|
|
6
|
-
__assign = Object.assign || function(t) {
|
|
7
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
8
|
-
s = arguments[i];
|
|
9
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
10
|
-
t[p] = s[p];
|
|
11
|
-
}
|
|
12
|
-
return t;
|
|
13
|
-
};
|
|
14
|
-
return __assign.apply(this, arguments);
|
|
15
|
-
};
|
|
16
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
17
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
18
|
-
if (ar || !(i in from)) {
|
|
19
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
20
|
-
ar[i] = from[i];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
24
|
-
};
|
|
25
|
-
var __defProp = Object.defineProperty;
|
|
26
|
-
var __export = function (target, all) {
|
|
27
|
-
for (var name in all)
|
|
28
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
29
|
-
};
|
|
30
|
-
// src/reducers/index.ts
|
|
31
|
-
var reducers_exports = {};
|
|
32
|
-
__export(reducers_exports, {
|
|
33
|
-
createDataReducerBuilderManager: function () { return createDataReducerBuilderManager; },
|
|
34
|
-
createDepthDataReducerBuilderManager: function () { return createDepthDataReducerBuilderManager; },
|
|
35
|
-
createRouterReducerBuilderManager: function () { return createRouterReducerBuilderManager; },
|
|
36
|
-
createScreenReducerBuilderManager: function () { return createScreenReducerBuilderManager; },
|
|
37
|
-
createSessionReducerBuilderManager: function () { return createSessionReducerBuilderManager; },
|
|
38
|
-
createViewReducerBuilderManager: function () { return createViewReducerBuilderManager; },
|
|
39
|
-
dataInitialState: function () { return dataInitialState; },
|
|
40
|
-
initialDepthDataState: function () { return initialDepthDataState; },
|
|
41
|
-
initialRouterState: function () { return initialRouterState; },
|
|
42
|
-
initialScreenState: function () { return initialScreenState; },
|
|
43
|
-
initialSessionState: function () { return initialSessionState; },
|
|
44
|
-
initialViewState: function () { return initialViewState; }
|
|
45
|
-
});
|
|
46
|
-
// src/actions/index.ts
|
|
47
|
-
var actions_exports = {};
|
|
48
|
-
__export(actions_exports, {
|
|
49
|
-
addNotification: function () { return addNotification; },
|
|
50
|
-
addPendingRequest: function () { return addPendingRequest; },
|
|
51
|
-
apiError: function () { return apiError; },
|
|
52
|
-
bcAddFilter: function () { return bcAddFilter; },
|
|
53
|
-
bcAddSorter: function () { return bcAddSorter; },
|
|
54
|
-
bcCancelPendingChanges: function () { return bcCancelPendingChanges; },
|
|
55
|
-
bcChangeCursors: function () { return bcChangeCursors; },
|
|
56
|
-
bcChangeDepthCursor: function () { return bcChangeDepthCursor; },
|
|
57
|
-
bcChangePage: function () { return bcChangePage; },
|
|
58
|
-
bcDeleteDataFail: function () { return bcDeleteDataFail; },
|
|
59
|
-
bcFetchDataFail: function () { return bcFetchDataFail; },
|
|
60
|
-
bcFetchDataPages: function () { return bcFetchDataPages; },
|
|
61
|
-
bcFetchDataRequest: function () { return bcFetchDataRequest; },
|
|
62
|
-
bcFetchDataSuccess: function () { return bcFetchDataSuccess; },
|
|
63
|
-
bcFetchRowMeta: function () { return bcFetchRowMeta; },
|
|
64
|
-
bcFetchRowMetaFail: function () { return bcFetchRowMetaFail; },
|
|
65
|
-
bcFetchRowMetaSuccess: function () { return bcFetchRowMetaSuccess; },
|
|
66
|
-
bcForceUpdate: function () { return bcForceUpdate; },
|
|
67
|
-
bcLoadMore: function () { return bcLoadMore; },
|
|
68
|
-
bcNewData: function () { return bcNewData; },
|
|
69
|
-
bcNewDataFail: function () { return bcNewDataFail; },
|
|
70
|
-
bcNewDataSuccess: function () { return bcNewDataSuccess; },
|
|
71
|
-
bcRemoveAllFilters: function () { return bcRemoveAllFilters; },
|
|
72
|
-
bcRemoveFilter: function () { return bcRemoveFilter; },
|
|
73
|
-
bcRemoveSorter: function () { return bcRemoveSorter; },
|
|
74
|
-
bcSaveDataFail: function () { return bcSaveDataFail; },
|
|
75
|
-
bcSaveDataSuccess: function () { return bcSaveDataSuccess; },
|
|
76
|
-
bcSelectDepthRecord: function () { return bcSelectDepthRecord; },
|
|
77
|
-
bcSelectRecord: function () { return bcSelectRecord; },
|
|
78
|
-
bulkUploadFiles: function () { return bulkUploadFiles; },
|
|
79
|
-
changeAssociation: function () { return changeAssociation; },
|
|
80
|
-
changeAssociationFull: function () { return changeAssociationFull; },
|
|
81
|
-
changeAssociationSameBc: function () { return changeAssociationSameBc; },
|
|
82
|
-
changeAssociations: function () { return changeAssociations; },
|
|
83
|
-
changeChildrenAssociations: function () { return changeChildrenAssociations; },
|
|
84
|
-
changeChildrenAssociationsSameBc: function () { return changeChildrenAssociationsSameBc; },
|
|
85
|
-
changeDataItem: function () { return changeDataItem; },
|
|
86
|
-
changeDataItems: function () { return changeDataItems; },
|
|
87
|
-
changeDescendantsAssociationsFull: function () { return changeDescendantsAssociationsFull; },
|
|
88
|
-
changeLocation: function () { return changeLocation; },
|
|
89
|
-
clearValidationFails: function () { return clearValidationFails; },
|
|
90
|
-
closeConfirmModal: function () { return closeConfirmModal; },
|
|
91
|
-
closeNotification: function () { return closeNotification; },
|
|
92
|
-
closeViewError: function () { return closeViewError; },
|
|
93
|
-
closeViewPopup: function () { return closeViewPopup; },
|
|
94
|
-
downloadFile: function () { return downloadFile; },
|
|
95
|
-
downloadFileByUrl: function () { return downloadFileByUrl; },
|
|
96
|
-
drillDown: function () { return drillDown; },
|
|
97
|
-
dropAllAssociations: function () { return dropAllAssociations; },
|
|
98
|
-
dropAllAssociationsFull: function () { return dropAllAssociationsFull; },
|
|
99
|
-
dropAllAssociationsSameBc: function () { return dropAllAssociationsSameBc; },
|
|
100
|
-
emptyAction: function () { return emptyAction; },
|
|
101
|
-
exportState: function () { return exportState; },
|
|
102
|
-
forceActiveChangeFail: function () { return forceActiveChangeFail; },
|
|
103
|
-
forceActiveRmUpdate: function () { return forceActiveRmUpdate; },
|
|
104
|
-
handleRouter: function () { return handleRouter; },
|
|
105
|
-
httpError: function () { return httpError; },
|
|
106
|
-
inlinePickListFetchDataRequest: function () { return inlinePickListFetchDataRequest; },
|
|
107
|
-
login: function () { return login; },
|
|
108
|
-
loginDone: function () { return loginDone; },
|
|
109
|
-
loginFail: function () { return loginFail; },
|
|
110
|
-
logout: function () { return logout; },
|
|
111
|
-
logoutDone: function () { return logoutDone; },
|
|
112
|
-
operationConfirmation: function () { return operationConfirmation; },
|
|
113
|
-
processPostInvoke: function () { return processPostInvoke; },
|
|
114
|
-
processPostInvokeConfirm: function () { return processPostInvokeConfirm; },
|
|
115
|
-
processPreInvoke: function () { return processPreInvoke; },
|
|
116
|
-
refreshMeta: function () { return refreshMeta; },
|
|
117
|
-
refreshMetaAndReloadPage: function () { return refreshMetaAndReloadPage; },
|
|
118
|
-
refreshMetaDone: function () { return refreshMetaDone; },
|
|
119
|
-
refreshMetaFail: function () { return refreshMetaFail; },
|
|
120
|
-
removeMultivalueTag: function () { return removeMultivalueTag; },
|
|
121
|
-
removeNotifications: function () { return removeNotifications; },
|
|
122
|
-
removePendingRequest: function () { return removePendingRequest; },
|
|
123
|
-
saveAssociations: function () { return saveAssociations; },
|
|
124
|
-
selectScreen: function () { return selectScreen; },
|
|
125
|
-
selectScreenFail: function () { return selectScreenFail; },
|
|
126
|
-
selectTableCell: function () { return selectTableCell; },
|
|
127
|
-
selectTableCellInit: function () { return selectTableCellInit; },
|
|
128
|
-
selectView: function () { return selectView; },
|
|
129
|
-
selectViewFail: function () { return selectViewFail; },
|
|
130
|
-
sendOperation: function () { return sendOperation; },
|
|
131
|
-
sendOperationFail: function () { return sendOperationFail; },
|
|
132
|
-
sendOperationSuccess: function () { return sendOperationSuccess; },
|
|
133
|
-
showAllTableRecordsInit: function () { return showAllTableRecordsInit; },
|
|
134
|
-
showFileUploadPopup: function () { return showFileUploadPopup; },
|
|
135
|
-
showNotification: function () { return showNotification; },
|
|
136
|
-
showViewError: function () { return showViewError; },
|
|
137
|
-
showViewPopup: function () { return showViewPopup; },
|
|
138
|
-
switchDebugMode: function () { return switchDebugMode; },
|
|
139
|
-
switchRole: function () { return switchRole; },
|
|
140
|
-
uploadFile: function () { return uploadFile; },
|
|
141
|
-
uploadFileDone: function () { return uploadFileDone; },
|
|
142
|
-
uploadFileFailed: function () { return uploadFileFailed; },
|
|
143
|
-
userDrillDown: function () { return userDrillDown; },
|
|
144
|
-
userDrillDownSuccess: function () { return userDrillDownSuccess; },
|
|
145
|
-
viewClearPickMap: function () { return viewClearPickMap; },
|
|
146
|
-
viewPutPickMap: function () { return viewPutPickMap; }
|
|
147
|
-
});
|
|
148
|
-
import { createAction } from "@reduxjs/toolkit";
|
|
149
|
-
var changeLocation = createAction("changeLocation");
|
|
150
|
-
var login = createAction("login");
|
|
151
|
-
var loginDone = createAction("loginDone");
|
|
152
|
-
var loginFail = createAction("loginFail");
|
|
153
|
-
var logout = createAction("logout");
|
|
154
|
-
var logoutDone = createAction("logoutDone");
|
|
155
|
-
var selectScreen = createAction("selectScreen");
|
|
156
|
-
var selectScreenFail = createAction("selectScreenFail");
|
|
157
|
-
var selectView = createAction("selectView");
|
|
158
|
-
var selectViewFail = createAction("selectViewFail");
|
|
159
|
-
var bcFetchDataRequest = createAction("bcFetchDataRequest");
|
|
160
|
-
var bcFetchDataPages = createAction("bcFetchDataPages");
|
|
161
|
-
var inlinePickListFetchDataRequest = createAction("inlinePickListFetchDataRequest");
|
|
162
|
-
var bcFetchDataSuccess = createAction("bcFetchDataSuccess");
|
|
163
|
-
var bcFetchDataFail = createAction("bcFetchDataFail");
|
|
164
|
-
var bcLoadMore = createAction("bcLoadMore");
|
|
165
|
-
var bcFetchRowMeta = createAction("bcFetchRowMeta");
|
|
166
|
-
var bcFetchRowMetaSuccess = createAction("bcFetchRowMetaSuccess");
|
|
167
|
-
var bcFetchRowMetaFail = createAction("bcFetchRowMetaFail");
|
|
168
|
-
var bcNewData = createAction("bcNewData");
|
|
169
|
-
var bcNewDataSuccess = createAction("bcNewDataSuccess");
|
|
170
|
-
var bcNewDataFail = createAction("bcNewDataFail");
|
|
171
|
-
var bcDeleteDataFail = createAction("bcDeleteDataFail");
|
|
172
|
-
var forceActiveChangeFail = createAction("forceActiveChangeFail");
|
|
173
|
-
var sendOperation = createAction("sendOperation");
|
|
174
|
-
var sendOperationFail = createAction("sendOperationFail");
|
|
175
|
-
var sendOperationSuccess = createAction("sendOperationSuccess");
|
|
176
|
-
var processPostInvoke = createAction("processPostInvoke");
|
|
177
|
-
var processPreInvoke = createAction("processPreInvoke");
|
|
178
|
-
var processPostInvokeConfirm = createAction("processPostInvokeConfirm");
|
|
179
|
-
var userDrillDown = createAction("userDrillDown");
|
|
180
|
-
var userDrillDownSuccess = createAction("userDrillDownSuccess");
|
|
181
|
-
var drillDown = createAction("drillDown");
|
|
182
|
-
var bcChangeCursors = createAction("bcChangeCursors");
|
|
183
|
-
var bcChangeDepthCursor = createAction("bcChangeDepthCursor");
|
|
184
|
-
var changeDataItem = createAction("changeDataItem");
|
|
185
|
-
var changeDataItems = createAction("changeDataItems");
|
|
186
|
-
var forceActiveRmUpdate = createAction("forceActiveRmUpdate");
|
|
187
|
-
var showViewPopup = createAction("showViewPopup");
|
|
188
|
-
var showFileUploadPopup = createAction("showFileUploadPopup");
|
|
189
|
-
var closeViewPopup = createAction("closeViewPopup");
|
|
190
|
-
var viewPutPickMap = createAction("viewPutPickMap");
|
|
191
|
-
var viewClearPickMap = createAction("viewClearPickMap");
|
|
192
|
-
var saveAssociations = createAction("saveAssociations");
|
|
193
|
-
var changeAssociations = createAction("cnangeAssociations");
|
|
194
|
-
var removeMultivalueTag = createAction("removeMultivalueTag");
|
|
195
|
-
var bcSaveDataSuccess = createAction("bcSaveDataSuccess");
|
|
196
|
-
var bcSaveDataFail = createAction("bcSaveDataFail");
|
|
197
|
-
var operationConfirmation = createAction("operationConfirmation");
|
|
198
|
-
var bcForceUpdate = createAction("bcForceUpdate");
|
|
199
|
-
var uploadFile = createAction("uploadFile");
|
|
200
|
-
var uploadFileDone = createAction("uploadFileDone");
|
|
201
|
-
var uploadFileFailed = createAction("uploadFileFailed");
|
|
202
|
-
var bcCancelPendingChanges = createAction("bcCancelPendingChanges");
|
|
203
|
-
var bcSelectRecord = createAction("bcSelectRecord");
|
|
204
|
-
var bcSelectDepthRecord = createAction("bcSelectDepthRecord");
|
|
205
|
-
var changeAssociation = createAction("changeAssociations");
|
|
206
|
-
var changeAssociationSameBc = createAction("changeAssociationsSameBc");
|
|
207
|
-
var changeAssociationFull = createAction("changeAssociationFull");
|
|
208
|
-
var changeChildrenAssociations = createAction("changeChildrenAssociations");
|
|
209
|
-
var changeChildrenAssociationsSameBc = createAction("changeChildrenAssociationsSameBc");
|
|
210
|
-
var changeDescendantsAssociationsFull = createAction("changeDescendantsAssociationsFull");
|
|
211
|
-
var dropAllAssociations = createAction("dropAllAssociations");
|
|
212
|
-
var dropAllAssociationsSameBc = createAction("dropAllAssociationsSameBc");
|
|
213
|
-
var dropAllAssociationsFull = createAction("dropAllAssociationsFull");
|
|
214
|
-
var handleRouter = createAction("handleRouter");
|
|
215
|
-
var selectTableCellInit = createAction("selectTableCellInit");
|
|
216
|
-
var selectTableCell = createAction("selectTableCell");
|
|
217
|
-
var showAllTableRecordsInit = createAction("showAllTableRecordsInit");
|
|
218
|
-
var showNotification = createAction("showNotification");
|
|
219
|
-
var closeNotification = createAction("closeNotification");
|
|
220
|
-
var bcAddFilter = createAction("bcAddFilter");
|
|
221
|
-
var bcRemoveFilter = createAction("bcRemoveFilter");
|
|
222
|
-
var bcRemoveAllFilters = createAction("bcRemoveAllFilters");
|
|
223
|
-
var bcAddSorter = createAction("bcAddSorter");
|
|
224
|
-
var bcRemoveSorter = createAction("bcRemoveSorter");
|
|
225
|
-
var bcChangePage = createAction("bcChangePage");
|
|
226
|
-
var showViewError = createAction("showViewError");
|
|
227
|
-
var closeViewError = createAction("closeViewError");
|
|
228
|
-
var closeConfirmModal = createAction("closeConfirmModal");
|
|
229
|
-
var clearValidationFails = createAction("clearValidationFails");
|
|
230
|
-
var downloadFile = createAction("downloadFile");
|
|
231
|
-
var downloadFileByUrl = createAction("downloadFileByUrl");
|
|
232
|
-
var bulkUploadFiles = createAction("bulkUploadFiles");
|
|
233
|
-
var apiError = createAction("apiError");
|
|
234
|
-
var httpError = createAction("httpError");
|
|
235
|
-
var switchDebugMode = createAction("switchDebugMode");
|
|
236
|
-
var exportState = createAction("exportState");
|
|
237
|
-
var emptyAction = createAction("emptyAction");
|
|
238
|
-
var refreshMeta = createAction("refreshMeta");
|
|
239
|
-
var refreshMetaDone = createAction("refreshMetaDone");
|
|
240
|
-
var refreshMetaFail = createAction("refreshMetaFail");
|
|
241
|
-
var refreshMetaAndReloadPage = createAction("refreshMetaAndReloadPage");
|
|
242
|
-
var switchRole = createAction("switchRole");
|
|
243
|
-
var addPendingRequest = createAction("addPendingRequest");
|
|
244
|
-
var removePendingRequest = createAction("removePendingRequest");
|
|
245
|
-
var addNotification = createAction("addNotification");
|
|
246
|
-
var removeNotifications = createAction("removeNotifications");
|
|
247
|
-
// src/reducers/ReducerBuilderManager.ts
|
|
248
|
-
var ReducerBuilderManager = /** @class */ (function () {
|
|
249
|
-
function class_1() {
|
|
250
|
-
this.reducers = [];
|
|
251
|
-
this.matchers = [];
|
|
252
|
-
this.defaultCaseReducer = void 0;
|
|
253
|
-
}
|
|
254
|
-
class_1.prototype.addCase = function (action, reducer) {
|
|
255
|
-
this.reducers.push([action, reducer]);
|
|
256
|
-
return this;
|
|
257
|
-
};
|
|
258
|
-
class_1.prototype.removeCase = function (action) {
|
|
259
|
-
this.reducers = this.reducers.filter(function (reducer) { return reducer[0].type !== action.type; });
|
|
260
|
-
return this;
|
|
261
|
-
};
|
|
262
|
-
class_1.prototype.replaceCase = function (action, reducer) {
|
|
263
|
-
this.removeCase(action).addCase(action, reducer);
|
|
264
|
-
return this;
|
|
265
|
-
};
|
|
266
|
-
class_1.prototype.addMatcher = function (matcher, reducer) {
|
|
267
|
-
this.matchers.push([matcher, reducer]);
|
|
268
|
-
return this;
|
|
269
|
-
};
|
|
270
|
-
class_1.prototype.addDefaultCase = function (reducer) {
|
|
271
|
-
this.defaultCaseReducer = reducer;
|
|
272
|
-
return this;
|
|
273
|
-
};
|
|
274
|
-
Object.defineProperty(class_1.prototype, "builder", {
|
|
275
|
-
get: function () {
|
|
276
|
-
var _this = this;
|
|
277
|
-
return function (builder) {
|
|
278
|
-
var builderWithCases = _this.reducers.reduce(function (acc, args) { return acc.addCase.apply(acc, args); }, builder);
|
|
279
|
-
var builderWithMatchers = _this.matchers.reduce(function (acc, args) { return acc.addMatcher.apply(acc, args); }, builderWithCases);
|
|
280
|
-
return _this.defaultCaseReducer !== void 0 ? builderWithMatchers.addDefaultCase(_this.defaultCaseReducer) : builderWithMatchers;
|
|
281
|
-
};
|
|
282
|
-
},
|
|
283
|
-
enumerable: false,
|
|
284
|
-
configurable: true
|
|
285
|
-
});
|
|
286
|
-
return class_1;
|
|
287
|
-
}());
|
|
288
|
-
// src/reducers/data.ts
|
|
289
|
-
var emptyData = [];
|
|
290
|
-
var dataInitialState = {};
|
|
291
|
-
var createDataReducerBuilderManager = function (initialState) { return new ReducerBuilderManager().addCase(bcFetchDataSuccess, function (state, action) {
|
|
292
|
-
state[action.payload.bcName] = action.payload.data;
|
|
293
|
-
}).addCase(bcNewDataSuccess, function (state, action) {
|
|
294
|
-
state[action.payload.bcName] = __spreadArray(__spreadArray([], state[action.payload.bcName] || emptyData, true), [action.payload.dataItem], false);
|
|
295
|
-
}).addCase(bcSaveDataSuccess, function (state, action) {
|
|
296
|
-
var nextDataItem = action.payload.dataItem;
|
|
297
|
-
var index = state[action.payload.bcName].findIndex(function (item) { return item.id === nextDataItem.id; });
|
|
298
|
-
state[action.payload.bcName][index] = nextDataItem;
|
|
299
|
-
}).addCase(bcFetchRowMetaSuccess, function (state, action) {
|
|
300
|
-
var cursor = action.payload.cursor;
|
|
301
|
-
if (!cursor) {
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
var prevDataItem = (state[action.payload.bcName] || emptyData).find(function (item) { return item.id === cursor; });
|
|
305
|
-
var nextDataItem = __assign(__assign({}, prevDataItem), { id: cursor, vstamp: -1, _associate: prevDataItem && prevDataItem._associate });
|
|
306
|
-
var valueUpdateUnsupported = action.payload.rowMeta.fields.find(function (item) { return item.key === "id" && !item.currentValue; });
|
|
307
|
-
if (valueUpdateUnsupported) {
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
action.payload.rowMeta.fields.filter(function (field) {
|
|
311
|
-
return field.key !== "_associate";
|
|
312
|
-
}).forEach(function (field) { return nextDataItem[field.key] = field.currentValue; });
|
|
313
|
-
if (!prevDataItem) {
|
|
314
|
-
state[action.payload.bcName] = __spreadArray(__spreadArray([], state[action.payload.bcName] || emptyData, true), [nextDataItem], false);
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
state[action.payload.bcName] = state[action.payload.bcName].map(function (item) { return item === prevDataItem ? nextDataItem : item; });
|
|
318
|
-
}).addCase(changeAssociations, function (state, action) {
|
|
319
|
-
state["".concat(action.payload.bcName, "Delta")] = action.payload.records || [];
|
|
320
|
-
}).addCase(selectView, function (state) {
|
|
321
|
-
return initialState;
|
|
322
|
-
}); };
|
|
323
|
-
// src/reducers/depthData.ts
|
|
324
|
-
var initialDepthDataState = {};
|
|
325
|
-
var createDepthDataReducerBuilderManager = function (initialState) {
|
|
326
|
-
return new ReducerBuilderManager().addCase(bcFetchDataSuccess, function (state, action) {
|
|
327
|
-
var _a;
|
|
328
|
-
if (!action.payload.depth || action.payload.depth < 2) {
|
|
329
|
-
return;
|
|
330
|
-
}
|
|
331
|
-
state[action.payload.depth] = (_a = state[action.payload.depth]) !== null && _a !== void 0 ? _a : {};
|
|
332
|
-
state[action.payload.depth][action.payload.bcName] = action.payload.data;
|
|
333
|
-
}).addCase(selectView, function (state) {
|
|
334
|
-
return initialState;
|
|
335
|
-
});
|
|
336
|
-
};
|
|
337
|
-
// src/interfaces/index.ts
|
|
338
|
-
var interfaces_exports = {};
|
|
339
|
-
__export(interfaces_exports, {
|
|
340
|
-
AppNotificationType: function () { return AppNotificationType; },
|
|
341
|
-
ApplicationErrorType: function () { return ApplicationErrorType; },
|
|
342
|
-
DrillDownType: function () { return DrillDownType; },
|
|
343
|
-
FieldType: function () { return FieldType; },
|
|
344
|
-
FilterType: function () { return FilterType; },
|
|
345
|
-
OperationPostInvokeConfirmType: function () { return OperationPostInvokeConfirmType; },
|
|
346
|
-
OperationPostInvokeType: function () { return OperationPostInvokeType; },
|
|
347
|
-
OperationPreInvokeType: function () { return OperationPreInvokeType; },
|
|
348
|
-
OperationTypeCrud: function () { return OperationTypeCrud; },
|
|
349
|
-
PaginationMode: function () { return PaginationMode; },
|
|
350
|
-
PendingValidationFailsFormat: function () { return PendingValidationFailsFormat; },
|
|
351
|
-
PopupWidgetTypes: function () { return PopupWidgetTypes; },
|
|
352
|
-
PositionTypes: function () { return PositionTypes; },
|
|
353
|
-
RouteType: function () { return RouteType; },
|
|
354
|
-
TableLikeWidgetTypes: function () { return TableLikeWidgetTypes; },
|
|
355
|
-
WidgetTypes: function () { return WidgetTypes2; },
|
|
356
|
-
coreOperations: function () { return coreOperations; },
|
|
357
|
-
isCustomWidget: function () { return isCustomWidget; },
|
|
358
|
-
isCustomWidgetConfiguration: function () { return isCustomWidgetConfiguration; },
|
|
359
|
-
isOperationGroup: function () { return isOperationGroup; },
|
|
360
|
-
isViewNavigationCategory: function () { return isViewNavigationCategory; },
|
|
361
|
-
isViewNavigationGroup: function () { return isViewNavigationGroup; },
|
|
362
|
-
isViewNavigationItem: function () { return isViewNavigationItem; },
|
|
363
|
-
isWidgetFieldBlock: function () { return isWidgetFieldBlock; }
|
|
364
|
-
});
|
|
365
|
-
// src/interfaces/objectMap.ts
|
|
366
|
-
var AppNotificationType = /* @__PURE__ */ (function (AppNotificationType2) {
|
|
367
|
-
AppNotificationType2["success"] = "success";
|
|
368
|
-
AppNotificationType2["info"] = "info";
|
|
369
|
-
AppNotificationType2["warning"] = "warning";
|
|
370
|
-
AppNotificationType2["error"] = "error";
|
|
371
|
-
return AppNotificationType2;
|
|
372
|
-
})(AppNotificationType || {});
|
|
373
|
-
// src/interfaces/router.ts
|
|
374
|
-
import { DrillDownType } from "@cxbox-ui/schema";
|
|
375
|
-
var RouteType = /* @__PURE__ */ (function (RouteType2) {
|
|
376
|
-
RouteType2["screen"] = "screen";
|
|
377
|
-
RouteType2["default"] = "default";
|
|
378
|
-
RouteType2["router"] = "router";
|
|
379
|
-
RouteType2["invalid"] = "invalid";
|
|
380
|
-
RouteType2["unknown"] = "unknown";
|
|
381
|
-
return RouteType2;
|
|
382
|
-
})(RouteType || {});
|
|
383
|
-
// src/interfaces/view.ts
|
|
384
|
-
import { FieldType } from "@cxbox-ui/schema";
|
|
385
|
-
var PendingValidationFailsFormat = /* @__PURE__ */ (function (PendingValidationFailsFormat2) {
|
|
386
|
-
PendingValidationFailsFormat2["old"] = "old";
|
|
387
|
-
PendingValidationFailsFormat2["target"] = "target";
|
|
388
|
-
return PendingValidationFailsFormat2;
|
|
389
|
-
})(PendingValidationFailsFormat || {});
|
|
390
|
-
var ApplicationErrorType = /* @__PURE__ */ (function (ApplicationErrorType2) {
|
|
391
|
-
ApplicationErrorType2[ApplicationErrorType2["BusinessError"] = 0] = "BusinessError";
|
|
392
|
-
ApplicationErrorType2[ApplicationErrorType2["SystemError"] = 1] = "SystemError";
|
|
393
|
-
ApplicationErrorType2[ApplicationErrorType2["NetworkError"] = 2] = "NetworkError";
|
|
394
|
-
return ApplicationErrorType2;
|
|
395
|
-
})(ApplicationErrorType || {});
|
|
396
|
-
// src/interfaces/widget.ts
|
|
397
|
-
import { WidgetTypes } from "@cxbox-ui/schema";
|
|
398
|
-
import { WidgetTypes as WidgetTypes2, PositionTypes } from "@cxbox-ui/schema";
|
|
399
|
-
var TableLikeWidgetTypes = [
|
|
400
|
-
WidgetTypes.List,
|
|
401
|
-
WidgetTypes.DataGrid,
|
|
402
|
-
WidgetTypes.AssocListPopup,
|
|
403
|
-
WidgetTypes.PickListPopup,
|
|
404
|
-
WidgetTypes.FlatTree,
|
|
405
|
-
WidgetTypes.FlatTreePopup
|
|
406
|
-
];
|
|
407
|
-
var PopupWidgetTypes = [WidgetTypes.PickListPopup, WidgetTypes.AssocListPopup, WidgetTypes.FlatTreePopup];
|
|
408
|
-
function isCustomWidget(descriptor) {
|
|
409
|
-
return !!descriptor && !("component" in descriptor);
|
|
410
|
-
}
|
|
411
|
-
function isCustomWidgetConfiguration(descriptor) {
|
|
412
|
-
return descriptor && "component" in descriptor;
|
|
413
|
-
}
|
|
414
|
-
function isWidgetFieldBlock(item) {
|
|
415
|
-
return !!item && "blockId" in item;
|
|
416
|
-
}
|
|
417
|
-
var PaginationMode = /* @__PURE__ */ (function (PaginationMode2) {
|
|
418
|
-
PaginationMode2["page"] = "page";
|
|
419
|
-
PaginationMode2["loadMore"] = "loadMore";
|
|
420
|
-
return PaginationMode2;
|
|
421
|
-
})(PaginationMode || {});
|
|
422
|
-
// src/interfaces/operation.ts
|
|
423
|
-
import { OperationTypeCrud } from "@cxbox-ui/schema";
|
|
424
|
-
var coreOperations = [
|
|
425
|
-
OperationTypeCrud.create,
|
|
426
|
-
OperationTypeCrud.save,
|
|
427
|
-
OperationTypeCrud.delete,
|
|
428
|
-
OperationTypeCrud.associate,
|
|
429
|
-
OperationTypeCrud.cancelCreate,
|
|
430
|
-
OperationTypeCrud.fileUpload
|
|
431
|
-
];
|
|
432
|
-
function isOperationGroup(operation) {
|
|
433
|
-
return Array.isArray(operation.actions);
|
|
434
|
-
}
|
|
435
|
-
var OperationPreInvokeType = /* @__PURE__ */ (function (OperationPreInvokeType2) {
|
|
436
|
-
OperationPreInvokeType2["confirm"] = "confirm";
|
|
437
|
-
OperationPreInvokeType2["info"] = "info";
|
|
438
|
-
OperationPreInvokeType2["error"] = "error";
|
|
439
|
-
return OperationPreInvokeType2;
|
|
440
|
-
})(OperationPreInvokeType || {});
|
|
441
|
-
var OperationPostInvokeType = /* @__PURE__ */ (function (OperationPostInvokeType2) {
|
|
442
|
-
OperationPostInvokeType2["refreshBC"] = "refreshBC";
|
|
443
|
-
OperationPostInvokeType2["downloadFile"] = "downloadFile";
|
|
444
|
-
OperationPostInvokeType2["downloadFileByUrl"] = "downloadFileByUrl";
|
|
445
|
-
OperationPostInvokeType2["drillDown"] = "drillDown";
|
|
446
|
-
OperationPostInvokeType2["openPickList"] = "openPickList";
|
|
447
|
-
OperationPostInvokeType2["showMessage"] = "showMessage";
|
|
448
|
-
OperationPostInvokeType2["postDelete"] = "postDelete";
|
|
449
|
-
return OperationPostInvokeType2;
|
|
450
|
-
})(OperationPostInvokeType || {});
|
|
451
|
-
var OperationPostInvokeConfirmType = /* @__PURE__ */ (function (OperationPostInvokeConfirmType2) {
|
|
452
|
-
OperationPostInvokeConfirmType2["confirm"] = "confirm";
|
|
453
|
-
OperationPostInvokeConfirmType2["confirmText"] = "confirmText";
|
|
454
|
-
return OperationPostInvokeConfirmType2;
|
|
455
|
-
})(OperationPostInvokeConfirmType || {});
|
|
456
|
-
// src/interfaces/filters.ts
|
|
457
|
-
var FilterType = /* @__PURE__ */ (function (FilterType2) {
|
|
458
|
-
FilterType2["range"] = "range";
|
|
459
|
-
FilterType2["equals"] = "equals";
|
|
460
|
-
FilterType2["greaterThan"] = "greaterThan";
|
|
461
|
-
FilterType2["lessThan"] = "lessThan";
|
|
462
|
-
FilterType2["greaterOrEqualThan"] = "greaterOrEqualThan";
|
|
463
|
-
FilterType2["lessOrEqualThan"] = "lessOrEqualThan";
|
|
464
|
-
FilterType2["contains"] = "contains";
|
|
465
|
-
FilterType2["specified"] = "specified";
|
|
466
|
-
FilterType2["specifiedBooleanSql"] = "specifiedBooleanSql";
|
|
467
|
-
FilterType2["equalsOneOf"] = "equalsOneOf";
|
|
468
|
-
FilterType2["containsOneOf"] = "containsOneOf";
|
|
469
|
-
return FilterType2;
|
|
470
|
-
})(FilterType || {});
|
|
471
|
-
// src/interfaces/navigation.ts
|
|
472
|
-
function isViewNavigationItem(item) {
|
|
473
|
-
return !!item && "viewName" in item;
|
|
474
|
-
}
|
|
475
|
-
function isViewNavigationCategory(item) {
|
|
476
|
-
return !!item && "categoryName" in item;
|
|
477
|
-
}
|
|
478
|
-
function isViewNavigationGroup(item) {
|
|
479
|
-
return !!item && "child" in item && !("categoryName" in item);
|
|
480
|
-
}
|
|
481
|
-
// src/reducers/router.ts
|
|
482
|
-
var initialRouterState = { type: "default" /* default */, path: "/", search: "", params: null, screenName: null };
|
|
483
|
-
var createRouterReducerBuilderManager = function (initialState) { return new ReducerBuilderManager().addCase(changeLocation, function (state, action) {
|
|
484
|
-
return action.payload.location;
|
|
485
|
-
}); };
|
|
486
|
-
// src/reducers/screen.ts
|
|
487
|
-
import { OperationTypeCrud as OperationTypeCrud3 } from "@cxbox-ui/schema";
|
|
488
|
-
// src/utils/index.ts
|
|
489
|
-
var utils_exports = {};
|
|
490
|
-
__export(utils_exports, {
|
|
491
|
-
addTailControlSequences: function () { return addTailControlSequences; },
|
|
492
|
-
applyParams: function () { return applyParams; },
|
|
493
|
-
applyRawParams: function () { return applyRawParams; },
|
|
494
|
-
assignTreeLinks: function () { return assignTreeLinks; },
|
|
495
|
-
breadthFirstSearch: function () { return breadthFirstSearch; },
|
|
496
|
-
buildBcUrl: function () { return buildBcUrl; },
|
|
497
|
-
buildSearchResultTree: function () { return buildSearchResultTree; },
|
|
498
|
-
buildUrl: function () { return buildUrl; },
|
|
499
|
-
checkShowCondition: function () { return checkShowCondition; },
|
|
500
|
-
createApiError: function () { return createApiError; },
|
|
501
|
-
createApiErrorObservable: function () { return createApiErrorObservable; },
|
|
502
|
-
defaultBuildURL: function () { return defaultBuildURL; },
|
|
503
|
-
defaultParseURL: function () { return defaultParseURL; },
|
|
504
|
-
deleteUndefinedFromObject: function () { return deleteUndefinedFromObject; },
|
|
505
|
-
escapedSrc: function () { return escapedSrc; },
|
|
506
|
-
flattenOperations: function () { return flattenOperations; },
|
|
507
|
-
getBcChildren: function () { return getBcChildren; },
|
|
508
|
-
getDescendants: function () { return getDescendants; },
|
|
509
|
-
getFieldTitle: function () { return getFieldTitle; },
|
|
510
|
-
getFilterType: function () { return getFilterType; },
|
|
511
|
-
getFilters: function () { return getFilters; },
|
|
512
|
-
getRouteFromString: function () { return getRouteFromString; },
|
|
513
|
-
getSorters: function () { return getSorters; },
|
|
514
|
-
getTemplate: function () { return getTemplate; },
|
|
515
|
-
makeRelativeUrl: function () { return makeRelativeUrl; },
|
|
516
|
-
matchOperationRole: function () { return matchOperationRole; },
|
|
517
|
-
parseBcCursors: function () { return parseBcCursors; },
|
|
518
|
-
parseFilters: function () { return parseFilters; },
|
|
519
|
-
parseSorters: function () { return parseSorters; },
|
|
520
|
-
presort: function () { return presort; },
|
|
521
|
-
splitBcUrl: function () { return splitBcUrl; },
|
|
522
|
-
splitIntoTokens: function () { return splitIntoTokens; }
|
|
523
|
-
});
|
|
524
|
-
// src/utils/api.ts
|
|
525
|
-
function dropEmptyOrWrongParams(qso) {
|
|
526
|
-
var result = __assign({}, qso);
|
|
527
|
-
return Object.keys(result).reduce(function (prev, paramKey) {
|
|
528
|
-
if (!prev[paramKey] && typeof prev[paramKey] !== "number") {
|
|
529
|
-
delete prev[paramKey];
|
|
530
|
-
}
|
|
531
|
-
return prev;
|
|
532
|
-
}, result);
|
|
533
|
-
}
|
|
534
|
-
function addTailControlSequences(url) {
|
|
535
|
-
return !url.includes("?") ? url + "?" : url + "&";
|
|
536
|
-
}
|
|
537
|
-
function applyParams(url, qso) {
|
|
538
|
-
if (!qso) {
|
|
539
|
-
return url;
|
|
540
|
-
}
|
|
541
|
-
return applyRawParams(url, dropEmptyOrWrongParams(qso));
|
|
542
|
-
}
|
|
543
|
-
function applyRawParams(url, qso) {
|
|
544
|
-
if (!qso) {
|
|
545
|
-
return url;
|
|
546
|
-
}
|
|
547
|
-
var result = new URLSearchParams(qso).toString();
|
|
548
|
-
return "".concat(addTailControlSequences(url)).concat(result && "".concat(result));
|
|
549
|
-
}
|
|
550
|
-
// src/utils/apiError.ts
|
|
551
|
-
import { actions } from "@cxbox-ui/core";
|
|
552
|
-
import { EMPTY, of } from "rxjs";
|
|
553
|
-
function createApiError(error, context) {
|
|
554
|
-
if (context === void 0) { context = { widgetName: "unknown" }; }
|
|
555
|
-
if (!error.isAxiosError)
|
|
556
|
-
return void 0;
|
|
557
|
-
return actions.apiError({ error: error, callContext: context });
|
|
558
|
-
}
|
|
559
|
-
function createApiErrorObservable(error, context) {
|
|
560
|
-
var apiError2 = createApiError(error, context);
|
|
561
|
-
return apiError2 ? of(apiError2) : EMPTY;
|
|
562
|
-
}
|
|
563
|
-
// src/utils/strings.ts
|
|
564
|
-
function getTemplate(literals) {
|
|
565
|
-
var placeholders = [];
|
|
566
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
567
|
-
placeholders[_i - 1] = arguments[_i];
|
|
568
|
-
}
|
|
569
|
-
var result = "";
|
|
570
|
-
for (var i = 0; i < placeholders.length; i++) {
|
|
571
|
-
result += literals[i];
|
|
572
|
-
result += "${" + i + "}";
|
|
573
|
-
}
|
|
574
|
-
result += literals[literals.length - 1];
|
|
575
|
-
return result;
|
|
576
|
-
}
|
|
577
|
-
function buildBcUrl(bcName, includeSelf, state) {
|
|
578
|
-
var _a;
|
|
579
|
-
if (includeSelf === void 0) { includeSelf = false; }
|
|
580
|
-
var bcMap = state.screen.bo.bc;
|
|
581
|
-
var bc = bcMap[bcName];
|
|
582
|
-
if (!bc) {
|
|
583
|
-
return null;
|
|
584
|
-
}
|
|
585
|
-
var url = [bc.cursor && includeSelf ? "".concat(bc.name, "/").concat(bc.cursor) : bc.name];
|
|
586
|
-
var nextBc = bc;
|
|
587
|
-
while (nextBc.parentName) {
|
|
588
|
-
nextBc = bcMap[nextBc.parentName];
|
|
589
|
-
url.push("".concat(nextBc.name, "/").concat((_a = nextBc.cursor) !== null && _a !== void 0 ? _a : null));
|
|
590
|
-
}
|
|
591
|
-
var bcUrl = url.reverse().join("/");
|
|
592
|
-
return bcUrl;
|
|
593
|
-
}
|
|
594
|
-
function splitBcUrl(bcUrl) {
|
|
595
|
-
var bcUrlItems = bcUrl.split("/");
|
|
596
|
-
var result = [];
|
|
597
|
-
for (var i = 0; i < bcUrlItems.length; i += 2) {
|
|
598
|
-
var bcName = bcUrlItems[i];
|
|
599
|
-
var bcCursor = bcUrlItems[i + 1];
|
|
600
|
-
var includeSelf = bcName && bcCursor;
|
|
601
|
-
result.push(includeSelf ? "".concat(bcName, "/").concat(bcCursor) : bcName);
|
|
602
|
-
}
|
|
603
|
-
return result;
|
|
604
|
-
}
|
|
605
|
-
var TAG_PLACEHOLDER = /\${([^{}]+)}/g;
|
|
606
|
-
var formatString = function (templatedString, item) {
|
|
607
|
-
if (!templatedString) {
|
|
608
|
-
return "";
|
|
609
|
-
}
|
|
610
|
-
return templatedString.replace(TAG_PLACEHOLDER, function (token, varName) {
|
|
611
|
-
var _a = varName.split(":"), key = _a[0], defaultValue = _a[1];
|
|
612
|
-
var result = String((item === null || item === void 0 ? void 0 : item[key]) || defaultValue || "");
|
|
613
|
-
return result;
|
|
614
|
-
});
|
|
615
|
-
};
|
|
616
|
-
var isTemplate = function (templatedString) {
|
|
617
|
-
if (!templatedString) {
|
|
618
|
-
return false;
|
|
619
|
-
}
|
|
620
|
-
return templatedString.match(TAG_PLACEHOLDER) !== null;
|
|
621
|
-
};
|
|
622
|
-
function getFieldTitle(title, dataItem) {
|
|
623
|
-
if (!isTemplate(title)) {
|
|
624
|
-
return title;
|
|
625
|
-
}
|
|
626
|
-
else {
|
|
627
|
-
return formatString(title, dataItem);
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
function splitIntoTokens(source, search) {
|
|
631
|
-
var tokenizer = search instanceof RegExp ? search : escapedSrc(search);
|
|
632
|
-
return source.split(tokenizer);
|
|
633
|
-
}
|
|
634
|
-
function escapedSrc(str) {
|
|
635
|
-
return new RegExp("(".concat(str === null || str === void 0 ? void 0 : str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), ")"), "gi");
|
|
636
|
-
}
|
|
637
|
-
// src/utils/history.ts
|
|
638
|
-
function makeRelativeUrl(absoluteUrl) {
|
|
639
|
-
return absoluteUrl.startsWith("/") ? absoluteUrl : "/".concat(absoluteUrl);
|
|
640
|
-
}
|
|
641
|
-
function parseBcCursors(bcPath) {
|
|
642
|
-
if (!bcPath) {
|
|
643
|
-
return null;
|
|
644
|
-
}
|
|
645
|
-
var cursors = {};
|
|
646
|
-
var tokens = bcPath.split("/");
|
|
647
|
-
for (var i = 0; i < tokens.length; i = i + 2) {
|
|
648
|
-
if (tokens[i + 1]) {
|
|
649
|
-
cursors[tokens[i]] = tokens[i + 1];
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
return cursors;
|
|
653
|
-
}
|
|
654
|
-
function buildUrl(literals) {
|
|
655
|
-
var placeholders = [];
|
|
656
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
657
|
-
placeholders[_i - 1] = arguments[_i];
|
|
658
|
-
}
|
|
659
|
-
var result = "";
|
|
660
|
-
for (var i = 0; i < placeholders.length; i++) {
|
|
661
|
-
result += literals[i];
|
|
662
|
-
var placeholder = placeholders[i];
|
|
663
|
-
if (typeof placeholder === "number") {
|
|
664
|
-
result += placeholder.toString(10);
|
|
665
|
-
}
|
|
666
|
-
else if (typeof placeholder === "string") {
|
|
667
|
-
result += encodeURIComponent(placeholder);
|
|
668
|
-
}
|
|
669
|
-
else {
|
|
670
|
-
var template = getTemplate(literals, placeholders);
|
|
671
|
-
throw new Error("\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0442\u0438\u043F \u043F\u043E\u0434\u0441\u0442\u0430\u043D\u043E\u0432\u043E\u0447\u043D\u043E\u0433\u043E \u0437\u043D\u0430\u043A\u0430 \u0432 ".concat(template, ", index: ").concat(i, ", value: ").concat(JSON.stringify(placeholder)));
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
result += literals[literals.length - 1];
|
|
675
|
-
return result;
|
|
676
|
-
}
|
|
677
|
-
function defaultParseURL(url) {
|
|
678
|
-
var path = url.pathname;
|
|
679
|
-
if (path.startsWith("/")) {
|
|
680
|
-
path = path.substring(1);
|
|
681
|
-
}
|
|
682
|
-
if (path.endsWith("/")) {
|
|
683
|
-
path = path.substring(0, path.length - 1);
|
|
684
|
-
}
|
|
685
|
-
if ((path === null || path === void 0 ? void 0 : path.includes("&")) && !(path === null || path === void 0 ? void 0 : path.includes("?"))) {
|
|
686
|
-
path = path.substring(0, path.indexOf("&"));
|
|
687
|
-
}
|
|
688
|
-
var params = {};
|
|
689
|
-
url.searchParams.forEach(function (value, key) { return params[key] = value; });
|
|
690
|
-
var tokens = path.split("/").map(decodeURIComponent);
|
|
691
|
-
var type = "unknown" /* unknown */;
|
|
692
|
-
var screenName = null;
|
|
693
|
-
var viewName = null;
|
|
694
|
-
var bcPath = null;
|
|
695
|
-
if (tokens.length > 0 && tokens[0] === "router") {
|
|
696
|
-
type = "router" /* router */;
|
|
697
|
-
}
|
|
698
|
-
else if (tokens.length === 1) {
|
|
699
|
-
type = "default" /* default */;
|
|
700
|
-
}
|
|
701
|
-
else if (tokens.length >= 2 && tokens[0] === "screen") {
|
|
702
|
-
var bcIndex = 2;
|
|
703
|
-
type = "screen" /* screen */;
|
|
704
|
-
screenName = tokens[1];
|
|
705
|
-
if (tokens.length >= 4 && tokens[2] === "view") {
|
|
706
|
-
bcIndex += 2;
|
|
707
|
-
viewName = tokens[3];
|
|
708
|
-
}
|
|
709
|
-
bcPath = tokens.slice(bcIndex).map(encodeURIComponent).join("/");
|
|
710
|
-
}
|
|
711
|
-
return {
|
|
712
|
-
type: type,
|
|
713
|
-
path: path.length !== 0 && !path.startsWith("/") ? "/".concat(path) : path,
|
|
714
|
-
search: url.search,
|
|
715
|
-
params: params,
|
|
716
|
-
screenName: screenName,
|
|
717
|
-
viewName: viewName,
|
|
718
|
-
bcPath: bcPath
|
|
719
|
-
};
|
|
720
|
-
}
|
|
721
|
-
function defaultBuildURL(route) {
|
|
722
|
-
return "/screen/".concat(route.screenName, "/view/").concat(route.viewName, "/").concat(route.bcPath);
|
|
723
|
-
}
|
|
724
|
-
var getRouteFromString = function (ulrString) {
|
|
725
|
-
var url = new URL(ulrString, window.location.origin);
|
|
726
|
-
return defaultParseURL(url);
|
|
727
|
-
};
|
|
728
|
-
// src/utils/filters.ts
|
|
729
|
-
function getFilters(filters) {
|
|
730
|
-
if (!filters || !filters.length) {
|
|
731
|
-
return null;
|
|
732
|
-
}
|
|
733
|
-
var result = {};
|
|
734
|
-
filters.forEach(function (item) {
|
|
735
|
-
if (item.type === "range" /* range */) {
|
|
736
|
-
var values = item.value;
|
|
737
|
-
if (values[0]) {
|
|
738
|
-
result["".concat(item.fieldName, ".").concat("greaterOrEqualThan" /* greaterOrEqualThan */)] = String(values[0]);
|
|
739
|
-
}
|
|
740
|
-
if (values[1]) {
|
|
741
|
-
result["".concat(item.fieldName, ".").concat("lessOrEqualThan" /* lessOrEqualThan */)] = String(values[1]);
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
else {
|
|
745
|
-
var value = String(item.value);
|
|
746
|
-
if (Array.isArray(item.value)) {
|
|
747
|
-
var values = item.value.map(function (val) { return "\"".concat(val, "\""); });
|
|
748
|
-
value = "[".concat(values, "]");
|
|
749
|
-
}
|
|
750
|
-
result["".concat(item.fieldName, ".").concat(item.type)] = value;
|
|
751
|
-
}
|
|
752
|
-
});
|
|
753
|
-
return result;
|
|
754
|
-
}
|
|
755
|
-
function getSorters(sorters) {
|
|
756
|
-
if (!sorters || !sorters.length) {
|
|
757
|
-
return null;
|
|
758
|
-
}
|
|
759
|
-
var result = {};
|
|
760
|
-
sorters.forEach(function (item, index) {
|
|
761
|
-
result["_sort.".concat(index, ".").concat(item.direction)] = item.fieldName;
|
|
762
|
-
});
|
|
763
|
-
return result;
|
|
764
|
-
}
|
|
765
|
-
function parseFilters(defaultFilters) {
|
|
766
|
-
if (defaultFilters === void 0) { defaultFilters = ""; }
|
|
767
|
-
var result = [];
|
|
768
|
-
var urlParams = new URLSearchParams(defaultFilters);
|
|
769
|
-
var paramKeys = Object.keys(Object.fromEntries(urlParams));
|
|
770
|
-
paramKeys.forEach(function (param) {
|
|
771
|
-
var _a = param.split("."), fieldName = _a[0], type = _a[1];
|
|
772
|
-
if (fieldName && type && urlParams.get(param)) {
|
|
773
|
-
var value = urlParams.getAll(param);
|
|
774
|
-
if (type === "containsOneOf" /* containsOneOf */ || type === "equalsOneOf" /* equalsOneOf */) {
|
|
775
|
-
try {
|
|
776
|
-
if (value.length === 1) {
|
|
777
|
-
value = JSON.parse(value[0]);
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
|
-
catch (e) {
|
|
781
|
-
console.warn(e);
|
|
782
|
-
}
|
|
783
|
-
value = Array.isArray(value) ? value : [];
|
|
784
|
-
}
|
|
785
|
-
else {
|
|
786
|
-
value = Array.isArray(value) ? value[0] : value;
|
|
787
|
-
}
|
|
788
|
-
result.push({
|
|
789
|
-
fieldName: fieldName,
|
|
790
|
-
type: type,
|
|
791
|
-
value: value
|
|
792
|
-
});
|
|
793
|
-
}
|
|
794
|
-
});
|
|
795
|
-
return result.length ? result : null;
|
|
796
|
-
}
|
|
797
|
-
function parseSorters(sorters) {
|
|
798
|
-
if (!sorters || !sorters.length) {
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
|
-
var result = [];
|
|
802
|
-
var dictionary = new URLSearchParams(sorters);
|
|
803
|
-
Array.from(dictionary.entries()).map(function (_a) {
|
|
804
|
-
var sort = _a[0], fieldKey = _a[1];
|
|
805
|
-
var _b = sort.split(".").slice(1), order = _b[0], direction = _b[1];
|
|
806
|
-
return { fieldName: fieldKey, order: Number.parseInt(order, 10), direction: direction };
|
|
807
|
-
}).sort(function (a, b) { return a.order - b.order; }).forEach(function (item) {
|
|
808
|
-
result.push({ fieldName: item.fieldName, direction: item.direction });
|
|
809
|
-
});
|
|
810
|
-
return result;
|
|
811
|
-
}
|
|
812
|
-
function getFilterType(fieldType) {
|
|
813
|
-
switch (fieldType) {
|
|
814
|
-
case FieldType.dictionary: {
|
|
815
|
-
return "equalsOneOf" /* equalsOneOf */;
|
|
816
|
-
}
|
|
817
|
-
case FieldType.checkbox: {
|
|
818
|
-
return "specified" /* specified */;
|
|
819
|
-
}
|
|
820
|
-
case FieldType.input:
|
|
821
|
-
case FieldType.text: {
|
|
822
|
-
return "contains" /* contains */;
|
|
823
|
-
}
|
|
824
|
-
default:
|
|
825
|
-
return "equals" /* equals */;
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
// src/utils/operations.ts
|
|
829
|
-
function flattenOperations(operations) {
|
|
830
|
-
var result = [];
|
|
831
|
-
operations === null || operations === void 0 ? void 0 : operations.forEach(function (item) {
|
|
832
|
-
if (isOperationGroup(item)) {
|
|
833
|
-
var currentOperation = item;
|
|
834
|
-
currentOperation.actions.forEach(function (OperationItem) {
|
|
835
|
-
result.push(OperationItem);
|
|
836
|
-
});
|
|
837
|
-
}
|
|
838
|
-
else {
|
|
839
|
-
result.push(item);
|
|
840
|
-
}
|
|
841
|
-
});
|
|
842
|
-
return result;
|
|
843
|
-
}
|
|
844
|
-
function matchOperationRole(role, payload, store) {
|
|
845
|
-
var _a, _b;
|
|
846
|
-
if (payload.operationType === role) {
|
|
847
|
-
return true;
|
|
848
|
-
}
|
|
849
|
-
var bcUrl = buildBcUrl(payload.bcName, true, store);
|
|
850
|
-
var operations = flattenOperations((_b = (_a = store.view.rowMeta[payload.bcName]) === null || _a === void 0 ? void 0 : _a[bcUrl]) === null || _b === void 0 ? void 0 : _b.actions);
|
|
851
|
-
var operation = operations.find(function (item) { return item.type === payload.operationType; });
|
|
852
|
-
if (role === "none") {
|
|
853
|
-
return coreOperations.every(function (item) { return item !== payload.operationType && item !== (operation === null || operation === void 0 ? void 0 : operation.actionRole); });
|
|
854
|
-
}
|
|
855
|
-
return (operation === null || operation === void 0 ? void 0 : operation.actionRole) === role;
|
|
856
|
-
}
|
|
857
|
-
// src/utils/bc.ts
|
|
858
|
-
function getBcChildren(originBcName, widgets, bcMap) {
|
|
859
|
-
var childrenBcMap = {};
|
|
860
|
-
widgets.filter(function (widget) { return widget.bcName; }).forEach(function (widget) {
|
|
861
|
-
var widgetBcList = [];
|
|
862
|
-
widgetBcList.push(widget.bcName);
|
|
863
|
-
var parentName = bcMap[widget.bcName].parentName;
|
|
864
|
-
while (parentName) {
|
|
865
|
-
widgetBcList.push(parentName);
|
|
866
|
-
parentName = bcMap[parentName].parentName;
|
|
867
|
-
}
|
|
868
|
-
widgetBcList.filter(function (expectedBcName) { return bcMap[expectedBcName].parentName === originBcName; }).forEach(function (expectedBcName) {
|
|
869
|
-
childrenBcMap[expectedBcName] = __spreadArray(__spreadArray([], childrenBcMap[expectedBcName] || [], true), [widget.name], false);
|
|
870
|
-
});
|
|
871
|
-
});
|
|
872
|
-
widgets.filter(function (item) { var _a; return (_a = item.options) === null || _a === void 0 ? void 0 : _a.hierarchy; }).forEach(function (widget) {
|
|
873
|
-
var _a = getHierarchyChildBc(originBcName, widget), hierarchyBcName = _a[0], hierarchyWidgetName = _a[1];
|
|
874
|
-
if (hierarchyBcName) {
|
|
875
|
-
childrenBcMap[hierarchyBcName] = __spreadArray(__spreadArray([], childrenBcMap[hierarchyBcName] || [], true), [hierarchyWidgetName], false);
|
|
876
|
-
}
|
|
877
|
-
});
|
|
878
|
-
return childrenBcMap;
|
|
879
|
-
}
|
|
880
|
-
function getHierarchyChildBc(originBcName, hierarchyWidget) {
|
|
881
|
-
var _a, _b;
|
|
882
|
-
var nestedBcNames = (_b = (_a = hierarchyWidget === null || hierarchyWidget === void 0 ? void 0 : hierarchyWidget.options) === null || _a === void 0 ? void 0 : _a.hierarchy) === null || _b === void 0 ? void 0 : _b.map(function (nestedItem) { return nestedItem.bcName; });
|
|
883
|
-
if (originBcName !== hierarchyWidget.bcName && !(nestedBcNames === null || nestedBcNames === void 0 ? void 0 : nestedBcNames.includes(originBcName))) {
|
|
884
|
-
return [];
|
|
885
|
-
}
|
|
886
|
-
var childHierarchyBcIndex = nestedBcNames === null || nestedBcNames === void 0 ? void 0 : nestedBcNames.findIndex(function (item) { return item === originBcName; });
|
|
887
|
-
var childHierarchyBcName = nestedBcNames === null || nestedBcNames === void 0 ? void 0 : nestedBcNames[childHierarchyBcIndex + 1];
|
|
888
|
-
return [childHierarchyBcName, hierarchyWidget.name];
|
|
889
|
-
}
|
|
890
|
-
function checkShowCondition(condition, cursor, data, pendingDataChanges) {
|
|
891
|
-
var _a, _b;
|
|
892
|
-
var _c = condition || {}, bcName = _c.bcName, isDefault = _c.isDefault, params = _c.params;
|
|
893
|
-
var emptyCondition = !condition || Array.isArray(condition);
|
|
894
|
-
if (emptyCondition || isDefault) {
|
|
895
|
-
return true;
|
|
896
|
-
}
|
|
897
|
-
var record = cursor && (data === null || data === void 0 ? void 0 : data.find(function (item) { return item.id === cursor; }));
|
|
898
|
-
if (!record) {
|
|
899
|
-
return false;
|
|
900
|
-
}
|
|
901
|
-
var actualValue = record === null || record === void 0 ? void 0 : record[params === null || params === void 0 ? void 0 : params.fieldKey];
|
|
902
|
-
var pendingValue = (_b = (_a = pendingDataChanges === null || pendingDataChanges === void 0 ? void 0 : pendingDataChanges[bcName]) === null || _a === void 0 ? void 0 : _a[cursor]) === null || _b === void 0 ? void 0 : _b[params === null || params === void 0 ? void 0 : params.fieldKey];
|
|
903
|
-
return pendingValue !== void 0 ? pendingValue === (params === null || params === void 0 ? void 0 : params.value) : actualValue === (params === null || params === void 0 ? void 0 : params.value);
|
|
904
|
-
}
|
|
905
|
-
// src/utils/tree.ts
|
|
906
|
-
function assignTreeLinks(flat) {
|
|
907
|
-
var result = flat.map(function (item) { return (__assign({}, item)); });
|
|
908
|
-
var map12 = {};
|
|
909
|
-
var orphans = [];
|
|
910
|
-
result.forEach(function (item) {
|
|
911
|
-
var _a, _b;
|
|
912
|
-
if (!item.parentId || item.parentId === "0") {
|
|
913
|
-
return;
|
|
914
|
-
}
|
|
915
|
-
var parentIndex = map12[item.parentId];
|
|
916
|
-
if (typeof parentIndex !== "number") {
|
|
917
|
-
parentIndex = flat.findIndex(function (el) { return el.id === item.parentId; });
|
|
918
|
-
map12[item.parentId] = parentIndex;
|
|
919
|
-
}
|
|
920
|
-
if (parentIndex === -1) {
|
|
921
|
-
orphans.push(item.parentId);
|
|
922
|
-
console.warn("Record with [id] = ".concat(item.id, " has [parentId] = ").concat(item.parentId, ", but no matching parent record exist. Check the service for this BC."));
|
|
923
|
-
return;
|
|
924
|
-
}
|
|
925
|
-
item.parent = result[parentIndex];
|
|
926
|
-
if (!result[parentIndex].children) {
|
|
927
|
-
result[parentIndex].children = [item];
|
|
928
|
-
}
|
|
929
|
-
else {
|
|
930
|
-
(_b = (_a = result[parentIndex]) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.push(item);
|
|
931
|
-
}
|
|
932
|
-
});
|
|
933
|
-
if (orphans.length) {
|
|
934
|
-
return result.filter(function (item) { return !orphans.includes(item.parentId); });
|
|
935
|
-
}
|
|
936
|
-
return result;
|
|
937
|
-
}
|
|
938
|
-
function getDescendants(nodes, result) {
|
|
939
|
-
nodes.forEach(function (child) {
|
|
940
|
-
result.push(child.id);
|
|
941
|
-
if (child.children) {
|
|
942
|
-
getDescendants(child.children, result);
|
|
943
|
-
}
|
|
944
|
-
});
|
|
945
|
-
}
|
|
946
|
-
function buildSearchResultTree(nodes, matchingNodes) {
|
|
947
|
-
var result = {};
|
|
948
|
-
nodes.forEach(function (item) {
|
|
949
|
-
var _a;
|
|
950
|
-
if (!matchingNodes.includes(item.id)) {
|
|
951
|
-
return;
|
|
952
|
-
}
|
|
953
|
-
var parent = item.parent;
|
|
954
|
-
while (parent) {
|
|
955
|
-
result[parent.id] = true;
|
|
956
|
-
parent = parent.parent;
|
|
957
|
-
}
|
|
958
|
-
result[item.id] = true;
|
|
959
|
-
(_a = item.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
|
|
960
|
-
result[child.id] = true;
|
|
961
|
-
});
|
|
962
|
-
});
|
|
963
|
-
return nodes.filter(function (item) { return result[item.id] === true; });
|
|
964
|
-
}
|
|
965
|
-
function presort(data) {
|
|
966
|
-
var result = [];
|
|
967
|
-
data.filter(function (item) { return item.level === 1; }).forEach(function (item) {
|
|
968
|
-
result.push(item.id);
|
|
969
|
-
if (item.children) {
|
|
970
|
-
getDescendants(item.children, result);
|
|
971
|
-
}
|
|
972
|
-
});
|
|
973
|
-
return result.map(function (id) { return data.find(function (match) { return match.id === id; }); });
|
|
974
|
-
}
|
|
975
|
-
// src/utils/breadthFirst.ts
|
|
976
|
-
function breadthFirstSearch(root, predicate, depth, childrenProperty) {
|
|
977
|
-
if (depth === void 0) { depth = 1; }
|
|
978
|
-
if (childrenProperty === void 0) { childrenProperty = "child"; }
|
|
979
|
-
var rootMatch = predicate(root) && root;
|
|
980
|
-
var rootChildren = root[childrenProperty];
|
|
981
|
-
if (!rootMatch && !rootChildren) {
|
|
982
|
-
return null;
|
|
983
|
-
}
|
|
984
|
-
if (rootMatch) {
|
|
985
|
-
return { node: rootMatch, depth: depth };
|
|
986
|
-
}
|
|
987
|
-
var simpleLeaf = rootChildren.filter(function (item) { return !item[childrenProperty]; }).find(function (item) { return predicate(item); });
|
|
988
|
-
if (simpleLeaf) {
|
|
989
|
-
return { node: simpleLeaf, depth: depth + 1 };
|
|
990
|
-
}
|
|
991
|
-
var resultDepth = depth;
|
|
992
|
-
rootChildren.some(function (item) {
|
|
993
|
-
var search = breadthFirstSearch(item, predicate, resultDepth + 1, childrenProperty !== null && childrenProperty !== void 0 ? childrenProperty : "child");
|
|
994
|
-
simpleLeaf = search === null || search === void 0 ? void 0 : search.node;
|
|
995
|
-
resultDepth = search === null || search === void 0 ? void 0 : search.depth;
|
|
996
|
-
return search === null || search === void 0 ? void 0 : search.node;
|
|
997
|
-
});
|
|
998
|
-
return simpleLeaf ? { node: simpleLeaf, depth: resultDepth } : null;
|
|
999
|
-
}
|
|
1000
|
-
// src/utils/deleteUndefinedFromObject.ts
|
|
1001
|
-
function deleteUndefinedFromObject(obj) {
|
|
1002
|
-
Object.keys(obj).forEach(function (key) {
|
|
1003
|
-
if (obj[key] === void 0) {
|
|
1004
|
-
delete obj[key];
|
|
1005
|
-
}
|
|
1006
|
-
});
|
|
1007
|
-
}
|
|
1008
|
-
// src/reducers/screen.ts
|
|
1009
|
-
var initialScreenState = {
|
|
1010
|
-
screenName: "",
|
|
1011
|
-
bo: { activeBcName: "", bc: {} },
|
|
1012
|
-
cachedBc: {},
|
|
1013
|
-
views: [],
|
|
1014
|
-
primaryView: "",
|
|
1015
|
-
filters: {},
|
|
1016
|
-
sorters: {}
|
|
1017
|
-
};
|
|
1018
|
-
var operationsHandledLocally = [OperationTypeCrud3.associate, OperationTypeCrud3.fileUpload];
|
|
1019
|
-
var createScreenReducerBuilderManager = function (initialState) { return new ReducerBuilderManager().addCase(selectScreen, function (state, action) {
|
|
1020
|
-
var _a, _b, _c, _d, _e;
|
|
1021
|
-
var bcDictionary = {};
|
|
1022
|
-
var bcSorters = {};
|
|
1023
|
-
var bcFilters = {};
|
|
1024
|
-
(_a = action.payload.screen.meta) === null || _a === void 0 ? void 0 : _a.bo.bc.forEach(function (item) {
|
|
1025
|
-
bcDictionary[item.name] = item;
|
|
1026
|
-
var sorter = parseSorters(item.defaultSort);
|
|
1027
|
-
var filter56 = parseFilters(item.defaultFilter);
|
|
1028
|
-
if (sorter) {
|
|
1029
|
-
bcSorters[item.name] = sorter;
|
|
1030
|
-
}
|
|
1031
|
-
if (filter56) {
|
|
1032
|
-
bcFilters[item.name] = filter56;
|
|
1033
|
-
}
|
|
1034
|
-
});
|
|
1035
|
-
state.screenName = action.payload.screen.name;
|
|
1036
|
-
state.primaryView = (_c = (_b = action.payload.screen.meta) === null || _b === void 0 ? void 0 : _b.primary) !== null && _c !== void 0 ? _c : state.primaryView;
|
|
1037
|
-
state.views = (_e = (_d = action.payload.screen.meta) === null || _d === void 0 ? void 0 : _d.views) !== null && _e !== void 0 ? _e : state.views;
|
|
1038
|
-
state.bo = { activeBcName: null, bc: bcDictionary };
|
|
1039
|
-
state.sorters = __assign(__assign({}, state.sorters), bcSorters);
|
|
1040
|
-
state.filters = __assign(__assign({}, state.filters), bcFilters);
|
|
1041
|
-
}).addCase(selectScreenFail, function (state, action) {
|
|
1042
|
-
state.screenName = action.payload.screenName;
|
|
1043
|
-
state.views = [];
|
|
1044
|
-
}).addCase(bcFetchDataRequest, function (state, action) {
|
|
1045
|
-
state.bo.bc[action.payload.bcName].loading = true;
|
|
1046
|
-
}).addCase(bcLoadMore, function (state, action) {
|
|
1047
|
-
var _a;
|
|
1048
|
-
var currentBc = state.bo.bc[action.payload.bcName];
|
|
1049
|
-
currentBc.page = ((_a = currentBc.page) !== null && _a !== void 0 ? _a : 1) + 1;
|
|
1050
|
-
currentBc.loading = true;
|
|
1051
|
-
}).addCase(selectView, function (state, action) {
|
|
1052
|
-
var _a;
|
|
1053
|
-
var newBcs = {};
|
|
1054
|
-
Array.from(new Set((_a = action.payload.widgets) === null || _a === void 0 ? void 0 : _a.map(function (widget) { return widget.bcName; }))
|
|
1055
|
-
// БК которые есть на вьюхе
|
|
1056
|
-
).filter(function (bcName) { return state.bo.bc[bcName]; }).forEach(function (bcName) {
|
|
1057
|
-
newBcs[bcName] = __assign(__assign({}, state.bo.bc[bcName]), { page: 1 });
|
|
1058
|
-
});
|
|
1059
|
-
state.bo.bc = __assign(__assign({}, state.bo.bc), newBcs);
|
|
1060
|
-
}).addCase(bcFetchDataSuccess, function (state, action) {
|
|
1061
|
-
var currentBc = state.bo.bc[action.payload.bcName];
|
|
1062
|
-
currentBc.hasNext = action.payload.hasNext;
|
|
1063
|
-
currentBc.loading = false;
|
|
1064
|
-
state.cachedBc[action.payload.bcName] = action.payload.bcUrl;
|
|
1065
|
-
}).addCase(bcFetchDataFail, function (state, action) {
|
|
1066
|
-
var bcName = action.payload.bcName;
|
|
1067
|
-
if (Object.values(state.bo.bc).some(function (bc) { return bc.name === bcName; })) {
|
|
1068
|
-
state.bo.bc[bcName].loading = false;
|
|
1069
|
-
state.cachedBc[bcName] = action.payload.bcUrl;
|
|
1070
|
-
}
|
|
1071
|
-
}).addCase(sendOperation, function (state, action) {
|
|
1072
|
-
if (!operationsHandledLocally.includes(action.payload.operationType)) {
|
|
1073
|
-
state.bo.bc[action.payload.bcName].loading = true;
|
|
1074
|
-
}
|
|
1075
|
-
}).addCase(bcNewDataSuccess, function (state, action) {
|
|
1076
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1077
|
-
state.bo.bc[action.payload.bcName].cursor = action.payload.dataItem.id;
|
|
1078
|
-
state.cachedBc[action.payload.bcName] = action.payload.bcUrl;
|
|
1079
|
-
}).addCase(bcChangeCursors, function (state, action) {
|
|
1080
|
-
var newCursors = {};
|
|
1081
|
-
var newCache = {};
|
|
1082
|
-
Object.entries(action.payload.cursorsMap).forEach(function (entry) {
|
|
1083
|
-
var bcName = entry[0], cursor = entry[1];
|
|
1084
|
-
newCursors[bcName] = __assign(__assign({}, state.bo.bc[bcName]), { cursor: cursor });
|
|
1085
|
-
newCache[bcName] = cursor;
|
|
1086
|
-
});
|
|
1087
|
-
var changedParents = Object.values(newCursors).map(function (bc) { return "".concat(bc.url, "/:id"); });
|
|
1088
|
-
Object.values(state.bo.bc).forEach(function (bc) {
|
|
1089
|
-
if (changedParents.some(function (item) { return bc.url.includes(item); })) {
|
|
1090
|
-
newCursors[bc.name] = __assign(__assign({}, state.bo.bc[bc.name]), { cursor: null });
|
|
1091
|
-
newCache[bc.name] = null;
|
|
1092
|
-
}
|
|
1093
|
-
});
|
|
1094
|
-
Object.assign(state.bo.bc, newCursors);
|
|
1095
|
-
Object.assign(state.cachedBc, newCache);
|
|
1096
|
-
}).addCase(bcChangeDepthCursor, function (state, action) {
|
|
1097
|
-
var _a;
|
|
1098
|
-
if (action.payload.depth === 1) {
|
|
1099
|
-
state.bo.bc[action.payload.bcName].cursor = action.payload.cursor;
|
|
1100
|
-
}
|
|
1101
|
-
else {
|
|
1102
|
-
state.bo.bc[action.payload.bcName].depthBc = (_a = state.bo.bc[action.payload.bcName].depthBc) !== null && _a !== void 0 ? _a : {};
|
|
1103
|
-
state.bo.bc[action.payload.bcName].depthBc[action.payload.depth].cursor = action.payload.cursor;
|
|
1104
|
-
}
|
|
1105
|
-
}).addCase(bcSelectRecord, function (state, action) {
|
|
1106
|
-
state.bo.bc[action.payload.bcName].cursor = action.payload.cursor;
|
|
1107
|
-
}).addCase(bcForceUpdate, function (state, action) {
|
|
1108
|
-
state.bo.bc[action.payload.bcName].loading = true;
|
|
1109
|
-
state.cachedBc[action.payload.bcName] = null;
|
|
1110
|
-
}).addCase(bcAddFilter, function (state, action) {
|
|
1111
|
-
var _a = action.payload, bcName = _a.bcName, filter56 = _a.filter;
|
|
1112
|
-
var newFilter = filter56;
|
|
1113
|
-
var prevFilters = state.filters[bcName] || [];
|
|
1114
|
-
var prevFilter = prevFilters.find(function (item) { return item.fieldName === filter56.fieldName && item.type === filter56.type; });
|
|
1115
|
-
var newFilters = prevFilter ? prevFilters.map(function (item) { return item === prevFilter ? __assign(__assign({}, prevFilter), { value: newFilter.value }) : item; }) : __spreadArray(__spreadArray([], prevFilters, true), [newFilter], false);
|
|
1116
|
-
state.bo.bc[bcName].page = 1;
|
|
1117
|
-
state.filters[bcName] = newFilters;
|
|
1118
|
-
}).addCase(bcRemoveFilter, function (state, action) {
|
|
1119
|
-
var _a;
|
|
1120
|
-
var _b = action.payload, bcName = _b.bcName, filter56 = _b.filter;
|
|
1121
|
-
var prevBcFilters = state.filters[bcName] || [];
|
|
1122
|
-
var newBcFilters = prevBcFilters.filter(function (item) { return item.fieldName !== (filter56 === null || filter56 === void 0 ? void 0 : filter56.fieldName) || item.type !== filter56.type; });
|
|
1123
|
-
var newFilters = __assign(__assign({}, state.filters), (_a = {}, _a[bcName] = newBcFilters, _a));
|
|
1124
|
-
if (!newBcFilters.length) {
|
|
1125
|
-
delete newFilters[bcName];
|
|
1126
|
-
}
|
|
1127
|
-
state.bo.bc[action.payload.bcName].page = 1;
|
|
1128
|
-
state.filters = newFilters;
|
|
1129
|
-
}).addCase(bcRemoveAllFilters, function (state, action) {
|
|
1130
|
-
delete state.filters[action.payload.bcName];
|
|
1131
|
-
state.bo.bc[action.payload.bcName].page = 1;
|
|
1132
|
-
}).addCase(bcAddSorter, function (state, action) {
|
|
1133
|
-
state.sorters[action.payload.bcName] = Array.isArray(action.payload.sorter) ? action.payload.sorter : [action.payload.sorter];
|
|
1134
|
-
}).addCase(bcChangePage, function (state, action) {
|
|
1135
|
-
state.bo.bc[action.payload.bcName].page = action.payload.page;
|
|
1136
|
-
state.bo.bc[action.payload.bcName].loading = true;
|
|
1137
|
-
}).addCase(showViewPopup, function (state, action) {
|
|
1138
|
-
var _a, _b;
|
|
1139
|
-
var currentPage = (_b = (_a = state.bo.bc[action.payload.bcName]) === null || _a === void 0 ? void 0 : _a.page) !== null && _b !== void 0 ? _b : 1;
|
|
1140
|
-
state.bo.bc[action.payload.bcName].page = action.payload.bcName === action.payload.calleeBCName ? currentPage : 1;
|
|
1141
|
-
state.bo.bc[action.payload.bcName].loading = action.payload.bcName !== action.payload.calleeBCName;
|
|
1142
|
-
}).addCase(sendOperationSuccess, function (state, action) {
|
|
1143
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1144
|
-
}).addCase(bcDeleteDataFail, function (state, action) {
|
|
1145
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1146
|
-
}).addCase(sendOperationFail, function (state, action) {
|
|
1147
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1148
|
-
}).addCase(bcSaveDataSuccess, function (state, action) {
|
|
1149
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1150
|
-
}).addCase(bcSaveDataFail, function (state, action) {
|
|
1151
|
-
state.bo.bc[action.payload.bcName].loading = false;
|
|
1152
|
-
}); };
|
|
1153
|
-
// src/reducers/session.ts
|
|
1154
|
-
var initialSessionState = {
|
|
1155
|
-
devPanelEnabled: false,
|
|
1156
|
-
activeRole: null,
|
|
1157
|
-
roles: null,
|
|
1158
|
-
firstName: "",
|
|
1159
|
-
lastName: "",
|
|
1160
|
-
login: "",
|
|
1161
|
-
debugMode: false,
|
|
1162
|
-
exportStateEnabled: false,
|
|
1163
|
-
active: false,
|
|
1164
|
-
logout: false,
|
|
1165
|
-
loginSpin: false,
|
|
1166
|
-
errorMsg: null,
|
|
1167
|
-
screens: [],
|
|
1168
|
-
pendingRequests: [],
|
|
1169
|
-
notifications: [],
|
|
1170
|
-
isMetaRefreshing: false
|
|
1171
|
-
};
|
|
1172
|
-
var createSessionReducerBuilderManager = function (initialState) { return new ReducerBuilderManager().addCase(login, function (state) {
|
|
1173
|
-
state.loginSpin = true;
|
|
1174
|
-
state.errorMsg = null;
|
|
1175
|
-
}).addCase(loginDone, function (state, action) {
|
|
1176
|
-
state = Object.assign(state, action.payload);
|
|
1177
|
-
state.loginSpin = false;
|
|
1178
|
-
state.active = true;
|
|
1179
|
-
state.logout = false;
|
|
1180
|
-
}).addCase(loginFail, function (state, action) {
|
|
1181
|
-
state.loginSpin = false;
|
|
1182
|
-
state.errorMsg = action.payload.errorMsg;
|
|
1183
|
-
}).addCase(logout, function (state) {
|
|
1184
|
-
state.loginSpin = false;
|
|
1185
|
-
state.active = false;
|
|
1186
|
-
state.logout = true;
|
|
1187
|
-
}).addCase(switchDebugMode, function (state, action) {
|
|
1188
|
-
state.debugMode = action.payload;
|
|
1189
|
-
}).addCase(addPendingRequest, function (state, action) {
|
|
1190
|
-
var _a;
|
|
1191
|
-
(_a = state.pendingRequests) === null || _a === void 0 ? void 0 : _a.push(action.payload.request);
|
|
1192
|
-
}).addCase(removePendingRequest, function (state, action) {
|
|
1193
|
-
var _a;
|
|
1194
|
-
state.pendingRequests = (_a = state.pendingRequests) === null || _a === void 0 ? void 0 : _a.filter(function (item) { return item.requestId !== action.payload.requestId; });
|
|
1195
|
-
}).addCase(addNotification, function (state, action) {
|
|
1196
|
-
state.notifications.push(action.payload);
|
|
1197
|
-
}).addCase(removeNotifications, function (state, action) {
|
|
1198
|
-
var closingKeys = action.payload;
|
|
1199
|
-
state.notifications = state.notifications.filter(function (notification) { return !closingKeys.includes(notification.key); });
|
|
1200
|
-
}).addCase(refreshMeta, function (state) {
|
|
1201
|
-
state.isMetaRefreshing = true;
|
|
1202
|
-
}).addCase(refreshMetaDone, function (state) {
|
|
1203
|
-
state.isMetaRefreshing = false;
|
|
1204
|
-
}).addCase(refreshMetaFail, function (state) {
|
|
1205
|
-
state.isMetaRefreshing = false;
|
|
1206
|
-
}); };
|
|
1207
|
-
// src/reducers/view.ts
|
|
1208
|
-
import { OperationTypeCrud as OperationTypeCrud4 } from "@cxbox-ui/schema";
|
|
1209
|
-
var initialViewState = {
|
|
1210
|
-
id: void 0,
|
|
1211
|
-
name: null,
|
|
1212
|
-
url: null,
|
|
1213
|
-
widgets: [],
|
|
1214
|
-
columns: null,
|
|
1215
|
-
readOnly: false,
|
|
1216
|
-
rowHeight: null,
|
|
1217
|
-
rowMeta: {},
|
|
1218
|
-
metaInProgress: {},
|
|
1219
|
-
popupData: { bcName: null },
|
|
1220
|
-
pendingDataChanges: {},
|
|
1221
|
-
infiniteWidgets: [],
|
|
1222
|
-
pendingValidationFailsFormat: "old" /* old */,
|
|
1223
|
-
pendingValidationFails: {},
|
|
1224
|
-
handledForceActive: {},
|
|
1225
|
-
selectedCell: null,
|
|
1226
|
-
ignoreHistory: null,
|
|
1227
|
-
systemNotifications: [],
|
|
1228
|
-
error: null,
|
|
1229
|
-
modalInvoke: null
|
|
1230
|
-
};
|
|
1231
|
-
var createViewReducerBuilderManager = function (initialState) { return new ReducerBuilderManager().addCase(selectView, function (state, action) {
|
|
1232
|
-
state.rowMeta = initialViewState.rowMeta;
|
|
1233
|
-
Object.assign(state, action.payload);
|
|
1234
|
-
}).addCase(bcFetchRowMeta, function (state, action) {
|
|
1235
|
-
state.metaInProgress[action.payload.bcName] = true;
|
|
1236
|
-
}).addCase(bcLoadMore, function (state, action) {
|
|
1237
|
-
var infiniteWidgets = state.infiniteWidgets || [];
|
|
1238
|
-
if (action.payload.widgetName !== void 0) {
|
|
1239
|
-
infiniteWidgets.push(action.payload.widgetName);
|
|
1240
|
-
}
|
|
1241
|
-
state.infiniteWidgets = Array.from(new Set(infiniteWidgets));
|
|
1242
|
-
}).addCase(sendOperation, function (state, action) {
|
|
1243
|
-
if (action.payload.operationType === OperationTypeCrud4.create) {
|
|
1244
|
-
state.metaInProgress[action.payload.bcName] = true;
|
|
1245
|
-
}
|
|
1246
|
-
}).addCase(bcFetchRowMetaSuccess, function (state, action) {
|
|
1247
|
-
var _a;
|
|
1248
|
-
state.rowMeta[action.payload.bcName] = (_a = state.rowMeta[action.payload.bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1249
|
-
state.rowMeta[action.payload.bcName][action.payload.bcUrl] = action.payload.rowMeta;
|
|
1250
|
-
state.metaInProgress[action.payload.bcName] = false;
|
|
1251
|
-
}).addCase(bcNewDataSuccess, function (state, action) {
|
|
1252
|
-
state.selectedCell = initialViewState.selectedCell;
|
|
1253
|
-
}).addCase(forceActiveRmUpdate, function (state, action) {
|
|
1254
|
-
var _a, _b, _c, _d, _e;
|
|
1255
|
-
var _f = action.payload, bcName = _f.bcName, bcUrl = _f.bcUrl, currentRecordData = _f.currentRecordData, rowMeta = _f.rowMeta, cursor = _f.cursor;
|
|
1256
|
-
var handledForceActive = {};
|
|
1257
|
-
var rowMetaForcedValues = {};
|
|
1258
|
-
var newPendingChangesDiff = {};
|
|
1259
|
-
var forceActiveFieldKeys = [];
|
|
1260
|
-
rowMeta.fields.forEach(function (field) {
|
|
1261
|
-
rowMetaForcedValues[field.key] = field.currentValue;
|
|
1262
|
-
if (field.forceActive) {
|
|
1263
|
-
forceActiveFieldKeys.push(field.key);
|
|
1264
|
-
}
|
|
1265
|
-
});
|
|
1266
|
-
state.pendingDataChanges[bcName] = (_a = state.pendingDataChanges[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1267
|
-
var consolidatedFrontData = __assign(__assign({}, currentRecordData), state.pendingDataChanges[bcName][cursor]);
|
|
1268
|
-
Object.keys(consolidatedFrontData).forEach(function (key) {
|
|
1269
|
-
if (rowMetaForcedValues[key] !== void 0 && consolidatedFrontData[key] !== rowMetaForcedValues[key]) {
|
|
1270
|
-
newPendingChangesDiff[key] = rowMetaForcedValues[key];
|
|
1271
|
-
}
|
|
1272
|
-
});
|
|
1273
|
-
var newPendingDataChanges = __assign(__assign({}, state.pendingDataChanges[bcName][cursor]), newPendingChangesDiff);
|
|
1274
|
-
forceActiveFieldKeys.forEach(function (key) {
|
|
1275
|
-
if (newPendingDataChanges[key] !== void 0) {
|
|
1276
|
-
handledForceActive[key] = newPendingDataChanges[key];
|
|
1277
|
-
}
|
|
1278
|
-
});
|
|
1279
|
-
state.handledForceActive[bcName] = (_b = state.handledForceActive[bcName]) !== null && _b !== void 0 ? _b : {};
|
|
1280
|
-
state.handledForceActive[bcName][cursor] = (_c = state.handledForceActive[bcName][cursor]) !== null && _c !== void 0 ? _c : {};
|
|
1281
|
-
Object.assign(state.handledForceActive[bcName][cursor], handledForceActive);
|
|
1282
|
-
state.pendingDataChanges[bcName] = (_d = state.pendingDataChanges[bcName]) !== null && _d !== void 0 ? _d : {};
|
|
1283
|
-
state.pendingDataChanges[bcName][cursor] = newPendingDataChanges;
|
|
1284
|
-
state.rowMeta[bcName] = (_e = state.rowMeta[bcName]) !== null && _e !== void 0 ? _e : {};
|
|
1285
|
-
state.rowMeta[bcName][bcUrl] = rowMeta;
|
|
1286
|
-
}).addCase(changeDataItem, function (state, action) {
|
|
1287
|
-
var _a, _b, _c, _d;
|
|
1288
|
-
var actionBcName = action.payload.bcName;
|
|
1289
|
-
var prevBc = state.pendingDataChanges[action.payload.bcName] || {};
|
|
1290
|
-
var prevCursor = prevBc[action.payload.cursor] || {};
|
|
1291
|
-
var prevPending = prevCursor || {};
|
|
1292
|
-
var nextPending = __assign(__assign({}, prevPending), action.payload.dataItem);
|
|
1293
|
-
var bcUrl = action.payload.bcUrl;
|
|
1294
|
-
var rowMeta = (_a = state.rowMeta[actionBcName]) === null || _a === void 0 ? void 0 : _a[bcUrl];
|
|
1295
|
-
var nextValidationFails = {};
|
|
1296
|
-
var isTargetFormatPVF = state.pendingValidationFailsFormat === "target" /* target */;
|
|
1297
|
-
Object.keys(nextPending).forEach(function (fieldKey) {
|
|
1298
|
-
var required = rowMeta === null || rowMeta === void 0 ? void 0 : rowMeta.fields.find(function (item) { return item.required && item.key === fieldKey; });
|
|
1299
|
-
var isEmpty = nextPending[fieldKey] === null || nextPending[fieldKey] === void 0 || nextPending[fieldKey] === "" || Array.isArray(nextPending[fieldKey]) && Object.keys(nextPending[fieldKey]).length === 0;
|
|
1300
|
-
if (required && isEmpty) {
|
|
1301
|
-
nextValidationFails[fieldKey] = "This field is mandatory";
|
|
1302
|
-
}
|
|
1303
|
-
});
|
|
1304
|
-
state.pendingDataChanges[action.payload.bcName] = (_b = state.pendingDataChanges[action.payload.bcName]) !== null && _b !== void 0 ? _b : {};
|
|
1305
|
-
state.pendingDataChanges[action.payload.bcName][action.payload.cursor] = nextPending;
|
|
1306
|
-
if (isTargetFormatPVF) {
|
|
1307
|
-
state.pendingValidationFails = (_c = state.pendingValidationFails) !== null && _c !== void 0 ? _c : {};
|
|
1308
|
-
state.pendingValidationFails[actionBcName] = (_d = state.pendingValidationFails[actionBcName]) !== null && _d !== void 0 ? _d : {};
|
|
1309
|
-
state.pendingValidationFails[actionBcName][action.payload.cursor] = nextValidationFails;
|
|
1310
|
-
}
|
|
1311
|
-
else {
|
|
1312
|
-
state.pendingValidationFails = nextValidationFails;
|
|
1313
|
-
}
|
|
1314
|
-
}).addCase(changeDataItems, function (state, action) {
|
|
1315
|
-
var newPendingChanges = __assign({}, state.pendingDataChanges[action.payload.bcName]);
|
|
1316
|
-
action.payload.cursors.forEach(function (cursor, index) {
|
|
1317
|
-
newPendingChanges[cursor] = action.payload.dataItems[index];
|
|
1318
|
-
});
|
|
1319
|
-
state.pendingDataChanges[action.payload.bcName] = newPendingChanges;
|
|
1320
|
-
}).addCase(dropAllAssociations, function (state, action) {
|
|
1321
|
-
var pendingDataChanges = __assign({}, state.pendingDataChanges);
|
|
1322
|
-
action.payload.bcNames.forEach(function (bcName) {
|
|
1323
|
-
var pendingBcChanges = {};
|
|
1324
|
-
Object.keys(pendingDataChanges[bcName] || {}).forEach(function (itemId) {
|
|
1325
|
-
pendingBcChanges[itemId] = { id: itemId, _associate: false };
|
|
1326
|
-
});
|
|
1327
|
-
pendingDataChanges[bcName] = pendingBcChanges;
|
|
1328
|
-
});
|
|
1329
|
-
var isTargetFormatPVF = state.pendingValidationFailsFormat === "target" /* target */;
|
|
1330
|
-
var pendingValidationFails = state.pendingValidationFails ? __assign({}, state.pendingValidationFails) : {};
|
|
1331
|
-
if (isTargetFormatPVF) {
|
|
1332
|
-
action.payload.bcNames.forEach(function (i) {
|
|
1333
|
-
pendingValidationFails[i] = {};
|
|
1334
|
-
});
|
|
1335
|
-
}
|
|
1336
|
-
state.pendingDataChanges = pendingDataChanges;
|
|
1337
|
-
state.pendingValidationFails = isTargetFormatPVF ? pendingValidationFails : initialViewState.pendingValidationFails;
|
|
1338
|
-
}).addCase(dropAllAssociationsSameBc, function (state, action) {
|
|
1339
|
-
}).addCase(dropAllAssociationsFull, function (state, action) {
|
|
1340
|
-
}).addCase(bcNewDataFail, function (state, action) {
|
|
1341
|
-
state.metaInProgress[action.payload.bcName] = false;
|
|
1342
|
-
}).addCase(bcFetchRowMetaFail, function (state, action) {
|
|
1343
|
-
state.metaInProgress[action.payload.bcName] = false;
|
|
1344
|
-
}).addCase(forceActiveChangeFail, function (state, action) {
|
|
1345
|
-
var _a;
|
|
1346
|
-
var _b = action.payload, bcName = _b.bcName, bcUrl = _b.bcUrl, entityError = _b.entityError;
|
|
1347
|
-
var errors = {};
|
|
1348
|
-
if (entityError) {
|
|
1349
|
-
Object.entries(entityError.fields).forEach(function (_a) {
|
|
1350
|
-
var fieldName = _a[0], violation = _a[1];
|
|
1351
|
-
errors[fieldName] = violation;
|
|
1352
|
-
});
|
|
1353
|
-
}
|
|
1354
|
-
state.rowMeta[bcName] = (_a = state.rowMeta[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1355
|
-
state.rowMeta[bcName][bcUrl].errors = errors;
|
|
1356
|
-
}).addCase(bcSaveDataFail, function (state, action) {
|
|
1357
|
-
var _a;
|
|
1358
|
-
var _b = action.payload, bcName = _b.bcName, bcUrl = _b.bcUrl, entityError = _b.entityError;
|
|
1359
|
-
var errors = {};
|
|
1360
|
-
if (entityError) {
|
|
1361
|
-
Object.entries(entityError.fields).forEach(function (_a) {
|
|
1362
|
-
var fieldName = _a[0], violation = _a[1];
|
|
1363
|
-
errors[fieldName] = violation;
|
|
1364
|
-
});
|
|
1365
|
-
}
|
|
1366
|
-
state.rowMeta[bcName] = (_a = state.rowMeta[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1367
|
-
state.rowMeta[bcName][bcUrl].errors = errors;
|
|
1368
|
-
}).addCase(sendOperationFail, function (state, action) {
|
|
1369
|
-
var _a;
|
|
1370
|
-
var _b = action.payload, bcName = _b.bcName, bcUrl = _b.bcUrl, entityError = _b.entityError;
|
|
1371
|
-
var errors = {};
|
|
1372
|
-
if (entityError) {
|
|
1373
|
-
Object.entries(entityError.fields).forEach(function (_a) {
|
|
1374
|
-
var fieldName = _a[0], violation = _a[1];
|
|
1375
|
-
errors[fieldName] = violation;
|
|
1376
|
-
});
|
|
1377
|
-
}
|
|
1378
|
-
state.rowMeta[bcName] = (_a = state.rowMeta[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1379
|
-
state.rowMeta[bcName][bcUrl].errors = errors;
|
|
1380
|
-
}).addCase(sendOperationSuccess, function (state, action) {
|
|
1381
|
-
var _a, _b, _c, _d;
|
|
1382
|
-
var bcName = action.payload.bcName;
|
|
1383
|
-
var cursor = action.payload.cursor;
|
|
1384
|
-
var isTargetFormatPVF = state.pendingValidationFailsFormat === "target" /* target */;
|
|
1385
|
-
state.pendingDataChanges[bcName] = (_a = state.pendingDataChanges[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1386
|
-
state.pendingDataChanges[bcName][cursor] = {};
|
|
1387
|
-
if (isTargetFormatPVF) {
|
|
1388
|
-
state.pendingValidationFails = (_b = state.pendingValidationFails) !== null && _b !== void 0 ? _b : {};
|
|
1389
|
-
state.pendingValidationFails[bcName] = (_c = state.pendingValidationFails[bcName]) !== null && _c !== void 0 ? _c : {};
|
|
1390
|
-
state.pendingValidationFails[bcName][cursor] = {};
|
|
1391
|
-
}
|
|
1392
|
-
else {
|
|
1393
|
-
state.pendingValidationFails = initialViewState.pendingValidationFails;
|
|
1394
|
-
}
|
|
1395
|
-
state.handledForceActive[bcName] = (_d = state.handledForceActive[bcName]) !== null && _d !== void 0 ? _d : {};
|
|
1396
|
-
state.handledForceActive[bcName][cursor] = {};
|
|
1397
|
-
}).addCase(bcSaveDataSuccess, function (state, action) {
|
|
1398
|
-
var _a, _b, _c;
|
|
1399
|
-
var _d = action.payload, bcName = _d.bcName, cursor = _d.cursor;
|
|
1400
|
-
var isTargetFormatPVF = state.pendingValidationFailsFormat === "target" /* target */;
|
|
1401
|
-
state.pendingDataChanges[bcName] = (_a = state.pendingDataChanges[bcName]) !== null && _a !== void 0 ? _a : {};
|
|
1402
|
-
state.pendingDataChanges[bcName][cursor] = {};
|
|
1403
|
-
if (isTargetFormatPVF) {
|
|
1404
|
-
state.pendingValidationFails = (_b = state.pendingValidationFails) !== null && _b !== void 0 ? _b : {};
|
|
1405
|
-
state.pendingValidationFails[bcName][cursor] = {};
|
|
1406
|
-
}
|
|
1407
|
-
else {
|
|
1408
|
-
state.pendingValidationFails = initialViewState.pendingValidationFails;
|
|
1409
|
-
}
|
|
1410
|
-
state.handledForceActive[bcName] = (_c = state.handledForceActive[bcName]) !== null && _c !== void 0 ? _c : {};
|
|
1411
|
-
state.handledForceActive[bcName][cursor] = {};
|
|
1412
|
-
}).addCase(bcCancelPendingChanges, function (state, action) {
|
|
1413
|
-
var _a, _b;
|
|
1414
|
-
var pendingDataChanges = __assign({}, state.pendingDataChanges);
|
|
1415
|
-
for (var bcName in state.pendingDataChanges) {
|
|
1416
|
-
if (action.payload ? action.payload.bcNames.includes(bcName) : true) {
|
|
1417
|
-
pendingDataChanges[bcName] = {};
|
|
1418
|
-
}
|
|
1419
|
-
}
|
|
1420
|
-
var isTargetFormatPVF = state.pendingValidationFailsFormat === "target" /* target */;
|
|
1421
|
-
var pendingValidationFails = state.pendingValidationFails ? __assign({}, state.pendingValidationFails) : {};
|
|
1422
|
-
if (isTargetFormatPVF) {
|
|
1423
|
-
if (((_b = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.bcNames) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
1424
|
-
action.payload.bcNames.forEach(function (i) {
|
|
1425
|
-
pendingValidationFails[i] = {};
|
|
1426
|
-
});
|
|
1427
|
-
}
|
|
1428
|
-
else {
|
|
1429
|
-
pendingValidationFails = initialViewState.pendingValidationFails;
|
|
1430
|
-
}
|
|
1431
|
-
}
|
|
1432
|
-
state.pendingDataChanges = pendingDataChanges;
|
|
1433
|
-
state.pendingValidationFails = isTargetFormatPVF ? pendingValidationFails : initialViewState.pendingValidationFails;
|
|
1434
|
-
}).addCase(clearValidationFails, function (state) {
|
|
1435
|
-
state.pendingValidationFails = initialViewState.pendingValidationFails;
|
|
1436
|
-
}).addCase(showViewPopup, function (state, action) {
|
|
1437
|
-
var _a = action.payload, bcName = _a.bcName, calleeBCName = _a.calleeBCName, calleeWidgetName = _a.calleeWidgetName, associateFieldKey = _a.associateFieldKey, assocValueKey = _a.assocValueKey, active = _a.active, isFilter = _a.isFilter, type = _a.type, widgetName = _a.widgetName;
|
|
1438
|
-
state.popupData = {
|
|
1439
|
-
widgetName: widgetName,
|
|
1440
|
-
type: type,
|
|
1441
|
-
bcName: bcName,
|
|
1442
|
-
calleeBCName: calleeBCName,
|
|
1443
|
-
calleeWidgetName: calleeWidgetName,
|
|
1444
|
-
associateFieldKey: associateFieldKey,
|
|
1445
|
-
assocValueKey: assocValueKey,
|
|
1446
|
-
active: active,
|
|
1447
|
-
isFilter: isFilter
|
|
1448
|
-
};
|
|
1449
|
-
}).addCase(showFileUploadPopup, function (state, action) {
|
|
1450
|
-
var _a, _b;
|
|
1451
|
-
var bcName = (_b = (_a = state.widgets) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.name === action.payload.widgetName; })) === null || _b === void 0 ? void 0 : _b.bcName;
|
|
1452
|
-
state.popupData = {
|
|
1453
|
-
type: "file-upload",
|
|
1454
|
-
bcName: bcName,
|
|
1455
|
-
// should be null
|
|
1456
|
-
calleeBCName: bcName
|
|
1457
|
-
};
|
|
1458
|
-
}).addCase(viewPutPickMap, function (state, action) {
|
|
1459
|
-
state.pickMap = action.payload.map;
|
|
1460
|
-
}).addCase(viewClearPickMap, function (state) {
|
|
1461
|
-
state.pickMap = null;
|
|
1462
|
-
}).addCase(closeViewPopup, function (state) {
|
|
1463
|
-
state.popupData = {};
|
|
1464
|
-
state.popupData.bcName = null;
|
|
1465
|
-
}).addCase(selectTableCell, function (state, action) {
|
|
1466
|
-
state.selectedCell = { widgetName: action.payload.widgetName, rowId: action.payload.rowId, fieldKey: action.payload.fieldKey };
|
|
1467
|
-
}).addCase(changeLocation, function (state, action) {
|
|
1468
|
-
state.pendingDataChanges = initialViewState.pendingDataChanges;
|
|
1469
|
-
state.selectedCell = initialViewState.selectedCell;
|
|
1470
|
-
}).addCase(showNotification, function (state, action) {
|
|
1471
|
-
var _a, _b;
|
|
1472
|
-
state.systemNotifications = (_a = state.systemNotifications) !== null && _a !== void 0 ? _a : [];
|
|
1473
|
-
state.systemNotifications.push({
|
|
1474
|
-
type: action.payload.type,
|
|
1475
|
-
message: action.payload.message,
|
|
1476
|
-
id: (_b = state.systemNotifications) === null || _b === void 0 ? void 0 : _b.length
|
|
1477
|
-
});
|
|
1478
|
-
}).addCase(closeNotification, function (state, action) {
|
|
1479
|
-
var _a;
|
|
1480
|
-
state.systemNotifications = (_a = state.systemNotifications) !== null && _a !== void 0 ? _a : [];
|
|
1481
|
-
state.systemNotifications = state.systemNotifications.filter(function (item) { return item.id !== action.payload.id; });
|
|
1482
|
-
}).addCase(showViewError, function (state, action) {
|
|
1483
|
-
state.error = action.payload.error;
|
|
1484
|
-
}).addCase(operationConfirmation, function (state, action) {
|
|
1485
|
-
state.modalInvoke = action.payload;
|
|
1486
|
-
}).addCase(closeConfirmModal, function (state, action) {
|
|
1487
|
-
state.modalInvoke = null;
|
|
1488
|
-
}).addCase(closeViewError, function (state) {
|
|
1489
|
-
state.error = null;
|
|
1490
|
-
}).addCase(processPostInvoke, function (state) {
|
|
1491
|
-
state.selectedCell = null;
|
|
1492
|
-
}); };
|
|
1493
|
-
// src/epics/index.ts
|
|
1494
|
-
var epics_exports = {};
|
|
1495
|
-
__export(epics_exports, {
|
|
1496
|
-
apiErrorEpic: function () { return apiErrorEpic; },
|
|
1497
|
-
bcCancelCreateDataEpic: function () { return bcCancelCreateDataEpic; },
|
|
1498
|
-
bcDeleteDataEpic: function () { return bcDeleteDataEpic; },
|
|
1499
|
-
bcFetchDataEpic: function () { return bcFetchDataEpic; },
|
|
1500
|
-
bcFetchRowMetaRequestEpic: function () { return bcFetchRowMetaRequestEpic; },
|
|
1501
|
-
bcLoadMoreEpic: function () { return bcLoadMoreEpic; },
|
|
1502
|
-
bcNewDataEpic: function () { return bcNewDataEpic; },
|
|
1503
|
-
bcSaveDataEpic: function () { return bcSaveDataEpic; },
|
|
1504
|
-
bcSelectDepthRecordEpic: function () { return bcSelectDepthRecordEpic; },
|
|
1505
|
-
bcSelectRecordEpic: function () { return bcSelectRecordEpic; },
|
|
1506
|
-
changeAssociationEpic: function () { return changeAssociationEpic; },
|
|
1507
|
-
changeAssociationFullEpic: function () { return changeAssociationFullEpic; },
|
|
1508
|
-
changeAssociationSameBcEpic: function () { return changeAssociationSameBcEpic; },
|
|
1509
|
-
changeChildrenAssociationsEpic: function () { return changeChildrenAssociationsEpic; },
|
|
1510
|
-
changeChildrenAssociationsSameBcEpic: function () { return changeChildrenAssociationsSameBcEpic; },
|
|
1511
|
-
changeDescendantsAssociationsFullEpic: function () { return changeDescendantsAssociationsFullEpic; },
|
|
1512
|
-
changeLocationEpic: function () { return changeLocationEpic; },
|
|
1513
|
-
changeScreen: function () { return changeScreen; },
|
|
1514
|
-
changeViewEpic: function () { return changeViewEpic; },
|
|
1515
|
-
clearPendingDataChangesAfterCursorChangeEpic: function () { return clearPendingDataChangesAfterCursorChangeEpic; },
|
|
1516
|
-
downloadFileByUrlEpic: function () { return downloadFileByUrlEpic; },
|
|
1517
|
-
downloadFileEpic: function () { return downloadFileEpic; },
|
|
1518
|
-
drillDownEpic: function () { return drillDownEpic; },
|
|
1519
|
-
fileUploadConfirmEpic: function () { return fileUploadConfirmEpic; },
|
|
1520
|
-
getRowMetaByForceActiveEpic: function () { return getRowMetaByForceActiveEpic; },
|
|
1521
|
-
handleRouterEpic: function () { return handleRouterEpic; },
|
|
1522
|
-
httpError401Epic: function () { return httpError401Epic; },
|
|
1523
|
-
httpError409Epic: function () { return httpError409Epic; },
|
|
1524
|
-
httpError418Epic: function () { return httpError418Epic; },
|
|
1525
|
-
httpError500Epic: function () { return httpError500Epic; },
|
|
1526
|
-
httpErrorDefaultEpic: function () { return httpErrorDefaultEpic; },
|
|
1527
|
-
inlinePickListFetchDataEpic: function () { return inlinePickListFetchDataEpic; },
|
|
1528
|
-
loginByAnotherRoleEpic: function () { return loginByAnotherRoleEpic; },
|
|
1529
|
-
loginDoneEpic: function () { return loginDoneEpic; },
|
|
1530
|
-
loginDoneSessionEpic: function () { return loginDoneSessionEpic; },
|
|
1531
|
-
processPostInvokeConfirmEpic: function () { return processPostInvokeConfirmEpic; },
|
|
1532
|
-
processPostInvokeEpic: function () { return processPostInvokeEpic; },
|
|
1533
|
-
refreshMetaAndReloadPageEpic: function () { return refreshMetaAndReloadPageEpic; },
|
|
1534
|
-
refreshMetaEpic: function () { return refreshMetaEpic; },
|
|
1535
|
-
removeMultivalueTagEpic: function () { return removeMultivalueTagEpic; },
|
|
1536
|
-
saveAssociationsActiveEpic: function () { return saveAssociationsActiveEpic; },
|
|
1537
|
-
saveAssociationsPassiveEpic: function () { return saveAssociationsPassiveEpic; },
|
|
1538
|
-
selectScreenFailEpic: function () { return selectScreenFailEpic; },
|
|
1539
|
-
selectTableCellInitEpic: function () { return selectTableCellInitEpic; },
|
|
1540
|
-
selectViewEpic: function () { return selectViewEpic; },
|
|
1541
|
-
selectViewFailEpic: function () { return selectViewFailEpic; },
|
|
1542
|
-
sendOperationAssociateEpic: function () { return sendOperationAssociateEpic; },
|
|
1543
|
-
sendOperationEpic: function () { return sendOperationEpic; },
|
|
1544
|
-
showAllTableRecordsInitEpic: function () { return showAllTableRecordsInitEpic; },
|
|
1545
|
-
showAssocPopupEpic: function () { return showAssocPopupEpic; },
|
|
1546
|
-
showFileUploadPopupEpic: function () { return showFileUploadPopupEpic; },
|
|
1547
|
-
switchRoleEpic: function () { return switchRoleEpic; },
|
|
1548
|
-
userDrillDownChangeCursorsEpic: function () { return userDrillDownChangeCursorsEpic; },
|
|
1549
|
-
userDrillDownEpic: function () { return userDrillDownEpic; }
|
|
1550
|
-
});
|
|
1551
|
-
// src/epics/view/sendOperationEpic.ts
|
|
1552
|
-
import { catchError, concat, EMPTY as EMPTY2, filter, mergeMap, of as of3 } from "rxjs";
|
|
1553
|
-
// src/epics/utils/postOperationRoutine.ts
|
|
1554
|
-
import { of as of2 } from "rxjs";
|
|
1555
|
-
function postOperationRoutine(widgetName, postInvoke, preInvoke, operationType, bcName) {
|
|
1556
|
-
var postInvokeConfirm = Object.values(OperationPostInvokeConfirmType).includes(postInvoke === null || postInvoke === void 0 ? void 0 : postInvoke.type);
|
|
1557
|
-
var result = [];
|
|
1558
|
-
if (postInvoke) {
|
|
1559
|
-
result.push(processPostInvoke({ bcName: bcName, postInvoke: postInvoke, widgetName: widgetName }));
|
|
1560
|
-
}
|
|
1561
|
-
if (postInvokeConfirm) {
|
|
1562
|
-
result.push(processPostInvokeConfirm({
|
|
1563
|
-
bcName: bcName,
|
|
1564
|
-
operationType: operationType,
|
|
1565
|
-
widgetName: widgetName,
|
|
1566
|
-
postInvokeConfirm: postInvoke
|
|
1567
|
-
}));
|
|
1568
|
-
}
|
|
1569
|
-
if (preInvoke) {
|
|
1570
|
-
result.push(processPreInvoke({
|
|
1571
|
-
bcName: bcName,
|
|
1572
|
-
operationType: operationType,
|
|
1573
|
-
widgetName: widgetName,
|
|
1574
|
-
preInvoke: preInvoke
|
|
1575
|
-
}));
|
|
1576
|
-
}
|
|
1577
|
-
return result.map(function (item) { return of2(item); });
|
|
1578
|
-
}
|
|
1579
|
-
// src/epics/view/sendOperationEpic.ts
|
|
1580
|
-
var sendOperationEpic = function (action$, state$, _a) {
|
|
1581
|
-
var api = _a.api;
|
|
1582
|
-
return action$.pipe(filter(sendOperation.match), filter(function (action) { return matchOperationRole("none", action.payload, state$.value); }), mergeMap(function (action) {
|
|
1583
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1584
|
-
var state = state$.value;
|
|
1585
|
-
var screenName = state.screen.screenName;
|
|
1586
|
-
var _l = action.payload, bcName = _l.bcName, operationType = _l.operationType, widgetName = _l.widgetName;
|
|
1587
|
-
var confirm = ((_a = action.payload.confirmOperation) === null || _a === void 0 ? void 0 : _a.type) || action.payload.confirm;
|
|
1588
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
1589
|
-
var bc = state.screen.bo.bc[bcName];
|
|
1590
|
-
var rowMeta = bcUrl && ((_b = state.view.rowMeta[bcName]) === null || _b === void 0 ? void 0 : _b[bcUrl]);
|
|
1591
|
-
var fields = rowMeta === null || rowMeta === void 0 ? void 0 : rowMeta.fields;
|
|
1592
|
-
var cursor = bc.cursor;
|
|
1593
|
-
var record = (_c = state.data[bcName]) === null || _c === void 0 ? void 0 : _c.find(function (item) { return item.id === bc.cursor; });
|
|
1594
|
-
var filters = state.screen.filters[bcName];
|
|
1595
|
-
var sorters = state.screen.sorters[bcName];
|
|
1596
|
-
var pendingRecordChange = __assign({}, (_d = state.view.pendingDataChanges[bcName]) === null || _d === void 0 ? void 0 : _d[bc.cursor]);
|
|
1597
|
-
var _loop_1 = function (key) {
|
|
1598
|
-
if (fields.find(function (item) { return item.key === key && item.disabled; })) {
|
|
1599
|
-
delete pendingRecordChange[key];
|
|
1600
|
-
}
|
|
1601
|
-
};
|
|
1602
|
-
for (var key in pendingRecordChange) {
|
|
1603
|
-
_loop_1(key);
|
|
1604
|
-
}
|
|
1605
|
-
var data = record && __assign(__assign({}, pendingRecordChange), { vstamp: record.vstamp });
|
|
1606
|
-
var defaultSaveOperation = ((_h = (_g = (_f = (_e = state.view.widgets) === null || _e === void 0 ? void 0 : _e.find(function (item) { return item.name === widgetName; })) === null || _f === void 0 ? void 0 : _f.options) === null || _g === void 0 ? void 0 : _g.actionGroups) === null || _h === void 0 ? void 0 : _h.defaultSave) === action.payload.operationType && changeLocation.match((_k = (_j = action.payload) === null || _j === void 0 ? void 0 : _j.onSuccessAction) === null || _k === void 0 ? void 0 : _k.type);
|
|
1607
|
-
var params = __assign(__assign({ _action: operationType }, getFilters(filters)), getSorters(sorters));
|
|
1608
|
-
if (confirm) {
|
|
1609
|
-
params._confirm = confirm;
|
|
1610
|
-
}
|
|
1611
|
-
var context = { widgetName: action.payload.widgetName };
|
|
1612
|
-
return api.customAction(screenName, bcUrl, data, context, params).pipe(mergeMap(function (response) {
|
|
1613
|
-
var _a, _b;
|
|
1614
|
-
var postInvoke = (_a = response.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
1615
|
-
var dataItem = response.record;
|
|
1616
|
-
var preInvoke = response.preInvoke;
|
|
1617
|
-
return defaultSaveOperation ? ((_b = action === null || action === void 0 ? void 0 : action.payload) === null || _b === void 0 ? void 0 : _b.onSuccessAction) ? concat(of3(bcCancelPendingChanges({ bcNames: [bcName] })), of3(action.payload.onSuccessAction)) : EMPTY2 : concat.apply(void 0, __spreadArray([of3(sendOperationSuccess({ bcName: bcName, cursor: cursor, dataItem: dataItem })),
|
|
1618
|
-
of3(bcForceUpdate({ bcName: bcName }))], postOperationRoutine(widgetName, postInvoke, preInvoke, operationType, bcName), false));
|
|
1619
|
-
}), catchError(function (e) {
|
|
1620
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1621
|
-
console.error(e);
|
|
1622
|
-
var viewError = null;
|
|
1623
|
-
var entityError = null;
|
|
1624
|
-
var operationError = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
1625
|
-
if (((_b = e.response) === null || _b === void 0 ? void 0 : _b.data) === Object((_c = e.response) === null || _c === void 0 ? void 0 : _c.data)) {
|
|
1626
|
-
entityError = (_d = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _d === void 0 ? void 0 : _d.entity;
|
|
1627
|
-
viewError = (_f = (_e = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _e === void 0 ? void 0 : _e.popup) === null || _f === void 0 ? void 0 : _f[0];
|
|
1628
|
-
}
|
|
1629
|
-
return concat(of3(sendOperationFail({ bcName: bcName, bcUrl: bcUrl, viewError: viewError, entityError: entityError })), createApiErrorObservable(e, context));
|
|
1630
|
-
}));
|
|
1631
|
-
}));
|
|
1632
|
-
};
|
|
1633
|
-
// src/epics/view/showAssocPopupEpic.ts
|
|
1634
|
-
import { EMPTY as EMPTY3, filter as filter2, mergeMap as mergeMap2, of as of4 } from "rxjs";
|
|
1635
|
-
import { WidgetTypes as WidgetTypes3 } from "@cxbox-ui/schema";
|
|
1636
|
-
var showAssocPopupEpic = function (action$, state$) { return action$.pipe(filter2(showViewPopup.match), filter2(function (action) { return !!(action.payload.calleeBCName && action.payload.associateFieldKey); }), mergeMap2(function (action) {
|
|
1637
|
-
var _a, _b, _c, _d;
|
|
1638
|
-
var _e = action.payload, bcName = _e.bcName, calleeBCName = _e.calleeBCName;
|
|
1639
|
-
var state = state$.value;
|
|
1640
|
-
var assocWidget = state.view.widgets.find(function (widget) { return widget.bcName === bcName && widget.type === WidgetTypes3.AssocListPopup; });
|
|
1641
|
-
var calleeCursor = (_a = state.screen.bo.bc[calleeBCName]) === null || _a === void 0 ? void 0 : _a.cursor;
|
|
1642
|
-
var calleePendingChanges = (_b = state.view.pendingDataChanges[calleeBCName]) === null || _b === void 0 ? void 0 : _b[calleeCursor];
|
|
1643
|
-
var assocFieldKey = action.payload.associateFieldKey;
|
|
1644
|
-
var assocFieldChanges = calleePendingChanges === null || calleePendingChanges === void 0 ? void 0 : calleePendingChanges[assocFieldKey];
|
|
1645
|
-
var somethingMissing = !assocWidget || !calleePendingChanges || !assocFieldChanges || !assocFieldChanges;
|
|
1646
|
-
if (somethingMissing || assocWidget.options && !assocWidget.options.hierarchyFull) {
|
|
1647
|
-
return EMPTY3;
|
|
1648
|
-
}
|
|
1649
|
-
var popupInitPendingChanges = {};
|
|
1650
|
-
assocFieldChanges.forEach(function (record) {
|
|
1651
|
-
popupInitPendingChanges[record.id] = {
|
|
1652
|
-
id: record.id,
|
|
1653
|
-
_associate: true,
|
|
1654
|
-
_value: record.value
|
|
1655
|
-
};
|
|
1656
|
-
});
|
|
1657
|
-
var calleeData = (_c = state.data[calleeBCName]) === null || _c === void 0 ? void 0 : _c.find(function (dataRecord) { return dataRecord.id === calleeCursor; });
|
|
1658
|
-
var assocIds = (_d = calleeData === null || calleeData === void 0 ? void 0 : calleeData[assocFieldKey]) === null || _d === void 0 ? void 0 : _d.map(function (recordId) { return recordId.id; });
|
|
1659
|
-
var assocPendingIds = assocFieldChanges.map(function (recordId) { return recordId.id; });
|
|
1660
|
-
if (assocIds) {
|
|
1661
|
-
assocIds.forEach(function (recordId) {
|
|
1662
|
-
if (!assocPendingIds.includes(recordId)) {
|
|
1663
|
-
popupInitPendingChanges[recordId] = {
|
|
1664
|
-
id: recordId,
|
|
1665
|
-
_associate: false
|
|
1666
|
-
};
|
|
1667
|
-
}
|
|
1668
|
-
});
|
|
1669
|
-
}
|
|
1670
|
-
return of4(changeDataItems({
|
|
1671
|
-
bcName: bcName,
|
|
1672
|
-
cursors: Object.keys(popupInitPendingChanges),
|
|
1673
|
-
dataItems: Object.values(popupInitPendingChanges)
|
|
1674
|
-
}));
|
|
1675
|
-
})); };
|
|
1676
|
-
// src/epics/view/fileUploadConfirmEpic.ts
|
|
1677
|
-
import { catchError as catchError2, concat as concat2, EMPTY as EMPTY4, filter as filter3, mergeMap as mergeMap3, of as of5 } from "rxjs";
|
|
1678
|
-
import { OperationTypeCrud as OperationTypeCrud5 } from "@cxbox-ui/schema";
|
|
1679
|
-
var fileUploadConfirmEpic = function (action$, state$, _a) {
|
|
1680
|
-
var api = _a.api;
|
|
1681
|
-
return action$.pipe(filter3(bulkUploadFiles.match), mergeMap3(function (action) {
|
|
1682
|
-
var _a, _b, _c, _d;
|
|
1683
|
-
var state = state$.value;
|
|
1684
|
-
var isPopup = (_a = action.payload.isPopup) !== null && _a !== void 0 ? _a : true;
|
|
1685
|
-
var bcName = (_b = action.payload.bcName) !== null && _b !== void 0 ? _b : (_c = state.view.popupData) === null || _c === void 0 ? void 0 : _c.bcName;
|
|
1686
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
1687
|
-
var widgetName = (_d = state.view.widgets.find(function (item) { return item.bcName === bcName; })) === null || _d === void 0 ? void 0 : _d.name;
|
|
1688
|
-
var data = action.payload.fileIds.map(function (id) { return ({
|
|
1689
|
-
id: id,
|
|
1690
|
-
_associate: true,
|
|
1691
|
-
vstamp: 0
|
|
1692
|
-
}); });
|
|
1693
|
-
return api.associate(state.screen.screenName, bcUrl, data, null).pipe(mergeMap3(function (response) {
|
|
1694
|
-
var _a;
|
|
1695
|
-
var postInvoke = (_a = response.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
1696
|
-
var preInvoke = response.preInvoke;
|
|
1697
|
-
return concat2.apply(void 0, __spreadArray([of5(sendOperationSuccess({ bcName: bcName, cursor: null })),
|
|
1698
|
-
of5(bcForceUpdate({ bcName: bcName })),
|
|
1699
|
-
isPopup ? of5(closeViewPopup(null)) : EMPTY4], postOperationRoutine(widgetName, postInvoke, preInvoke, OperationTypeCrud5.save, bcName), false));
|
|
1700
|
-
}), catchError2(function (error) {
|
|
1701
|
-
console.error(error);
|
|
1702
|
-
return createApiErrorObservable(error);
|
|
1703
|
-
}));
|
|
1704
|
-
}));
|
|
1705
|
-
};
|
|
1706
|
-
// src/epics/view/selectTableCellInitEpic.ts
|
|
1707
|
-
import { concat as concat3, filter as filter4, mergeMap as mergeMap4, of as of6 } from "rxjs";
|
|
1708
|
-
var selectTableCellInitEpic = function (action$, state$) { return action$.pipe(filter4(selectTableCellInit.match), mergeMap4(function (action) {
|
|
1709
|
-
var _a;
|
|
1710
|
-
var resultObservables = [];
|
|
1711
|
-
var state = state$.value;
|
|
1712
|
-
var _b = action.payload, nextRowId = _b.rowId, fieldKey = _b.fieldKey;
|
|
1713
|
-
var nextWidget = state.view.widgets.find(function (widget) { return widget.name === action.payload.widgetName; });
|
|
1714
|
-
var nextBcName = nextWidget === null || nextWidget === void 0 ? void 0 : nextWidget.bcName;
|
|
1715
|
-
var nextBcCursor = (_a = state.screen.bo.bc[nextBcName]) === null || _a === void 0 ? void 0 : _a.cursor;
|
|
1716
|
-
var selectedCell = state.view.selectedCell;
|
|
1717
|
-
if (nextRowId !== nextBcCursor) {
|
|
1718
|
-
resultObservables.push(of6(bcSelectRecord({ bcName: nextBcName, cursor: nextRowId })));
|
|
1719
|
-
}
|
|
1720
|
-
if (!selectedCell || fieldKey !== selectedCell.fieldKey || nextRowId !== selectedCell.rowId || (nextWidget === null || nextWidget === void 0 ? void 0 : nextWidget.name) !== selectedCell.widgetName) {
|
|
1721
|
-
resultObservables.push(of6(selectTableCell({ widgetName: nextWidget === null || nextWidget === void 0 ? void 0 : nextWidget.name, rowId: nextRowId, fieldKey: fieldKey })));
|
|
1722
|
-
}
|
|
1723
|
-
return concat3.apply(void 0, resultObservables);
|
|
1724
|
-
})); };
|
|
1725
|
-
// src/epics/view/showFileUploadPopupEpic.ts
|
|
1726
|
-
import { concat as concat4, filter as filter5, mergeMap as mergeMap5, of as of7 } from "rxjs";
|
|
1727
|
-
import { OperationTypeCrud as OperationTypeCrud6 } from "@cxbox-ui/schema";
|
|
1728
|
-
var showFileUploadPopupEpic = function (action$, state$) { return action$.pipe(filter5(sendOperation.match), filter5(function (action) { return matchOperationRole(OperationTypeCrud6.fileUpload, action.payload, state$.value); }), mergeMap5(function (action) {
|
|
1729
|
-
var _a;
|
|
1730
|
-
return concat4(of7(bcChangeCursors({ cursorsMap: (_a = {}, _a[action.payload.bcName] = null, _a) })), of7(showFileUploadPopup({ widgetName: action.payload.widgetName })));
|
|
1731
|
-
})); };
|
|
1732
|
-
// src/epics/view/sendOperationAssociateEpic.ts
|
|
1733
|
-
import { filter as filter6, map } from "rxjs";
|
|
1734
|
-
import { OperationTypeCrud as OperationTypeCrud7 } from "@cxbox-ui/schema";
|
|
1735
|
-
var sendOperationAssociateEpic = function (action$, state$) { return action$.pipe(filter6(sendOperation.match), filter6(function (action) { return matchOperationRole(OperationTypeCrud7.associate, action.payload, state$.value); }), map(function (action) {
|
|
1736
|
-
var _a, _b;
|
|
1737
|
-
var state = state$.value;
|
|
1738
|
-
var bcUrl = buildBcUrl(action.payload.bcName, true, state);
|
|
1739
|
-
var operations = flattenOperations((_b = (_a = state.view.rowMeta[action.payload.bcName]) === null || _a === void 0 ? void 0 : _a[bcUrl]) === null || _b === void 0 ? void 0 : _b.actions);
|
|
1740
|
-
var operation = operations.find(function (item) { return item.type === action.payload.operationType; });
|
|
1741
|
-
if (operation.subtype === "multiFileUpload") {
|
|
1742
|
-
return showFileUploadPopup({
|
|
1743
|
-
widgetName: action.payload.widgetName
|
|
1744
|
-
});
|
|
1745
|
-
}
|
|
1746
|
-
return showViewPopup({
|
|
1747
|
-
// TODO: 2.0.0 bcKey and bcName will be removed in favor `widgetName`
|
|
1748
|
-
bcName: action.payload.bcKey ? "".concat(action.payload.bcKey) : "".concat(action.payload.bcName, "Assoc"),
|
|
1749
|
-
calleeBCName: action.payload.bcName,
|
|
1750
|
-
active: true,
|
|
1751
|
-
calleeWidgetName: action.payload.widgetName
|
|
1752
|
-
});
|
|
1753
|
-
})); };
|
|
1754
|
-
// src/epics/view/getRowMetaByForceActiveEpic.ts
|
|
1755
|
-
import { EMPTY as EMPTY5, concat as concat5, filter as filter7, mergeMap as mergeMap6, of as of8, catchError as catchError3 } from "rxjs";
|
|
1756
|
-
import { WidgetTypes as WidgetTypes4 } from "@cxbox-ui/schema";
|
|
1757
|
-
import { nanoid } from "@reduxjs/toolkit";
|
|
1758
|
-
var getRowMetaByForceActiveEpic = function (action$, state$, _a) {
|
|
1759
|
-
var api = _a.api;
|
|
1760
|
-
return action$.pipe(filter7(changeDataItem.match), mergeMap6(function (action) {
|
|
1761
|
-
var _a, _b, _c, _d, _e;
|
|
1762
|
-
var state = state$.value;
|
|
1763
|
-
var initUrl = state.view.url;
|
|
1764
|
-
var _f = action.payload, bcName = _f.bcName, cursor = _f.cursor, disableRetry = _f.disableRetry;
|
|
1765
|
-
var isBcHierarchy = state.view.widgets.some(function (widget) {
|
|
1766
|
-
var _a, _b;
|
|
1767
|
-
return widget.bcName === bcName && widget.type === WidgetTypes4.AssocListPopup && (((_a = widget.options) === null || _a === void 0 ? void 0 : _a.hierarchySameBc) || ((_b = widget.options) === null || _b === void 0 ? void 0 : _b.hierarchyFull));
|
|
1768
|
-
});
|
|
1769
|
-
if (isBcHierarchy) {
|
|
1770
|
-
return EMPTY5;
|
|
1771
|
-
}
|
|
1772
|
-
var isPickListPopup = state.view.widgets.find(function (item) { var _a; return item.name === ((_a = state.view.popupData) === null || _a === void 0 ? void 0 : _a.widgetName) && [WidgetTypes4.PickListPopup, WidgetTypes4.FlatTreePopup].includes(item.type); });
|
|
1773
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
1774
|
-
var pendingChanges = (_a = state.view.pendingDataChanges[bcName]) === null || _a === void 0 ? void 0 : _a[cursor];
|
|
1775
|
-
var handledForceActive = ((_b = state.view.handledForceActive[bcName]) === null || _b === void 0 ? void 0 : _b[cursor]) || {};
|
|
1776
|
-
var currentRecordData = (_c = state.data[bcName]) === null || _c === void 0 ? void 0 : _c.find(function (record) { return record.id === cursor; });
|
|
1777
|
-
var fieldsRowMeta = (_e = (_d = state.view.rowMeta[bcName]) === null || _d === void 0 ? void 0 : _d[bcUrl]) === null || _e === void 0 ? void 0 : _e.fields;
|
|
1778
|
-
var changedFiledKey = null;
|
|
1779
|
-
var closePopup = concat5(of8(closeViewPopup(null)), of8(viewClearPickMap(null)), of8(bcRemoveAllFilters({ bcName: bcName })));
|
|
1780
|
-
var someForceActiveChanged = fieldsRowMeta === null || fieldsRowMeta === void 0 ? void 0 : fieldsRowMeta.filter(function (field) { return field.forceActive && pendingChanges[field.key] !== void 0; }).some(function (field) {
|
|
1781
|
-
var result = pendingChanges[field.key] !== handledForceActive[field.key];
|
|
1782
|
-
if (result) {
|
|
1783
|
-
changedFiledKey = field.key;
|
|
1784
|
-
}
|
|
1785
|
-
return result;
|
|
1786
|
-
});
|
|
1787
|
-
var requestId = nanoid();
|
|
1788
|
-
if (someForceActiveChanged && !disableRetry) {
|
|
1789
|
-
return concat5(of8(addPendingRequest({ request: { requestId: requestId, type: "force-active" } })), api.getRmByForceActive(state.screen.screenName, bcUrl, __assign(__assign({}, pendingChanges), { vstamp: currentRecordData === null || currentRecordData === void 0 ? void 0 : currentRecordData.vstamp })).pipe(mergeMap6(function (data) {
|
|
1790
|
-
var result = [of8(removePendingRequest({ requestId: requestId }))];
|
|
1791
|
-
if (state.view.url === initUrl) {
|
|
1792
|
-
result.push(of8(forceActiveRmUpdate({
|
|
1793
|
-
rowMeta: data,
|
|
1794
|
-
currentRecordData: currentRecordData,
|
|
1795
|
-
bcName: bcName,
|
|
1796
|
-
bcUrl: bcUrl,
|
|
1797
|
-
cursor: cursor
|
|
1798
|
-
})));
|
|
1799
|
-
}
|
|
1800
|
-
if (isPickListPopup) {
|
|
1801
|
-
result.push(closePopup);
|
|
1802
|
-
}
|
|
1803
|
-
return concat5.apply(void 0, result);
|
|
1804
|
-
}), catchError3(function (e) {
|
|
1805
|
-
var _a;
|
|
1806
|
-
var _b, _c, _d, _e, _f, _g;
|
|
1807
|
-
console.error(e);
|
|
1808
|
-
var viewError = null;
|
|
1809
|
-
var entityError = null;
|
|
1810
|
-
var operationError = (_b = e.response) === null || _b === void 0 ? void 0 : _b.data;
|
|
1811
|
-
if (((_c = e.response) === null || _c === void 0 ? void 0 : _c.data) === Object((_d = e.response) === null || _d === void 0 ? void 0 : _d.data)) {
|
|
1812
|
-
entityError = (_e = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _e === void 0 ? void 0 : _e.entity;
|
|
1813
|
-
viewError = (_g = (_f = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _f === void 0 ? void 0 : _f.popup) === null || _g === void 0 ? void 0 : _g[0];
|
|
1814
|
-
}
|
|
1815
|
-
return concat5(of8(removePendingRequest({ requestId: requestId })), state.view.url === initUrl ? concat5(of8(changeDataItem({
|
|
1816
|
-
bcName: bcName,
|
|
1817
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
1818
|
-
cursor: cursor,
|
|
1819
|
-
dataItem: (_a = {}, _a[changedFiledKey] = currentRecordData === null || currentRecordData === void 0 ? void 0 : currentRecordData[changedFiledKey], _a),
|
|
1820
|
-
disableRetry: true
|
|
1821
|
-
})), of8(forceActiveChangeFail({ bcName: bcName, bcUrl: bcUrl, viewError: viewError, entityError: entityError }))) : EMPTY5, createApiErrorObservable(e));
|
|
1822
|
-
})));
|
|
1823
|
-
}
|
|
1824
|
-
return isPickListPopup ? closePopup : EMPTY5;
|
|
1825
|
-
}));
|
|
1826
|
-
};
|
|
1827
|
-
// src/epics/view/showAllTableRecordsInitEpic.ts
|
|
1828
|
-
import { concat as concat6, filter as filter8, mergeMap as mergeMap7, of as of9 } from "rxjs";
|
|
1829
|
-
var showAllTableRecordsInitEpic = function (action$, state$) { return action$.pipe(filter8(showAllTableRecordsInit.match), mergeMap7(function (action) {
|
|
1830
|
-
var _a;
|
|
1831
|
-
var resultObservables = [];
|
|
1832
|
-
var _b = action.payload, bcName = _b.bcName, cursor = _b.cursor;
|
|
1833
|
-
var state = state$.value;
|
|
1834
|
-
var route = state.router;
|
|
1835
|
-
resultObservables.push(of9(bcChangeCursors({ cursorsMap: (_a = {}, _a[bcName] = null, _a) })));
|
|
1836
|
-
var bcPath = route.bcPath.slice(0, route.bcPath.indexOf("".concat(bcName, "/").concat(cursor)));
|
|
1837
|
-
var url = defaultBuildURL(__assign(__assign({}, route), { bcPath: bcPath }));
|
|
1838
|
-
resultObservables.push(of9(bcForceUpdate({ bcName: bcName })));
|
|
1839
|
-
resultObservables.push(of9(changeLocation({ location: defaultParseURL(new URL(url, window.location.origin)) })));
|
|
1840
|
-
return concat6.apply(void 0, resultObservables);
|
|
1841
|
-
})); };
|
|
1842
|
-
// src/epics/view/clearPendingDataChangesAfterCursorChangeEpic.ts
|
|
1843
|
-
import { EMPTY as EMPTY6, filter as filter9, mergeMap as mergeMap8, of as of10 } from "rxjs";
|
|
1844
|
-
var clearPendingDataChangesAfterCursorChangeEpic = function (action$, state$) { return action$.pipe(filter9(bcChangeCursors.match), mergeMap8(function (action) {
|
|
1845
|
-
var state = state$.value;
|
|
1846
|
-
var nextCursors = parseBcCursors(state.router.bcPath) || {};
|
|
1847
|
-
var cursorsDiffMap = {};
|
|
1848
|
-
Object.entries(nextCursors).forEach(function (entry) {
|
|
1849
|
-
var bcName = entry[0], cursor = entry[1];
|
|
1850
|
-
var bc = state.screen.bo.bc[bcName];
|
|
1851
|
-
if (!bc || (bc === null || bc === void 0 ? void 0 : bc.cursor) !== cursor) {
|
|
1852
|
-
cursorsDiffMap[bcName] = cursor;
|
|
1853
|
-
}
|
|
1854
|
-
});
|
|
1855
|
-
if (Object.keys(cursorsDiffMap).length) {
|
|
1856
|
-
return of10(bcChangeCursors({ cursorsMap: cursorsDiffMap }));
|
|
1857
|
-
}
|
|
1858
|
-
return EMPTY6;
|
|
1859
|
-
})); };
|
|
1860
|
-
// src/epics/router/drilldownEpic.ts
|
|
1861
|
-
import { concat as concat7, EMPTY as EMPTY7, filter as filter10, switchMap } from "rxjs";
|
|
1862
|
-
var drillDownEpic = function (action$, state$) { return action$.pipe(filter10(drillDown.match), switchMap(function (action) {
|
|
1863
|
-
var _a, _b;
|
|
1864
|
-
var state = state$.value;
|
|
1865
|
-
var url = action.payload.url;
|
|
1866
|
-
var result = [];
|
|
1867
|
-
switch (action.payload.drillDownType) {
|
|
1868
|
-
case DrillDownType.external:
|
|
1869
|
-
window.location.href = url;
|
|
1870
|
-
break;
|
|
1871
|
-
case DrillDownType.externalNew:
|
|
1872
|
-
if (/^[a-z0-9]+:\/\//i.test(url)) {
|
|
1873
|
-
window.open(url);
|
|
1874
|
-
}
|
|
1875
|
-
break;
|
|
1876
|
-
case DrillDownType.relative:
|
|
1877
|
-
window.location.href = "".concat(window.location.origin, "/").concat(url);
|
|
1878
|
-
break;
|
|
1879
|
-
case DrillDownType.relativeNew:
|
|
1880
|
-
window.open("".concat(window.location.origin, "/").concat(url), "_blank");
|
|
1881
|
-
break;
|
|
1882
|
-
case DrillDownType.inner:
|
|
1883
|
-
default:
|
|
1884
|
-
var urlBase = url.split("?")[0];
|
|
1885
|
-
var urlObject = new URL(url, window.location.origin);
|
|
1886
|
-
var urlFilters = urlObject.searchParams.get("filters");
|
|
1887
|
-
var urlSorters = urlObject.searchParams.get("sorters");
|
|
1888
|
-
var newFilters_1 = {};
|
|
1889
|
-
var newSorters = {};
|
|
1890
|
-
try {
|
|
1891
|
-
newFilters_1 = (_a = JSON.parse(urlFilters)) !== null && _a !== void 0 ? _a : newFilters_1;
|
|
1892
|
-
}
|
|
1893
|
-
catch (_c) {
|
|
1894
|
-
urlFilters && console.warn("Failed to parse filters on drilldown");
|
|
1895
|
-
newFilters_1 = {};
|
|
1896
|
-
}
|
|
1897
|
-
try {
|
|
1898
|
-
newSorters = (_b = JSON.parse(urlSorters)) !== null && _b !== void 0 ? _b : newSorters;
|
|
1899
|
-
}
|
|
1900
|
-
catch (_d) {
|
|
1901
|
-
urlSorters && console.warn("Failed to parse sorters on drilldown");
|
|
1902
|
-
newSorters = {};
|
|
1903
|
-
}
|
|
1904
|
-
var bcToUpdate_1 = {};
|
|
1905
|
-
Object.keys(state.screen.filters).forEach(function (bcName) {
|
|
1906
|
-
if (newFilters_1[bcName] === "" || newFilters_1[bcName]) {
|
|
1907
|
-
bcToUpdate_1[bcName] = true;
|
|
1908
|
-
result.push(bcRemoveAllFilters({ bcName: bcName }));
|
|
1909
|
-
}
|
|
1910
|
-
});
|
|
1911
|
-
var nextState = defaultParseURL(urlObject);
|
|
1912
|
-
var viewName_1 = nextState.viewName;
|
|
1913
|
-
Object.entries(newFilters_1).forEach(function (_a) {
|
|
1914
|
-
var _b;
|
|
1915
|
-
var bcName = _a[0], filterExpression = _a[1];
|
|
1916
|
-
var parsedFilters = (_b = parseFilters(filterExpression)) === null || _b === void 0 ? void 0 : _b.map(function (item) { return (__assign(__assign({}, item), { viewName: viewName_1 })); });
|
|
1917
|
-
parsedFilters === null || parsedFilters === void 0 ? void 0 : parsedFilters.forEach(function (parsedFilter) {
|
|
1918
|
-
bcToUpdate_1[bcName] = true;
|
|
1919
|
-
result.push(bcAddFilter({ bcName: bcName, filter: parsedFilter }));
|
|
1920
|
-
});
|
|
1921
|
-
});
|
|
1922
|
-
Object.entries(newSorters).forEach(function (_a) {
|
|
1923
|
-
var bcName = _a[0], sortExpression = _a[1];
|
|
1924
|
-
var sorter = parseSorters(sortExpression);
|
|
1925
|
-
result.push(bcAddSorter({ bcName: bcName, sorter: sorter }));
|
|
1926
|
-
bcToUpdate_1[bcName] = true;
|
|
1927
|
-
});
|
|
1928
|
-
var prevState = state.router;
|
|
1929
|
-
var willUpdateAnyway = shallowCompare(prevState, nextState, ["params"]).length > 0;
|
|
1930
|
-
if (!willUpdateAnyway) {
|
|
1931
|
-
Object.keys(bcToUpdate_1).forEach(function (bcName) {
|
|
1932
|
-
result.push(bcForceUpdate({ bcName: bcName }));
|
|
1933
|
-
});
|
|
1934
|
-
}
|
|
1935
|
-
result.push(changeLocation({
|
|
1936
|
-
location: defaultParseURL(new URL(makeRelativeUrl(urlBase), window.location.origin)),
|
|
1937
|
-
forceUpdate: true
|
|
1938
|
-
}));
|
|
1939
|
-
break;
|
|
1940
|
-
}
|
|
1941
|
-
return result.length ? concat7(result) : EMPTY7;
|
|
1942
|
-
})); };
|
|
1943
|
-
function shallowCompare(prevProps, nextProps, ignore) {
|
|
1944
|
-
if (ignore === void 0) { ignore = []; }
|
|
1945
|
-
var diffProps = [];
|
|
1946
|
-
if (!prevProps && !nextProps) {
|
|
1947
|
-
return null;
|
|
1948
|
-
}
|
|
1949
|
-
if (!prevProps) {
|
|
1950
|
-
return Object.keys(nextProps);
|
|
1951
|
-
}
|
|
1952
|
-
if (!nextProps) {
|
|
1953
|
-
return Object.keys(prevProps);
|
|
1954
|
-
}
|
|
1955
|
-
var newKeys = Object.keys(nextProps);
|
|
1956
|
-
newKeys.forEach(function (key) {
|
|
1957
|
-
if (prevProps[key] !== nextProps[key] && !ignore.includes(key)) {
|
|
1958
|
-
diffProps.push(key);
|
|
1959
|
-
}
|
|
1960
|
-
});
|
|
1961
|
-
Object.keys(prevProps).forEach(function (key) {
|
|
1962
|
-
if (!newKeys.includes(key)) {
|
|
1963
|
-
diffProps.push(key);
|
|
1964
|
-
}
|
|
1965
|
-
});
|
|
1966
|
-
return diffProps;
|
|
1967
|
-
}
|
|
1968
|
-
// src/epics/router/loginDoneEpic.ts
|
|
1969
|
-
import { filter as filter11, of as of11, switchMap as switchMap2 } from "rxjs";
|
|
1970
|
-
var loginDoneEpic = function (action$, state$) { return action$.pipe(filter11(loginDone.match), switchMap2(function (action) {
|
|
1971
|
-
var state = state$.value;
|
|
1972
|
-
if (state.router.type === "router" /* router */) {
|
|
1973
|
-
return of11(handleRouter(state.router));
|
|
1974
|
-
}
|
|
1975
|
-
return of11(changeLocation({
|
|
1976
|
-
location: getRouteFromString(window.location.hash.replace("#", "")),
|
|
1977
|
-
forceUpdate: true
|
|
1978
|
-
}));
|
|
1979
|
-
})); };
|
|
1980
|
-
// src/epics/router/selectViewEpic.ts
|
|
1981
|
-
import { EMPTY as EMPTY8, filter as filter12, of as of12, switchMap as switchMap3 } from "rxjs";
|
|
1982
|
-
var changeViewEpic = function (action$, state$) { return action$.pipe(filter12(selectView.match), switchMap3(function (action) {
|
|
1983
|
-
var state = state$.value;
|
|
1984
|
-
var nextCursors = parseBcCursors(state.router.bcPath) || {};
|
|
1985
|
-
var cursorsDiffMap = {};
|
|
1986
|
-
Object.entries(nextCursors).forEach(function (entry) {
|
|
1987
|
-
var bcName = entry[0], cursor = entry[1];
|
|
1988
|
-
var bc = state.screen.bo.bc[bcName];
|
|
1989
|
-
if (!bc || bc.cursor !== cursor) {
|
|
1990
|
-
cursorsDiffMap[bcName] = cursor;
|
|
1991
|
-
}
|
|
1992
|
-
});
|
|
1993
|
-
if (Object.keys(cursorsDiffMap).length) {
|
|
1994
|
-
return of12(bcChangeCursors({ cursorsMap: cursorsDiffMap }));
|
|
1995
|
-
}
|
|
1996
|
-
return EMPTY8;
|
|
1997
|
-
})); };
|
|
1998
|
-
// src/epics/router/handleRouterEpic.ts
|
|
1999
|
-
import { catchError as catchError4, EMPTY as EMPTY9, filter as filter13, mergeMap as mergeMap9, switchMap as switchMap4 } from "rxjs";
|
|
2000
|
-
var handleRouterEpic = function (action$, state$, _a) {
|
|
2001
|
-
var api = _a.api;
|
|
2002
|
-
return action$.pipe(filter13(handleRouter.match), switchMap4(function (action) {
|
|
2003
|
-
var path = action.payload.path;
|
|
2004
|
-
var params = action.payload.params;
|
|
2005
|
-
return api.routerRequest(path, params).pipe(mergeMap9(function () {
|
|
2006
|
-
return EMPTY9;
|
|
2007
|
-
}), catchError4(function (error) {
|
|
2008
|
-
console.error(error);
|
|
2009
|
-
return createApiErrorObservable(error);
|
|
2010
|
-
}));
|
|
2011
|
-
}));
|
|
2012
|
-
};
|
|
2013
|
-
// src/epics/router/selectScreenEpic.ts
|
|
2014
|
-
import { filter as filter14, of as of13, switchMap as switchMap5 } from "rxjs";
|
|
2015
|
-
var changeScreen = function (action$, state$) { return action$.pipe(filter14(selectScreen.match), switchMap5(function (action) {
|
|
2016
|
-
var state = state$.value;
|
|
2017
|
-
var nextViewName = state.router.viewName;
|
|
2018
|
-
var requestedView = state.screen.views.find(function (item) { return item.name === nextViewName; });
|
|
2019
|
-
var defaultView = !nextViewName && state.screen.primaryView && state.screen.views.find(function (item) { return item.name === state.screen.primaryView; });
|
|
2020
|
-
var nextView = requestedView || defaultView || state.screen.views[0];
|
|
2021
|
-
return nextView ? of13(selectView(nextView)) : of13(selectViewFail({ viewName: nextViewName }));
|
|
2022
|
-
})); };
|
|
2023
|
-
// src/epics/router/userDrillDownEpic.ts
|
|
2024
|
-
import { catchError as catchError5, concat as concat8, EMPTY as EMPTY10, filter as filter15, mergeMap as mergeMap10, of as of14, switchMap as switchMap6 } from "rxjs";
|
|
2025
|
-
var userDrillDownEpic = function (action$, state$, _a) {
|
|
2026
|
-
var api = _a.api;
|
|
2027
|
-
return action$.pipe(filter15(userDrillDown.match), switchMap6(function (action) {
|
|
2028
|
-
var state = state$.value;
|
|
2029
|
-
var _a = action.payload, bcName = _a.bcName, fieldKey = _a.fieldKey, cursor = _a.cursor;
|
|
2030
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
2031
|
-
return api.fetchRowMeta(state.screen.screenName, bcUrl).pipe(mergeMap10(function (rowMeta) {
|
|
2032
|
-
var _a, _b, _c, _d;
|
|
2033
|
-
var drillDownField = rowMeta.fields.find(function (field) { return field.key === fieldKey; });
|
|
2034
|
-
var route = state.router;
|
|
2035
|
-
var drillDownKey = (_b = (_a = state.view.widgets.find(function (widget) { return widget.bcName === bcName; })) === null || _a === void 0 ? void 0 : _a.fields.find(function (field) { return field.key === fieldKey; })) === null || _b === void 0 ? void 0 : _b.drillDownKey;
|
|
2036
|
-
var customDrillDownUrl = (_d = (_c = state.data[bcName]) === null || _c === void 0 ? void 0 : _c.find(function (record) { return record.id === cursor; })) === null || _d === void 0 ? void 0 : _d[drillDownKey];
|
|
2037
|
-
return customDrillDownUrl || (drillDownField === null || drillDownField === void 0 ? void 0 : drillDownField.drillDown) || (drillDownField === null || drillDownField === void 0 ? void 0 : drillDownField.drillDown) !== route.path ? concat8((drillDownField === null || drillDownField === void 0 ? void 0 : drillDownField.drillDownType) !== DrillDownType.inner ? of14(bcFetchRowMetaSuccess({ bcName: bcName, rowMeta: rowMeta, bcUrl: bcUrl, cursor: cursor })) : EMPTY10, of14(userDrillDownSuccess({ bcName: bcName, bcUrl: bcUrl, cursor: cursor })), of14(drillDown({
|
|
2038
|
-
url: customDrillDownUrl || drillDownField.drillDown,
|
|
2039
|
-
drillDownType: drillDownField.drillDownType,
|
|
2040
|
-
route: route
|
|
2041
|
-
}))) : EMPTY10;
|
|
2042
|
-
}), catchError5(function (error) {
|
|
2043
|
-
console.error(error);
|
|
2044
|
-
return createApiErrorObservable(error);
|
|
2045
|
-
}));
|
|
2046
|
-
}));
|
|
2047
|
-
};
|
|
2048
|
-
// src/epics/router/changeLocationEpic.ts
|
|
2049
|
-
import { concat as concat9, EMPTY as EMPTY11, filter as filter16, mergeMap as mergeMap11, of as of15 } from "rxjs";
|
|
2050
|
-
var changeLocationEpic = function (action$, state$) { return action$.pipe(filter16(changeLocation.match), mergeMap11(function (action) {
|
|
2051
|
-
var _a, _b;
|
|
2052
|
-
var state = state$.value;
|
|
2053
|
-
if (!state.session.active) {
|
|
2054
|
-
return EMPTY11;
|
|
2055
|
-
}
|
|
2056
|
-
if (state.router.type === "router" /* router */) {
|
|
2057
|
-
return of15(handleRouter(state.router));
|
|
2058
|
-
}
|
|
2059
|
-
var currentScreenName = state.screen.screenName;
|
|
2060
|
-
var defaultScreenName = ((_a = state.session.screens.find(function (screen) { return screen.defaultScreen; })) === null || _a === void 0 ? void 0 : _a.name) || ((_b = state.session.screens[0]) === null || _b === void 0 ? void 0 : _b.name);
|
|
2061
|
-
var nextScreenName = state.router.type === "default" /* default */ ? defaultScreenName : state.router.screenName;
|
|
2062
|
-
if (nextScreenName !== currentScreenName || action.payload.forceUpdate) {
|
|
2063
|
-
var nextScreen = state.session.screens.find(function (item) { return item.name === nextScreenName; });
|
|
2064
|
-
return nextScreen ? of15(selectScreen({ screen: nextScreen })) : of15(selectScreenFail({ screenName: nextScreenName }));
|
|
2065
|
-
}
|
|
2066
|
-
var currentViewName = state.view.name;
|
|
2067
|
-
var nextViewName = state.router.viewName;
|
|
2068
|
-
var nextCursors = parseBcCursors(state.router.bcPath) || {};
|
|
2069
|
-
var cursorsDiffMap = {};
|
|
2070
|
-
Object.entries(nextCursors).forEach(function (entry) {
|
|
2071
|
-
var bcName = entry[0], cursor = entry[1];
|
|
2072
|
-
var bc = state.screen.bo.bc[bcName];
|
|
2073
|
-
if (!bc || (bc === null || bc === void 0 ? void 0 : bc.cursor) !== cursor) {
|
|
2074
|
-
cursorsDiffMap[bcName] = cursor;
|
|
2075
|
-
}
|
|
2076
|
-
});
|
|
2077
|
-
var needUpdateCursors = Object.keys(cursorsDiffMap).length;
|
|
2078
|
-
var needUpdateViews = nextViewName !== currentViewName;
|
|
2079
|
-
var resultObservables = [];
|
|
2080
|
-
if (needUpdateCursors) {
|
|
2081
|
-
resultObservables.push(of15(bcChangeCursors({ cursorsMap: cursorsDiffMap })));
|
|
2082
|
-
}
|
|
2083
|
-
if (needUpdateViews) {
|
|
2084
|
-
var nextView = nextViewName ? state.screen.views.find(function (item) { return item.name === nextViewName; }) : state.screen.primaryView ? state.screen.views.find(function (item) { return item.name === state.screen.primaryView; }) : state.screen.views[0];
|
|
2085
|
-
resultObservables.push(nextView ? of15(selectView(nextView)) : of15(selectViewFail({ viewName: nextViewName })));
|
|
2086
|
-
}
|
|
2087
|
-
if (needUpdateCursors && !needUpdateViews) {
|
|
2088
|
-
Object.entries(nextCursors).forEach(function (entry) {
|
|
2089
|
-
var bcName = entry[0], cursor = entry[1];
|
|
2090
|
-
if (!state.data[bcName].find(function (item) { return item.id === cursor; })) {
|
|
2091
|
-
resultObservables.push(of15(bcForceUpdate({ bcName: bcName })));
|
|
2092
|
-
}
|
|
2093
|
-
});
|
|
2094
|
-
}
|
|
2095
|
-
return concat9.apply(void 0, resultObservables);
|
|
2096
|
-
})); };
|
|
2097
|
-
// src/epics/router/selectViewFailEpic.ts
|
|
2098
|
-
import { filter as filter17, map as map2 } from "rxjs";
|
|
2099
|
-
var selectViewFailEpic = function (action$, state$) { return action$.pipe(filter17(selectViewFail.match), map2(function (action) {
|
|
2100
|
-
return addNotification({
|
|
2101
|
-
type: "error",
|
|
2102
|
-
key: "selectViewFail",
|
|
2103
|
-
message: "View is missing or unavailable for your role",
|
|
2104
|
-
options: {
|
|
2105
|
-
messageOptions: { viewName: action.payload.viewName }
|
|
2106
|
-
},
|
|
2107
|
-
duration: 15
|
|
2108
|
-
});
|
|
2109
|
-
})); };
|
|
2110
|
-
// src/epics/router/selectScreenFailEpic.ts
|
|
2111
|
-
import { filter as filter18, map as map3 } from "rxjs";
|
|
2112
|
-
var selectScreenFailEpic = function (action$) { return action$.pipe(filter18(selectScreenFail.match), map3(function (action) {
|
|
2113
|
-
return addNotification({
|
|
2114
|
-
type: "error",
|
|
2115
|
-
key: "selectScreenFail",
|
|
2116
|
-
message: "Screen is missing or unavailable for your role",
|
|
2117
|
-
options: {
|
|
2118
|
-
messageOptions: { screenName: action.payload.screenName }
|
|
2119
|
-
},
|
|
2120
|
-
duration: 15
|
|
2121
|
-
});
|
|
2122
|
-
})); };
|
|
2123
|
-
// src/epics/router/userDrilldownChangeCursorsEpic.ts
|
|
2124
|
-
import { filter as filter19, map as map4 } from "rxjs";
|
|
2125
|
-
var userDrillDownChangeCursorsEpic = function (action$, state$) { return action$.pipe(filter19(userDrillDown.match), map4(function (action) {
|
|
2126
|
-
var _a;
|
|
2127
|
-
var _b;
|
|
2128
|
-
var state = state$.value;
|
|
2129
|
-
var widget = state.view.widgets.find(function (item) { return item.name === action.payload.widgetName; });
|
|
2130
|
-
var cursor = (_b = state.screen.bo.bc[widget === null || widget === void 0 ? void 0 : widget.bcName]) === null || _b === void 0 ? void 0 : _b.cursor;
|
|
2131
|
-
if (cursor !== action.payload.cursor) {
|
|
2132
|
-
return bcChangeCursors({ cursorsMap: (_a = {}, _a[action.payload.bcName] = action.payload.cursor, _a) });
|
|
2133
|
-
}
|
|
2134
|
-
return emptyAction;
|
|
2135
|
-
})); };
|
|
2136
|
-
// src/epics/screen/apiErrorEpic.ts
|
|
2137
|
-
import axios from "axios";
|
|
2138
|
-
import { EMPTY as EMPTY12, filter as filter20, mergeMap as mergeMap12, of as of16 } from "rxjs";
|
|
2139
|
-
var apiErrorEpic = function (action$) { return action$.pipe(filter20(apiError.match), mergeMap12(function (action) {
|
|
2140
|
-
var _a = action.payload, error = _a.error, callContext = _a.callContext;
|
|
2141
|
-
if (error.response) {
|
|
2142
|
-
return of16(httpError({
|
|
2143
|
-
statusCode: error.response.status,
|
|
2144
|
-
error: error,
|
|
2145
|
-
callContext: callContext
|
|
2146
|
-
}));
|
|
2147
|
-
}
|
|
2148
|
-
else if (!axios.isCancel(error)) {
|
|
2149
|
-
return of16(showViewError({
|
|
2150
|
-
error: {
|
|
2151
|
-
type: 2 /* NetworkError */
|
|
2152
|
-
}
|
|
2153
|
-
}));
|
|
2154
|
-
}
|
|
2155
|
-
return EMPTY12;
|
|
2156
|
-
})); };
|
|
2157
|
-
// src/epics/screen/downloadFileEpic.ts
|
|
2158
|
-
import { EMPTY as EMPTY13, filter as filter21, mergeMap as mergeMap13, tap } from "rxjs";
|
|
2159
|
-
var downloadFileEpic = function (action$, state$, _a) {
|
|
2160
|
-
var api = _a.api;
|
|
2161
|
-
return action$.pipe(filter21(downloadFile.match), tap(function (action) {
|
|
2162
|
-
var fileId = action.payload.fileId;
|
|
2163
|
-
var anchor = document.createElement("a");
|
|
2164
|
-
anchor.href = "".concat(api.fileUploadEndpoint, "?id=").concat(encodeURIComponent(fileId));
|
|
2165
|
-
anchor.style.display = "none";
|
|
2166
|
-
document.body.appendChild(anchor);
|
|
2167
|
-
setTimeout(function () {
|
|
2168
|
-
anchor.click();
|
|
2169
|
-
document.body.removeChild(anchor);
|
|
2170
|
-
}, 100);
|
|
2171
|
-
}), mergeMap13(function () { return EMPTY13; }));
|
|
2172
|
-
};
|
|
2173
|
-
// src/epics/screen/httpError401Epic.ts
|
|
2174
|
-
import { filter as filter22, map as map5 } from "rxjs";
|
|
2175
|
-
var httpError401Epic = function (action$) { return action$.pipe(filter22(httpError.match), filter22(function (action) { return action.payload.statusCode === 401; }), map5(function (action) {
|
|
2176
|
-
return logoutDone(null);
|
|
2177
|
-
})); };
|
|
2178
|
-
// src/epics/screen/httpError409Epic.ts
|
|
2179
|
-
import { filter as filter23, map as map6 } from "rxjs";
|
|
2180
|
-
var httpError409Epic = function (action$, state$) { return action$.pipe(filter23(httpError.match), filter23(function (action) { return action.payload.statusCode === 409; }), map6(function (action) {
|
|
2181
|
-
var _a, _b, _c;
|
|
2182
|
-
var notificationMessage = ((_c = (_b = ((_a = action.payload.error.response) === null || _a === void 0 ? void 0 : _a.data).error) === null || _b === void 0 ? void 0 : _b.popup) === null || _c === void 0 ? void 0 : _c[0]) || "";
|
|
2183
|
-
return addNotification({
|
|
2184
|
-
key: "action_edit_error",
|
|
2185
|
-
message: notificationMessage,
|
|
2186
|
-
type: "buttonWarningNotification",
|
|
2187
|
-
duration: 0,
|
|
2188
|
-
options: {
|
|
2189
|
-
buttonWarningNotificationOptions: {
|
|
2190
|
-
buttonText: "OK"
|
|
2191
|
-
}
|
|
2192
|
-
}
|
|
2193
|
-
});
|
|
2194
|
-
})); };
|
|
2195
|
-
// src/epics/screen/httpError418Epic.ts
|
|
2196
|
-
import { concat as concat10, EMPTY as EMPTY14, filter as filter24, mergeMap as mergeMap14, of as of17 } from "rxjs";
|
|
2197
|
-
var httpError418Epic = function (action$, state$) { return action$.pipe(filter24(httpError.match), filter24(function (action) { return action.payload.statusCode === 418; }), mergeMap14(function (action) {
|
|
2198
|
-
var _a, _b;
|
|
2199
|
-
var _c = action.payload, error = _c.error, callContext = _c.callContext;
|
|
2200
|
-
var result = [];
|
|
2201
|
-
var typedError = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
2202
|
-
if (!typedError.error.popup) {
|
|
2203
|
-
return EMPTY14;
|
|
2204
|
-
}
|
|
2205
|
-
var businessError = {
|
|
2206
|
-
type: 0 /* BusinessError */,
|
|
2207
|
-
message: typedError.error.popup[0]
|
|
2208
|
-
};
|
|
2209
|
-
result.push(of17(showViewError({ error: businessError })));
|
|
2210
|
-
if ((_b = typedError.error.postActions) === null || _b === void 0 ? void 0 : _b[0]) {
|
|
2211
|
-
var widget = state$.value.view.widgets.find(function (item) { return item.name === callContext.widgetName; });
|
|
2212
|
-
var bcName = widget === null || widget === void 0 ? void 0 : widget.bcName;
|
|
2213
|
-
result.push(of17(processPostInvoke({
|
|
2214
|
-
bcName: bcName,
|
|
2215
|
-
postInvoke: typedError.error.postActions[0],
|
|
2216
|
-
widgetName: widget === null || widget === void 0 ? void 0 : widget.name
|
|
2217
|
-
})));
|
|
2218
|
-
}
|
|
2219
|
-
return concat10.apply(void 0, result);
|
|
2220
|
-
})); };
|
|
2221
|
-
// src/epics/screen/httpError500Epic.ts
|
|
2222
|
-
import { filter as filter25, map as map7 } from "rxjs";
|
|
2223
|
-
var httpError500Epic = function (action$, state$) { return action$.pipe(filter25(httpError.match), filter25(function (action) { return action.payload.statusCode === 500; }), map7(function (action) {
|
|
2224
|
-
var _a;
|
|
2225
|
-
var systemError = {
|
|
2226
|
-
type: 1 /* SystemError */,
|
|
2227
|
-
details: ((_a = action.payload.error.response) === null || _a === void 0 ? void 0 : _a.statusText) || "",
|
|
2228
|
-
error: action.payload.error
|
|
2229
|
-
};
|
|
2230
|
-
return showViewError({ error: systemError });
|
|
2231
|
-
})); };
|
|
2232
|
-
// src/epics/screen/httpErrorDefaultEpic.ts
|
|
2233
|
-
import { filter as filter26, map as map8 } from "rxjs";
|
|
2234
|
-
var knownHttpErrors = [401, 409, 418, 500];
|
|
2235
|
-
var httpErrorDefaultEpic = function (action$, state$) { return action$.pipe(filter26(httpError.match), filter26(function (action) { return !knownHttpErrors.includes(action.payload.statusCode); }), map8(function (action) {
|
|
2236
|
-
var _a, _b;
|
|
2237
|
-
var businessError = {
|
|
2238
|
-
type: 0 /* BusinessError */,
|
|
2239
|
-
code: (_a = action.payload.error.response) === null || _a === void 0 ? void 0 : _a.status,
|
|
2240
|
-
details: (_b = action.payload.error.response) === null || _b === void 0 ? void 0 : _b.data
|
|
2241
|
-
};
|
|
2242
|
-
return showViewError({ error: businessError });
|
|
2243
|
-
})); };
|
|
2244
|
-
// src/epics/screen/downloadFileByUrlEpic.ts
|
|
2245
|
-
import { EMPTY as EMPTY15, filter as filter27, mergeMap as mergeMap15, tap as tap2 } from "rxjs";
|
|
2246
|
-
var downloadFileByUrlEpic = function (action$, state$) { return action$.pipe(filter27(downloadFileByUrl.match), tap2(function (action) {
|
|
2247
|
-
var url = action.payload.url;
|
|
2248
|
-
var anchor = document.createElement("a");
|
|
2249
|
-
anchor.href = url;
|
|
2250
|
-
anchor.style.display = "none";
|
|
2251
|
-
document.body.appendChild(anchor);
|
|
2252
|
-
setTimeout(function () {
|
|
2253
|
-
anchor.click();
|
|
2254
|
-
document.body.removeChild(anchor);
|
|
2255
|
-
}, 100);
|
|
2256
|
-
}), mergeMap15(function () { return EMPTY15; })); };
|
|
2257
|
-
// src/epics/screen/processPostInvokeEpic.ts
|
|
2258
|
-
import { EMPTY as EMPTY16, filter as filter28, mergeMap as mergeMap16, of as of18 } from "rxjs";
|
|
2259
|
-
var processPostInvokeEpic = function (action$, state$) { return action$.pipe(filter28(processPostInvoke.match), mergeMap16(function (action) {
|
|
2260
|
-
var _a;
|
|
2261
|
-
var _b;
|
|
2262
|
-
var state = state$.value;
|
|
2263
|
-
switch (action.payload.postInvoke.type) {
|
|
2264
|
-
case "drillDown" /* drillDown */:
|
|
2265
|
-
return of18(drillDown(__assign(__assign({}, action.payload.postInvoke), { route: state.router, widgetName: action.payload.widgetName })));
|
|
2266
|
-
case "postDelete" /* postDelete */: {
|
|
2267
|
-
var cursorsMap = (_a = {}, _a[action.payload.bcName] = null, _a);
|
|
2268
|
-
var result = [bcChangeCursors({ cursorsMap: cursorsMap })];
|
|
2269
|
-
if ((_b = state.router.bcPath) === null || _b === void 0 ? void 0 : _b.includes("".concat(action.payload.bcName, "/"))) {
|
|
2270
|
-
var newBcUrl = state.router.bcPath.split(action.payload.bcName)[0] || "";
|
|
2271
|
-
var newUrl = "/screen/".concat(state.router.screenName, "/view/").concat(state.router.viewName, "/").concat(newBcUrl);
|
|
2272
|
-
result.push(changeLocation({ location: defaultParseURL(new URL(newUrl, window.location.origin)) }));
|
|
2273
|
-
}
|
|
2274
|
-
else {
|
|
2275
|
-
result.push(bcFetchDataRequest({
|
|
2276
|
-
bcName: action.payload.bcName,
|
|
2277
|
-
widgetName: action.payload.widgetName
|
|
2278
|
-
}));
|
|
2279
|
-
}
|
|
2280
|
-
return of18.apply(void 0, result);
|
|
2281
|
-
}
|
|
2282
|
-
case "refreshBC" /* refreshBC */: {
|
|
2283
|
-
var bo = state.screen.bo;
|
|
2284
|
-
var postInvoke = action.payload.postInvoke;
|
|
2285
|
-
var postInvokeBC_1 = postInvoke.bc;
|
|
2286
|
-
var postInvokeBCItem = bo.bc[postInvoke.bc];
|
|
2287
|
-
var widgetName = action.payload.widgetName || "";
|
|
2288
|
-
var infiniteWidgets_1 = state.view.infiniteWidgets || [];
|
|
2289
|
-
var infinitePagination = state.view.widgets.some(function (item) { return item.bcName === postInvokeBC_1 && infiniteWidgets_1.includes(item.name); });
|
|
2290
|
-
return infinitePagination ? of18(bcFetchDataPages({
|
|
2291
|
-
bcName: postInvokeBCItem === null || postInvokeBCItem === void 0 ? void 0 : postInvokeBCItem.name,
|
|
2292
|
-
widgetName: widgetName,
|
|
2293
|
-
from: 1,
|
|
2294
|
-
to: postInvokeBCItem === null || postInvokeBCItem === void 0 ? void 0 : postInvokeBCItem.page
|
|
2295
|
-
})) : of18(bcFetchDataRequest({
|
|
2296
|
-
bcName: postInvokeBCItem === null || postInvokeBCItem === void 0 ? void 0 : postInvokeBCItem.name,
|
|
2297
|
-
widgetName: widgetName
|
|
2298
|
-
}));
|
|
2299
|
-
}
|
|
2300
|
-
case "showMessage" /* showMessage */: {
|
|
2301
|
-
var postInvoke = action.payload.postInvoke;
|
|
2302
|
-
return of18(showNotification({ type: postInvoke.messageType, message: postInvoke.messageText }));
|
|
2303
|
-
}
|
|
2304
|
-
case "downloadFile" /* downloadFile */: {
|
|
2305
|
-
var postInvoke = action.payload.postInvoke;
|
|
2306
|
-
return of18(downloadFile({ fileId: postInvoke.fileId }));
|
|
2307
|
-
}
|
|
2308
|
-
case "downloadFileByUrl" /* downloadFileByUrl */: {
|
|
2309
|
-
var postInvoke = action.payload.postInvoke;
|
|
2310
|
-
return of18(downloadFileByUrl({ url: postInvoke.url }));
|
|
2311
|
-
}
|
|
2312
|
-
default:
|
|
2313
|
-
return EMPTY16;
|
|
2314
|
-
}
|
|
2315
|
-
})); };
|
|
2316
|
-
// src/epics/screen/processPostInvokeConfirmEpic.ts
|
|
2317
|
-
import { EMPTY as EMPTY17, filter as filter29, mergeMap as mergeMap17, of as of19 } from "rxjs";
|
|
2318
|
-
import { isAnyOf } from "@reduxjs/toolkit";
|
|
2319
|
-
var processPostInvokeConfirmEpic = function (action$, state$) { return action$.pipe(filter29(isAnyOf(processPostInvokeConfirm, processPreInvoke)), mergeMap17(function (action) {
|
|
2320
|
-
var _a = action.payload, bcName = _a.bcName, operationType = _a.operationType, widgetName = _a.widgetName;
|
|
2321
|
-
var confirm = processPostInvokeConfirm.match(action) ? action.payload.postInvokeConfirm : action.payload.preInvoke;
|
|
2322
|
-
switch (confirm.type) {
|
|
2323
|
-
case "confirm" /* confirm */:
|
|
2324
|
-
case "info" /* info */:
|
|
2325
|
-
case "error" /* error */:
|
|
2326
|
-
case "confirmText" /* confirmText */: {
|
|
2327
|
-
return of19(operationConfirmation({
|
|
2328
|
-
operation: {
|
|
2329
|
-
bcName: bcName,
|
|
2330
|
-
operationType: operationType,
|
|
2331
|
-
widgetName: widgetName
|
|
2332
|
-
},
|
|
2333
|
-
confirmOperation: confirm
|
|
2334
|
-
}));
|
|
2335
|
-
}
|
|
2336
|
-
default:
|
|
2337
|
-
return EMPTY17;
|
|
2338
|
-
}
|
|
2339
|
-
})); };
|
|
2340
|
-
// src/epics/session/switchRoleEpic.ts
|
|
2341
|
-
import { concat as concat11, filter as filter30, switchMap as switchMap7 } from "rxjs";
|
|
2342
|
-
var switchRoleEpic = function (action$, state$) { return action$.pipe(filter30(switchRole.match), switchMap7(function (action) {
|
|
2343
|
-
return concat11([logoutDone(null), login({ login: "", password: "", role: action.payload.role })]);
|
|
2344
|
-
})); };
|
|
2345
|
-
// src/epics/session/refreshMetaEpic.ts
|
|
2346
|
-
import { catchError as catchError6, concat as concat12, filter as filter31, mergeMap as mergeMap18, switchMap as switchMap8 } from "rxjs";
|
|
2347
|
-
var refreshMetaEpic = function (action$, state$, _a) {
|
|
2348
|
-
var api = _a.api;
|
|
2349
|
-
return action$.pipe(filter31(refreshMeta.match), mergeMap18(function () {
|
|
2350
|
-
var state = state$.value;
|
|
2351
|
-
var activeRole = state.session.activeRole;
|
|
2352
|
-
return api.refreshMeta().pipe(switchMap8(function () { return concat12([refreshMetaDone(), logoutDone(null), login({ login: "", password: "", role: activeRole })]); }), catchError6(function (error) { return concat12([loginFail(error), refreshMetaFail(), createApiError(error)]); }));
|
|
2353
|
-
}));
|
|
2354
|
-
};
|
|
2355
|
-
// src/epics/session/loginDoneEpic.ts
|
|
2356
|
-
import { EMPTY as EMPTY18, filter as filter32, switchMap as switchMap9 } from "rxjs";
|
|
2357
|
-
var loginDoneSessionEpic = function (action$, store) { return action$.pipe(filter32(login.match), switchMap9(function (action) { return EMPTY18; })); };
|
|
2358
|
-
// src/epics/session/loginByAnotherRoleEpic.ts
|
|
2359
|
-
import { catchError as catchError7, concat as concat13, filter as filter33, mergeMap as mergeMap19, of as of20, switchMap as switchMap10 } from "rxjs";
|
|
2360
|
-
var responseStatusMessages = {
|
|
2361
|
-
401: "Invalid credentials",
|
|
2362
|
-
403: "Access denied"
|
|
2363
|
-
};
|
|
2364
|
-
var loginByAnotherRoleEpic = function (action$, state$, _a) {
|
|
2365
|
-
var api = _a.api;
|
|
2366
|
-
return action$.pipe(filter33(login.match), filter33(function (action) { var _a; return !!((_a = action.payload) === null || _a === void 0 ? void 0 : _a.role); }), switchMap10(function (action) {
|
|
2367
|
-
var _a;
|
|
2368
|
-
var role = (_a = action.payload.role) !== null && _a !== void 0 ? _a : "";
|
|
2369
|
-
var isSwitchRole = role && role !== state$.value.session.activeRole;
|
|
2370
|
-
return api.loginByRoleRequest(role).pipe(mergeMap19(function (data) {
|
|
2371
|
-
var _a;
|
|
2372
|
-
var result = [];
|
|
2373
|
-
if (isSwitchRole) {
|
|
2374
|
-
var defaultScreen = data.screens.find(function (screen) { return screen.defaultScreen; }) || data.screens[0];
|
|
2375
|
-
var defaultViewName_1 = (_a = defaultScreen === null || defaultScreen === void 0 ? void 0 : defaultScreen.primary) !== null && _a !== void 0 ? _a : defaultScreen.meta.views[0].name;
|
|
2376
|
-
var defaultView = defaultScreen === null || defaultScreen === void 0 ? void 0 : defaultScreen.meta.views.find(function (view) { return defaultViewName_1 === view.name; });
|
|
2377
|
-
if (defaultView)
|
|
2378
|
-
result.push(changeLocation({ location: defaultParseURL(new URL(defaultView.url, window.location.origin)) }));
|
|
2379
|
-
}
|
|
2380
|
-
return concat13(__spreadArray(__spreadArray([], result, true), [
|
|
2381
|
-
loginDone({
|
|
2382
|
-
devPanelEnabled: data.devPanelEnabled,
|
|
2383
|
-
activeRole: data.activeRole,
|
|
2384
|
-
roles: data.roles,
|
|
2385
|
-
screens: data.screens,
|
|
2386
|
-
firstName: data.firstName,
|
|
2387
|
-
lastName: data.lastName,
|
|
2388
|
-
login: data.login
|
|
2389
|
-
})
|
|
2390
|
-
], false));
|
|
2391
|
-
}), catchError7(function (error) {
|
|
2392
|
-
console.error(error);
|
|
2393
|
-
var errorMsg = error.response ? responseStatusMessages[error.response.status] || "Server application unavailable" : "Empty server response";
|
|
2394
|
-
return concat13(of20(loginFail({ errorMsg: errorMsg })), createApiErrorObservable(error));
|
|
2395
|
-
}));
|
|
2396
|
-
}));
|
|
2397
|
-
};
|
|
2398
|
-
// src/epics/session/refreshMetaAndReloadPageEpic.ts
|
|
2399
|
-
import { concat as concat14, EMPTY as EMPTY19, filter as filter34, of as of21, switchMap as switchMap11, take, tap as tap3 } from "rxjs";
|
|
2400
|
-
var refreshMetaAndReloadPageEpic = function (action$, state$) { return action$.pipe(filter34(refreshMetaAndReloadPage.match), switchMap11(function () { return concat14(of21(refreshMeta()), action$.pipe(filter34(loginDone.match), take(1), tap3(function () { return location.reload(); }), switchMap11(function () { return EMPTY19; }))); })); };
|
|
2401
|
-
// src/epics/data/bcNewDataEpic.ts
|
|
2402
|
-
import { catchError as catchError8, concat as concat15, EMPTY as EMPTY20, filter as filter35, mergeMap as mergeMap20, of as of22 } from "rxjs";
|
|
2403
|
-
import { OperationTypeCrud as OperationTypeCrud8 } from "@cxbox-ui/schema";
|
|
2404
|
-
var bcNewDataEpic = function (action$, state$, _a) {
|
|
2405
|
-
var api = _a.api;
|
|
2406
|
-
return action$.pipe(filter35(sendOperation.match), filter35(function (action) { return matchOperationRole(OperationTypeCrud8.create, action.payload, state$.value); }), mergeMap20(function (action) {
|
|
2407
|
-
var _a;
|
|
2408
|
-
var state = state$.value;
|
|
2409
|
-
var bcName = action.payload.bcName;
|
|
2410
|
-
var bcUrl = (_a = buildBcUrl(bcName, false, state)) !== null && _a !== void 0 ? _a : "";
|
|
2411
|
-
var context = { widgetName: action.payload.widgetName };
|
|
2412
|
-
var params = { _action: action.payload.operationType };
|
|
2413
|
-
return api.newBcData(state.screen.screenName, bcUrl, context, params).pipe(mergeMap20(function (data) {
|
|
2414
|
-
var _a, _b;
|
|
2415
|
-
var rowMeta = data.row;
|
|
2416
|
-
var dataItem = { id: null, vstamp: -1 };
|
|
2417
|
-
data.row.fields.forEach(function (field) {
|
|
2418
|
-
dataItem[field.key] = field.currentValue;
|
|
2419
|
-
});
|
|
2420
|
-
var postInvoke = (_a = data.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
2421
|
-
var cursor = dataItem.id;
|
|
2422
|
-
return concat15(of22(bcNewDataSuccess({ bcName: bcName, dataItem: dataItem, bcUrl: bcUrl })), of22(bcFetchRowMetaSuccess({ bcName: bcName, bcUrl: "".concat(bcUrl, "/").concat(cursor), rowMeta: rowMeta, cursor: cursor })), of22(changeDataItem({
|
|
2423
|
-
bcName: bcName,
|
|
2424
|
-
bcUrl: (_b = buildBcUrl(bcName, true, state)) !== null && _b !== void 0 ? _b : "",
|
|
2425
|
-
cursor: cursor,
|
|
2426
|
-
dataItem: {
|
|
2427
|
-
id: cursor
|
|
2428
|
-
}
|
|
2429
|
-
})), postInvoke ? of22(processPostInvoke({ bcName: bcName, postInvoke: postInvoke, cursor: cursor, widgetName: action.payload.widgetName })) : EMPTY20);
|
|
2430
|
-
}), catchError8(function (error) {
|
|
2431
|
-
console.error(error);
|
|
2432
|
-
return concat15(of22(bcNewDataFail({ bcName: bcName })), createApiErrorObservable(error, context));
|
|
2433
|
-
}));
|
|
2434
|
-
}));
|
|
2435
|
-
};
|
|
2436
|
-
// src/epics/data/bcLoadMoreEpic.ts
|
|
2437
|
-
import { catchError as catchError9, concat as concat16, filter as filter37, mergeMap as mergeMap22, of as of24, race } from "rxjs";
|
|
2438
|
-
// src/utils/cancelRequestEpic.ts
|
|
2439
|
-
import { filter as filter36, mergeMap as mergeMap21, of as of23, take as take2 } from "rxjs";
|
|
2440
|
-
import { isAnyOf as isAnyOf2 } from "@reduxjs/toolkit";
|
|
2441
|
-
var cancelRequestActionTypes = [selectView, logout];
|
|
2442
|
-
function cancelRequestEpic(action$, actionTypes, cancelFn, cancelActionCreator, filterFn) {
|
|
2443
|
-
if (filterFn === void 0) { filterFn = function (item) {
|
|
2444
|
-
return true;
|
|
2445
|
-
}; }
|
|
2446
|
-
return action$.pipe(filter36(isAnyOf2.apply(void 0, actionTypes)), filter36(filterFn), mergeMap21(function () {
|
|
2447
|
-
cancelFn === null || cancelFn === void 0 ? void 0 : cancelFn();
|
|
2448
|
-
return of23(cancelActionCreator);
|
|
2449
|
-
}), take2(1));
|
|
2450
|
-
}
|
|
2451
|
-
// src/epics/data/bcLoadMoreEpic.ts
|
|
2452
|
-
var bcLoadMoreEpic = function (action$, state$, _a) {
|
|
2453
|
-
var api = _a.api;
|
|
2454
|
-
return action$.pipe(filter37(bcLoadMore.match), mergeMap22(function (action) {
|
|
2455
|
-
var _a, _b;
|
|
2456
|
-
var state = state$.value;
|
|
2457
|
-
var bcName = action.payload.bcName;
|
|
2458
|
-
var bc = state.screen.bo.bc[bcName];
|
|
2459
|
-
var cursor = bc.cursor, page = bc.page;
|
|
2460
|
-
var limit = ((_a = state.view.widgets.find(function (i) { return i.bcName === bcName; })) === null || _a === void 0 ? void 0 : _a.limit) || bc.limit;
|
|
2461
|
-
var limitBySelfCursor = (_b = state.router.bcPath) === null || _b === void 0 ? void 0 : _b.includes("".concat(bcName, "/").concat(cursor));
|
|
2462
|
-
var bcUrl = buildBcUrl(bcName, limitBySelfCursor, state);
|
|
2463
|
-
var filters = state.screen.filters[bcName] || [];
|
|
2464
|
-
var sorters = state.screen.sorters[bcName];
|
|
2465
|
-
var fetchParams = __assign(__assign({ _page: page, _limit: limit }, getFilters(filters)), getSorters(sorters));
|
|
2466
|
-
var canceler = api.createCanceler();
|
|
2467
|
-
var cancelFlow = cancelRequestEpic(action$, cancelRequestActionTypes, canceler.cancel, bcFetchDataFail({ bcName: bcName, bcUrl: bcUrl }));
|
|
2468
|
-
var normalFlow = api.fetchBcData(state.screen.screenName, bcUrl, fetchParams, canceler.cancelToken).pipe(mergeMap22(function (data) {
|
|
2469
|
-
var _a;
|
|
2470
|
-
var oldBcDataIds = (_a = state.data[bcName]) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.id; });
|
|
2471
|
-
var newData = __spreadArray(__spreadArray([], state.data[bcName], true), data.data.filter(function (i) { return !oldBcDataIds.includes(i.id); }), true);
|
|
2472
|
-
return of24(bcFetchDataSuccess({
|
|
2473
|
-
bcName: bcName,
|
|
2474
|
-
data: newData,
|
|
2475
|
-
bcUrl: bcUrl,
|
|
2476
|
-
hasNext: data.hasNext
|
|
2477
|
-
}));
|
|
2478
|
-
}), catchError9(function (error) {
|
|
2479
|
-
console.error(error);
|
|
2480
|
-
return concat16(of24(bcFetchDataFail({ bcName: bcName, bcUrl: bcUrl })), createApiErrorObservable(error));
|
|
2481
|
-
}));
|
|
2482
|
-
return race(cancelFlow, normalFlow);
|
|
2483
|
-
}));
|
|
2484
|
-
};
|
|
2485
|
-
// src/epics/data/bcSaveDataEpic.ts
|
|
2486
|
-
import { catchError as catchError10, concat as concat17, EMPTY as EMPTY21, filter as filter38, mergeMap as mergeMap23, of as of25 } from "rxjs";
|
|
2487
|
-
var bcSaveDataEpic = function (action$, state$, _a) {
|
|
2488
|
-
var api = _a.api;
|
|
2489
|
-
return action$.pipe(filter38(sendOperation.match), filter38(function (action) { return matchOperationRole(OperationTypeCrud.save, action.payload, state$.value); }), mergeMap23(function (action) {
|
|
2490
|
-
var _a, _b, _c, _d;
|
|
2491
|
-
var state = state$.value;
|
|
2492
|
-
var bcName = action.payload.bcName;
|
|
2493
|
-
var bcUrl = (_a = buildBcUrl(bcName, true, state)) !== null && _a !== void 0 ? _a : "";
|
|
2494
|
-
var widgetName = action.payload.widgetName;
|
|
2495
|
-
var cursor = state.screen.bo.bc[bcName].cursor;
|
|
2496
|
-
var dataItem = state.data[bcName].find(function (item) { return item.id === cursor; });
|
|
2497
|
-
var pendingChanges = __assign({}, (_b = state.view.pendingDataChanges[bcName]) === null || _b === void 0 ? void 0 : _b[cursor]);
|
|
2498
|
-
var rowMeta = bcUrl && ((_c = state.view.rowMeta[bcName]) === null || _c === void 0 ? void 0 : _c[bcUrl]);
|
|
2499
|
-
var options = (_d = state.view.widgets.find(function (widget) { return widget.name === widgetName; })) === null || _d === void 0 ? void 0 : _d.options;
|
|
2500
|
-
if (rowMeta) {
|
|
2501
|
-
var fields = rowMeta.fields;
|
|
2502
|
-
var _loop_2 = function (key) {
|
|
2503
|
-
if (fields.find(function (item) { return item.key === key && item.disabled; })) {
|
|
2504
|
-
delete pendingChanges[key];
|
|
2505
|
-
}
|
|
2506
|
-
};
|
|
2507
|
-
for (var key in pendingChanges) {
|
|
2508
|
-
_loop_2(key);
|
|
2509
|
-
}
|
|
2510
|
-
}
|
|
2511
|
-
var fetchChildrenBcData = Object.entries(getBcChildren(bcName, state.view.widgets, state.screen.bo.bc)).map(function (entry) {
|
|
2512
|
-
var childBcName = entry[0], widgetNames = entry[1];
|
|
2513
|
-
return bcFetchDataRequest({ bcName: childBcName, widgetName: widgetNames[0] });
|
|
2514
|
-
});
|
|
2515
|
-
var context = { widgetName: action.payload.widgetName };
|
|
2516
|
-
return api.saveBcData(state.screen.screenName, bcUrl, __assign(__assign({}, pendingChanges), { vstamp: dataItem === null || dataItem === void 0 ? void 0 : dataItem.vstamp }), context).pipe(mergeMap23(function (data) {
|
|
2517
|
-
var _a;
|
|
2518
|
-
var postInvoke = (_a = data.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
2519
|
-
var responseDataItem = data.record;
|
|
2520
|
-
return concat17(of25(bcSaveDataSuccess({ bcName: bcName, cursor: cursor, dataItem: responseDataItem })), of25(bcFetchRowMeta({ widgetName: widgetName, bcName: bcName })), of25.apply(void 0, fetchChildrenBcData), postInvoke ? of25(processPostInvoke({
|
|
2521
|
-
bcName: bcName,
|
|
2522
|
-
widgetName: widgetName,
|
|
2523
|
-
postInvoke: postInvoke,
|
|
2524
|
-
cursor: responseDataItem.id
|
|
2525
|
-
})) : EMPTY21, action.payload.onSuccessAction ? of25(action.payload.onSuccessAction) : EMPTY21);
|
|
2526
|
-
}), catchError10(function (e) {
|
|
2527
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2528
|
-
console.error(e);
|
|
2529
|
-
var notification$ = EMPTY21;
|
|
2530
|
-
if (action.payload.onSuccessAction && !(options === null || options === void 0 ? void 0 : options.disableNotification)) {
|
|
2531
|
-
notification$ = of25(addNotification({
|
|
2532
|
-
key: "data_autosave_undo",
|
|
2533
|
-
type: "buttonWarningNotification",
|
|
2534
|
-
message: "There are pending changes. Please save them or cancel.",
|
|
2535
|
-
duration: 0,
|
|
2536
|
-
options: {
|
|
2537
|
-
buttonWarningNotificationOptions: {
|
|
2538
|
-
buttonText: "Cancel changes",
|
|
2539
|
-
actionsForClick: [bcCancelPendingChanges({ bcNames: [bcName] })]
|
|
2540
|
-
}
|
|
2541
|
-
}
|
|
2542
|
-
}));
|
|
2543
|
-
}
|
|
2544
|
-
var viewError = null;
|
|
2545
|
-
var entityError = null;
|
|
2546
|
-
var operationError = (_a = e.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
2547
|
-
if (((_b = e.response) === null || _b === void 0 ? void 0 : _b.data) === Object((_c = e.response) === null || _c === void 0 ? void 0 : _c.data)) {
|
|
2548
|
-
entityError = (_e = (_d = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _d === void 0 ? void 0 : _d.entity) !== null && _e !== void 0 ? _e : entityError;
|
|
2549
|
-
viewError = (_h = (_g = (_f = operationError === null || operationError === void 0 ? void 0 : operationError.error) === null || _f === void 0 ? void 0 : _f.popup) === null || _g === void 0 ? void 0 : _g[0]) !== null && _h !== void 0 ? _h : viewError;
|
|
2550
|
-
}
|
|
2551
|
-
return concat17(of25(bcSaveDataFail({ bcName: bcName, bcUrl: bcUrl, viewError: viewError, entityError: entityError })), notification$, createApiErrorObservable(e, context));
|
|
2552
|
-
}));
|
|
2553
|
-
}));
|
|
2554
|
-
};
|
|
2555
|
-
// src/epics/data/selectViewEpic.ts
|
|
2556
|
-
import { EMPTY as EMPTY22, filter as filter39, mergeMap as mergeMap24 } from "rxjs";
|
|
2557
|
-
var selectViewEpic = function (action$, state$) { return action$.pipe(filter39(selectView.match), mergeMap24(function (action) {
|
|
2558
|
-
try {
|
|
2559
|
-
var state_1 = state$.value;
|
|
2560
|
-
var bcToLoad_1 = {};
|
|
2561
|
-
state_1.view.widgets.filter(function (widget) { return !PopupWidgetTypes.includes(widget.type); }).forEach(function (widget) {
|
|
2562
|
-
if (widget.bcName) {
|
|
2563
|
-
var bcName = widget.bcName;
|
|
2564
|
-
var parentName = state_1.screen.bo.bc[widget.bcName].parentName;
|
|
2565
|
-
while (parentName) {
|
|
2566
|
-
bcName = parentName;
|
|
2567
|
-
parentName = state_1.screen.bo.bc[parentName].parentName;
|
|
2568
|
-
}
|
|
2569
|
-
if (!bcToLoad_1[bcName]) {
|
|
2570
|
-
bcToLoad_1[bcName] = widget;
|
|
2571
|
-
}
|
|
2572
|
-
}
|
|
2573
|
-
});
|
|
2574
|
-
var result = Object.entries(bcToLoad_1).map(function (_a) {
|
|
2575
|
-
var bcName = _a[0], widget = _a[1];
|
|
2576
|
-
return bcFetchDataRequest({ widgetName: widget.name, bcName: bcName });
|
|
2577
|
-
});
|
|
2578
|
-
return result;
|
|
2579
|
-
}
|
|
2580
|
-
catch (e) {
|
|
2581
|
-
console.error("selectView Epic:: ".concat(e));
|
|
2582
|
-
return EMPTY22;
|
|
2583
|
-
}
|
|
2584
|
-
})); };
|
|
2585
|
-
// src/epics/data/bcFetchDataEpic.ts
|
|
2586
|
-
import { catchError as catchError11, concat as concat18, EMPTY as EMPTY23, filter as filter40, mergeMap as mergeMap25, of as of26, race as race2 } from "rxjs";
|
|
2587
|
-
import { WidgetTypes as WidgetTypes5 } from "@cxbox-ui/schema";
|
|
2588
|
-
import { isAnyOf as isAnyOf3 } from "@reduxjs/toolkit";
|
|
2589
|
-
var bcFetchDataEpic = function (action$, state$, _a) {
|
|
2590
|
-
var api = _a.api;
|
|
2591
|
-
return action$.pipe(filter40(isAnyOf3(bcFetchDataRequest, bcFetchDataPages, showViewPopup, bcForceUpdate, bcChangePage)), mergeMap25(function (action) {
|
|
2592
|
-
var getCursorChange = function (data, prevCursor, isHierarchy) {
|
|
2593
|
-
var _a;
|
|
2594
|
-
var _b;
|
|
2595
|
-
var bcName = action.payload.bcName;
|
|
2596
|
-
var keepDelta = bcFetchDataRequest.match(action) ? action.payload.keepDelta : void 0;
|
|
2597
|
-
var newCursor = (_b = data[0]) === null || _b === void 0 ? void 0 : _b.id;
|
|
2598
|
-
return of26(bcChangeCursors({
|
|
2599
|
-
cursorsMap: (_a = {},
|
|
2600
|
-
_a[bcName] = data.some(function (i) { return i.id === prevCursor; }) ? prevCursor : newCursor,
|
|
2601
|
-
_a),
|
|
2602
|
-
keepDelta: isHierarchy || keepDelta
|
|
2603
|
-
}));
|
|
2604
|
-
};
|
|
2605
|
-
var getChildrenData = function (widgets, bcDictionary, isHierarchy, showConditionCheck) {
|
|
2606
|
-
var bcName = action.payload.bcName;
|
|
2607
|
-
var _a = bcFetchDataRequest.match(action) ? action.payload : { ignorePageLimit: void 0, keepDelta: void 0 }, ignorePageLimit = _a.ignorePageLimit, keepDelta = _a.keepDelta;
|
|
2608
|
-
return concat18.apply(void 0, Object.entries(getBcChildren(bcName, widgets, bcDictionary)).filter(function (_a) {
|
|
2609
|
-
var childBcName = _a[0], widgetNames = _a[1];
|
|
2610
|
-
var nonLazyWidget = widgets.find(function (item) {
|
|
2611
|
-
return widgetNames.includes(item.name) && !PopupWidgetTypes.includes(item.type) && showConditionCheck(item);
|
|
2612
|
-
});
|
|
2613
|
-
var ignoreLazyLoad = showViewPopup.match(action);
|
|
2614
|
-
if (ignoreLazyLoad) {
|
|
2615
|
-
return true;
|
|
2616
|
-
}
|
|
2617
|
-
return !!nonLazyWidget;
|
|
2618
|
-
}).map(function (_a) {
|
|
2619
|
-
var childBcName = _a[0], widgetNames = _a[1];
|
|
2620
|
-
var nonLazyWidget = widgets.find(function (item) {
|
|
2621
|
-
return widgetNames.includes(item.name) && !PopupWidgetTypes.includes(item.type) && showConditionCheck(item);
|
|
2622
|
-
});
|
|
2623
|
-
return of26(bcFetchDataRequest({
|
|
2624
|
-
bcName: childBcName,
|
|
2625
|
-
widgetName: nonLazyWidget === null || nonLazyWidget === void 0 ? void 0 : nonLazyWidget.name,
|
|
2626
|
-
ignorePageLimit: ignorePageLimit || showViewPopup.match(action),
|
|
2627
|
-
keepDelta: isHierarchy || keepDelta
|
|
2628
|
-
}));
|
|
2629
|
-
}));
|
|
2630
|
-
};
|
|
2631
|
-
var bcFetchDataImpl = function () {
|
|
2632
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2633
|
-
var state = state$.value;
|
|
2634
|
-
var _j = action.payload.widgetName, widgetName = _j === void 0 ? "" : _j;
|
|
2635
|
-
var _k = state.view, widgets = _k.widgets, infiniteWidgets = _k.infiniteWidgets;
|
|
2636
|
-
var widget = (_a = widgets === null || widgets === void 0 ? void 0 : widgets.find(function (item) { return item.name === widgetName; })) !== null && _a !== void 0 ? _a : widgets === null || widgets === void 0 ? void 0 : widgets.find(function (item) { return item.bcName === action.payload.bcName; });
|
|
2637
|
-
if (!widget) {
|
|
2638
|
-
return [EMPTY23];
|
|
2639
|
-
}
|
|
2640
|
-
var bcName = action.payload.bcName;
|
|
2641
|
-
var bc = state.screen.bo.bc[bcName];
|
|
2642
|
-
var cursor = bc.cursor, _l = bc.page, page = _l === void 0 ? 1 : _l;
|
|
2643
|
-
var limit = (_c = (((_b = widgets === null || widgets === void 0 ? void 0 : widgets.find(function (i) { return i.bcName === bcName; })) === null || _b === void 0 ? void 0 : _b.limit) || bc.limit)) !== null && _c !== void 0 ? _c : 5;
|
|
2644
|
-
var sorters = state.screen.sorters[bcName];
|
|
2645
|
-
if (showViewPopup.match(action) && bcName === action.payload.calleeBCName) {
|
|
2646
|
-
return [EMPTY23];
|
|
2647
|
-
}
|
|
2648
|
-
var anyHierarchyWidget = widgets === null || widgets === void 0 ? void 0 : widgets.find(function (item) {
|
|
2649
|
-
return item.bcName === widget.bcName && item.type === WidgetTypes5.AssocListPopup && isHierarchyWidget(item);
|
|
2650
|
-
});
|
|
2651
|
-
var fullHierarchyWidget = (_d = state.view.widgets) === null || _d === void 0 ? void 0 : _d.find(function (item) {
|
|
2652
|
-
var _a;
|
|
2653
|
-
return item.bcName === widget.bcName && item.type === WidgetTypes5.AssocListPopup && ((_a = item.options) === null || _a === void 0 ? void 0 : _a.hierarchyFull);
|
|
2654
|
-
});
|
|
2655
|
-
var limitBySelfCursor = (_e = state.router.bcPath) === null || _e === void 0 ? void 0 : _e.includes("".concat(bcName, "/").concat(cursor));
|
|
2656
|
-
var bcUrl = buildBcUrl(bcName, limitBySelfCursor, state);
|
|
2657
|
-
var fetchParams = __assign(__assign({ _page: page, _limit: limit }, getFilters(fullHierarchyWidget ? [] : state.screen.filters[bcName] || [])), getSorters(sorters));
|
|
2658
|
-
if (bcForceUpdate.match(action)) {
|
|
2659
|
-
var infinityPaginationWidget = widgetName && (infiniteWidgets === null || infiniteWidgets === void 0 ? void 0 : infiniteWidgets.includes(widgetName)) || ((_g = (_f = widgets === null || widgets === void 0 ? void 0 : widgets.filter(function (item) { return item.bcName === bcName; })) === null || _f === void 0 ? void 0 : _f.find(function (item) { return infiniteWidgets === null || infiniteWidgets === void 0 ? void 0 : infiniteWidgets.includes(item.name); })) === null || _g === void 0 ? void 0 : _g.name);
|
|
2660
|
-
if (infinityPaginationWidget) {
|
|
2661
|
-
fetchParams._page = 1;
|
|
2662
|
-
fetchParams._limit = limit * page;
|
|
2663
|
-
}
|
|
2664
|
-
}
|
|
2665
|
-
if (bcFetchDataPages.match(action)) {
|
|
2666
|
-
fetchParams._page = action.payload.from || 1;
|
|
2667
|
-
fetchParams._limit = (action.payload.to || page - fetchParams._page) * limit;
|
|
2668
|
-
}
|
|
2669
|
-
if (bcFetchDataRequest.match(action) && action.payload.ignorePageLimit || ((_h = anyHierarchyWidget === null || anyHierarchyWidget === void 0 ? void 0 : anyHierarchyWidget.options) === null || _h === void 0 ? void 0 : _h.hierarchyFull)) {
|
|
2670
|
-
fetchParams._limit = 0;
|
|
2671
|
-
}
|
|
2672
|
-
var canceler = api.createCanceler();
|
|
2673
|
-
var cancelFlow = cancelRequestEpic(action$, cancelRequestActionTypes, canceler.cancel, bcFetchDataFail({ bcName: bcName, bcUrl: bcUrl }));
|
|
2674
|
-
var cancelByParentBc = cancelRequestEpic(action$, [bcSelectRecord], canceler.cancel, bcFetchDataFail({ bcName: bcName, bcUrl: bcUrl }), function (filteredAction) {
|
|
2675
|
-
var actionBc = filteredAction.payload.bcName;
|
|
2676
|
-
return bc.parentName === actionBc;
|
|
2677
|
-
});
|
|
2678
|
-
var normalFlow = api.fetchBcData(state.screen.screenName, bcUrl, fetchParams, canceler.cancelToken).pipe(mergeMap25(function (response) {
|
|
2679
|
-
var _a, _b;
|
|
2680
|
-
var cursorChange = getCursorChange(response.data, cursor, !!anyHierarchyWidget);
|
|
2681
|
-
var parentOfNotLazyWidget = widgets === null || widgets === void 0 ? void 0 : widgets.some(function (item) {
|
|
2682
|
-
var _a;
|
|
2683
|
-
return ((_a = state.screen.bo.bc[item.bcName]) === null || _a === void 0 ? void 0 : _a.parentName) === bcName && !PopupWidgetTypes.includes(item.type);
|
|
2684
|
-
});
|
|
2685
|
-
var isWidgetVisible = function (w) {
|
|
2686
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
2687
|
-
if (((_a = w.showCondition) === null || _a === void 0 ? void 0 : _a.bcName) === ((_b = state.screen.bo.bc[w.bcName]) === null || _b === void 0 ? void 0 : _b.parentName)) {
|
|
2688
|
-
var parentName = (_d = state.screen.bo.bc[(_c = w.showCondition) === null || _c === void 0 ? void 0 : _c.bcName]) === null || _d === void 0 ? void 0 : _d.parentName;
|
|
2689
|
-
var parent = parentName === bcName;
|
|
2690
|
-
while (!parent && parentName) {
|
|
2691
|
-
parentName = (_e = state.screen.bo.bc[parentName]) === null || _e === void 0 ? void 0 : _e.parentName;
|
|
2692
|
-
parent = parentName === bcName;
|
|
2693
|
-
}
|
|
2694
|
-
if (parent) {
|
|
2695
|
-
return true;
|
|
2696
|
-
}
|
|
2697
|
-
}
|
|
2698
|
-
var dataToCheck = bcName === ((_f = w.showCondition) === null || _f === void 0 ? void 0 : _f.bcName) ? response.data : state.data[(_g = w.showCondition) === null || _g === void 0 ? void 0 : _g.bcName];
|
|
2699
|
-
return checkShowCondition(w.showCondition, (_j = state.screen.bo.bc[(_h = w.showCondition) === null || _h === void 0 ? void 0 : _h.bcName]) === null || _j === void 0 ? void 0 : _j.cursor, dataToCheck, state.view.pendingDataChanges);
|
|
2700
|
-
};
|
|
2701
|
-
var lazyWidget = (!isWidgetVisible(widget) || PopupWidgetTypes.includes(widget.type)) && !parentOfNotLazyWidget;
|
|
2702
|
-
var skipLazy = ((_a = state.view.popupData) === null || _a === void 0 ? void 0 : _a.bcName) !== widget.bcName;
|
|
2703
|
-
if (lazyWidget && skipLazy) {
|
|
2704
|
-
return EMPTY23;
|
|
2705
|
-
}
|
|
2706
|
-
var fetchChildren = ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) ? getChildrenData(widgets, state.screen.bo.bc, !!anyHierarchyWidget, isWidgetVisible) : EMPTY23;
|
|
2707
|
-
var fetchRowMeta = of26(bcFetchRowMeta({ widgetName: widgetName, bcName: bcName }));
|
|
2708
|
-
return concat18(cursorChange, of26(bcFetchDataSuccess({
|
|
2709
|
-
bcName: bcName,
|
|
2710
|
-
data: response.data,
|
|
2711
|
-
bcUrl: bcUrl,
|
|
2712
|
-
hasNext: response.hasNext
|
|
2713
|
-
})), fetchRowMeta, fetchChildren);
|
|
2714
|
-
}), catchError11(function (error) {
|
|
2715
|
-
console.error(error);
|
|
2716
|
-
return concat18(of26(bcFetchDataFail({ bcName: action.payload.bcName, bcUrl: bcUrl })), createApiErrorObservable(error));
|
|
2717
|
-
}));
|
|
2718
|
-
return [cancelFlow, cancelByParentBc, normalFlow];
|
|
2719
|
-
};
|
|
2720
|
-
return race2.apply(void 0, bcFetchDataImpl());
|
|
2721
|
-
}));
|
|
2722
|
-
};
|
|
2723
|
-
function isHierarchyWidget(widget) {
|
|
2724
|
-
var _a, _b;
|
|
2725
|
-
return ((_a = widget.options) === null || _a === void 0 ? void 0 : _a.hierarchy) || ((_b = widget.options) === null || _b === void 0 ? void 0 : _b.hierarchyFull);
|
|
2726
|
-
}
|
|
2727
|
-
// src/epics/data/bcDeleteDataEpic.ts
|
|
2728
|
-
import { catchError as catchError12, concat as concat19, EMPTY as EMPTY24, filter as filter41, mergeMap as mergeMap26, of as of27 } from "rxjs";
|
|
2729
|
-
import { OperationTypeCrud as OperationTypeCrud9 } from "@cxbox-ui/schema";
|
|
2730
|
-
var bcDeleteDataEpic = function (action$, store$, _a) {
|
|
2731
|
-
var api = _a.api;
|
|
2732
|
-
return action$.pipe(filter41(sendOperation.match), filter41(function (action) { return matchOperationRole(OperationTypeCrud9.delete, action.payload, store$.value); }), mergeMap26(function (action) {
|
|
2733
|
-
var widgetName = action.payload.widgetName;
|
|
2734
|
-
var state = store$.value;
|
|
2735
|
-
var bcName = action.payload.bcName;
|
|
2736
|
-
var cursor = state.screen.bo.bc[bcName].cursor;
|
|
2737
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
2738
|
-
var context = { widgetName: action.payload.widgetName };
|
|
2739
|
-
var isTargetFormatPVF = state.view.pendingValidationFailsFormat === "target" /* target */;
|
|
2740
|
-
return api.deleteBcData(state.screen.screenName, bcUrl, context).pipe(mergeMap26(function (data) {
|
|
2741
|
-
var _a;
|
|
2742
|
-
var postInvoke = (_a = data.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
2743
|
-
return concat19(isTargetFormatPVF ? of27(bcCancelPendingChanges({ bcNames: [bcName] })) : EMPTY24, of27(bcFetchDataRequest({ bcName: bcName, widgetName: widgetName })), postInvoke ? of27(processPostInvoke({ bcName: bcName, postInvoke: postInvoke, cursor: cursor, widgetName: widgetName })) : EMPTY24);
|
|
2744
|
-
}), catchError12(function (error) {
|
|
2745
|
-
console.error(error);
|
|
2746
|
-
return concat19(of27(bcDeleteDataFail({ bcName: bcName })), createApiErrorObservable(error, context));
|
|
2747
|
-
}));
|
|
2748
|
-
}));
|
|
2749
|
-
};
|
|
2750
|
-
// src/epics/data/bcSelectRecordEpic.ts
|
|
2751
|
-
import { concat as concat20, filter as filter42, mergeMap as mergeMap27, of as of28 } from "rxjs";
|
|
2752
|
-
var bcSelectRecordEpic = function (action$, store$) { return action$.pipe(filter42(bcSelectRecord.match), mergeMap27(function (action) {
|
|
2753
|
-
var _a;
|
|
2754
|
-
var _b = action.payload, bcName = _b.bcName, cursor = _b.cursor;
|
|
2755
|
-
var widgets = store$.value.view.widgets;
|
|
2756
|
-
var bcMap = store$.value.screen.bo.bc;
|
|
2757
|
-
var fetchChildrenBcData = Object.entries(getBcChildren(bcName, widgets, bcMap)).map(function (entry) {
|
|
2758
|
-
var childBcName = entry[0], widgetNames = entry[1];
|
|
2759
|
-
return bcFetchDataRequest({
|
|
2760
|
-
bcName: childBcName,
|
|
2761
|
-
widgetName: widgetNames[0],
|
|
2762
|
-
ignorePageLimit: action.payload.ignoreChildrenPageLimit,
|
|
2763
|
-
keepDelta: action.payload.keepDelta
|
|
2764
|
-
});
|
|
2765
|
-
});
|
|
2766
|
-
return concat20(of28(bcChangeCursors({ cursorsMap: (_a = {}, _a[bcName] = cursor, _a), keepDelta: action.payload.keepDelta })), of28(bcFetchRowMeta({ widgetName: "", bcName: bcName })), fetchChildrenBcData);
|
|
2767
|
-
})); };
|
|
2768
|
-
// src/epics/data/changeAssociationEpic.ts
|
|
2769
|
-
import { concat as concat21, filter as filter43, mergeMap as mergeMap28, of as of29 } from "rxjs";
|
|
2770
|
-
var changeAssociationEpic = function (action$, state$) { return action$.pipe(filter43(changeAssociation.match), mergeMap28(function (action) {
|
|
2771
|
-
var _a, _b, _c, _d, _e;
|
|
2772
|
-
var state = state$.value;
|
|
2773
|
-
var selected = action.payload.dataItem._associate;
|
|
2774
|
-
var bcName = action.payload.bcName;
|
|
2775
|
-
var result = [
|
|
2776
|
-
of29(changeDataItem({
|
|
2777
|
-
bcName: bcName,
|
|
2778
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
2779
|
-
cursor: action.payload.dataItem.id,
|
|
2780
|
-
dataItem: action.payload.dataItem
|
|
2781
|
-
}))
|
|
2782
|
-
];
|
|
2783
|
-
var widget = state.view.widgets.find(function (item) { return item.name === action.payload.widgetName; });
|
|
2784
|
-
var isRoot = action.payload.bcName === widget.bcName;
|
|
2785
|
-
var rootHierarchyDescriptor = {
|
|
2786
|
-
bcName: widget.bcName,
|
|
2787
|
-
radio: (_a = widget.options) === null || _a === void 0 ? void 0 : _a.hierarchyRadio,
|
|
2788
|
-
fields: widget.fields
|
|
2789
|
-
};
|
|
2790
|
-
var hierarchy = (_b = widget.options) === null || _b === void 0 ? void 0 : _b.hierarchy;
|
|
2791
|
-
var hierarchyDescriptor = isRoot ? rootHierarchyDescriptor : hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.find(function (item) { return item.bcName === action.payload.bcName; });
|
|
2792
|
-
var hierarchyGroupSelection = (_c = widget.options) === null || _c === void 0 ? void 0 : _c.hierarchyGroupSelection;
|
|
2793
|
-
var hierarchyTraverse = (_d = widget.options) === null || _d === void 0 ? void 0 : _d.hierarchyTraverse;
|
|
2794
|
-
var childrenBc = hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.slice(hierarchy.findIndex(function (item) { return item.bcName === action.payload.bcName; }) + 1).map(function (item) { return item.bcName; });
|
|
2795
|
-
if (hierarchyGroupSelection && hierarchyDescriptor.radio && !selected) {
|
|
2796
|
-
result.push(of29(dropAllAssociations({
|
|
2797
|
-
bcNames: childrenBc
|
|
2798
|
-
})));
|
|
2799
|
-
}
|
|
2800
|
-
var parent = isRoot ? null : (hierarchy === null || hierarchy === void 0 ? void 0 : hierarchy.find(function (item, index) {
|
|
2801
|
-
var _a;
|
|
2802
|
-
return ((_a = hierarchy[index + 1]) === null || _a === void 0 ? void 0 : _a.bcName) === action.payload.bcName;
|
|
2803
|
-
})) || rootHierarchyDescriptor;
|
|
2804
|
-
var parentItem = (_e = state.data[parent === null || parent === void 0 ? void 0 : parent.bcName]) === null || _e === void 0 ? void 0 : _e.find(function (item) { return item.id === state.screen.bo.bc[parent === null || parent === void 0 ? void 0 : parent.bcName].cursor; });
|
|
2805
|
-
if (parent && hierarchyTraverse && selected) {
|
|
2806
|
-
if (hierarchyDescriptor.radio) {
|
|
2807
|
-
result.push(of29(dropAllAssociations({
|
|
2808
|
-
bcNames: [parent.bcName]
|
|
2809
|
-
})));
|
|
2810
|
-
}
|
|
2811
|
-
result.push(of29(changeAssociation({
|
|
2812
|
-
bcName: parent.bcName,
|
|
2813
|
-
widgetName: action.payload.widgetName,
|
|
2814
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: true, _value: parentItem === null || parentItem === void 0 ? void 0 : parentItem[parent.assocValueKey || action.payload.assocValueKey] }),
|
|
2815
|
-
assocValueKey: action.payload.assocValueKey
|
|
2816
|
-
})));
|
|
2817
|
-
}
|
|
2818
|
-
if (parent && hierarchyTraverse && !selected) {
|
|
2819
|
-
var data_1 = state.data[action.payload.bcName];
|
|
2820
|
-
var wasLastInData = data_1.filter(function (item) { return item.id !== action.payload.dataItem.id; }).every(function (item) { return !item._associate; });
|
|
2821
|
-
var delta = state.view.pendingDataChanges[action.payload.bcName];
|
|
2822
|
-
var wasLastInDelta = !delta || !Object.values(delta).find(function (deltaValue) {
|
|
2823
|
-
return deltaValue._associate === true && deltaValue.id !== action.payload.dataItem.id && // Filter by dataEpics.ts records, because delta can contain records from another hierarchy branch, but dataEpics.ts always contains
|
|
2824
|
-
// only target branch records, that we see in widget
|
|
2825
|
-
data_1.find(function (dataValue) { return dataValue.id === deltaValue.id; });
|
|
2826
|
-
});
|
|
2827
|
-
if (wasLastInData && wasLastInDelta) {
|
|
2828
|
-
result.push(of29(changeAssociation({
|
|
2829
|
-
bcName: parent.bcName,
|
|
2830
|
-
widgetName: action.payload.widgetName,
|
|
2831
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: false }),
|
|
2832
|
-
assocValueKey: action.payload.assocValueKey
|
|
2833
|
-
})));
|
|
2834
|
-
}
|
|
2835
|
-
}
|
|
2836
|
-
return concat21.apply(void 0, result);
|
|
2837
|
-
})); };
|
|
2838
|
-
// src/epics/data/bcCancelCreateDataEpic.ts
|
|
2839
|
-
import { catchError as catchError13, concat as concat22, EMPTY as EMPTY25, filter as filter44, mergeMap as mergeMap29, of as of30 } from "rxjs";
|
|
2840
|
-
import { OperationTypeCrud as OperationTypeCrud10 } from "@cxbox-ui/schema";
|
|
2841
|
-
import { isAnyOf as isAnyOf4 } from "@reduxjs/toolkit";
|
|
2842
|
-
var actionTypesMatcher = isAnyOf4(sendOperation);
|
|
2843
|
-
var bcCancelCreateDataEpic = function (action$, state$, _a) {
|
|
2844
|
-
var api = _a.api;
|
|
2845
|
-
return action$.pipe(filter44(actionTypesMatcher), filter44(function (action) { return matchOperationRole(OperationTypeCrud10.cancelCreate, action.payload, state$.value); }), mergeMap29(function (action) {
|
|
2846
|
-
var _a;
|
|
2847
|
-
var _b, _c;
|
|
2848
|
-
var state = state$.value;
|
|
2849
|
-
var screenName = state.screen.screenName;
|
|
2850
|
-
var bcName = action.payload.bcName;
|
|
2851
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
2852
|
-
var bc = state.screen.bo.bc[bcName];
|
|
2853
|
-
var cursor = bc === null || bc === void 0 ? void 0 : bc.cursor;
|
|
2854
|
-
var context = { widgetName: action.payload.widgetName };
|
|
2855
|
-
var record = (_b = state.data[bcName]) === null || _b === void 0 ? void 0 : _b.find(function (item) { return item.id === bc.cursor; });
|
|
2856
|
-
var pendingRecordChange = (_c = state.view.pendingDataChanges[bcName]) === null || _c === void 0 ? void 0 : _c[bc.cursor];
|
|
2857
|
-
var data = record && __assign(__assign({}, pendingRecordChange), { vstamp: record.vstamp });
|
|
2858
|
-
var params = { _action: action.payload.operationType };
|
|
2859
|
-
var cursorsMap = (_a = {}, _a[action.payload.bcName] = null, _a);
|
|
2860
|
-
return api.customAction(screenName, bcUrl, data, context, params).pipe(mergeMap29(function (response) {
|
|
2861
|
-
var _a;
|
|
2862
|
-
var postInvoke = (_a = response.postActions) === null || _a === void 0 ? void 0 : _a[0];
|
|
2863
|
-
return concat22(of30(sendOperationSuccess({ bcName: bcName, cursor: cursor })), of30(bcChangeCursors({ cursorsMap: cursorsMap })), postInvoke ? of30(processPostInvoke({ bcName: bcName, postInvoke: postInvoke, cursor: cursor, widgetName: context.widgetName })) : EMPTY25);
|
|
2864
|
-
}), catchError13(function (error) {
|
|
2865
|
-
console.error(error);
|
|
2866
|
-
return concat22(of30(bcDeleteDataFail({ bcName: bcName })), createApiErrorObservable(error, context));
|
|
2867
|
-
}));
|
|
2868
|
-
}));
|
|
2869
|
-
};
|
|
2870
|
-
// src/epics/data/bcSelectDepthRecordEpic.ts
|
|
2871
|
-
import { concat as concat23, filter as filter45, mergeMap as mergeMap30, of as of31 } from "rxjs";
|
|
2872
|
-
var bcSelectDepthRecordEpic = function (action$) { return action$.pipe(filter45(bcSelectDepthRecord.match), mergeMap30(function (action) {
|
|
2873
|
-
var _a = action.payload, bcName = _a.bcName, cursor = _a.cursor, depth = _a.depth;
|
|
2874
|
-
return concat23(of31(bcChangeDepthCursor({ bcName: bcName, depth: depth, cursor: cursor })), of31(bcFetchDataRequest({
|
|
2875
|
-
bcName: bcName,
|
|
2876
|
-
depth: depth + 1,
|
|
2877
|
-
widgetName: "",
|
|
2878
|
-
ignorePageLimit: true
|
|
2879
|
-
})));
|
|
2880
|
-
})); };
|
|
2881
|
-
// src/epics/data/removeMultivalueTagEpic.ts
|
|
2882
|
-
import { concat as concat24, filter as filter46, mergeMap as mergeMap31, of as of32 } from "rxjs";
|
|
2883
|
-
var removeMultivalueTagEpic = function (action$, state$) { return action$.pipe(filter46(removeMultivalueTag.match), mergeMap31(function (action) {
|
|
2884
|
-
var _a, _b, _c;
|
|
2885
|
-
var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
2886
|
-
var state = state$.value;
|
|
2887
|
-
var _p = action.payload, bcName = _p.bcName, cursor = _p.cursor, popupBcName = _p.popupBcName, associateFieldKey = _p.associateFieldKey;
|
|
2888
|
-
var widget = state.view.widgets.find(function (item) { return item.bcName === popupBcName && PopupWidgetTypes.includes(item.type); });
|
|
2889
|
-
var storeData = (state === null || state === void 0 ? void 0 : state.data[popupBcName]) || [];
|
|
2890
|
-
var data = storeData.map(function (item) {
|
|
2891
|
-
var _a;
|
|
2892
|
-
var pendingChanges = (_a = state.view.pendingDataChanges[popupBcName]) === null || _a === void 0 ? void 0 : _a[item.id];
|
|
2893
|
-
return __assign(__assign({}, item), pendingChanges);
|
|
2894
|
-
});
|
|
2895
|
-
var removedItem = data.find(function (item) { return item.id === action.payload.removedItem.id; });
|
|
2896
|
-
var associated = action.payload.dataItem.map(function (item) { return item.id; });
|
|
2897
|
-
var removedNodes = [];
|
|
2898
|
-
if ((_d = widget === null || widget === void 0 ? void 0 : widget.options) === null || _d === void 0 ? void 0 : _d.hierarchyGroupDeselection) {
|
|
2899
|
-
if ((_e = widget === null || widget === void 0 ? void 0 : widget.options) === null || _e === void 0 ? void 0 : _e.hierarchyTraverse) {
|
|
2900
|
-
data = assignTreeLinks(data);
|
|
2901
|
-
}
|
|
2902
|
-
var removedItemChildren = data.filter(function (item) { return item.parentId === (removedItem === null || removedItem === void 0 ? void 0 : removedItem.id); });
|
|
2903
|
-
removedNodes = __spreadArray([removedItem === null || removedItem === void 0 ? void 0 : removedItem.id], removedItemChildren.filter(function (item) { return associated.includes(item.id); }).map(function (item) { return item.id; }), true);
|
|
2904
|
-
if ((_f = widget === null || widget === void 0 ? void 0 : widget.options) === null || _f === void 0 ? void 0 : _f.hierarchyTraverse) {
|
|
2905
|
-
getDescendants(removedItemChildren, removedNodes);
|
|
2906
|
-
removedNodes = data.filter(function (item) { return removedNodes.includes(item.id) && associated.includes(item.id); }).map(function (item) { return item.id; });
|
|
2907
|
-
}
|
|
2908
|
-
var parent_1 = data.find(function (item) { return item.id === (removedItem === null || removedItem === void 0 ? void 0 : removedItem.parentId); });
|
|
2909
|
-
var siblings = data.filter(function (item) { return item.parentId === (parent_1 === null || parent_1 === void 0 ? void 0 : parent_1.id); });
|
|
2910
|
-
var parentEmpty = siblings.every(function (child) { return removedNodes.includes(child.id) || !associated.includes(child.id); });
|
|
2911
|
-
if (parent_1 && parentEmpty) {
|
|
2912
|
-
if ((_g = widget === null || widget === void 0 ? void 0 : widget.options) === null || _g === void 0 ? void 0 : _g.hierarchyTraverse) {
|
|
2913
|
-
var parentDescendants = [];
|
|
2914
|
-
getDescendants(siblings, parentDescendants);
|
|
2915
|
-
var parentDeepEmpty = parentDescendants.every(function (descendant) {
|
|
2916
|
-
return removedNodes.includes(descendant) || !associated.includes(descendant);
|
|
2917
|
-
});
|
|
2918
|
-
if (parentDeepEmpty) {
|
|
2919
|
-
return concat24(of32(removeMultivalueTag(__assign(__assign({}, action.payload), { removedItem: { id: parent_1.id, value: null } }))));
|
|
2920
|
-
}
|
|
2921
|
-
}
|
|
2922
|
-
else {
|
|
2923
|
-
removedNodes.push(parent_1.id);
|
|
2924
|
-
}
|
|
2925
|
-
}
|
|
2926
|
-
}
|
|
2927
|
-
if ((_h = widget === null || widget === void 0 ? void 0 : widget.options) === null || _h === void 0 ? void 0 : _h.hierarchyFull) {
|
|
2928
|
-
return of32(changeDataItem({
|
|
2929
|
-
bcName: bcName,
|
|
2930
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
2931
|
-
cursor: cursor,
|
|
2932
|
-
dataItem: (_a = {}, _a[associateFieldKey] = action.payload.dataItem.filter(function (item) { return !removedNodes.includes(item.id); }), _a)
|
|
2933
|
-
}));
|
|
2934
|
-
}
|
|
2935
|
-
if ((_j = widget === null || widget === void 0 ? void 0 : widget.options) === null || _j === void 0 ? void 0 : _j.hierarchy) {
|
|
2936
|
-
var hierarchyBcName = (_o = (_m = (_l = (_k = widget === null || widget === void 0 ? void 0 : widget.options) === null || _k === void 0 ? void 0 : _k.hierarchy) === null || _l === void 0 ? void 0 : _l.find(function (hierarchyData) {
|
|
2937
|
-
var _a;
|
|
2938
|
-
return (_a = state.view.pendingDataChanges[hierarchyData.bcName]) === null || _a === void 0 ? void 0 : _a[action.payload.removedItem.id];
|
|
2939
|
-
})) === null || _m === void 0 ? void 0 : _m.bcName) !== null && _o !== void 0 ? _o : bcName;
|
|
2940
|
-
return concat24(of32(changeDataItem({
|
|
2941
|
-
/**
|
|
2942
|
-
* This is incorrect and will break if different BC has records with
|
|
2943
|
-
* identical ids.
|
|
2944
|
-
*
|
|
2945
|
-
* TODO: Record `level` should be mapped to hierarchyData index instead
|
|
2946
|
-
*/
|
|
2947
|
-
bcName: hierarchyBcName,
|
|
2948
|
-
bcUrl: buildBcUrl(hierarchyBcName, true, state),
|
|
2949
|
-
cursor: action.payload.removedItem.id,
|
|
2950
|
-
dataItem: __assign(__assign({}, action.payload.removedItem), { _associate: false })
|
|
2951
|
-
})), of32(changeDataItem({
|
|
2952
|
-
bcName: bcName,
|
|
2953
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
2954
|
-
cursor: cursor,
|
|
2955
|
-
dataItem: (_b = {}, _b[associateFieldKey] = action.payload.dataItem, _b)
|
|
2956
|
-
})));
|
|
2957
|
-
}
|
|
2958
|
-
return concat24(of32(changeDataItem({
|
|
2959
|
-
bcName: popupBcName,
|
|
2960
|
-
bcUrl: buildBcUrl(popupBcName, true, state),
|
|
2961
|
-
cursor: action.payload.removedItem.id,
|
|
2962
|
-
dataItem: __assign(__assign({}, action.payload.removedItem), { _associate: false })
|
|
2963
|
-
})), of32(changeDataItem({
|
|
2964
|
-
bcName: bcName,
|
|
2965
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
2966
|
-
cursor: cursor,
|
|
2967
|
-
dataItem: (_c = {}, _c[associateFieldKey] = action.payload.dataItem, _c)
|
|
2968
|
-
})));
|
|
2969
|
-
})); };
|
|
2970
|
-
// src/epics/data/bcFetchRowMetaRequestEpic.ts
|
|
2971
|
-
import { catchError as catchError14, concat as concat25, filter as filter47, map as map9, mergeMap as mergeMap32, of as of33, race as race3 } from "rxjs";
|
|
2972
|
-
var bcFetchRowMetaRequestEpic = function (action$, state$, _a) {
|
|
2973
|
-
var api = _a.api;
|
|
2974
|
-
return action$.pipe(filter47(bcFetchRowMeta.match), mergeMap32(function (action) {
|
|
2975
|
-
var _a, _b;
|
|
2976
|
-
var state = state$.value;
|
|
2977
|
-
var screenName = state.screen.screenName;
|
|
2978
|
-
var bcName = action.payload.bcName;
|
|
2979
|
-
var cursor = (_a = state.screen.bo.bc[bcName].cursor) !== null && _a !== void 0 ? _a : "";
|
|
2980
|
-
var bcUrl = (_b = buildBcUrl(bcName, true, state)) !== null && _b !== void 0 ? _b : "";
|
|
2981
|
-
var canceler = api.createCanceler();
|
|
2982
|
-
var cancelFlow = cancelRequestEpic(action$, cancelRequestActionTypes, canceler.cancel, bcFetchRowMetaFail({ bcName: bcName }));
|
|
2983
|
-
var cancelByParentBc = cancelRequestEpic(action$, [bcSelectRecord], canceler.cancel, bcFetchRowMetaFail({ bcName: bcName }), function (filteredAction) {
|
|
2984
|
-
var actionBc = filteredAction.payload.bcName;
|
|
2985
|
-
return state.screen.bo.bc[bcName].parentName === actionBc;
|
|
2986
|
-
});
|
|
2987
|
-
var normalFlow = api.fetchRowMeta(screenName, bcUrl, void 0, canceler.cancelToken).pipe(map9(function (rowMeta) {
|
|
2988
|
-
return bcFetchRowMetaSuccess({ bcName: bcName, rowMeta: rowMeta, bcUrl: bcUrl, cursor: cursor });
|
|
2989
|
-
}), catchError14(function (error) {
|
|
2990
|
-
console.error(error);
|
|
2991
|
-
return concat25(of33(bcFetchRowMetaFail({ bcName: bcName })), createApiErrorObservable(error));
|
|
2992
|
-
}));
|
|
2993
|
-
return race3(cancelFlow, cancelByParentBc, normalFlow);
|
|
2994
|
-
}));
|
|
2995
|
-
};
|
|
2996
|
-
// src/epics/data/changeAssociationFullEpic.ts
|
|
2997
|
-
import { concat as concat26, filter as filter48, mergeMap as mergeMap33, of as of34 } from "rxjs";
|
|
2998
|
-
var changeAssociationFullEpic = function (action$, state$) { return action$.pipe(filter48(changeAssociationFull.match), mergeMap33(function (action) {
|
|
2999
|
-
var _a, _b, _c, _d, _e;
|
|
3000
|
-
var state = state$.value;
|
|
3001
|
-
var result = [];
|
|
3002
|
-
var assocValueKey = action.payload.assocValueKey || ((_a = state.view.popupData) === null || _a === void 0 ? void 0 : _a.assocValueKey);
|
|
3003
|
-
var bcName = action.payload.bcName;
|
|
3004
|
-
var allData = state.data[bcName];
|
|
3005
|
-
var selected = action.payload.dataItem._associate;
|
|
3006
|
-
var depth = action.payload.depth || 1;
|
|
3007
|
-
var parentDepth = depth - 1;
|
|
3008
|
-
var parentItem = depth > 1 && allData.find(function (item) { return item.id === action.payload.dataItem.parentId; });
|
|
3009
|
-
var widget = state.view.widgets.find(function (item) { return item.name === action.payload.widgetName; });
|
|
3010
|
-
var hierarchyTraverse = (_b = widget.options) === null || _b === void 0 ? void 0 : _b.hierarchyTraverse;
|
|
3011
|
-
var rootRadio = (_c = widget.options) === null || _c === void 0 ? void 0 : _c.hierarchyRadio;
|
|
3012
|
-
var hierarchyGroupDeselection = (_d = widget.options) === null || _d === void 0 ? void 0 : _d.hierarchyGroupDeselection;
|
|
3013
|
-
var currentLevelData = allData.filter(function (item) { return item.level === depth && (item.level === 1 || item.parentId === (parentItem === null || parentItem === void 0 ? void 0 : parentItem.id)); });
|
|
3014
|
-
if (rootRadio && hierarchyGroupDeselection && depth === 1) {
|
|
3015
|
-
if (selected) {
|
|
3016
|
-
var delta_1 = state.view.pendingDataChanges[bcName];
|
|
3017
|
-
var prevSelected = allData.find(function (dataItem) {
|
|
3018
|
-
if (dataItem.level === 1 && dataItem.id !== action.payload.dataItem.id) {
|
|
3019
|
-
var deltaItem = delta_1 === null || delta_1 === void 0 ? void 0 : delta_1[dataItem.id];
|
|
3020
|
-
if ((deltaItem === null || deltaItem === void 0 ? void 0 : deltaItem._associate) || !deltaItem && dataItem._associate) {
|
|
3021
|
-
return true;
|
|
3022
|
-
}
|
|
3023
|
-
}
|
|
3024
|
-
return false;
|
|
3025
|
-
});
|
|
3026
|
-
if (prevSelected) {
|
|
3027
|
-
result.push(of34(changeAssociationFull({
|
|
3028
|
-
bcName: bcName,
|
|
3029
|
-
depth: depth,
|
|
3030
|
-
widgetName: action.payload.widgetName,
|
|
3031
|
-
dataItem: __assign(__assign({}, prevSelected), { _associate: false }),
|
|
3032
|
-
assocValueKey: assocValueKey
|
|
3033
|
-
})));
|
|
3034
|
-
}
|
|
3035
|
-
}
|
|
3036
|
-
else {
|
|
3037
|
-
result.push(of34(changeDescendantsAssociationsFull({
|
|
3038
|
-
bcName: bcName,
|
|
3039
|
-
parentId: action.payload.dataItem.id,
|
|
3040
|
-
depth: depth + 1,
|
|
3041
|
-
assocValueKey: assocValueKey,
|
|
3042
|
-
selected: false
|
|
3043
|
-
})));
|
|
3044
|
-
}
|
|
3045
|
-
}
|
|
3046
|
-
result.push(of34(changeDataItem({
|
|
3047
|
-
bcName: action.payload.bcName,
|
|
3048
|
-
bcUrl: buildBcUrl(action.payload.bcName, true, state),
|
|
3049
|
-
cursor: action.payload.dataItem.id,
|
|
3050
|
-
dataItem: action.payload.dataItem
|
|
3051
|
-
})));
|
|
3052
|
-
if (parentDepth && hierarchyTraverse && selected) {
|
|
3053
|
-
result.push(of34(changeAssociationFull({
|
|
3054
|
-
bcName: bcName,
|
|
3055
|
-
depth: parentDepth,
|
|
3056
|
-
widgetName: action.payload.widgetName,
|
|
3057
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: true, _value: parentItem === null || parentItem === void 0 ? void 0 : parentItem[assocValueKey] }),
|
|
3058
|
-
assocValueKey: assocValueKey
|
|
3059
|
-
})));
|
|
3060
|
-
}
|
|
3061
|
-
if (parentDepth && hierarchyTraverse && !selected) {
|
|
3062
|
-
var delta = state.view.pendingDataChanges[bcName];
|
|
3063
|
-
var wasLastInDelta = !delta || !Object.values(delta).find(function (deltaValue) {
|
|
3064
|
-
return deltaValue._associate === true && deltaValue.id !== action.payload.dataItem.id && currentLevelData.find(function (dataValue) { return dataValue.id === deltaValue.id; });
|
|
3065
|
-
});
|
|
3066
|
-
var deltaFalseId_1 = delta && ((_e = Object.values(delta)) === null || _e === void 0 ? void 0 : _e.filter(function (item) { return item._associate === false; }).map(function (item) { return item.id; }));
|
|
3067
|
-
var wasLastInData = currentLevelData.filter(function (item) { return item.id !== action.payload.dataItem.id && !(deltaFalseId_1 === null || deltaFalseId_1 === void 0 ? void 0 : deltaFalseId_1.includes(item.id)); }).every(function (item) { return !item._associate; });
|
|
3068
|
-
if (wasLastInData && wasLastInDelta) {
|
|
3069
|
-
result.push(of34(changeAssociationFull({
|
|
3070
|
-
bcName: bcName,
|
|
3071
|
-
depth: parentDepth,
|
|
3072
|
-
widgetName: action.payload.widgetName,
|
|
3073
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: false }),
|
|
3074
|
-
assocValueKey: assocValueKey
|
|
3075
|
-
})));
|
|
3076
|
-
}
|
|
3077
|
-
}
|
|
3078
|
-
return concat26.apply(void 0, result);
|
|
3079
|
-
})); };
|
|
3080
|
-
// src/epics/data/saveAssociationsActiveEpic.ts
|
|
3081
|
-
import { catchError as catchError15, concat as concat27, EMPTY as EMPTY26, filter as filter49, mergeMap as mergeMap34, of as of35, switchMap as switchMap12 } from "rxjs";
|
|
3082
|
-
var saveAssociationsActiveEpic = function (action$, state$, _a) {
|
|
3083
|
-
var api = _a.api;
|
|
3084
|
-
return action$.pipe(filter49(saveAssociations.match), filter49(function (action) {
|
|
3085
|
-
var _a;
|
|
3086
|
-
return (_a = state$.value.view.popupData) === null || _a === void 0 ? void 0 : _a.active;
|
|
3087
|
-
}), switchMap12(function (action) {
|
|
3088
|
-
var _a, _b;
|
|
3089
|
-
var state = state$.value;
|
|
3090
|
-
var calleeBCName = (_a = state.view.popupData) === null || _a === void 0 ? void 0 : _a.calleeBCName;
|
|
3091
|
-
var calleeWidgetName = (_b = state.view.popupData) === null || _b === void 0 ? void 0 : _b.calleeWidgetName;
|
|
3092
|
-
var bcNames = action.payload.bcNames;
|
|
3093
|
-
var bcUrl = buildBcUrl(calleeBCName, true, state);
|
|
3094
|
-
var pendingChanges = state.view.pendingDataChanges[bcNames[0]] || {};
|
|
3095
|
-
var params = bcNames.length ? { _bcName: bcNames[bcNames.length - 1] } : {};
|
|
3096
|
-
return api.associate(state.screen.screenName, bcUrl, Object.values(pendingChanges).filter(function (i) { return i._associate; }), params).pipe(mergeMap34(function (response) {
|
|
3097
|
-
var postInvoke = response.postActions[0];
|
|
3098
|
-
var calleeWidget = state.view.widgets.find(function (widgetItem) { return widgetItem.bcName === calleeBCName; });
|
|
3099
|
-
return concat27(postInvoke ? of35(processPostInvoke({ bcName: calleeBCName, postInvoke: postInvoke, widgetName: calleeWidget === null || calleeWidget === void 0 ? void 0 : calleeWidget.name })) : EMPTY26, of35(bcCancelPendingChanges({ bcNames: bcNames })), of35(bcForceUpdate({ bcName: calleeBCName, widgetName: calleeWidgetName })));
|
|
3100
|
-
}), catchError15(function (err) {
|
|
3101
|
-
console.error(err);
|
|
3102
|
-
return EMPTY26;
|
|
3103
|
-
}));
|
|
3104
|
-
}));
|
|
3105
|
-
};
|
|
3106
|
-
// src/epics/data/changeAssociationSameBcEpic.ts
|
|
3107
|
-
import { concat as concat28, filter as filter50, mergeMap as mergeMap35, of as of36 } from "rxjs";
|
|
3108
|
-
var changeAssociationSameBcEpic = function (action$, state$) { return action$.pipe(filter50(changeAssociationSameBc.match), mergeMap35(function (action) {
|
|
3109
|
-
var _a, _b, _c, _d, _e, _f;
|
|
3110
|
-
var state = state$.value;
|
|
3111
|
-
var bcName = action.payload.bcName;
|
|
3112
|
-
var result = [
|
|
3113
|
-
of36(changeDataItem({
|
|
3114
|
-
bcName: bcName,
|
|
3115
|
-
bcUrl: buildBcUrl(bcName, true, state),
|
|
3116
|
-
cursor: action.payload.dataItem.id,
|
|
3117
|
-
dataItem: action.payload.dataItem
|
|
3118
|
-
}))
|
|
3119
|
-
];
|
|
3120
|
-
var selected = action.payload.dataItem._associate;
|
|
3121
|
-
var depth = action.payload.depth || 1;
|
|
3122
|
-
var parentDepth = depth - 1;
|
|
3123
|
-
var widget = state.view.widgets.find(function (item) { return item.name === action.payload.widgetName; });
|
|
3124
|
-
var hierarchyTraverse = (_a = widget.options) === null || _a === void 0 ? void 0 : _a.hierarchyTraverse;
|
|
3125
|
-
var currentData = depth > 1 ? (_b = state.depthData[depth]) === null || _b === void 0 ? void 0 : _b[bcName] : state.data[bcName];
|
|
3126
|
-
var parentCursor = parentDepth ? parentDepth > 1 ? (_d = (_c = state.screen.bo.bc[bcName].depthBc) === null || _c === void 0 ? void 0 : _c[parentDepth]) === null || _d === void 0 ? void 0 : _d.cursor : state.screen.bo.bc[bcName].cursor : null;
|
|
3127
|
-
var parentItem = parentCursor ? parentDepth > 1 ? (_f = (_e = state.depthData[parentDepth]) === null || _e === void 0 ? void 0 : _e[bcName]) === null || _f === void 0 ? void 0 : _f.find(function (item) { return item.id === parentCursor; }) : state.data[bcName].find(function (item) { return item.id === parentCursor; }) : null;
|
|
3128
|
-
if (parentDepth && hierarchyTraverse && selected) {
|
|
3129
|
-
result.push(of36(changeAssociationSameBc({
|
|
3130
|
-
bcName: bcName,
|
|
3131
|
-
depth: parentDepth,
|
|
3132
|
-
widgetName: action.payload.widgetName,
|
|
3133
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: true, _value: parentItem === null || parentItem === void 0 ? void 0 : parentItem[action.payload.assocValueKey] }),
|
|
3134
|
-
assocValueKey: action.payload.assocValueKey
|
|
3135
|
-
})));
|
|
3136
|
-
}
|
|
3137
|
-
if (parentDepth && hierarchyTraverse && !selected) {
|
|
3138
|
-
var wasLastInData = currentData.filter(function (item) { return item.id !== action.payload.dataItem.id; }).every(function (item) { return !item._associate; });
|
|
3139
|
-
if (wasLastInData) {
|
|
3140
|
-
result.push(of36(changeAssociationSameBc({
|
|
3141
|
-
bcName: bcName,
|
|
3142
|
-
depth: parentDepth,
|
|
3143
|
-
widgetName: action.payload.widgetName,
|
|
3144
|
-
dataItem: __assign(__assign({}, parentItem), { _associate: false }),
|
|
3145
|
-
assocValueKey: action.payload.assocValueKey
|
|
3146
|
-
})));
|
|
3147
|
-
}
|
|
3148
|
-
}
|
|
3149
|
-
return concat28.apply(void 0, result);
|
|
3150
|
-
})); };
|
|
3151
|
-
// src/epics/data/inlinePickListFetchDataEpic.ts
|
|
3152
|
-
import { catchError as catchError16, filter as filter51, mergeMap as mergeMap36, of as of37, race as race4 } from "rxjs";
|
|
3153
|
-
var inlinePickListFetchDataEpic = function (action$, state$, _a) {
|
|
3154
|
-
var api = _a.api;
|
|
3155
|
-
return action$.pipe(filter51(inlinePickListFetchDataRequest.match), mergeMap36(function (action) {
|
|
3156
|
-
var _a;
|
|
3157
|
-
var _b = action.payload, bcName = _b.bcName, searchSpec = _b.searchSpec, searchString = _b.searchString;
|
|
3158
|
-
var state = state$.value;
|
|
3159
|
-
var bcUrl = buildBcUrl(bcName, false, state);
|
|
3160
|
-
var canceler = api.createCanceler();
|
|
3161
|
-
var cancelFlow = cancelRequestEpic(action$, cancelRequestActionTypes, canceler.cancel, bcFetchDataFail({ bcName: bcName, bcUrl: bcUrl }));
|
|
3162
|
-
var normalFlow = api.fetchBcData(state$.value.screen.screenName, bcUrl, (_a = {}, _a[searchSpec + ".contains"] = searchString, _a), canceler.cancelToken).pipe(mergeMap36(function (data) {
|
|
3163
|
-
return of37(bcFetchDataSuccess({ bcName: bcName, data: data.data, bcUrl: bcUrl }));
|
|
3164
|
-
}), catchError16(function (error) {
|
|
3165
|
-
console.error(error);
|
|
3166
|
-
return of37(bcFetchDataFail({ bcName: action.payload.bcName, bcUrl: bcUrl }));
|
|
3167
|
-
}));
|
|
3168
|
-
return race4(cancelFlow, normalFlow);
|
|
3169
|
-
}));
|
|
3170
|
-
};
|
|
3171
|
-
// src/epics/data/saveAssociationsPassiveEpic.ts
|
|
3172
|
-
import { filter as filter52, of as of38, switchMap as switchMap13 } from "rxjs";
|
|
3173
|
-
var saveAssociationsPassiveEpic = function (action$, state$) { return action$.pipe(filter52(saveAssociations.match), filter52(function () {
|
|
3174
|
-
var _a;
|
|
3175
|
-
return !((_a = state$.value.view.popupData) === null || _a === void 0 ? void 0 : _a.active);
|
|
3176
|
-
}), switchMap13(function (action) {
|
|
3177
|
-
var _a, _b;
|
|
3178
|
-
var _c, _d;
|
|
3179
|
-
var state = state$.value;
|
|
3180
|
-
var _e = (_c = state.view.popupData) !== null && _c !== void 0 ? _c : {}, _f = _e.calleeBCName, calleeBCName = _f === void 0 ? action.payload.calleeBcName : _f, _g = _e.associateFieldKey, associateFieldKey = _g === void 0 ? action.payload.associateFieldKey : _g;
|
|
3181
|
-
var cursor = state.screen.bo.bc[calleeBCName].cursor;
|
|
3182
|
-
var recordPrevData = (_d = state.data[calleeBCName].find(function (dataStateRecord) { return dataStateRecord.id === cursor; })[associateFieldKey]) !== null && _d !== void 0 ? _d : [];
|
|
3183
|
-
var newValues = [];
|
|
3184
|
-
action.payload.bcNames.forEach(function (pendingBc) {
|
|
3185
|
-
var pendingChanges = state.view.pendingDataChanges[pendingBc] || {};
|
|
3186
|
-
Object.entries(pendingChanges).forEach(function (_a) {
|
|
3187
|
-
var id = _a[0], item = _a[1];
|
|
3188
|
-
newValues.push(item);
|
|
3189
|
-
});
|
|
3190
|
-
});
|
|
3191
|
-
var addedItems = newValues.filter(function (newItem) {
|
|
3192
|
-
var isNew = !recordPrevData.find(function (prevItem) { return prevItem.id === newItem.id; }) && newItem._associate;
|
|
3193
|
-
return isNew;
|
|
3194
|
-
}).map(function (newItem) { return ({
|
|
3195
|
-
id: newItem.id,
|
|
3196
|
-
options: {},
|
|
3197
|
-
value: newItem._value
|
|
3198
|
-
}); });
|
|
3199
|
-
var result = (_a = recordPrevData.filter(function (prevItem) {
|
|
3200
|
-
var removedItem = newValues.find(function (item) { return item.id === prevItem.id; });
|
|
3201
|
-
if (removedItem && (removedItem === null || removedItem === void 0 ? void 0 : removedItem._associate) === false) {
|
|
3202
|
-
return false;
|
|
3203
|
-
}
|
|
3204
|
-
return true;
|
|
3205
|
-
})).concat.apply(_a, addedItems);
|
|
3206
|
-
return of38(changeDataItem({
|
|
3207
|
-
bcName: calleeBCName,
|
|
3208
|
-
bcUrl: buildBcUrl(calleeBCName, true, state),
|
|
3209
|
-
cursor: cursor,
|
|
3210
|
-
dataItem: (_b = {},
|
|
3211
|
-
_b[associateFieldKey] = result,
|
|
3212
|
-
_b)
|
|
3213
|
-
}));
|
|
3214
|
-
})); };
|
|
3215
|
-
// src/epics/data/changeChildrenAssociationsEpic.ts
|
|
3216
|
-
import { filter as filter53, mergeMap as mergeMap37, of as of39 } from "rxjs";
|
|
3217
|
-
var changeChildrenAssociationsEpic = function (action$, state$, _a) {
|
|
3218
|
-
var api = _a.api;
|
|
3219
|
-
return action$.pipe(filter53(changeChildrenAssociations.match), mergeMap37(function (action) {
|
|
3220
|
-
var state = state$.value;
|
|
3221
|
-
var data = state.data[action.payload.bcName];
|
|
3222
|
-
return of39(changeDataItems({
|
|
3223
|
-
bcName: action.payload.bcName,
|
|
3224
|
-
cursors: data.map(function (item) { return item.id; }),
|
|
3225
|
-
dataItems: data.map(function (item) { return (__assign(__assign({}, item), { _value: item[action.payload.assocValueKey], _associate: action.payload.selected })); })
|
|
3226
|
-
}));
|
|
3227
|
-
}));
|
|
3228
|
-
};
|
|
3229
|
-
// src/epics/data/changeChildrenAssociationsSameBcEpic.ts
|
|
3230
|
-
import { filter as filter54, mergeMap as mergeMap38, of as of40 } from "rxjs";
|
|
3231
|
-
var changeChildrenAssociationsSameBcEpic = function (action$, state$) { return action$.pipe(filter54(changeChildrenAssociationsSameBc.match), mergeMap38(function (action) {
|
|
3232
|
-
var _a;
|
|
3233
|
-
var state = state$.value;
|
|
3234
|
-
var data = ((_a = state.depthData[action.payload.depth]) === null || _a === void 0 ? void 0 : _a[action.payload.bcName]) || [];
|
|
3235
|
-
return of40(changeDataItems({
|
|
3236
|
-
bcName: action.payload.bcName,
|
|
3237
|
-
cursors: data.map(function (item) { return item.id; }),
|
|
3238
|
-
dataItems: data.map(function (item) { return (__assign(__assign({}, item), { _value: item[action.payload.assocValueKey], _associate: action.payload.selected })); })
|
|
3239
|
-
}));
|
|
3240
|
-
})); };
|
|
3241
|
-
// src/epics/data/changeDescendantsAssociationsFullEpic.ts
|
|
3242
|
-
import { concat as concat29, filter as filter55, mergeMap as mergeMap39, of as of41 } from "rxjs";
|
|
3243
|
-
var changeDescendantsAssociationsFullEpic = function (action$, state$) { return action$.pipe(filter55(changeDescendantsAssociationsFull.match), mergeMap39(function (action) {
|
|
3244
|
-
var state = state$.value;
|
|
3245
|
-
var depth = action.payload.depth;
|
|
3246
|
-
var data = state.data[action.payload.bcName];
|
|
3247
|
-
var targetData = (data || []).filter(function (item) { return item.level === depth && item.parentId === action.payload.parentId; });
|
|
3248
|
-
var result = [
|
|
3249
|
-
of41(changeDataItems({
|
|
3250
|
-
bcName: action.payload.bcName,
|
|
3251
|
-
cursors: targetData.map(function (item) { return item.id; }),
|
|
3252
|
-
dataItems: targetData.map(function (item) { return (__assign(__assign({}, item), { _value: item[action.payload.assocValueKey], _associate: action.payload.selected })); })
|
|
3253
|
-
}))
|
|
3254
|
-
];
|
|
3255
|
-
targetData.forEach(function (targetDataItem) {
|
|
3256
|
-
if (data.find(function (dataItem) { return dataItem.parentId === targetDataItem.id; })) {
|
|
3257
|
-
result.push(of41(changeDescendantsAssociationsFull(__assign(__assign({}, action.payload), { parentId: targetDataItem.id, depth: depth + 1 }))));
|
|
3258
|
-
}
|
|
3259
|
-
});
|
|
3260
|
-
return concat29.apply(void 0, result);
|
|
3261
|
-
})); };
|
|
3262
|
-
// src/api/ObservableApiWrapper.ts
|
|
3263
|
-
import axios2 from "axios";
|
|
3264
|
-
import { from, map as map10, takeWhile } from "rxjs";
|
|
3265
|
-
function redirectOccurred(value) {
|
|
3266
|
-
var _a;
|
|
3267
|
-
if ((_a = value.data) === null || _a === void 0 ? void 0 : _a.redirectUrl) {
|
|
3268
|
-
var redirectUrl = value.data.redirectUrl;
|
|
3269
|
-
if (!redirectUrl.startsWith("/") && !redirectUrl.match("^http(.?)://")) {
|
|
3270
|
-
redirectUrl = "".concat(window.location.pathname, "#/").concat(redirectUrl);
|
|
3271
|
-
}
|
|
3272
|
-
if (redirectUrl.startsWith("/") && !redirectUrl.startsWith("//")) {
|
|
3273
|
-
redirectUrl = "".concat(window.location.origin).concat(redirectUrl);
|
|
3274
|
-
}
|
|
3275
|
-
window.location.replace(redirectUrl);
|
|
3276
|
-
return false;
|
|
3277
|
-
}
|
|
3278
|
-
return true;
|
|
3279
|
-
}
|
|
3280
|
-
var ObservableApiWrapper = /** @class */ (function () {
|
|
3281
|
-
function class_2(instance) {
|
|
3282
|
-
this.instance = axios2.create({
|
|
3283
|
-
responseType: "json",
|
|
3284
|
-
headers: { Pragma: "no-cache", "Cache-Control": "no-cache, no-store, must-revalidate" }
|
|
3285
|
-
});
|
|
3286
|
-
this.instance = instance;
|
|
3287
|
-
}
|
|
3288
|
-
class_2.prototype.get = function (path, config, callContext) {
|
|
3289
|
-
return from(this.instance.get(path, config)).pipe(takeWhile(redirectOccurred), map10(function (response) { return response.data; }));
|
|
3290
|
-
};
|
|
3291
|
-
class_2.prototype.put = function (path, data, callContext) {
|
|
3292
|
-
return from(this.instance.put(path, data)).pipe(takeWhile(redirectOccurred), map10(function (response) { return response.data; }));
|
|
3293
|
-
};
|
|
3294
|
-
class_2.prototype.post = function (path, data, config, callContext) {
|
|
3295
|
-
return from(this.instance.post(path, data)).pipe(takeWhile(redirectOccurred), map10(function (response) { return response.data; }));
|
|
3296
|
-
};
|
|
3297
|
-
class_2.prototype.delete = function (path, data, config, callContext) {
|
|
3298
|
-
return from(this.instance.delete(path, data)).pipe(takeWhile(redirectOccurred), map10(function (response) { return response.data; }));
|
|
3299
|
-
};
|
|
3300
|
-
return class_2;
|
|
3301
|
-
}());
|
|
3302
|
-
// src/api/ObservableApi.ts
|
|
3303
|
-
import axios3 from "axios";
|
|
3304
|
-
import { EMPTY as EMPTY27, expand, map as map11, reduce } from "rxjs";
|
|
3305
|
-
var Api = /** @class */ (function () {
|
|
3306
|
-
function class_3(instance) {
|
|
3307
|
-
this.api$ = new ObservableApiWrapper(instance);
|
|
3308
|
-
}
|
|
3309
|
-
class_3.prototype.routerRequest = function (path, params) {
|
|
3310
|
-
return this.api$.get(applyRawParams(path, params));
|
|
3311
|
-
};
|
|
3312
|
-
class_3.prototype.fetchBcData = function (screenName, bcUrl, params, cancelToken) {
|
|
3313
|
-
if (params === void 0) { params = {}; }
|
|
3314
|
-
var noLimit = params._limit === 0;
|
|
3315
|
-
var queryStringObject = __assign(__assign({}, params), { _page: !noLimit ? "_page" in params ? params._page : 1 : void 0, _limit: !noLimit ? "_limit" in params ? params._limit : 30 : void 0 });
|
|
3316
|
-
var url = applyParams(buildUrl(templateObject_1 || (templateObject_1 = __makeTemplateObject(["data/", "/"], ["data/", "/"])), screenName) + bcUrl, queryStringObject);
|
|
3317
|
-
return this.api$.get(url, { cancelToken: cancelToken });
|
|
3318
|
-
};
|
|
3319
|
-
class_3.prototype.fetchBcDataAll = function (screenName, bcUrl, params) {
|
|
3320
|
-
var _this = this;
|
|
3321
|
-
if (params === void 0) { params = {}; }
|
|
3322
|
-
var currentPage = 1;
|
|
3323
|
-
return this.fetchBcData(screenName, bcUrl, __assign(__assign({}, params), { _page: currentPage })).pipe(expand(function (response) {
|
|
3324
|
-
return response.hasNext ? _this.fetchBcData(screenName, bcUrl, __assign(__assign({}, params), { _page: ++currentPage })) : EMPTY27;
|
|
3325
|
-
}), reduce(function (items, nextResponse) {
|
|
3326
|
-
return __spreadArray(__spreadArray([], items, true), nextResponse.data, true);
|
|
3327
|
-
}, []));
|
|
3328
|
-
};
|
|
3329
|
-
class_3.prototype.fetchRowMeta = function (screenName, bcUrl, params, cancelToken) {
|
|
3330
|
-
var url = applyParams(buildUrl(templateObject_2 || (templateObject_2 = __makeTemplateObject(["row-meta/", "/"], ["row-meta/", "/"])), screenName) + bcUrl, params);
|
|
3331
|
-
return this.api$.get(url, { cancelToken: cancelToken }).pipe(map11(function (response) { return response.data.row; }));
|
|
3332
|
-
};
|
|
3333
|
-
class_3.prototype.newBcData = function (screenName, bcUrl, context, params) {
|
|
3334
|
-
var url = applyParams(buildUrl(templateObject_3 || (templateObject_3 = __makeTemplateObject(["row-meta-new/", "/"], ["row-meta-new/", "/"])), screenName) + bcUrl, params);
|
|
3335
|
-
return this.api$.get(url, void 0, context).pipe(map11(function (response) { return response.data; }));
|
|
3336
|
-
};
|
|
3337
|
-
class_3.prototype.saveBcData = function (screenName, bcUrl, data, context, params) {
|
|
3338
|
-
var url = applyParams(buildUrl(templateObject_4 || (templateObject_4 = __makeTemplateObject(["data/", "/"], ["data/", "/"])), screenName) + bcUrl, params);
|
|
3339
|
-
return this.api$.put(url, { data: data }, context).pipe(map11(function (response) { return response.data; }));
|
|
3340
|
-
};
|
|
3341
|
-
class_3.prototype.deleteBcData = function (screenName, bcUrl, context, params) {
|
|
3342
|
-
if (bcUrl === void 0) { bcUrl = ""; }
|
|
3343
|
-
var url = applyParams(buildUrl(templateObject_5 || (templateObject_5 = __makeTemplateObject(["data/", "/"], ["data/", "/"])), screenName) + bcUrl, params);
|
|
3344
|
-
return this.api$.delete(url, context).pipe(map11(function (response) { return response.data; }));
|
|
3345
|
-
};
|
|
3346
|
-
class_3.prototype.customAction = function (screenName, bcUrl, data, context, params) {
|
|
3347
|
-
var url = applyParams(buildUrl(templateObject_6 || (templateObject_6 = __makeTemplateObject(["custom-action/", "/"], ["custom-action/", "/"])), screenName) + bcUrl, params);
|
|
3348
|
-
return this.api$.post(url, { data: data || {} }, void 0, context).pipe(map11(function (response) { return response.data; }));
|
|
3349
|
-
};
|
|
3350
|
-
class_3.prototype.associate = function (screenName, bcUrl, data, params) {
|
|
3351
|
-
var processedData = Array.isArray(data) ? data.map(function (item) { return ({
|
|
3352
|
-
id: item.id,
|
|
3353
|
-
vstamp: item.vstamp,
|
|
3354
|
-
associated: item._associate
|
|
3355
|
-
}); }) : data;
|
|
3356
|
-
var url = applyParams(buildUrl(templateObject_7 || (templateObject_7 = __makeTemplateObject(["associate/", "/"], ["associate/", "/"])), screenName) + bcUrl, params);
|
|
3357
|
-
return this.api$.post(url, processedData).pipe(map11(function (response) { return response.data; }));
|
|
3358
|
-
};
|
|
3359
|
-
class_3.prototype.getRmByForceActive = function (screenName, bcUrl, data, params) {
|
|
3360
|
-
var url = applyParams(buildUrl(templateObject_8 || (templateObject_8 = __makeTemplateObject(["row-meta/", "/"], ["row-meta/", "/"])), screenName) + (bcUrl !== null && bcUrl !== void 0 ? bcUrl : ""), params);
|
|
3361
|
-
return this.api$.post(url, { data: data }).pipe(map11(function (response) { return response.data.row; }));
|
|
3362
|
-
};
|
|
3363
|
-
Object.defineProperty(class_3.prototype, "fileUploadEndpoint", {
|
|
3364
|
-
/**
|
|
3365
|
-
* Get Cxbox API file upload endpoint based on baseURL of axios instance
|
|
3366
|
-
*
|
|
3367
|
-
* Handles empty baseURL and trailing slash
|
|
3368
|
-
*
|
|
3369
|
-
* @returns File upload endpoint
|
|
3370
|
-
*/
|
|
3371
|
-
get: function () {
|
|
3372
|
-
var instance = this.api$.instance;
|
|
3373
|
-
if (!instance.defaults.baseURL) {
|
|
3374
|
-
return "/file";
|
|
3375
|
-
}
|
|
3376
|
-
return instance.defaults.baseURL.endsWith("/") ? "".concat(instance.defaults.baseURL, "file") : "".concat(instance.defaults.baseURL, "/file");
|
|
3377
|
-
},
|
|
3378
|
-
enumerable: false,
|
|
3379
|
-
configurable: true
|
|
3380
|
-
});
|
|
3381
|
-
class_3.prototype.refreshMeta = function () {
|
|
3382
|
-
return this.api$.get(buildUrl(templateObject_9 || (templateObject_9 = __makeTemplateObject(["bc-registry/refresh-meta"], ["bc-registry/refresh-meta"]))));
|
|
3383
|
-
};
|
|
3384
|
-
class_3.prototype.loginByRoleRequest = function (role) {
|
|
3385
|
-
return this.api$.get(buildUrl(templateObject_10 || (templateObject_10 = __makeTemplateObject(["login?role=", ""], ["login?role=", ""])), role));
|
|
3386
|
-
};
|
|
3387
|
-
class_3.prototype.createCanceler = function () {
|
|
3388
|
-
var cancel;
|
|
3389
|
-
var cancelToken = new axios3.CancelToken(function (c) {
|
|
3390
|
-
cancel = c;
|
|
3391
|
-
});
|
|
3392
|
-
return {
|
|
3393
|
-
cancel: cancel,
|
|
3394
|
-
cancelToken: cancelToken
|
|
3395
|
-
};
|
|
3396
|
-
};
|
|
3397
|
-
return class_3;
|
|
3398
|
-
}());
|
|
3399
|
-
// src/utils/autosave.ts
|
|
3400
|
-
function autosaveRoutine(action, store, next) {
|
|
3401
|
-
var _a, _b, _c;
|
|
3402
|
-
var state = store.getState();
|
|
3403
|
-
var dispatch = store.dispatch;
|
|
3404
|
-
var pendingDataChanges = state.view.pendingDataChanges;
|
|
3405
|
-
var bcList = Object.keys(pendingDataChanges);
|
|
3406
|
-
var baseBcNameIndex = ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.bcName) && bcHasPendingAutosaveChanges(state, action.payload.bcName, (_b = state.screen.bo.bc[action.payload.bcName]) === null || _b === void 0 ? void 0 : _b.cursor) ? bcList.findIndex(function (bcName) { var _a; return bcName === ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.bcName); }) : bcList.findIndex(function (bcName) { var _a; return bcHasPendingAutosaveChanges(state, bcName, (_a = state.screen.bo.bc[bcName]) === null || _a === void 0 ? void 0 : _a.cursor); });
|
|
3407
|
-
var baseBcName = bcList[baseBcNameIndex];
|
|
3408
|
-
if (baseBcNameIndex > -1) {
|
|
3409
|
-
bcList.splice(baseBcNameIndex, 1);
|
|
3410
|
-
}
|
|
3411
|
-
if (baseBcName) {
|
|
3412
|
-
bcList.forEach(function (bcName) {
|
|
3413
|
-
var _a, _b;
|
|
3414
|
-
var widget = (_a = state.view.widgets) === null || _a === void 0 ? void 0 : _a.find(function (v) { return v.bcName === bcName; });
|
|
3415
|
-
var cursor = (_b = state.screen.bo.bc[bcName]) === null || _b === void 0 ? void 0 : _b.cursor;
|
|
3416
|
-
if (bcHasPendingAutosaveChanges(state, bcName, cursor)) {
|
|
3417
|
-
dispatch(sendOperation({
|
|
3418
|
-
bcName: bcName,
|
|
3419
|
-
operationType: OperationTypeCrud.save,
|
|
3420
|
-
widgetName: widget === null || widget === void 0 ? void 0 : widget.name
|
|
3421
|
-
}));
|
|
3422
|
-
}
|
|
3423
|
-
});
|
|
3424
|
-
var baseWidget = (_c = state.view.widgets) === null || _c === void 0 ? void 0 : _c.find(function (v) { return v.bcName === baseBcName; });
|
|
3425
|
-
return next(sendOperation({
|
|
3426
|
-
bcName: baseBcName,
|
|
3427
|
-
operationType: OperationTypeCrud.save,
|
|
3428
|
-
widgetName: baseWidget === null || baseWidget === void 0 ? void 0 : baseWidget.name,
|
|
3429
|
-
onSuccessAction: action
|
|
3430
|
-
}));
|
|
3431
|
-
}
|
|
3432
|
-
return next(action);
|
|
3433
|
-
}
|
|
3434
|
-
function bcHasPendingAutosaveChanges(store, bcName, cursor) {
|
|
3435
|
-
var _a;
|
|
3436
|
-
var pendingChanges = store.view.pendingDataChanges;
|
|
3437
|
-
var cursorChanges = (_a = pendingChanges[bcName]) === null || _a === void 0 ? void 0 : _a[cursor];
|
|
3438
|
-
var result = cursorChanges && !Object.keys(cursorChanges).includes("_associate") && Object.values(cursorChanges).length > 0;
|
|
3439
|
-
return result;
|
|
3440
|
-
}
|
|
3441
|
-
function checkUnsavedChangesOfBc(store, bcName) {
|
|
3442
|
-
var _a, _b;
|
|
3443
|
-
var pendingCursors = Object.keys((_b = (_a = store.view.pendingDataChanges) === null || _a === void 0 ? void 0 : _a[bcName]) !== null && _b !== void 0 ? _b : {});
|
|
3444
|
-
return pendingCursors.some(function (cursor) { return bcHasPendingAutosaveChanges(store, bcName, cursor); });
|
|
3445
|
-
}
|
|
3446
|
-
// src/middlewares/autosaveMiddleware.ts
|
|
3447
|
-
var saveFormMiddleware = function (_a) {
|
|
3448
|
-
var getState = _a.getState, dispatch = _a.dispatch;
|
|
3449
|
-
return function (next) { return function (action) {
|
|
3450
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
3451
|
-
var state = getState();
|
|
3452
|
-
var isSendOperation = sendOperation.match(action);
|
|
3453
|
-
var isCoreSendOperation = isSendOperation && coreOperations.includes(action.payload.operationType);
|
|
3454
|
-
var isSelectTableCellInit = selectTableCellInit.match(action);
|
|
3455
|
-
var isSaveAction = isSendOperation && action.payload.operationType === OperationTypeCrud.save;
|
|
3456
|
-
var isNotSaveAction = !isSaveAction;
|
|
3457
|
-
var actionBcName = isSendOperation && action.payload.bcName;
|
|
3458
|
-
var hasAnotherUnsavedBc = Object.keys(state.view.pendingDataChanges).filter(function (key) { return key !== actionBcName; }).filter(function (key) { return checkUnsavedChangesOfBc(state, key); }).length > 0;
|
|
3459
|
-
var isSendOperationForAnotherBc = isCoreSendOperation && hasAnotherUnsavedBc;
|
|
3460
|
-
var selectedCell = state.view.selectedCell;
|
|
3461
|
-
var isSelectTableCellInitOnAnotherRowOrWidget = selectedCell && isSelectTableCellInit && (selectedCell.widgetName !== action.payload.widgetName || selectedCell.rowId !== action.payload.rowId);
|
|
3462
|
-
var defaultSaveWidget = (_a = state.view.widgets) === null || _a === void 0 ? void 0 : _a.find(function (item) { var _a, _b; return (_b = (_a = item === null || item === void 0 ? void 0 : item.options) === null || _a === void 0 ? void 0 : _a.actionGroups) === null || _b === void 0 ? void 0 : _b.defaultSave; });
|
|
3463
|
-
var defaultCursor = (_c = (_b = state.screen.bo.bc) === null || _b === void 0 ? void 0 : _b[defaultSaveWidget === null || defaultSaveWidget === void 0 ? void 0 : defaultSaveWidget.bcName]) === null || _c === void 0 ? void 0 : _c.cursor;
|
|
3464
|
-
var pendingData = (_f = (_e = (_d = state.view) === null || _d === void 0 ? void 0 : _d.pendingDataChanges) === null || _e === void 0 ? void 0 : _e[defaultSaveWidget === null || defaultSaveWidget === void 0 ? void 0 : defaultSaveWidget.bcName]) === null || _f === void 0 ? void 0 : _f[defaultCursor];
|
|
3465
|
-
var isChangeLocation = defaultSaveWidget && changeLocation.match(action) && Object.keys(pendingData || {}).length > 0;
|
|
3466
|
-
if (isChangeLocation) {
|
|
3467
|
-
return next(sendOperation({
|
|
3468
|
-
bcName: defaultSaveWidget.bcName,
|
|
3469
|
-
operationType: ((_g = defaultSaveWidget.options) === null || _g === void 0 ? void 0 : _g.actionGroups).defaultSave,
|
|
3470
|
-
widgetName: defaultSaveWidget.name,
|
|
3471
|
-
onSuccessAction: action
|
|
3472
|
-
}));
|
|
3473
|
-
}
|
|
3474
|
-
var isNeedSaveCondition = isNotSaveAction && (isSendOperationForAnotherBc || isSelectTableCellInitOnAnotherRowOrWidget);
|
|
3475
|
-
if (isNeedSaveCondition) {
|
|
3476
|
-
return autosaveRoutine(action, { getState: getState, dispatch: dispatch }, next);
|
|
3477
|
-
}
|
|
3478
|
-
return next(action);
|
|
3479
|
-
}; };
|
|
3480
|
-
};
|
|
3481
|
-
// src/middlewares/requiredFieldsMiddleware.ts
|
|
3482
|
-
var requiredFields = function (_a) {
|
|
3483
|
-
var getState = _a.getState, dispatch = _a.dispatch;
|
|
3484
|
-
return function (next) { return function (action) {
|
|
3485
|
-
var _a, _b, _c, _d;
|
|
3486
|
-
var state = getState();
|
|
3487
|
-
if (sendOperation.match(action)) {
|
|
3488
|
-
var _e = action.payload, bcName = _e.bcName, operationType = _e.operationType, widgetName_1 = _e.widgetName;
|
|
3489
|
-
var cursor_1 = (_a = state.screen.bo.bc[bcName]) === null || _a === void 0 ? void 0 : _a.cursor;
|
|
3490
|
-
if (cursor_1) {
|
|
3491
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
3492
|
-
var record = (_b = state.data[bcName]) === null || _b === void 0 ? void 0 : _b.find(function (item) { return item.id === cursor_1; });
|
|
3493
|
-
var rowMeta_1 = bcUrl && ((_c = state.view.rowMeta[bcName]) === null || _c === void 0 ? void 0 : _c[bcUrl]);
|
|
3494
|
-
var pendingValues = (_d = state.view.pendingDataChanges[bcName]) === null || _d === void 0 ? void 0 : _d[cursor_1];
|
|
3495
|
-
var widget_1 = state.view.widgets.find(function (item) { return item.name === widgetName_1; });
|
|
3496
|
-
if (operationRequiresAutosave(operationType, rowMeta_1 === null || rowMeta_1 === void 0 ? void 0 : rowMeta_1.actions)) {
|
|
3497
|
-
var fieldsToCheck_1 = {};
|
|
3498
|
-
state.view.widgets.filter(function (item) { return item.bcName === (widget_1 === null || widget_1 === void 0 ? void 0 : widget_1.bcName); }).forEach(function (item) {
|
|
3499
|
-
var itemFieldsCalc = __spreadArray([], item.fields, true);
|
|
3500
|
-
if (item.fields) {
|
|
3501
|
-
item.fields.forEach(function (block) {
|
|
3502
|
-
if (isWidgetFieldBlock(block)) {
|
|
3503
|
-
block.fields.forEach(function (field) { return itemFieldsCalc.push(field); });
|
|
3504
|
-
}
|
|
3505
|
-
});
|
|
3506
|
-
}
|
|
3507
|
-
itemFieldsCalc.forEach(function (widgetField) {
|
|
3508
|
-
var _a;
|
|
3509
|
-
var matchingRowMeta = (_a = rowMeta_1 === null || rowMeta_1 === void 0 ? void 0 : rowMeta_1.fields) === null || _a === void 0 ? void 0 : _a.find(function (rowMetaField) { return rowMetaField.key === widgetField.key; });
|
|
3510
|
-
if (!fieldsToCheck_1[widgetField.key] && matchingRowMeta && !matchingRowMeta.hidden) {
|
|
3511
|
-
fieldsToCheck_1[widgetField.key] = matchingRowMeta;
|
|
3512
|
-
}
|
|
3513
|
-
});
|
|
3514
|
-
});
|
|
3515
|
-
var dataItem = getRequiredFieldsMissing(record, pendingValues, Object.values(fieldsToCheck_1));
|
|
3516
|
-
if (dataItem && TableLikeWidgetTypes.includes(widget_1 === null || widget_1 === void 0 ? void 0 : widget_1.type)) {
|
|
3517
|
-
dispatch(selectTableCellInit({ widgetName: widgetName_1, rowId: cursor_1, fieldKey: Object.keys(dataItem)[0] }));
|
|
3518
|
-
}
|
|
3519
|
-
return dataItem ? next(changeDataItem({ bcName: bcName, bcUrl: buildBcUrl(bcName, true, state), cursor: cursor_1, dataItem: dataItem })) : next(action);
|
|
3520
|
-
}
|
|
3521
|
-
if (hasPendingValidationFails(state, bcName)) {
|
|
3522
|
-
return addNotification({
|
|
3523
|
-
key: "requiredFieldsMissing",
|
|
3524
|
-
type: "buttonWarningNotification",
|
|
3525
|
-
message: "Required fields are missing",
|
|
3526
|
-
duration: 0,
|
|
3527
|
-
options: {
|
|
3528
|
-
buttonWarningNotificationOptions: {
|
|
3529
|
-
buttonText: "Cancel changes",
|
|
3530
|
-
actionsForClick: [bcCancelPendingChanges(null), clearValidationFails(null)]
|
|
3531
|
-
}
|
|
3532
|
-
}
|
|
3533
|
-
});
|
|
3534
|
-
}
|
|
3535
|
-
}
|
|
3536
|
-
}
|
|
3537
|
-
return next(action);
|
|
3538
|
-
}; };
|
|
3539
|
-
};
|
|
3540
|
-
function operationRequiresAutosave(operationType, actions2) {
|
|
3541
|
-
var result = false;
|
|
3542
|
-
if (!actions2) {
|
|
3543
|
-
console.error('rowMeta is missing in the middle of "sendOperation" action');
|
|
3544
|
-
return result;
|
|
3545
|
-
}
|
|
3546
|
-
result = flattenOperations(actions2).some(function (action) { return action.type === operationType && action.autoSaveBefore; });
|
|
3547
|
-
return result;
|
|
3548
|
-
}
|
|
3549
|
-
function getRequiredFieldsMissing(record, pendingChanges, fieldsMeta) {
|
|
3550
|
-
var result = {};
|
|
3551
|
-
fieldsMeta.forEach(function (field) {
|
|
3552
|
-
var value = record === null || record === void 0 ? void 0 : record[field.key];
|
|
3553
|
-
var pendingValue = pendingChanges === null || pendingChanges === void 0 ? void 0 : pendingChanges[field.key];
|
|
3554
|
-
var effectiveValue = pendingValue !== void 0 ? pendingValue : value;
|
|
3555
|
-
var falsyValue = false;
|
|
3556
|
-
if (effectiveValue === null || effectiveValue === void 0 || effectiveValue === "") {
|
|
3557
|
-
falsyValue = true;
|
|
3558
|
-
}
|
|
3559
|
-
else if (Array.isArray(effectiveValue) && !effectiveValue.length) {
|
|
3560
|
-
falsyValue = true;
|
|
3561
|
-
}
|
|
3562
|
-
else if (effectiveValue && typeof effectiveValue === "object" && !Object.keys(effectiveValue).length) {
|
|
3563
|
-
falsyValue = true;
|
|
3564
|
-
}
|
|
3565
|
-
if (field.required && falsyValue) {
|
|
3566
|
-
result[field.key] = Array.isArray(effectiveValue) ? [] : null;
|
|
3567
|
-
}
|
|
3568
|
-
});
|
|
3569
|
-
return Object.keys(result).length > 0 ? result : null;
|
|
3570
|
-
}
|
|
3571
|
-
function hasPendingValidationFails(store, bcName) {
|
|
3572
|
-
var _a;
|
|
3573
|
-
if (store.view.pendingValidationFailsFormat !== "target" /* target */ && store.view.pendingValidationFails && Object.keys(store.view.pendingValidationFails).length) {
|
|
3574
|
-
return true;
|
|
3575
|
-
}
|
|
3576
|
-
var checkResult = false;
|
|
3577
|
-
var bcPendingValidations = (_a = store.view.pendingValidationFails) === null || _a === void 0 ? void 0 : _a[bcName];
|
|
3578
|
-
var cursorsList = bcPendingValidations && Object.keys(bcPendingValidations);
|
|
3579
|
-
if (!cursorsList) {
|
|
3580
|
-
return false;
|
|
3581
|
-
}
|
|
3582
|
-
var i = 0;
|
|
3583
|
-
for (; i < cursorsList.length; i++) {
|
|
3584
|
-
if (Object.keys(bcPendingValidations[cursorsList[i]]).length) {
|
|
3585
|
-
checkResult = true;
|
|
3586
|
-
break;
|
|
3587
|
-
}
|
|
3588
|
-
}
|
|
3589
|
-
return checkResult;
|
|
3590
|
-
}
|
|
3591
|
-
// src/middlewares/preInvokeMiddleware.ts
|
|
3592
|
-
var preInvokeAction = function (_a) {
|
|
3593
|
-
var getState = _a.getState;
|
|
3594
|
-
return function (next) { return function (action) {
|
|
3595
|
-
var _a, _b, _c;
|
|
3596
|
-
if (sendOperation.match(action)) {
|
|
3597
|
-
var state = getState();
|
|
3598
|
-
var _d = action.payload, operationType_1 = _d.operationType, widgetName_2 = _d.widgetName, confirm = _d.confirm;
|
|
3599
|
-
var bcName = (_a = state.view.widgets.find(function (widgetItem) { return widgetItem.name === widgetName_2; })) === null || _a === void 0 ? void 0 : _a.bcName;
|
|
3600
|
-
var bcUrl = buildBcUrl(bcName, true, state);
|
|
3601
|
-
var rowMeta = bcUrl && ((_b = state.view.rowMeta[bcName]) === null || _b === void 0 ? void 0 : _b[bcUrl]);
|
|
3602
|
-
var actions2 = rowMeta && flattenOperations(rowMeta.actions);
|
|
3603
|
-
var preInvoke = (_c = actions2 === null || actions2 === void 0 ? void 0 : actions2.find(function (item) { return item.type === operationType_1; })) === null || _c === void 0 ? void 0 : _c.preInvoke;
|
|
3604
|
-
return preInvoke && !confirm ? next(processPreInvoke({
|
|
3605
|
-
bcName: bcName,
|
|
3606
|
-
operationType: operationType_1,
|
|
3607
|
-
widgetName: widgetName_2,
|
|
3608
|
-
preInvoke: preInvoke
|
|
3609
|
-
})) : next(action);
|
|
3610
|
-
}
|
|
3611
|
-
return next(action);
|
|
3612
|
-
}; };
|
|
3613
|
-
};
|
|
3614
|
-
// src/middlewares/popupMiddleware.ts
|
|
3615
|
-
var popupMiddleware = function (_a) {
|
|
3616
|
-
var getState = _a.getState;
|
|
3617
|
-
return function (next) { return function (action) {
|
|
3618
|
-
var _a, _b, _c;
|
|
3619
|
-
if (showViewPopup.match(action)) {
|
|
3620
|
-
var state = getState();
|
|
3621
|
-
var bcName_1 = action.payload.bcName;
|
|
3622
|
-
var widgetValueKey = (_b = (_a = state.view.widgets.find(function (item) { return item.bcName === bcName_1; })) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.displayedValueKey;
|
|
3623
|
-
var assocValueKey = (_c = action.payload.assocValueKey) !== null && _c !== void 0 ? _c : widgetValueKey;
|
|
3624
|
-
return widgetValueKey ? next(showViewPopup(__assign(__assign({}, action.payload), { assocValueKey: assocValueKey }))) : next(action);
|
|
3625
|
-
}
|
|
3626
|
-
return next(action);
|
|
3627
|
-
}; };
|
|
3628
|
-
};
|
|
3629
|
-
// src/middlewares/index.ts
|
|
3630
|
-
var middlewares = {
|
|
3631
|
-
autosave: saveFormMiddleware,
|
|
3632
|
-
requiredFields: requiredFields,
|
|
3633
|
-
preInvoke: preInvokeAction,
|
|
3634
|
-
popup: popupMiddleware
|
|
3635
|
-
};
|
|
3636
|
-
export { Api, actions_exports as actions, epics_exports as epics, interfaces_exports as interfaces, middlewares, reducers_exports as reducers, utils_exports as utils };
|
|
3637
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
|
|
3638
|
-
//# sourceMappingURL=cxbox-ui-core.esm.js.map
|