@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.
@@ -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: ({ name, paramObject, permissions, worker, metadata, config, apiPath, servicesPath, user, workflowPath, entity, tenant, entityUri, query, openSearch, environment, getCurrentPerspectiveId, showPerspective, workflowCheckPermission, setEntityUri }: ProcessRequestParams) => void;
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;
@@ -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 helpers_1 = require("./helpers");
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 name = _a.name, paramObject = _a.paramObject, 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;
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: paramObject.params.headers,
150
+ headers: params.headers,
167
151
  status: 200
168
- } }, paramObject.params));
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: paramObject.params.headers,
157
+ headers: params.headers,
174
158
  status: 0
175
- } }, paramObject.params));
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(paramObject.params, permissions, signHandler);
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(paramObject.params, permissions, workflowPath, tenant, signHandler);
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(paramObject.params, permissions, workflowPath, tenant, environment);
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 }, paramObject.params));
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 }, paramObject.params));
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 }, paramObject.params));
192
+ return worker.postMessage(__assign({ action: 'response', result: newEntity }, params));
213
193
  };
214
- setEntityUri(paramObject.params.entityUri, listener);
194
+ setEntityUri(params.entityUri, listener);
215
195
  break;
216
196
  }
217
197
  case mdm_sdk_1.RequestAction.SET_PERSPECTIVE: {
218
- showPerspective(paramObject.params.perspective);
219
- worker.postMessage(__assign({ action: 'response', result: getCurrentPerspectiveId() }, paramObject.params));
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() }, paramObject.params));
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(paramObject.params.permission) }, paramObject.params));
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 }, paramObject.params));
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: paramObject.params.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 }, paramObject.params));
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 }, paramObject.params));
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 }, paramObject.params));
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 }, paramObject.params));
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 }, paramObject.params));
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 }, paramObject.params));
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(paramObject.params.text) }, paramObject.params));
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(paramObject.params.text) }, paramObject.params));
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(paramObject.params.text, paramObject.params.defaultText || '') }, paramObject.params));
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(paramObject.params.url, '_blank');
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
- export declare const isNewUI: (path?: string) => boolean;
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
- }) => ({ options, url, next, resolve }: {
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
- }) => ({ url, response, next, options, abort }: {
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.setUpQooxdooResponseInterceptor = exports.setUpQooxdooRequestInterceptor = exports.resetHtml = exports.getFilesWithArrayBuffer = exports.getWorkerURL = exports.isNewUI = void 0;
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 isNewUI = function (path) {
17
- return path === null || path === void 0 ? void 0 : path.includes('/nui');
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.isNewUI = isNewUI;
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
- if ((0, exports.isNewUI)(uiPath)) {
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, url = _a.url, next = _a.next, resolve = _a.resolve;
144
- var fakeURL = url.startsWith('/') && !url.startsWith(apiPath)
145
- ? "".concat(reltioPath, "/api/").concat(tenant).concat(url)
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: __assign(__assign({}, options.headers), { origin: 'ui', requestId: requestId }),
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
- if (((_b = options === null || options === void 0 ? void 0 : options.headers) === null || _b === void 0 ? void 0 : _b.origin) === 'ui') {
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
- var _a, _b;
176
- setResponseListeners(next, options.headers.requestId);
157
+ setResponseListeners(next, responseId_1);
177
158
  workerRef.current.postMessage({
178
- action: 'response',
179
- result: { data: data, status: response.status },
180
- id: options === null || options === void 0 ? void 0 : options.id,
181
- name: (_b = (_a = options === null || options === void 0 ? void 0 : options.task) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.name
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
- var fakeURL_1 = "".concat(reltioPath).concat(url.replace(apiPath, ''));
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, RequestAction, Entity } from '@reltio/mdm-sdk';
1
+ import { CustomActionTask, CustomActionTaskParams, CustomActionExtension, CustomActionViewConfig, CustomScriptExtension, Entity } from '@reltio/mdm-sdk';
2
2
  export type ProcessRequestParams = {
3
- name: RequestAction;
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: string;
10
+ workflowPath?: string;
14
11
  environment: string;
15
12
  entity: any;
16
13
  tenant: any;