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