@reltio/components 1.4.1578 → 1.4.1580
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/cjs/components/AttributeListItem/AttributeListItem.d.ts +3 -1
- package/cjs/components/AttributeListItem/AttributeListItem.js +3 -3
- package/cjs/hooks/useAPI/API.d.ts +1 -1
- package/cjs/hooks/useAPI/API.js +101 -121
- package/cjs/hooks/useAPI/helpers.d.ts +8 -27
- package/cjs/hooks/useAPI/helpers.js +49 -89
- package/cjs/hooks/useAPI/types.d.ts +3 -6
- package/cjs/hooks/useAPI/useAPI.js +29 -53
- package/cjs/hooks/useCustomScripts.js +26 -61
- package/esm/components/AttributeListItem/AttributeListItem.d.ts +3 -1
- package/esm/components/AttributeListItem/AttributeListItem.js +3 -3
- package/esm/hooks/useAPI/API.d.ts +1 -1
- package/esm/hooks/useAPI/API.js +101 -121
- package/esm/hooks/useAPI/helpers.d.ts +8 -27
- package/esm/hooks/useAPI/helpers.js +42 -84
- package/esm/hooks/useAPI/types.d.ts +3 -6
- package/esm/hooks/useAPI/useAPI.js +32 -56
- package/esm/hooks/useCustomScripts.js +29 -64
- package/package.json +3 -3
|
@@ -33,6 +33,8 @@ type Props = {
|
|
|
33
33
|
style?: ListItemProps['style'];
|
|
34
34
|
LogoIcon?: React.ElementType;
|
|
35
35
|
className?: string;
|
|
36
|
+
disableNonSelectable?: boolean;
|
|
37
|
+
disableGutters?: boolean;
|
|
36
38
|
};
|
|
37
|
-
declare const _default: React.MemoExoticComponent<({ groupId, data, checked, isFocused, isRequired, label, labelInText, level, onClick, hideCheckBox, hideIcon, notSelectable, disableHorizontalScrollbar, style, subItemMargin, LogoIcon, className }: Props) => JSX.Element>;
|
|
39
|
+
declare const _default: React.MemoExoticComponent<({ groupId, data, checked, isFocused, isRequired, label, labelInText, level, onClick, hideCheckBox, hideIcon, notSelectable, disableHorizontalScrollbar, style, subItemMargin, LogoIcon, className, disableNonSelectable, disableGutters }: Props) => JSX.Element>;
|
|
38
40
|
export default _default;
|
|
@@ -45,7 +45,7 @@ var styles_1 = require("./styles");
|
|
|
45
45
|
exports.RecommendedIconWithTooltip = (0, withTooltip_1.default)(Recommended_1.default);
|
|
46
46
|
var AttributeListItem = function (_a) {
|
|
47
47
|
var _b, _c, _d;
|
|
48
|
-
var groupId = _a.groupId, data = _a.data, _e = _a.checked, checked = _e === void 0 ? false : _e, _f = _a.isFocused, isFocused = _f === void 0 ? false : _f, _g = _a.isRequired, isRequired = _g === void 0 ? false : _g, label = _a.label, labelInText = _a.labelInText, level = _a.level, _h = _a.onClick, onClick = _h === void 0 ? core_1.noop : _h, _j = _a.hideCheckBox, hideCheckBox = _j === void 0 ? false : _j, _k = _a.hideIcon, hideIcon = _k === void 0 ? false : _k, _l = _a.notSelectable, notSelectable = _l === void 0 ? false : _l, _m = _a.disableHorizontalScrollbar, disableHorizontalScrollbar = _m === void 0 ? false : _m, _o = _a.style, style = _o === void 0 ? {} : _o, _p = _a.subItemMargin, subItemMargin = _p === void 0 ? 20 : _p, LogoIcon = _a.LogoIcon, className = _a.className;
|
|
48
|
+
var groupId = _a.groupId, data = _a.data, _e = _a.checked, checked = _e === void 0 ? false : _e, _f = _a.isFocused, isFocused = _f === void 0 ? false : _f, _g = _a.isRequired, isRequired = _g === void 0 ? false : _g, label = _a.label, labelInText = _a.labelInText, level = _a.level, _h = _a.onClick, onClick = _h === void 0 ? core_1.noop : _h, _j = _a.hideCheckBox, hideCheckBox = _j === void 0 ? false : _j, _k = _a.hideIcon, hideIcon = _k === void 0 ? false : _k, _l = _a.notSelectable, notSelectable = _l === void 0 ? false : _l, _m = _a.disableHorizontalScrollbar, disableHorizontalScrollbar = _m === void 0 ? false : _m, _o = _a.style, style = _o === void 0 ? {} : _o, _p = _a.subItemMargin, subItemMargin = _p === void 0 ? 20 : _p, LogoIcon = _a.LogoIcon, className = _a.className, disableNonSelectable = _a.disableNonSelectable, disableGutters = _a.disableGutters;
|
|
49
49
|
var styles = (0, styles_1.useStyles)();
|
|
50
50
|
var attrType = (data || {}).attrType;
|
|
51
51
|
var isButton = (!hideCheckBox || !(0, mdm_sdk_1.isNested)(attrType)) && !notSelectable;
|
|
@@ -56,10 +56,10 @@ var AttributeListItem = function (_a) {
|
|
|
56
56
|
};
|
|
57
57
|
// TODO: ListItem needs to be split to ListItem and ListItemButton after material ui releases stable version(https://github.com/mui-org/material-ui/pull/26446). The "button" prop will be deprecated.
|
|
58
58
|
return (react_1.default.createElement(ExpandedValueTooltip_1.default, { value: labelInText || label, className: styles.itemTooltip, placement: "bottom-end" },
|
|
59
|
-
react_1.default.createElement(ListItem_1.default, { className: (0, classnames_1.default)(styles.container, styles.listItem, (_b = {}, _b[styles.defaultCursor] = !isButton, _b), className), onClick: isButton ? handleItemClick : undefined, style: style, dense: true, button: isButton, classes: {
|
|
59
|
+
react_1.default.createElement(ListItem_1.default, { className: (0, classnames_1.default)(styles.container, styles.listItem, (_b = {}, _b[styles.defaultCursor] = !isButton, _b), className), onClick: isButton ? handleItemClick : undefined, style: style, dense: true, button: isButton, disabled: disableNonSelectable && notSelectable, classes: {
|
|
60
60
|
focusVisible: styles.listItemFocus,
|
|
61
61
|
selected: styles.listItemFocus
|
|
62
|
-
}, selected: isFocused, tabIndex: -1 },
|
|
62
|
+
}, selected: isFocused, tabIndex: -1, disableGutters: disableGutters },
|
|
63
63
|
!hideCheckBox && (react_1.default.createElement(Checkbox_1.default, { checked: checked, disableRipple: true, disabled: !isButton, className: (0, classnames_1.default)(styles.checkbox, (_c = {}, _c[styles.checked] = checked, _c)), tabIndex: -1 })),
|
|
64
64
|
react_1.default.createElement(Marginator_1.default, { margin: subItemMargin, level: level, className: styles.marginWrapper },
|
|
65
65
|
react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProcessRequestParams } from './types';
|
|
2
|
-
export declare const processRequest: ({
|
|
2
|
+
export declare const processRequest: ({ params, permissions, worker, metadata, config, apiPath, servicesPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
|
package/cjs/hooks/useAPI/API.js
CHANGED
|
@@ -49,95 +49,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
exports.processRequest = void 0;
|
|
51
51
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
52
|
-
var
|
|
53
|
-
var processFromQuery = function (params, permissions, workflowPath, tenant, environment) {
|
|
54
|
-
if (!params.processDefinitionId) {
|
|
55
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
56
|
-
}
|
|
57
|
-
if (!params.searchString) {
|
|
58
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'searchString is empty' }); });
|
|
59
|
-
}
|
|
60
|
-
if (!workflowPath) {
|
|
61
|
-
return new Promise(function (resolve) { return resolve({ errorMessage: 'Workflow path is not defined' }); });
|
|
62
|
-
}
|
|
63
|
-
var errors = validateParams(__assign({ validationUrl: '/processInstances/_generateFromQuery' }, params), permissions);
|
|
64
|
-
if (errors) {
|
|
65
|
-
return new Promise(function (resolve) { return resolve(errors); });
|
|
66
|
-
}
|
|
67
|
-
return (0, mdm_sdk_1.startProcessFromQuery)({
|
|
68
|
-
workflowPath: workflowPath,
|
|
69
|
-
processType: params.processDefinitionId,
|
|
70
|
-
searchString: params.searchString,
|
|
71
|
-
tenant: tenant,
|
|
72
|
-
environment: environment
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
var getHeaders = function (params, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
76
|
-
var accessToken;
|
|
77
|
-
return __generator(this, function (_a) {
|
|
78
|
-
switch (_a.label) {
|
|
79
|
-
case 0: return [4 /*yield*/, (signHandler === null || signHandler === void 0 ? void 0 : signHandler())];
|
|
80
|
-
case 1:
|
|
81
|
-
accessToken = (_a.sent()).accessToken;
|
|
82
|
-
return [2 /*return*/, accessToken
|
|
83
|
-
? __assign(__assign({}, params.headers), { Authorization: "Bearer ".concat(accessToken) }) : params.headers];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}); };
|
|
87
|
-
var workflowRequest = function (params, permissions, workflowPath, tenant, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
88
|
-
var url, errors, isExternalUrl, headers;
|
|
89
|
-
return __generator(this, function (_a) {
|
|
90
|
-
switch (_a.label) {
|
|
91
|
-
case 0:
|
|
92
|
-
url = params.url;
|
|
93
|
-
errors = validateParams(params, permissions);
|
|
94
|
-
if (errors) {
|
|
95
|
-
return [2 /*return*/, errors];
|
|
96
|
-
}
|
|
97
|
-
isExternalUrl = url.includes('http:') || url.includes('https:');
|
|
98
|
-
if (!workflowPath && !isExternalUrl) {
|
|
99
|
-
return [2 /*return*/, { errorMessage: 'Workflow path is not defined' }];
|
|
100
|
-
}
|
|
101
|
-
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
102
|
-
case 1:
|
|
103
|
-
headers = _a.sent();
|
|
104
|
-
return [4 /*yield*/, (0, mdm_sdk_1.sendWorkflowRequest)({
|
|
105
|
-
url: url,
|
|
106
|
-
method: params.method || 'GET',
|
|
107
|
-
data: params.data,
|
|
108
|
-
tenant: tenant,
|
|
109
|
-
headers: headers,
|
|
110
|
-
workflowPath: workflowPath
|
|
111
|
-
})];
|
|
112
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}); };
|
|
116
|
-
var sendApiRequest = function (params, permissions, signHandler) { return __awaiter(void 0, void 0, void 0, function () {
|
|
117
|
-
var errors, headers;
|
|
118
|
-
return __generator(this, function (_a) {
|
|
119
|
-
switch (_a.label) {
|
|
120
|
-
case 0:
|
|
121
|
-
errors = validateParams(params, permissions);
|
|
122
|
-
if (errors) {
|
|
123
|
-
return [2 /*return*/, Promise.reject(errors)];
|
|
124
|
-
}
|
|
125
|
-
return [4 /*yield*/, getHeaders(params, signHandler)];
|
|
126
|
-
case 1:
|
|
127
|
-
headers = _a.sent();
|
|
128
|
-
return [4 /*yield*/, (0, mdm_sdk_1.sendRequestFromCustomSandbox)({
|
|
129
|
-
url: params.url,
|
|
130
|
-
method: params.method,
|
|
131
|
-
data: params.data,
|
|
132
|
-
headers: headers,
|
|
133
|
-
noRequestProcessor: true
|
|
134
|
-
})];
|
|
135
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}); };
|
|
139
|
-
var validateParams = function (params, permissions) {
|
|
140
|
-
var validationUrl = params.validationUrl;
|
|
52
|
+
var validateParams = function (validationUrl, permissions) {
|
|
141
53
|
if (!validationUrl)
|
|
142
54
|
return { errorMessage: 'URL is empty' };
|
|
143
55
|
var allowed = permissions === null || permissions === void 0 ? void 0 : permissions.some(function (permission) {
|
|
@@ -155,48 +67,116 @@ var validateParams = function (params, permissions) {
|
|
|
155
67
|
}
|
|
156
68
|
return false;
|
|
157
69
|
};
|
|
70
|
+
var getAuthHeaders = function (headers, servicesPath) { return __awaiter(void 0, void 0, void 0, function () {
|
|
71
|
+
var accessToken;
|
|
72
|
+
return __generator(this, function (_a) {
|
|
73
|
+
switch (_a.label) {
|
|
74
|
+
case 0: return [4 /*yield*/, (0, mdm_sdk_1.getAccessToken)({ servicesPath: servicesPath })];
|
|
75
|
+
case 1:
|
|
76
|
+
accessToken = (_a.sent()).accessToken;
|
|
77
|
+
return [2 /*return*/, accessToken ? __assign(__assign({}, headers), { Authorization: "Bearer ".concat(accessToken) }) : headers];
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}); };
|
|
158
81
|
var processRequest = function (_a) {
|
|
159
|
-
var
|
|
82
|
+
var params = _a.params, permissions = _a.permissions, worker = _a.worker, metadata = _a.metadata, config = _a.config, apiPath = _a.apiPath, servicesPath = _a.servicesPath, user = _a.user, workflowPath = _a.workflowPath, entity = _a.entity, tenant = _a.tenant, entityUri = _a.entityUri, query = _a.query, openSearch = _a.openSearch, environment = _a.environment, getCurrentPerspectiveId = _a.getCurrentPerspectiveId, showPerspective = _a.showPerspective, workflowCheckPermission = _a.workflowCheckPermission, setEntityUri = _a.setEntityUri;
|
|
83
|
+
var name = params.name, url = params.url, data = params.data, method = params.method, validationUrl = params.validationUrl;
|
|
84
|
+
var processFromQuery = function () {
|
|
85
|
+
if (!params.processDefinitionId) {
|
|
86
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'processDefinitionId is empty' }); });
|
|
87
|
+
}
|
|
88
|
+
if (!params.searchString) {
|
|
89
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'searchString is empty' }); });
|
|
90
|
+
}
|
|
91
|
+
if (!workflowPath) {
|
|
92
|
+
return new Promise(function (resolve) { return resolve({ errorMessage: 'Workflow path is not defined' }); });
|
|
93
|
+
}
|
|
94
|
+
var errors = validateParams('/processInstances/_generateFromQuery', permissions);
|
|
95
|
+
if (errors) {
|
|
96
|
+
return new Promise(function (resolve) { return resolve(errors); });
|
|
97
|
+
}
|
|
98
|
+
return (0, mdm_sdk_1.startProcessFromQuery)({
|
|
99
|
+
workflowPath: workflowPath,
|
|
100
|
+
processType: params.processDefinitionId,
|
|
101
|
+
searchString: params.searchString,
|
|
102
|
+
tenant: tenant,
|
|
103
|
+
environment: environment
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
var workflowRequest = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
107
|
+
var errors, isExternalUrl, headers;
|
|
108
|
+
return __generator(this, function (_a) {
|
|
109
|
+
switch (_a.label) {
|
|
110
|
+
case 0:
|
|
111
|
+
errors = validateParams(validationUrl, permissions);
|
|
112
|
+
if (errors) {
|
|
113
|
+
return [2 /*return*/, errors];
|
|
114
|
+
}
|
|
115
|
+
isExternalUrl = url.includes('http:') || url.includes('https:');
|
|
116
|
+
if (!workflowPath && !isExternalUrl) {
|
|
117
|
+
return [2 /*return*/, { errorMessage: 'Workflow path is not defined' }];
|
|
118
|
+
}
|
|
119
|
+
return [4 /*yield*/, getAuthHeaders(params.headers, servicesPath)];
|
|
120
|
+
case 1:
|
|
121
|
+
headers = _a.sent();
|
|
122
|
+
return [4 /*yield*/, (0, mdm_sdk_1.sendWorkflowRequest)({ url: url, method: method, data: data, tenant: tenant, headers: headers, workflowPath: workflowPath })];
|
|
123
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}); };
|
|
127
|
+
var sendApiRequest = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
128
|
+
var errors, headers;
|
|
129
|
+
return __generator(this, function (_a) {
|
|
130
|
+
switch (_a.label) {
|
|
131
|
+
case 0:
|
|
132
|
+
errors = validateParams(validationUrl, permissions);
|
|
133
|
+
if (errors) {
|
|
134
|
+
return [2 /*return*/, Promise.reject(errors)];
|
|
135
|
+
}
|
|
136
|
+
return [4 /*yield*/, getAuthHeaders(params.headers, servicesPath)];
|
|
137
|
+
case 1:
|
|
138
|
+
headers = _a.sent();
|
|
139
|
+
return [4 /*yield*/, (0, mdm_sdk_1.sendRequestFromCustomSandbox)({ url: url, method: method, data: data, headers: headers, noRequestProcessor: true })];
|
|
140
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}); };
|
|
160
144
|
var handleRequest = function (request) {
|
|
161
145
|
request
|
|
162
146
|
.then(function (response) { return (response.json ? response.json() : response); })
|
|
163
147
|
.then(function (data) {
|
|
164
148
|
worker.postMessage(__assign({ action: 'response', result: {
|
|
165
149
|
data: JSON.parse(JSON.stringify(data)),
|
|
166
|
-
headers:
|
|
150
|
+
headers: params.headers,
|
|
167
151
|
status: 200
|
|
168
|
-
} },
|
|
152
|
+
} }, params));
|
|
169
153
|
})
|
|
170
154
|
.catch(function (error) {
|
|
171
155
|
worker.postMessage(__assign({ action: 'response', result: {
|
|
172
156
|
data: JSON.parse(JSON.stringify(error)),
|
|
173
|
-
headers:
|
|
157
|
+
headers: params.headers,
|
|
174
158
|
status: 0
|
|
175
|
-
} },
|
|
159
|
+
} }, params));
|
|
176
160
|
});
|
|
177
161
|
};
|
|
178
|
-
var shouldSignRequest = (0, helpers_1.isNewUI)(servicesPath);
|
|
179
|
-
var signHandler = shouldSignRequest
|
|
180
|
-
? function () { return (0, mdm_sdk_1.getAccessToken)({ servicesPath: servicesPath }); }
|
|
181
|
-
: function () { return Promise.resolve({ accessToken: '' }); };
|
|
182
162
|
switch (name) {
|
|
183
163
|
case mdm_sdk_1.RequestAction.API: {
|
|
184
|
-
var request = sendApiRequest(
|
|
164
|
+
var request = sendApiRequest();
|
|
185
165
|
handleRequest(request);
|
|
186
166
|
break;
|
|
187
167
|
}
|
|
188
168
|
case mdm_sdk_1.RequestAction.WORKFLOW: {
|
|
189
|
-
var request = workflowRequest(
|
|
169
|
+
var request = workflowRequest();
|
|
190
170
|
handleRequest(request);
|
|
191
171
|
break;
|
|
192
172
|
}
|
|
193
173
|
case mdm_sdk_1.RequestAction.WORKFLOW_START_PROCESS_FROM_QUERY: {
|
|
194
|
-
var request = processFromQuery(
|
|
174
|
+
var request = processFromQuery();
|
|
195
175
|
handleRequest(request);
|
|
196
176
|
break;
|
|
197
177
|
}
|
|
198
178
|
case mdm_sdk_1.RequestAction.GET_CONFIGURATION: {
|
|
199
|
-
worker.postMessage(__assign({ action: 'response', result: metadata },
|
|
179
|
+
worker.postMessage(__assign({ action: 'response', result: metadata }, params));
|
|
200
180
|
break;
|
|
201
181
|
}
|
|
202
182
|
case mdm_sdk_1.RequestAction.GET_UI_CONFIGURATION: {
|
|
@@ -204,77 +184,77 @@ var processRequest = function (_a) {
|
|
|
204
184
|
if (response.action.permissions) {
|
|
205
185
|
delete response.action.permissions;
|
|
206
186
|
}
|
|
207
|
-
worker.postMessage(__assign({ action: 'response', result: response },
|
|
187
|
+
worker.postMessage(__assign({ action: 'response', result: response }, params));
|
|
208
188
|
break;
|
|
209
189
|
}
|
|
210
190
|
case mdm_sdk_1.RequestAction.SET_ENTITY_URI: {
|
|
211
191
|
var listener = function (newEntity) {
|
|
212
|
-
return worker.postMessage(__assign({ action: 'response', result: newEntity },
|
|
192
|
+
return worker.postMessage(__assign({ action: 'response', result: newEntity }, params));
|
|
213
193
|
};
|
|
214
|
-
setEntityUri(
|
|
194
|
+
setEntityUri(params.entityUri, listener);
|
|
215
195
|
break;
|
|
216
196
|
}
|
|
217
197
|
case mdm_sdk_1.RequestAction.SET_PERSPECTIVE: {
|
|
218
|
-
showPerspective(
|
|
219
|
-
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() },
|
|
198
|
+
showPerspective(params.perspective);
|
|
199
|
+
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() }, params));
|
|
220
200
|
break;
|
|
221
201
|
}
|
|
222
202
|
case mdm_sdk_1.RequestAction.GET_PERSPECTIVE: {
|
|
223
203
|
if (getCurrentPerspectiveId) {
|
|
224
|
-
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() },
|
|
204
|
+
worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() }, params));
|
|
225
205
|
}
|
|
226
206
|
break;
|
|
227
207
|
}
|
|
228
208
|
case mdm_sdk_1.RequestAction.WORKFLOW_CHECK_PERMISSION: {
|
|
229
|
-
worker.postMessage(__assign({ action: 'response', result: workflowCheckPermission(
|
|
209
|
+
worker.postMessage(__assign({ action: 'response', result: workflowCheckPermission(params.permission) }, params));
|
|
230
210
|
break;
|
|
231
211
|
}
|
|
232
212
|
case mdm_sdk_1.RequestAction.GET_SEARCH_QUERY: {
|
|
233
|
-
worker.postMessage(__assign({ action: 'response', result: query },
|
|
213
|
+
worker.postMessage(__assign({ action: 'response', result: query }, params));
|
|
234
214
|
break;
|
|
235
215
|
}
|
|
236
216
|
case mdm_sdk_1.RequestAction.OPEN_SEARCH: {
|
|
237
|
-
openSearch({ viewId: config.id, searchState:
|
|
217
|
+
openSearch({ viewId: config.id, searchState: params.searchState || {} });
|
|
238
218
|
break;
|
|
239
219
|
}
|
|
240
220
|
case mdm_sdk_1.RequestAction.GET_ENTITY_URI: {
|
|
241
|
-
worker.postMessage(__assign({ action: 'response', result: entityUri },
|
|
221
|
+
worker.postMessage(__assign({ action: 'response', result: entityUri }, params));
|
|
242
222
|
break;
|
|
243
223
|
}
|
|
244
224
|
case mdm_sdk_1.RequestAction.GET_ENTITY: {
|
|
245
|
-
worker.postMessage(__assign({ action: 'response', result: entity },
|
|
225
|
+
worker.postMessage(__assign({ action: 'response', result: entity }, params));
|
|
246
226
|
break;
|
|
247
227
|
}
|
|
248
228
|
case mdm_sdk_1.RequestAction.GET_API_PATH: {
|
|
249
|
-
worker.postMessage(__assign({ action: 'response', result: apiPath },
|
|
229
|
+
worker.postMessage(__assign({ action: 'response', result: apiPath }, params));
|
|
250
230
|
break;
|
|
251
231
|
}
|
|
252
232
|
case mdm_sdk_1.RequestAction.WORKFLOW_GET_WORKFLOW_PATH: {
|
|
253
|
-
worker.postMessage(__assign({ action: 'response', result: workflowPath },
|
|
233
|
+
worker.postMessage(__assign({ action: 'response', result: workflowPath }, params));
|
|
254
234
|
break;
|
|
255
235
|
}
|
|
256
236
|
case mdm_sdk_1.RequestAction.GET_TENANT: {
|
|
257
|
-
worker.postMessage(__assign({ action: 'response', result: tenant },
|
|
237
|
+
worker.postMessage(__assign({ action: 'response', result: tenant }, params));
|
|
258
238
|
break;
|
|
259
239
|
}
|
|
260
240
|
case mdm_sdk_1.RequestAction.GET_USER: {
|
|
261
|
-
worker.postMessage(__assign({ action: 'response', result: user },
|
|
241
|
+
worker.postMessage(__assign({ action: 'response', result: user }, params));
|
|
262
242
|
break;
|
|
263
243
|
}
|
|
264
244
|
case mdm_sdk_1.RequestAction.ALERT: {
|
|
265
|
-
worker.postMessage(__assign({ action: 'response', result: window.alert(
|
|
245
|
+
worker.postMessage(__assign({ action: 'response', result: window.alert(params.text) }, params));
|
|
266
246
|
break;
|
|
267
247
|
}
|
|
268
248
|
case mdm_sdk_1.RequestAction.CONFIRM: {
|
|
269
|
-
worker.postMessage(__assign({ action: 'response', result: window.confirm(
|
|
249
|
+
worker.postMessage(__assign({ action: 'response', result: window.confirm(params.text) }, params));
|
|
270
250
|
break;
|
|
271
251
|
}
|
|
272
252
|
case mdm_sdk_1.RequestAction.PROMPT: {
|
|
273
|
-
worker.postMessage(__assign({ action: 'response', result: window.prompt(
|
|
253
|
+
worker.postMessage(__assign({ action: 'response', result: window.prompt(params.text, params.defaultText || '') }, params));
|
|
274
254
|
break;
|
|
275
255
|
}
|
|
276
256
|
case mdm_sdk_1.RequestAction.OPEN_WINDOW: {
|
|
277
|
-
window.open(
|
|
257
|
+
window.open(params.url, '_blank');
|
|
278
258
|
break;
|
|
279
259
|
}
|
|
280
260
|
case mdm_sdk_1.RequestAction.RELOAD_PAGE: {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { CustomActionTask, CustomActionTaskParams, CustomScript, RequestHandler, ResponseHandler } from '@reltio/mdm-sdk';
|
|
2
|
+
export declare const isValidCustomScript: (config?: CustomScript) => boolean;
|
|
3
|
+
export declare const isURLtoProcess: (url: string, processApi?: string[]) => boolean;
|
|
2
4
|
export declare const getWorkerURL: (uiPath: string, tenant: string) => string;
|
|
5
|
+
export declare const getRequestFakeUrl: (url: string, apiPath: string, reltioPath: string, tenant: string) => string;
|
|
6
|
+
export declare const getResponseFakeUrl: (url: string, apiPath: string, reltioPath: string) => string;
|
|
7
|
+
export declare const getProcessedTask: (task: CustomActionTask, apiPath: string, reltioPath: string, tenant: string) => CustomActionTask;
|
|
3
8
|
export declare const getFilesWithArrayBuffer: (files: FileList) => Promise<unknown[]>;
|
|
4
9
|
type ResetHTMLParams = {
|
|
5
10
|
worker: Worker;
|
|
@@ -10,18 +15,6 @@ type ResetHTMLParams = {
|
|
|
10
15
|
setHtml: any;
|
|
11
16
|
};
|
|
12
17
|
export declare const resetHtml: ({ worker, setTooltip, innerText, html, setListenersToReset, setHtml }: ResetHTMLParams) => void;
|
|
13
|
-
export declare const setUpQooxdooRequestInterceptor: ({ workerRef, setRequestListeners }: {
|
|
14
|
-
workerRef: any;
|
|
15
|
-
setRequestListeners: any;
|
|
16
|
-
}) => {
|
|
17
|
-
processApiRequest: (url: any, method: any, headers: any, data: any, next: any) => void;
|
|
18
|
-
};
|
|
19
|
-
export declare const setUpQooxdooResponseInterceptor: ({ workerRef, setResponseListeners }: {
|
|
20
|
-
workerRef: any;
|
|
21
|
-
setResponseListeners: any;
|
|
22
|
-
}) => {
|
|
23
|
-
processApiResponse: (url: any, method: any, data: any, next: any) => void;
|
|
24
|
-
};
|
|
25
18
|
export declare const setUpRequestInterceptor: ({ apiPath, reltioPath, tenant, processApiRequest, workerRef, setRequestListeners }: {
|
|
26
19
|
apiPath: any;
|
|
27
20
|
reltioPath: any;
|
|
@@ -29,24 +22,12 @@ export declare const setUpRequestInterceptor: ({ apiPath, reltioPath, tenant, pr
|
|
|
29
22
|
processApiRequest: any;
|
|
30
23
|
workerRef: any;
|
|
31
24
|
setRequestListeners: any;
|
|
32
|
-
}) =>
|
|
33
|
-
next: (url: string, options: RequestInit) => void;
|
|
34
|
-
abort?: (error: Error) => void;
|
|
35
|
-
resolve: (data: unknown) => void;
|
|
36
|
-
url: string;
|
|
37
|
-
options: RequestInit;
|
|
38
|
-
}) => void;
|
|
25
|
+
}) => RequestHandler<RequestInit & CustomActionTaskParams>;
|
|
39
26
|
export declare const setUpResponseInterceptor: ({ reltioPath, apiPath, processApiResponse, workerRef, setResponseListeners }: {
|
|
40
27
|
reltioPath: any;
|
|
41
28
|
apiPath: any;
|
|
42
29
|
processApiResponse: any;
|
|
43
30
|
workerRef: any;
|
|
44
31
|
setResponseListeners: any;
|
|
45
|
-
}) =>
|
|
46
|
-
url: any;
|
|
47
|
-
response: any;
|
|
48
|
-
next: any;
|
|
49
|
-
options: any;
|
|
50
|
-
abort: any;
|
|
51
|
-
}) => void;
|
|
32
|
+
}) => ResponseHandler<RequestInit & CustomActionTaskParams>;
|
|
52
33
|
export {};
|
|
@@ -11,21 +11,45 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.setUpResponseInterceptor = exports.setUpRequestInterceptor = exports.
|
|
14
|
+
exports.setUpResponseInterceptor = exports.setUpRequestInterceptor = exports.resetHtml = exports.getFilesWithArrayBuffer = exports.getProcessedTask = exports.getResponseFakeUrl = exports.getRequestFakeUrl = exports.getWorkerURL = exports.isURLtoProcess = exports.isValidCustomScript = void 0;
|
|
15
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
15
16
|
var nanoid_1 = require("nanoid");
|
|
16
|
-
var
|
|
17
|
-
|
|
17
|
+
var isValidCustomScript = function (config) {
|
|
18
|
+
var _a = config || {}, files = _a.files, platform = _a.platform;
|
|
19
|
+
return !(0, mdm_sdk_1.isEmptyValue)(files) && platform !== mdm_sdk_1.CustomScriptPlatform.CLASSIC;
|
|
18
20
|
};
|
|
19
|
-
exports.
|
|
21
|
+
exports.isValidCustomScript = isValidCustomScript;
|
|
22
|
+
var isURLtoProcess = function (url, processApi) {
|
|
23
|
+
if (processApi === void 0) { processApi = []; }
|
|
24
|
+
return processApi.some(function (request) {
|
|
25
|
+
var regExp = new RegExp("^".concat(request, "$"));
|
|
26
|
+
return request.replace(/\/*$/, '') === url || (request && regExp.test(url));
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
exports.isURLtoProcess = isURLtoProcess;
|
|
20
30
|
var getWorkerURL = function (uiPath, tenant) {
|
|
21
|
-
|
|
22
|
-
return "".concat(uiPath.replace("".concat(tenant, "/"), ''), "worker_api.js");
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return "".concat(uiPath, "worker_api.js");
|
|
26
|
-
}
|
|
31
|
+
return "".concat(uiPath.replace("".concat(tenant, "/"), ''), "worker_api.js");
|
|
27
32
|
};
|
|
28
33
|
exports.getWorkerURL = getWorkerURL;
|
|
34
|
+
var getRequestFakeUrl = function (url, apiPath, reltioPath, tenant) {
|
|
35
|
+
return url.startsWith(apiPath) ? "".concat(reltioPath).concat(url.replace(apiPath, '')) : "".concat(reltioPath, "/api/").concat(tenant).concat(url);
|
|
36
|
+
};
|
|
37
|
+
exports.getRequestFakeUrl = getRequestFakeUrl;
|
|
38
|
+
var getResponseFakeUrl = function (url, apiPath, reltioPath) {
|
|
39
|
+
return "".concat(reltioPath).concat(url.replace(apiPath, ''));
|
|
40
|
+
};
|
|
41
|
+
exports.getResponseFakeUrl = getResponseFakeUrl;
|
|
42
|
+
var getProcessedTask = function (task, apiPath, reltioPath, tenant) {
|
|
43
|
+
var _a = task.params, url = _a.url, name = _a.name;
|
|
44
|
+
if (!url) {
|
|
45
|
+
return task;
|
|
46
|
+
}
|
|
47
|
+
var isApiAction = name === mdm_sdk_1.RequestAction.API;
|
|
48
|
+
var isGlobalUrl = url.startsWith('/') && !url.startsWith(apiPath);
|
|
49
|
+
var newUrl = isGlobalUrl && isApiAction ? "".concat(apiPath, "/api/").concat(tenant).concat(url) : url.replace(reltioPath, apiPath);
|
|
50
|
+
return __assign(__assign({}, task), { params: __assign(__assign({}, task.params), { url: newUrl, validationUrl: url }) });
|
|
51
|
+
};
|
|
52
|
+
exports.getProcessedTask = getProcessedTask;
|
|
29
53
|
var getFilesWithArrayBuffer = function (files) {
|
|
30
54
|
var readFilePromises = Array.from(files).map(function (file) {
|
|
31
55
|
return new Promise(function (resolve, reject) {
|
|
@@ -95,56 +119,12 @@ var resetHtml = function (_a) {
|
|
|
95
119
|
setHtml(docBlock);
|
|
96
120
|
};
|
|
97
121
|
exports.resetHtml = resetHtml;
|
|
98
|
-
var isURLtoProcess = function (processApi, url) {
|
|
99
|
-
return (processApi || []).some(function (request) {
|
|
100
|
-
var regExp = new RegExp("^".concat(request, "$"));
|
|
101
|
-
return request.replace(/\/*$/, '') === url || (request && regExp.test(url));
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
var setUpQooxdooRequestInterceptor = function (_a) {
|
|
105
|
-
var workerRef = _a.workerRef, setRequestListeners = _a.setRequestListeners;
|
|
106
|
-
return ({
|
|
107
|
-
processApiRequest: function (url, method, headers, data, next) {
|
|
108
|
-
var requestId = (0, nanoid_1.nanoid)();
|
|
109
|
-
var options = { url: url, method: method, headers: headers, noRequestProcessor: true };
|
|
110
|
-
setRequestListeners(options, next, requestId);
|
|
111
|
-
workerRef.current.postMessage({
|
|
112
|
-
action: 'apiRequest',
|
|
113
|
-
id: requestId,
|
|
114
|
-
url: url,
|
|
115
|
-
method: method,
|
|
116
|
-
headers: headers,
|
|
117
|
-
data: data
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
exports.setUpQooxdooRequestInterceptor = setUpQooxdooRequestInterceptor;
|
|
123
|
-
var setUpQooxdooResponseInterceptor = function (_a) {
|
|
124
|
-
var workerRef = _a.workerRef, setResponseListeners = _a.setResponseListeners;
|
|
125
|
-
return ({
|
|
126
|
-
processApiResponse: function (url, method, data, next) {
|
|
127
|
-
var responseId = (0, nanoid_1.nanoid)();
|
|
128
|
-
setResponseListeners(next, responseId);
|
|
129
|
-
workerRef.current.postMessage({
|
|
130
|
-
action: 'apiResponse',
|
|
131
|
-
id: responseId,
|
|
132
|
-
url: url,
|
|
133
|
-
method: method,
|
|
134
|
-
data: data
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
};
|
|
139
|
-
exports.setUpQooxdooResponseInterceptor = setUpQooxdooResponseInterceptor;
|
|
140
122
|
var setUpRequestInterceptor = function (_a) {
|
|
141
123
|
var apiPath = _a.apiPath, reltioPath = _a.reltioPath, tenant = _a.tenant, processApiRequest = _a.processApiRequest, workerRef = _a.workerRef, setRequestListeners = _a.setRequestListeners;
|
|
142
124
|
return function (_a) {
|
|
143
|
-
var _b = _a.options, options = _b === void 0 ? {} : _b
|
|
144
|
-
var fakeURL =
|
|
145
|
-
|
|
146
|
-
: "".concat(reltioPath).concat(url.replace(apiPath, ''));
|
|
147
|
-
var isProcessableUrl = isURLtoProcess(processApiRequest, fakeURL);
|
|
125
|
+
var url = _a.url, next = _a.next, resolve = _a.resolve, _b = _a.options, options = _b === void 0 ? {} : _b;
|
|
126
|
+
var fakeURL = (0, exports.getRequestFakeUrl)(url, apiPath, reltioPath, tenant);
|
|
127
|
+
var isProcessableUrl = (0, exports.isURLtoProcess)(fakeURL, processApiRequest);
|
|
148
128
|
if (isProcessableUrl) {
|
|
149
129
|
var requestId = (0, nanoid_1.nanoid)();
|
|
150
130
|
setRequestListeners(options, next, requestId, resolve);
|
|
@@ -153,7 +133,7 @@ var setUpRequestInterceptor = function (_a) {
|
|
|
153
133
|
id: requestId,
|
|
154
134
|
url: fakeURL,
|
|
155
135
|
method: options.method,
|
|
156
|
-
headers:
|
|
136
|
+
headers: options.headers,
|
|
157
137
|
data: options.body
|
|
158
138
|
});
|
|
159
139
|
}
|
|
@@ -166,19 +146,21 @@ exports.setUpRequestInterceptor = setUpRequestInterceptor;
|
|
|
166
146
|
var setUpResponseInterceptor = function (_a) {
|
|
167
147
|
var reltioPath = _a.reltioPath, apiPath = _a.apiPath, processApiResponse = _a.processApiResponse, workerRef = _a.workerRef, setResponseListeners = _a.setResponseListeners;
|
|
168
148
|
return function (_a) {
|
|
169
|
-
var _b;
|
|
170
149
|
var url = _a.url, response = _a.response, next = _a.next, options = _a.options, abort = _a.abort;
|
|
171
|
-
|
|
150
|
+
var fakeURL = (0, exports.getResponseFakeUrl)(url, apiPath, reltioPath);
|
|
151
|
+
var isProcessableUrl = (0, exports.isURLtoProcess)(fakeURL, processApiResponse);
|
|
152
|
+
if (isProcessableUrl) {
|
|
153
|
+
var responseId_1 = (0, nanoid_1.nanoid)();
|
|
172
154
|
response
|
|
173
155
|
.json()
|
|
174
156
|
.then(function (data) {
|
|
175
|
-
|
|
176
|
-
setResponseListeners(next, options.headers.requestId);
|
|
157
|
+
setResponseListeners(next, responseId_1);
|
|
177
158
|
workerRef.current.postMessage({
|
|
178
|
-
action: '
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
159
|
+
action: 'apiResponse',
|
|
160
|
+
id: responseId_1,
|
|
161
|
+
url: fakeURL,
|
|
162
|
+
method: options.method,
|
|
163
|
+
data: data
|
|
182
164
|
});
|
|
183
165
|
})
|
|
184
166
|
.catch(function (error) {
|
|
@@ -186,29 +168,7 @@ var setUpResponseInterceptor = function (_a) {
|
|
|
186
168
|
});
|
|
187
169
|
}
|
|
188
170
|
else {
|
|
189
|
-
|
|
190
|
-
var isProcessableUrl = isURLtoProcess(processApiResponse, fakeURL_1);
|
|
191
|
-
if (isProcessableUrl) {
|
|
192
|
-
var responseId_1 = (0, nanoid_1.nanoid)();
|
|
193
|
-
response
|
|
194
|
-
.json()
|
|
195
|
-
.then(function (data) {
|
|
196
|
-
setResponseListeners(next, responseId_1);
|
|
197
|
-
workerRef.current.postMessage({
|
|
198
|
-
action: 'apiResponse',
|
|
199
|
-
id: responseId_1,
|
|
200
|
-
url: fakeURL_1,
|
|
201
|
-
method: options.method,
|
|
202
|
-
data: data
|
|
203
|
-
});
|
|
204
|
-
})
|
|
205
|
-
.catch(function (error) {
|
|
206
|
-
abort(error);
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
next(response);
|
|
211
|
-
}
|
|
171
|
+
next(response);
|
|
212
172
|
}
|
|
213
173
|
};
|
|
214
174
|
};
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { CustomActionTask, CustomActionTaskParams, CustomActionExtension, CustomActionViewConfig, CustomScriptExtension,
|
|
1
|
+
import { CustomActionTask, CustomActionTaskParams, CustomActionExtension, CustomActionViewConfig, CustomScriptExtension, Entity } from '@reltio/mdm-sdk';
|
|
2
2
|
export type ProcessRequestParams = {
|
|
3
|
-
|
|
4
|
-
paramObject: {
|
|
5
|
-
params: CustomActionTaskParams;
|
|
6
|
-
};
|
|
3
|
+
params: CustomActionTaskParams;
|
|
7
4
|
permissions?: string[];
|
|
8
5
|
worker: Worker;
|
|
9
6
|
metadata: any;
|
|
10
7
|
config: CustomActionExtension | CustomActionViewConfig | CustomScriptExtension;
|
|
11
8
|
user: any;
|
|
12
9
|
apiPath: string;
|
|
13
|
-
workflowPath
|
|
10
|
+
workflowPath?: string;
|
|
14
11
|
environment: string;
|
|
15
12
|
entity: any;
|
|
16
13
|
tenant: any;
|