@wavemaker/variables 12.0.0-next.46502 → 12.0.0-next.47810
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/npm-shrinkwrap.json +1993 -0
- package/package-lock.json +1993 -0
- {variables → package}/package.json +4 -3
- {variables → package}/scripts/build.js +52 -15
- package/scripts/build.js.map +1 -0
- package/src/manager/action/timer-action.manager.js.map +1 -0
- {variables → package}/src/manager/variable/base-variable.manager.js +2 -2
- package/src/manager/variable/base-variable.manager.js.map +1 -0
- {variables → package}/src/manager/variable/crud-variable.manager.js +16 -16
- package/src/manager/variable/crud-variable.manager.js.map +1 -0
- {variables → package}/src/manager/variable/live-variable.manager.js +50 -50
- package/src/manager/variable/live-variable.manager.js.map +1 -0
- {variables → package}/src/manager/variable/model-variable.manager.js +12 -12
- package/src/manager/variable/model-variable.manager.js.map +1 -0
- {variables → package}/src/manager/variable/service-variable.manager.js +42 -41
- package/src/manager/variable/service-variable.manager.js.map +1 -0
- package/src/model/action/timer-action.js.map +1 -0
- {variables → package}/src/model/base-action.d.ts +1 -1
- {variables → package}/src/model/base-action.js +3 -3
- package/src/model/base-action.js.map +1 -0
- {variables → package}/src/model/base-variable.d.ts +1 -1
- {variables → package}/src/model/base-variable.js +16 -16
- package/src/model/base-variable.js.map +1 -0
- {variables → package}/src/model/variable/crud-variable.js +2 -2
- package/src/model/variable/crud-variable.js.map +1 -0
- {variables → package}/src/model/variable/live-variable.js +7 -7
- package/src/model/variable/live-variable.js.map +1 -0
- package/src/model/variable/model-variable.js.map +1 -0
- {variables → package}/src/model/variable/service-variable.js +2 -2
- package/src/model/variable/service-variable.js.map +1 -0
- package/src/types/event-notifier.js.map +1 -0
- {variables → package}/src/util/dataset-util.js +16 -16
- package/src/util/dataset-util.js.map +1 -0
- {variables → package}/src/util/file-upload.util.js +12 -12
- package/src/util/file-upload.util.js.map +1 -0
- package/src/util/inflight-queue.js.map +1 -0
- package/src/util/notify-promise.js.map +1 -0
- {variables → package}/src/util/utils.js +19 -19
- package/src/util/utils.js.map +1 -0
- {variables → package}/src/util/variable/live-variable.http.utils.js +6 -6
- package/src/util/variable/live-variable.http.utils.js.map +1 -0
- {variables → package}/src/util/variable/live-variable.utils.js +84 -84
- package/src/util/variable/live-variable.utils.js.map +1 -0
- {variables → package}/src/util/variable/pagination.utils.js +38 -20
- package/src/util/variable/pagination.utils.js.map +1 -0
- {variables → package}/src/util/variable/service-variable.utils.js +28 -28
- package/src/util/variable/service-variable.utils.js.map +1 -0
- {variables → package}/src/util/variable/variables.utils.js +49 -49
- package/src/util/variable/variables.utils.js.map +1 -0
- package/webpack.config.d.ts +21 -0
- variables/scripts/build.js.map +0 -1
- variables/scripts/update-version.d.ts +0 -1
- variables/scripts/update-version.js +0 -27
- variables/scripts/update-version.js.map +0 -1
- variables/src/manager/action/timer-action.manager.js.map +0 -1
- variables/src/manager/variable/base-variable.manager.js.map +0 -1
- variables/src/manager/variable/crud-variable.manager.js.map +0 -1
- variables/src/manager/variable/live-variable.manager.js.map +0 -1
- variables/src/manager/variable/model-variable.manager.js.map +0 -1
- variables/src/manager/variable/service-variable.manager.js.map +0 -1
- variables/src/model/action/timer-action.js.map +0 -1
- variables/src/model/base-action.js.map +0 -1
- variables/src/model/base-variable.js.map +0 -1
- variables/src/model/variable/crud-variable.js.map +0 -1
- variables/src/model/variable/live-variable.js.map +0 -1
- variables/src/model/variable/model-variable.js.map +0 -1
- variables/src/model/variable/service-variable.js.map +0 -1
- variables/src/types/event-notifier.js.map +0 -1
- variables/src/util/dataset-util.js.map +0 -1
- variables/src/util/file-upload.util.js.map +0 -1
- variables/src/util/inflight-queue.js.map +0 -1
- variables/src/util/notify-promise.js.map +0 -1
- variables/src/util/utils.js.map +0 -1
- variables/src/util/variable/live-variable.http.utils.js.map +0 -1
- variables/src/util/variable/live-variable.utils.js.map +0 -1
- variables/src/util/variable/pagination.utils.js.map +0 -1
- variables/src/util/variable/service-variable.utils.js.map +0 -1
- variables/src/util/variable/variables.utils.js.map +0 -1
- variables/webpack.config.d.ts +0 -21
- {variables → package}/index.d.ts +0 -0
- {variables → package}/index.js +0 -0
- {variables → package}/index.js.map +0 -0
- {variables → package}/scripts/build.d.ts +0 -0
- {variables → package}/src/advanced-options.d.ts +0 -0
- {variables → package}/src/advanced-options.js +0 -0
- {variables → package}/src/advanced-options.js.map +0 -0
- {variables → package}/src/constants/variables.constants.d.ts +0 -0
- {variables → package}/src/constants/variables.constants.js +0 -0
- {variables → package}/src/constants/variables.constants.js.map +0 -0
- {variables → package}/src/factory/variable-manager.factory.d.ts +0 -0
- {variables → package}/src/factory/variable-manager.factory.js +0 -0
- {variables → package}/src/factory/variable-manager.factory.js.map +0 -0
- {variables → package}/src/manager/action/timer-action.manager.d.ts +0 -0
- {variables → package}/src/manager/action/timer-action.manager.js +0 -0
- {variables → package}/src/manager/variable/base-variable.manager.d.ts +0 -0
- {variables → package}/src/manager/variable/crud-variable.manager.d.ts +0 -0
- {variables → package}/src/manager/variable/live-variable.manager.d.ts +0 -0
- {variables → package}/src/manager/variable/model-variable.manager.d.ts +0 -0
- {variables → package}/src/manager/variable/service-variable.manager.d.ts +0 -0
- {variables → package}/src/model/action/timer-action.d.ts +0 -0
- {variables → package}/src/model/action/timer-action.js +0 -0
- {variables → package}/src/model/crud-create.d.ts +0 -0
- {variables → package}/src/model/crud-create.js +0 -0
- {variables → package}/src/model/crud-create.js.map +0 -0
- {variables → package}/src/model/crud-delete.d.ts +0 -0
- {variables → package}/src/model/crud-delete.js +0 -0
- {variables → package}/src/model/crud-delete.js.map +0 -0
- {variables → package}/src/model/crud-list.d.ts +0 -0
- {variables → package}/src/model/crud-list.js +0 -0
- {variables → package}/src/model/crud-list.js.map +0 -0
- {variables → package}/src/model/crud-update.d.ts +0 -0
- {variables → package}/src/model/crud-update.js +0 -0
- {variables → package}/src/model/crud-update.js.map +0 -0
- {variables → package}/src/model/variable/api-aware-variable.d.ts +0 -0
- {variables → package}/src/model/variable/api-aware-variable.js +0 -0
- {variables → package}/src/model/variable/api-aware-variable.js.map +0 -0
- {variables → package}/src/model/variable/crud-variable.d.ts +0 -0
- {variables → package}/src/model/variable/live-variable.d.ts +0 -0
- {variables → package}/src/model/variable/model-variable.d.ts +0 -0
- {variables → package}/src/model/variable/model-variable.js +0 -0
- {variables → package}/src/model/variable/service-variable.d.ts +0 -0
- {variables → package}/src/types/date-formatter.d.ts +0 -0
- {variables → package}/src/types/date-formatter.js +0 -0
- {variables → package}/src/types/date-formatter.js.map +0 -0
- {variables → package}/src/types/event-notifier.d.ts +0 -0
- {variables → package}/src/types/event-notifier.js +0 -0
- {variables → package}/src/types/http-client.service.d.ts +0 -0
- {variables → package}/src/types/http-client.service.js +0 -0
- {variables → package}/src/types/http-client.service.js.map +0 -0
- {variables → package}/src/types/types.d.ts +0 -0
- {variables → package}/src/types/types.js +0 -0
- {variables → package}/src/types/types.js.map +0 -0
- {variables → package}/src/util/dataset-util.d.ts +0 -0
- {variables → package}/src/util/file-upload.util.d.ts +0 -0
- {variables → package}/src/util/inflight-queue.d.ts +0 -0
- {variables → package}/src/util/inflight-queue.js +0 -0
- {variables → package}/src/util/notify-promise.d.ts +0 -0
- {variables → package}/src/util/notify-promise.js +0 -0
- {variables → package}/src/util/oAuth.utils.d.ts +0 -0
- {variables → package}/src/util/oAuth.utils.js +0 -0
- {variables → package}/src/util/oAuth.utils.js.map +0 -0
- {variables → package}/src/util/utils.d.ts +0 -0
- {variables → package}/src/util/variable/live-variable.http.utils.d.ts +0 -0
- {variables → package}/src/util/variable/live-variable.utils.d.ts +0 -0
- {variables → package}/src/util/variable/pagination.utils.d.ts +0 -0
- {variables → package}/src/util/variable/service-variable.utils.d.ts +0 -0
- {variables → package}/src/util/variable/variables.utils.d.ts +0 -0
- {variables → package}/webpack.config.js +0 -0
- {variables → package}/webpack.config.js.map +0 -0
|
@@ -24,7 +24,7 @@ import { getEvaluatedOrderBy, initiateCallback, securityService } from '../../ut
|
|
|
24
24
|
import { getAccessToken, performAuthorization, removeAccessToken } from '../../util/oAuth.utils';
|
|
25
25
|
import { PaginationUtils } from '../../util/variable/pagination.utils';
|
|
26
26
|
import { VariableEvents } from "../../model/base-variable";
|
|
27
|
-
import
|
|
27
|
+
import { isEmpty, get, head, last, hasIn, isObject, isArray, values, find, forEach, isString, includes, omit, extend, map, split } from 'lodash-es';
|
|
28
28
|
var ServiceVariableManager = /** @class */ (function (_super) {
|
|
29
29
|
__extends(ServiceVariableManager, _super);
|
|
30
30
|
function ServiceVariableManager() {
|
|
@@ -47,14 +47,14 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
47
47
|
*/
|
|
48
48
|
ServiceVariableManager.prototype.processErrorResponse = function (variable, errMsg, errorCB, xhrObj, skipNotification, skipDefaultNotification) {
|
|
49
49
|
var methodInfo = this.getMethodInfo(variable, {}, {});
|
|
50
|
-
var securityDefnObj =
|
|
50
|
+
var securityDefnObj = get(methodInfo, 'securityDefinitions.0');
|
|
51
51
|
var advancedOptions = this.prepareCallbackOptions(xhrObj);
|
|
52
52
|
// EVENT: ON_ERROR
|
|
53
53
|
if (!skipNotification) {
|
|
54
54
|
initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, errMsg, advancedOptions, skipDefaultNotification);
|
|
55
55
|
}
|
|
56
|
-
if (
|
|
57
|
-
&&
|
|
56
|
+
if (get(securityDefnObj, 'type') === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2
|
|
57
|
+
&& includes([VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED, VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN], get(xhrObj, 'status'))) {
|
|
58
58
|
removeAccessToken(securityDefnObj['x-WM-PROVIDER_ID']);
|
|
59
59
|
}
|
|
60
60
|
/* trigger error callback */
|
|
@@ -85,13 +85,13 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
85
85
|
var isResponsePageable = isPageable(response);
|
|
86
86
|
if (variable.serviceType === 'DataService' || variable.serviceType === 'JavaService') {
|
|
87
87
|
var decodedData = decodeData(response);
|
|
88
|
-
if (
|
|
88
|
+
if (isString(response)) {
|
|
89
89
|
response = decodedData;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
if (isResponsePageable) {
|
|
93
93
|
dataSet = response.content;
|
|
94
|
-
pagination =
|
|
94
|
+
pagination = omit(response, 'content');
|
|
95
95
|
}
|
|
96
96
|
else {
|
|
97
97
|
dataSet = response;
|
|
@@ -111,7 +111,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
111
111
|
this.transformData(response, variable);
|
|
112
112
|
}
|
|
113
113
|
// if a primitive type response is returned, wrap it in an object
|
|
114
|
-
dataSet = (!
|
|
114
|
+
dataSet = (!isObject(dataSet)) ? { 'value': dataSet } : dataSet;
|
|
115
115
|
// EVENT: ON_PREPARE_SETDATA
|
|
116
116
|
newDataSet = initiateCallback(VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA, variable, dataSet, advancedOptions);
|
|
117
117
|
if (isDefined(newDataSet)) {
|
|
@@ -124,7 +124,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
124
124
|
var paginationInfo = PaginationUtils.getPaginationInfo(operationInfo, variable);
|
|
125
125
|
if (paginationInfo) {
|
|
126
126
|
var res = PaginationUtils.generatePaginationRes(operationInfo, paginationInfo, response, resHeaders, options, variable);
|
|
127
|
-
if (!
|
|
127
|
+
if (!isEmpty(res)) {
|
|
128
128
|
PaginationUtils.setVariablePagination(variable, res, options);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -244,7 +244,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
244
244
|
* @returns {any}
|
|
245
245
|
*/
|
|
246
246
|
ServiceVariableManager.prototype.handleAuthError = function (variable, success, errorCB, options) {
|
|
247
|
-
var isUserAuthenticated =
|
|
247
|
+
var isUserAuthenticated = get(securityService.get(), 'authenticated');
|
|
248
248
|
var info;
|
|
249
249
|
if (isUserAuthenticated) {
|
|
250
250
|
info = {
|
|
@@ -278,7 +278,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
278
278
|
*/
|
|
279
279
|
ServiceVariableManager.prototype.handleRequestMetaError = function (info, variable, success, errorCB, options) {
|
|
280
280
|
try {
|
|
281
|
-
var err_type =
|
|
281
|
+
var err_type = get(info, 'error.type');
|
|
282
282
|
switch (err_type) {
|
|
283
283
|
case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:
|
|
284
284
|
performAuthorization(undefined, info.securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], this.invoke.bind(this, variable, options, success, errorCB), null, this.getProviderInfo(variable, info.securityDefnObj['x-WM-PROVIDER_ID']));
|
|
@@ -323,10 +323,10 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
323
323
|
*/
|
|
324
324
|
ServiceVariableManager.prototype.transformData = function (data, variable) {
|
|
325
325
|
data.wmTransformedData = [];
|
|
326
|
-
var columnsArray = variable.transformationColumns, dataArray =
|
|
327
|
-
|
|
326
|
+
var columnsArray = variable.transformationColumns, dataArray = get(data, variable.dataField) || [], transformedData = data.wmTransformedData;
|
|
327
|
+
forEach(dataArray, function (datum, index) {
|
|
328
328
|
transformedData[index] = {};
|
|
329
|
-
|
|
329
|
+
forEach(columnsArray, function (column, columnIndex) {
|
|
330
330
|
transformedData[index][column] = datum[columnIndex];
|
|
331
331
|
});
|
|
332
332
|
});
|
|
@@ -341,9 +341,9 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
341
341
|
*/
|
|
342
342
|
ServiceVariableManager.prototype.getMethodInfo = function (variable, inputFields, options) {
|
|
343
343
|
var methodInfo;
|
|
344
|
-
if (!
|
|
344
|
+
if (!isEmpty(metadataService)) {
|
|
345
345
|
var serviceDef = getClonedObject(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()));
|
|
346
|
-
methodInfo = serviceDef === null ? null :
|
|
346
|
+
methodInfo = serviceDef === null ? null : get(serviceDef, 'wmServiceOperationInfo');
|
|
347
347
|
}
|
|
348
348
|
else {
|
|
349
349
|
methodInfo = variable.serviceInfo;
|
|
@@ -351,9 +351,10 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
351
351
|
if (!methodInfo) {
|
|
352
352
|
return methodInfo;
|
|
353
353
|
}
|
|
354
|
-
var securityDefnObj =
|
|
354
|
+
var securityDefnObj = get(methodInfo.securityDefinitions, '0'), isOAuthTypeService = securityDefnObj && (securityDefnObj.type === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2);
|
|
355
355
|
if (methodInfo.parameters) {
|
|
356
356
|
methodInfo.parameters.forEach(function (param) {
|
|
357
|
+
var _a, _b;
|
|
357
358
|
// Ignore readOnly params in case of formData file params will be duplicated
|
|
358
359
|
if (param.readOnly) {
|
|
359
360
|
return;
|
|
@@ -362,7 +363,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
362
363
|
/* supporting pagination for query service variable */
|
|
363
364
|
if (VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name) !== -1) {
|
|
364
365
|
if (param.name === 'size') {
|
|
365
|
-
param.sampleValue = options.size || param.sampleValue || parseInt(variable.maxResults, 10);
|
|
366
|
+
param.sampleValue = options.size || param.sampleValue || ((_b = (_a = variable === null || variable === void 0 ? void 0 : variable._paginationConfig) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.size) || parseInt(variable.maxResults, 10);
|
|
366
367
|
}
|
|
367
368
|
else if (param.name === 'page') {
|
|
368
369
|
param.sampleValue = options.page || param.sampleValue || 1;
|
|
@@ -393,9 +394,9 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
393
394
|
*/
|
|
394
395
|
ServiceVariableManager.prototype.isFileUploadInProgress = function (dataBindings) {
|
|
395
396
|
var filesStatus = false;
|
|
396
|
-
|
|
397
|
-
if (
|
|
398
|
-
|
|
397
|
+
forEach(dataBindings, function (dataBinding) {
|
|
398
|
+
if (isArray(dataBinding) && dataBinding[0] instanceof File) {
|
|
399
|
+
forEach(dataBinding, function (file) {
|
|
399
400
|
if (file.status === 'onProgress') {
|
|
400
401
|
filesStatus = true;
|
|
401
402
|
return;
|
|
@@ -410,13 +411,13 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
410
411
|
var _this = this;
|
|
411
412
|
var fileParamCount = 0;
|
|
412
413
|
var fileArr = [], promArr = [];
|
|
413
|
-
|
|
414
|
-
if (
|
|
414
|
+
forEach(inputFields, function (inputField) {
|
|
415
|
+
if (isArray(inputField)) {
|
|
415
416
|
if (inputField[0] instanceof File) {
|
|
416
417
|
fileParamCount++;
|
|
417
418
|
}
|
|
418
|
-
|
|
419
|
-
if (input instanceof File ||
|
|
419
|
+
forEach(inputField, function (input) {
|
|
420
|
+
if (input instanceof File || find(values(input), function (o) { return o instanceof Blob; })) {
|
|
420
421
|
fileArr.push(input);
|
|
421
422
|
_this.totalFilesCount++;
|
|
422
423
|
fileParamCount = fileParamCount || 1;
|
|
@@ -433,7 +434,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
433
434
|
});
|
|
434
435
|
if (fileParamCount === 1) {
|
|
435
436
|
if (inputFields.files.length > 1) {
|
|
436
|
-
|
|
437
|
+
forEach(fileArr, function (file) {
|
|
437
438
|
promArr.push(_this.uploadFileInFormData(variable, options, success, error, file, requestParams));
|
|
438
439
|
});
|
|
439
440
|
return Promise.all(promArr);
|
|
@@ -467,7 +468,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
467
468
|
triggerFn(error);
|
|
468
469
|
return;
|
|
469
470
|
}
|
|
470
|
-
if (
|
|
471
|
+
if (isObject(output)) {
|
|
471
472
|
inputFields = output;
|
|
472
473
|
}
|
|
473
474
|
var operationInfo = this.getMethodInfo(variable, inputFields, options);
|
|
@@ -475,7 +476,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
475
476
|
// check errors
|
|
476
477
|
if (requestParams.error) {
|
|
477
478
|
var info = this.handleRequestMetaError(requestParams, variable, success, error, options);
|
|
478
|
-
var reason = (
|
|
479
|
+
var reason = (get(info, 'error.message') || 'An error occurred while triggering the variable: ') + ': ' + variable.name;
|
|
479
480
|
triggerFn(error);
|
|
480
481
|
$queue.process(variable);
|
|
481
482
|
return Promise.reject(reason);
|
|
@@ -488,7 +489,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
488
489
|
}
|
|
489
490
|
}
|
|
490
491
|
// file download
|
|
491
|
-
if (operationInfo &&
|
|
492
|
+
if (operationInfo && isArray(operationInfo.produces) && includes(operationInfo.produces, WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM) && variable.simulateFileDownload) {
|
|
492
493
|
// ToDo - variable seperation
|
|
493
494
|
return variable.simulateFileDownload(requestParams, variable.dataBinding.file || variable.name, variable.dataBinding.exportType, function () {
|
|
494
495
|
initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, null, null, null);
|
|
@@ -505,7 +506,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
505
506
|
successHandler = function (response, resolve) {
|
|
506
507
|
if (response && response.type || response && response.status) {
|
|
507
508
|
var res = response.body || response.data;
|
|
508
|
-
var data = _this.processSuccessResponse(res, variable,
|
|
509
|
+
var data = _this.processSuccessResponse(res, variable, extend(options, { 'xhrObj': response }), success, response.headers);
|
|
509
510
|
// notify variable success
|
|
510
511
|
_this.notifyInflight(variable, false, data);
|
|
511
512
|
if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {
|
|
@@ -584,7 +585,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
584
585
|
requestParams.method = options.httpMethod || 'POST';
|
|
585
586
|
requestParams.url = options.url || requestParams.url;
|
|
586
587
|
// If request params returns error then show an error toaster
|
|
587
|
-
if (
|
|
588
|
+
if (hasIn(requestParams, 'error.message')) {
|
|
588
589
|
triggerFn(errorHandler, requestParams.error.message);
|
|
589
590
|
return Promise.reject(requestParams.error.message);
|
|
590
591
|
}
|
|
@@ -604,13 +605,13 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
604
605
|
};
|
|
605
606
|
ServiceVariableManager.prototype.getInputParms = function (variable) {
|
|
606
607
|
var wmServiceOperationInfo;
|
|
607
|
-
if (!
|
|
608
|
-
wmServiceOperationInfo =
|
|
608
|
+
if (!isEmpty(metadataService)) {
|
|
609
|
+
wmServiceOperationInfo = get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');
|
|
609
610
|
}
|
|
610
611
|
else {
|
|
611
612
|
wmServiceOperationInfo = variable.serviceInfo;
|
|
612
613
|
}
|
|
613
|
-
return
|
|
614
|
+
return get(wmServiceOperationInfo, 'parameters');
|
|
614
615
|
};
|
|
615
616
|
ServiceVariableManager.prototype.setInput = function (variable, key, val, options) {
|
|
616
617
|
return setInput(variable.dataBinding, key, val, options);
|
|
@@ -653,7 +654,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
653
654
|
'get': function () {
|
|
654
655
|
var dataSet = variable.dataSet;
|
|
655
656
|
// For procedure(v1) data doesn't come under content
|
|
656
|
-
return
|
|
657
|
+
return head(dataSet && dataSet.content) || head(dataSet) || {};
|
|
657
658
|
}
|
|
658
659
|
});
|
|
659
660
|
Object.defineProperty(variable, 'lastRecord', {
|
|
@@ -661,7 +662,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
661
662
|
'get': function () {
|
|
662
663
|
var dataSet = variable.dataSet;
|
|
663
664
|
// For procedure(v1) data doesn't come under content
|
|
664
|
-
return
|
|
665
|
+
return last(dataSet && dataSet.content) || last(dataSet) || {};
|
|
665
666
|
}
|
|
666
667
|
});
|
|
667
668
|
}
|
|
@@ -672,12 +673,12 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
672
673
|
var queryParams = ServiceVariableUtils.excludePaginationParams(inputParams);
|
|
673
674
|
var inputFields = {};
|
|
674
675
|
// check if some param value is already available in databinding and update the inputFields accordingly
|
|
675
|
-
|
|
676
|
+
map(variable.dataBinding, function (value, key) {
|
|
676
677
|
inputFields[key] = value;
|
|
677
678
|
});
|
|
678
679
|
// add the query params mentioned in the searchkey to inputFields
|
|
679
|
-
|
|
680
|
-
if (
|
|
680
|
+
forEach(filterFields, function (value) {
|
|
681
|
+
if (includes(queryParams, value)) {
|
|
681
682
|
inputFields[value] = searchValue;
|
|
682
683
|
}
|
|
683
684
|
});
|
|
@@ -692,12 +693,12 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
692
693
|
* @returns {Promise<any>}
|
|
693
694
|
*/
|
|
694
695
|
ServiceVariableManager.prototype.searchRecords = function (variable, options, success, error) {
|
|
695
|
-
var inputFields = this.getQueryParams(
|
|
696
|
+
var inputFields = this.getQueryParams(split(options.searchKey, ','), options.query, variable);
|
|
696
697
|
var requestParams = {
|
|
697
698
|
page: options.page,
|
|
698
699
|
pagesize: options.pagesize,
|
|
699
|
-
skipDataSetUpdate: true,
|
|
700
|
-
skipToggleState: true,
|
|
700
|
+
skipDataSetUpdate: true, // dont update the actual variable dataset,
|
|
701
|
+
skipToggleState: true, // Dont change the varibale toggle state as this is a independent call
|
|
701
702
|
inFlightBehavior: 'executeAll',
|
|
702
703
|
inputFields: inputFields
|
|
703
704
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-variable.manager.js","sourceRoot":"./","sources":["src/manager/variable/service-variable.manager.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getClonedObject,\n getValidJSON,\n isDefined,\n isPageable,\n isValidWebURL,\n noop,\n triggerFn,\n xmlToJson\n} from \"../../util/utils\";\n\nimport {upload} from '../../util/file-upload.util';\nimport {ServiceVariable} from '../../model/variable/service-variable';\nimport {ServiceVariableUtils} from '../../util/variable/service-variable.utils';\nimport {$queue} from '../../util/inflight-queue';\nimport {BaseVariableManager} from './base-variable.manager';\nimport {CONSTANTS, VARIABLE_CONSTANTS, WS_CONSTANTS} from '../../constants/variables.constants';\nimport {\n appManager,\n decodeData,\n formatExportExpression,\n getErrMessage,\n metadataService,\n setInput\n} from './../../util/variable/variables.utils';\nimport {getEvaluatedOrderBy, initiateCallback, securityService} from '../../util/variable/variables.utils';\nimport {getAccessToken, performAuthorization, removeAccessToken} from '../../util/oAuth.utils';\nimport {AdvancedOptions} from '../../advanced-options';\nimport {PaginationUtils} from '../../util/variable/pagination.utils';\nimport {VariableEvents} from \"../../model/base-variable\";\n\nimport {isEmpty, get, head, last, hasIn, isObject, isArray, values, find, forEach, isString, includes, omit, extend, map, split} from 'lodash-es';\n\nexport class ServiceVariableManager extends BaseVariableManager {\n\n fileUploadResponse: any = [];\n fileUploadCount = 0;\n totalFilesCount = 0;\n successFileUploadCount = 0;\n failedFileUploadCount = 0;\n\n /**\n * function to process error response from a service\n * @param {ServiceVariable} variable\n * @param {string} errMsg\n * @param {Function} errorCB\n * @param xhrObj\n * @param {boolean} skipNotification\n * @param {boolean} skipDefaultNotification\n */\n protected processErrorResponse(variable: ServiceVariable, errMsg: string, errorCB: Function, xhrObj?: any, skipNotification?: boolean, skipDefaultNotification?: boolean, ) {\n const methodInfo = this.getMethodInfo(variable, {}, {});\n const securityDefnObj = get(methodInfo, 'securityDefinitions.0');\n const advancedOptions: AdvancedOptions = this.prepareCallbackOptions(xhrObj);\n // EVENT: ON_ERROR\n if (!skipNotification) {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, errMsg, advancedOptions, skipDefaultNotification);\n }\n if (get(securityDefnObj, 'type') === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2\n && includes([VARIABLE_CONSTANTS.HTTP_STATUS_CODE.UNAUTHORIZED, VARIABLE_CONSTANTS.HTTP_STATUS_CODE.FORBIDDEN], get(xhrObj, 'status'))) {\n removeAccessToken(securityDefnObj['x-WM-PROVIDER_ID']);\n }\n /* trigger error callback */\n triggerFn(errorCB, errMsg);\n \n variable.notify(VariableEvents.AFTER_INVOKE, [this, errMsg]);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, errMsg, advancedOptions);\n }\n }\n\n /**\n * function to process success response from a service\n * @param response\n * @param variable\n * @param options\n * @param success\n */\n protected processSuccessResponse(response, variable, options, success, resHeaders?, operationInf?) {\n let dataSet;\n let newDataSet;\n let pagination = {};\n let advancedOptions: AdvancedOptions;\n let jsonParsedResponse: any = getValidJSON(response);\n\n response = isDefined(jsonParsedResponse) ? jsonParsedResponse : (response && xmlToJson(response) || response);\n\n const isResponsePageable = isPageable(response);\n if (variable.serviceType === 'DataService' || variable.serviceType === 'JavaService') {\n const decodedData = decodeData(response);\n if (isString(response)) {\n response = decodedData;\n }\n }\n if (isResponsePageable) {\n dataSet = response.content;\n pagination = omit(response, 'content');\n } else {\n dataSet = response;\n }\n /**\n * send pagination object with advancedOptions all the time.\n * With this, user can provide pagination option, even if it is not there.\n * applicable to 3rd party services that do not support pagination out of the box.\n */\n advancedOptions = this.prepareCallbackOptions(options.xhrObj, {pagination: pagination, rawData: dataSet});\n\n // EVENT: ON_RESULT\n initiateCallback(VARIABLE_CONSTANTS.EVENT.RESULT, variable, response, advancedOptions);\n\n // trigger success callback, pass data received from server as it is.\n triggerFn(success, response, pagination);\n\n /* if dataTransformation enabled, transform the data */\n if (variable.transformationColumns) {\n this.transformData(response, variable);\n }\n\n // if a primitive type response is returned, wrap it in an object\n dataSet = (!isObject(dataSet)) ? {'value': dataSet} : dataSet;\n\n // EVENT: ON_PREPARE_SETDATA\n newDataSet = initiateCallback(VARIABLE_CONSTANTS.EVENT.PREPARE_SETDATA, variable, dataSet, advancedOptions);\n if (isDefined(newDataSet)) {\n // setting newDataSet as the response to service variable onPrepareSetData\n dataSet = newDataSet;\n }\n\n const inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n\n // WMS-22361 : For crud variable, apply operation info recived else deduce for service variables\n const operationInfo = operationInf ? operationInf : this.getMethodInfo(variable, inputFields, options);\n const paginationInfo = PaginationUtils.getPaginationInfo(operationInfo, variable);\n if (paginationInfo) {\n const res = PaginationUtils.generatePaginationRes(operationInfo, paginationInfo, response, resHeaders, options, variable);\n if (!isEmpty(res)) {\n PaginationUtils.setVariablePagination(variable, res, options);\n }\n }\n\n /* update the dataset against the variable, if response is non-object, insert the response in 'value' field of dataSet */\n if (!options.forceRunMode && !options.skipDataSetUpdate) {\n if (!variable._paginationConfig) {\n variable.pagination = pagination;\n }\n variable.dataSet = dataSet;\n\n // legacy properties in dataSet, [content]\n if (isResponsePageable) {\n Object.defineProperty(variable.dataSet, 'content', {\n get: () => {\n return variable.dataSet;\n }\n });\n }\n }\n variable.notify(VariableEvents.AFTER_INVOKE, [this, dataSet]);\n setTimeout(() => {\n // EVENT: ON_SUCCESS\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, dataSet, advancedOptions);\n if (!CONSTANTS.isStudioMode) {\n /* process next requests in the queue */\n variable.canUpdate = true;\n $queue.process(variable);\n }\n\n // EVENT: ON_CAN_UPDATE\n initiateCallback(VARIABLE_CONSTANTS.EVENT.CAN_UPDATE, variable, dataSet, advancedOptions);\n });\n\n return {\n data: variable.dataSet,\n pagination: variable.pagination\n };\n }\n\n protected uploadFileInFormData(variable: ServiceVariable, options: any, success: Function, error: Function, file, requestParams) {\n const promise = upload(file, variable, requestParams.data, {\n fileParamName: 'files',\n url: requestParams.url\n });\n (promise as any).then((data) => {\n this.fileUploadCount++;\n this.successFileUploadCount++;\n this.fileUploadResponse.push(data[0]);\n file._response = data[0];\n if (data && data[0] && data[0].success === false) {\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'status': \"error\",\n 'fileName': file.name,\n 'errMsg': data[0].errorMessage,\n 'uniqueId': file.uniqueId\n });\n }\n this.fileUploadResponse = [];\n this.processErrorResponse(variable, data[0].errorMessage, error, data, options.skipNotification);\n }\n if (this.totalFilesCount === this.fileUploadCount && data[0].success === true) {\n if (this.failedFileUploadCount === 0) {\n this.processSuccessResponse(this.fileUploadResponse, variable, options, success);\n this.fileUploadResponse = [];\n if (!variable.onSuccess) {\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_SUCCESS, 'success');\n }\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, this.fileUploadResponse);\n this.fileUploadResponse = [];\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_UPLOAD_ERROR, 'error');\n }\n this.fileUploadCount = 0;\n this.successFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return data;\n }, (e) => {\n this.fileUploadCount++;\n this.failedFileUploadCount++;\n this.fileUploadResponse.push(e);\n const errMsg = getErrMessage(e, variable.httpService.getLocale());\n // if a file upload failed, notify the progress listener to take action\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'status': \"error\",\n 'fileName': file.name,\n 'errMsg': errMsg,\n 'uniqueId': file.uniqueId\n });\n }\n if (this.totalFilesCount === this.fileUploadCount) {\n this.processErrorResponse(variable, errMsg, error, e, options.skipNotification);\n this.fileUploadResponse = [];\n this.fileUploadCount = 0;\n this.failedFileUploadCount = 0;\n this.totalFilesCount = 0;\n }\n return e;\n }, (data) => {\n if (variable._progressObservable) {\n variable._progressObservable.next({\n 'progress': data,\n 'status': VARIABLE_CONSTANTS.EVENT.PROGRESS,\n 'fileName': file.name,\n 'uniqueId': file.uniqueId});\n }\n initiateCallback(VARIABLE_CONSTANTS.EVENT.PROGRESS, variable, data);\n return data;\n });\n return promise;\n }\n\n /**\n * Checks if the user is logged in or not and returns appropriate error\n * If user is not logged in, Session timeout logic is run, for user to login\n * @param variable\n * @returns {any}\n */\n private handleAuthError(variable, success, errorCB, options) {\n const isUserAuthenticated = get(securityService.get(), 'authenticated');\n let info;\n\n if (isUserAuthenticated) {\n info = {\n error: {\n message: 'You\\'re not authorised to access the resource \"' + variable.service + '\".'\n }\n };\n } else {\n info = {\n error: {\n message: 'You\\'re not authenticated to access the resource \"' + variable.service + '\".',\n skipDefaultNotification: true\n }\n };\n appManager.pushToSessionFailureRequests(variable.invoke.bind(variable, options, success, errorCB));\n appManager.handle401();\n }\n console.warn(variable.name + ': ' + info.error.message);\n return info;\n }\n\n /**\n * Handles error, when variable's metadata is not found. The reason for this can be:\n * - API is secure and user is not logged in\n * - API is secure and user is logged in but not authorized\n * - The servicedefs are not generated properly at the back end (need to edit the variable and re-run the project)\n * @param info\n * @param variable\n * @param errorCB\n * @param options\n */\n protected handleRequestMetaError(info, variable, success, errorCB, options) {\n try {\n const err_type = get(info, 'error.type');\n\n switch (err_type) {\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN:\n performAuthorization(undefined, info.securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], this.invoke.bind(this, variable, options, success, errorCB), null, this.getProviderInfo(variable, info.securityDefnObj['x-WM-PROVIDER_ID']));\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, true, true);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED:\n info = this.handleAuthError(variable, success, errorCB, options);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING:\n case VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING:\n if (info.error.message) {\n info.error.message = info.error.message.replace('$variable', variable.name);\n let reasons;\n if (err_type === VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING) {\n reasons = ['1. You did not Preview the app after creating a Variable for the imported service.', '2. You deleted the imported service this Variable is linked to.'];\n } else {\n reasons = ['1. You haven\\'t chosen an endpoint for ' + options.operation + ' operation for this Entity.'];\n }\n console.warn(info.error.message + '\\n Possible reasons for this:\\n ' + reasons.join('\\n '));\n }\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n break;\n default:\n if (info.error.message) {\n console.warn(info.error.message, variable.name);\n this.processErrorResponse(variable, info.error.message, errorCB, options.xhrObj, options.skipNotification, info.error.skipDefaultNotification);\n }\n }\n } catch(err) {\n console.error(err);\n }\n return info;\n }\n\n /**\n * function to transform the service data as according to the variable configuration\n * this is used when 'transformationColumns' property is set on the variable\n * @param data: data returned from the service\n * @variable: variable object triggering the service\n */\n private transformData(data, variable) {\n data.wmTransformedData = [];\n\n const columnsArray = variable.transformationColumns,\n dataArray = get(data, variable.dataField) || [],\n transformedData = data.wmTransformedData;\n\n forEach(dataArray, function (datum, index) {\n transformedData[index] = {};\n forEach(columnsArray, function (column, columnIndex) {\n transformedData[index][column] = datum[columnIndex];\n });\n });\n }\n\n\n /**\n * gets the service operation info against a service variable\n * this is extracted from the metadataservice\n * @param variable\n * @param inputFields: sample values, if provided, will be set against params in the definition\n * @param options\n * @returns {any}\n */\n private getMethodInfo(variable, inputFields, options) {\n let methodInfo;\n if (!isEmpty(metadataService)) {\n const serviceDef = getClonedObject(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()));\n methodInfo = serviceDef === null ? null : get(serviceDef, 'wmServiceOperationInfo');\n } else {\n methodInfo = variable.serviceInfo;\n }\n\n if (!methodInfo) {\n return methodInfo;\n }\n const securityDefnObj = get(methodInfo.securityDefinitions, '0'),\n isOAuthTypeService = securityDefnObj && (securityDefnObj.type === VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2);\n if (methodInfo.parameters) {\n methodInfo.parameters.forEach(function (param) {\n // Ignore readOnly params in case of formData file params will be duplicated\n if (param.readOnly) {\n return;\n }\n param.sampleValue = inputFields[param.name];\n /* supporting pagination for query service variable */\n if (VARIABLE_CONSTANTS.PAGINATION_PARAMS.indexOf(param.name) !== -1) {\n if (param.name === 'size') {\n param.sampleValue = options.size || param.sampleValue || variable?._paginationConfig?.input?.size || parseInt(variable.maxResults, 10);\n } else if (param.name === 'page') {\n param.sampleValue = options.page || param.sampleValue || 1;\n } else if (param.name === 'sort') {\n param.sampleValue = getEvaluatedOrderBy(variable.orderBy, options.orderBy) || param.sampleValue || '';\n }\n } else if (param.name === 'access_token' && isOAuthTypeService) {\n param.sampleValue = getAccessToken(securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], null);\n }\n });\n }\n return methodInfo;\n }\n\n\n /**\n * gets the provider info against a service variable's provider\n * this is extracted from the metadataservice\n * @param variable\n * @param providerId\n * @returns {any}\n */\n private getProviderInfo(variable, providerId) {\n return getClonedObject(metadataService?.getByProviderId(providerId, variable.getPrefabName()));\n }\n\n /**\n * Returns true if any of the files are in onProgress state\n */\n private isFileUploadInProgress(dataBindings) {\n let filesStatus = false;\n forEach(dataBindings, (dataBinding) => {\n if (isArray(dataBinding) && dataBinding[0] instanceof File) {\n forEach(dataBinding, (file) => {\n if (file.status === 'onProgress') {\n filesStatus = true;\n return;\n }\n });\n }\n });\n return filesStatus;\n }\n\n // Makes the call for Uploading file/ files\n protected uploadFile(variable, options, success, error, inputFields, requestParams ) {\n let fileParamCount = 0;\n const fileArr: any = [], promArr: any = [];\n forEach(inputFields, (inputField) => {\n if (isArray(inputField)) {\n if (inputField[0] instanceof File) {\n fileParamCount++;\n }\n forEach(inputField, (input) => {\n if (input instanceof File || find(values(input), o => o instanceof Blob)) {\n fileArr.push(input);\n this.totalFilesCount++;\n fileParamCount = fileParamCount || 1;\n }\n });\n } else {\n if (inputField instanceof File) {\n fileParamCount++;\n this.totalFilesCount++;\n fileArr.push(inputField);\n }\n }\n });\n if (fileParamCount === 1) {\n if (inputFields.files.length > 1) {\n forEach(fileArr, (file) => {\n promArr.push(this.uploadFileInFormData(variable, options, success, error, file, requestParams));\n });\n return Promise.all(promArr);\n } else {\n return this.uploadFileInFormData(variable, options, success, error, fileArr[0], requestParams);\n }\n }\n }\n\n /**\n * proxy for the invoke call\n * Request Info is constructed\n * if error found, error is thrown\n * else, call is made\n * @param {ServiceVariable} variable\n * @param options\n * @param {Function} success\n * @param {Function} error\n * @returns {any}\n * @private\n */\n protected _invoke (variable: ServiceVariable, options: any, success: Function, error: Function) {\n let inputFields = getClonedObject(options.inputFields || variable.dataBinding);\n // EVENT: ON_BEFORE_UPDATE\n const output: any = initiateCallback(VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE, variable, inputFields, options);\n let successHandler;\n let errorHandler;\n\n if (output === false) {\n $queue.process(variable);\n triggerFn(error);\n return;\n }\n if (isObject(output)) {\n inputFields = output;\n }\n\n const operationInfo = this.getMethodInfo(variable, inputFields, options);\n const requestParams = ServiceVariableUtils.constructRequestParams(variable, operationInfo, inputFields, options);\n // check errors\n if (requestParams.error) {\n const info = this.handleRequestMetaError(requestParams, variable, success, error, options);\n const reason = (get(info, 'error.message') || 'An error occurred while triggering the variable: ') + ': ' + variable.name;\n triggerFn(error);\n $queue.process(variable);\n return Promise.reject(reason);\n }\n\n // file upload\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n const uploadPromise = this.uploadFile(variable, options, success, error, inputFields, requestParams);\n if (uploadPromise) {\n return uploadPromise;\n }\n }\n\n // file download\n if (operationInfo && isArray(operationInfo.produces) && includes(operationInfo.produces, WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM) && variable.simulateFileDownload) {\n // ToDo - variable seperation\n return variable.simulateFileDownload(requestParams, variable.dataBinding.file || variable.name, variable.dataBinding.exportType, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, null, null, null);\n $queue.process(variable);\n triggerFn(success);\n }, function () {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, null, null, null);\n $queue.process(variable);\n triggerFn(error);\n },variable.dataBinding);\n }\n\n // notify variable progress\n this.notifyInflight(variable, !options.skipToggleState);\n\n successHandler = (response, resolve) => {\n if (response && response.type || response && response.status) {\n const res = response.body || response.data;\n const data = this.processSuccessResponse(res, variable, extend(options, {'xhrObj': response}), success, response.headers);\n // notify variable success\n this.notifyInflight(variable, false, data);\n if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {\n variable._deleteFileObservable.next({'status' : \"success\", response: res});\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_SUCCESS || \"File delete success\", 'success');\n }\n resolve(response);\n }\n };\n\n errorHandler = (err, reject) => {\n const errMsg = getErrMessage(err, variable.httpService.getLocale());\n // notify variable error\n this.notifyInflight(variable, false);\n this.processErrorResponse(variable, errMsg, error, err, options.skipNotification);\n if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {\n variable._deleteFileObservable.error({\n status : \"error\",\n error: errMsg,\n details: err\n });\n appManager && appManager.notifyApp(appManager.getAppLocale().MESSAGE_FILE_DELETE_ERROR || 'File delete failed', 'error');\n }\n reject({\n error: errMsg,\n details: err\n });\n };\n\n // make the call and return a promise to the user to support script calls made by users\n return new Promise((resolve, reject) => {\n requestParams.responseType = 'text'; // this is to return text response. JSON & XML-to-JSON parsing is handled in success handler.\n // ToDo - variable seperation\n // this.httpCall(requestParams, variable).then((response) => {\n // successHandler(response, resolve);\n // }, err => {\n // const validJSON = getValidJSON(err.error);\n // err.error = isDefined(validJSON) ? validJSON : err.error;\n // errorHandler(err, reject);\n // });\n // the _observable property on variable is used store the observable using which the network call is made\n // this can be used to cancel the variable calls.\n variable.httpService.sendCall(requestParams, variable).then((response) => {\n successHandler(response, resolve);\n }).catch(err => {\n err = err || {};\n err.error = err.error || '{}';\n const validJSON = getValidJSON(err.error);\n err.error = isDefined(validJSON) ? validJSON : err.error;\n errorHandler(err, reject);\n });\n });\n }\n\n // *********************************************************** PUBLIC ***********************************************************//\n\n public invoke(variable, options, success, error) {\n options = options || {};\n // appManager.notify('check-state-persistence-options', {\n // options: options,\n // variable: variable\n // });\n options.inputFields = options.inputFields || getClonedObject(variable.dataBinding);\n return $queue.submit(variable).then(this._invoke.bind(this, variable, options, success, error), error);\n }\n\n public setPagination(variable, data) {\n variable._paginationConfig = data;\n }\n\n public download(variable, options, successHandler, errorHandler) {\n options = options || {};\n const inputParams = getClonedObject(variable.dataBinding);\n const inputData = options.data || {};\n const methodInfo = this.getMethodInfo(variable, inputParams, options);\n let requestParams;\n\n methodInfo.relativePath += '/export';\n requestParams = ServiceVariableUtils.constructRequestParams(variable, methodInfo, inputParams);\n\n requestParams.data = inputData;\n requestParams.data.fields = formatExportExpression(inputData.fields || []);\n\n // extra options provided, these may be used in future for integrating export feature with ext. services\n requestParams.method = options.httpMethod || 'POST';\n requestParams.url = options.url || requestParams.url;\n\n // If request params returns error then show an error toaster\n if (hasIn(requestParams, 'error.message')) {\n triggerFn(errorHandler, requestParams.error.message);\n return Promise.reject(requestParams.error.message);\n }\n return variable.httpService.send(requestParams).then(response => {\n if (response && isValidWebURL(response.body.result)) {\n window.location.href = response.body.result;\n triggerFn(successHandler, response);\n } else {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response);\n triggerFn(errorHandler, response);\n }\n }, (response, xhrObj) => {\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ERROR, variable, response, xhrObj);\n triggerFn(errorHandler, response);\n });\n }\n\n public getInputParms(variable) {\n let wmServiceOperationInfo;\n if (!isEmpty(metadataService)) {\n wmServiceOperationInfo = get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');\n } else {\n wmServiceOperationInfo = variable.serviceInfo;\n }\n return get(wmServiceOperationInfo, 'parameters');\n }\n\n public setInput(variable, key, val, options) {\n return setInput(variable.dataBinding, key, val, options);\n }\n\n /**\n * Cancels an on going service request\n * @param variable\n * @param $file\n */\n public cancel(variable, $file?) {\n // CHecks if there is any pending requests in the queue\n if ($queue.requestsQueue.has(variable)) {\n // If the request is a File upload request then modify the elements associated with file upload\n // else unsubscribe from the observable on the variable.\n if (ServiceVariableUtils.isFileUploadRequest(variable)) {\n variable.httpService.cancel(variable, $file);\n $file.status = 'abort';\n this.totalFilesCount--;\n initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n } else {\n if (variable.httpService.cancel) {\n variable.httpService.cancel(variable);\n $queue.process(variable);\n // notify inflight variable\n this.notifyInflight(variable, false);\n }\n }\n }\n }\n\n public defineFirstLastRecord(variable) {\n if (variable.isList) {\n Object.defineProperty(variable, 'firstRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return head(dataSet && dataSet.content) || head(dataSet) || {};\n }\n });\n Object.defineProperty(variable, 'lastRecord', {\n 'configurable': true,\n 'get': function () {\n const dataSet = variable.dataSet;\n // For procedure(v1) data doesn't come under content\n return last(dataSet && dataSet.content) || last(dataSet) || {};\n }\n });\n }\n }\n\n // Gets the input params of the service variable and also add params from the searchKeys (filterfields)\n private getQueryParams(filterFields, searchValue, variable) {\n const inputParams = this.getInputParms(variable);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputParams);\n const inputFields = {};\n\n // check if some param value is already available in databinding and update the inputFields accordingly\n map(variable.dataBinding, function (value, key) {\n inputFields[key] = value;\n });\n\n // add the query params mentioned in the searchkey to inputFields\n forEach(filterFields, function (value) {\n if (includes(queryParams, value)) {\n inputFields[value] = searchValue;\n }\n });\n\n return inputFields;\n }\n\n /**\n * This method returns filtered records based on searchKey and queryText.\n * @param variable\n * @param options\n * @param success\n * @param error\n * @returns {Promise<any>}\n */\n public searchRecords(variable, options, success, error) {\n const inputFields = this.getQueryParams(split(options.searchKey, ','), options.query, variable);\n\n const requestParams = {\n page: options.page,\n pagesize: options.pagesize,\n skipDataSetUpdate: true, // dont update the actual variable dataset,\n skipToggleState: true, // Dont change the varibale toggle state as this is a independent call\n inFlightBehavior: 'executeAll',\n inputFields: inputFields\n };\n\n if (options.onBeforeservicecall) {\n options.onBeforeservicecall(inputFields);\n }\n\n return this.invoke(variable, requestParams, success, error).catch(noop);\n }\n}\n\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer-action.js","sourceRoot":"./","sources":["src/model/action/timer-action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,IAAO,UAAU,GAAG;IAChB,OAAO,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF;IAAiC,+BAAU;IAKvC,qBAAY,QAAa;QACrB,YAAA,MAAK,WAAE,SAAC;QAJJ,eAAS,GAAG,KAAK,CAAC;QAClB,cAAQ,GAAG,KAAK,CAAC;QAIrB,MAAM,CAAC,MAAM,CAAC,KAAI,EAAE,QAAQ,CAAC,CAAC;;IAClC,CAAC;IAED,6BAA6B;IAC7B,0BAAI,GAAJ,UAAK,OAAO,EAAE,OAAO,EAAE,KAAK;QACxB,IAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,4BAAM,GAAN,UAAO,OAAO,EAAE,OAAO,EAAE,KAAK;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,4BAAM,GAAN;QACI,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,0BAAI,GAAJ;QACI,gBAAK,CAAC,IAAI,WAAE,CAAC;QACb,IAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED,4BAAM,GAAN;QACI,gBAAK,CAAC,MAAM,WAAE,CAAC;QACf,IAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IACL,kBAAC;AAAD,CAAC,AAxCD,CAAiC,UAAU,GAwC1C","sourcesContent":["import { BaseAction } from '../base-action';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\n\nconst getManager = () => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.TIMER);\n};\n\nexport class TimerAction extends BaseAction {\n private currentOptions;\n private repeating = false;\n private _isFired = false;\n\n constructor(variable: any) {\n super();\n Object.assign(this, variable);\n }\n\n // Backward compatible method\n fire(options, success, error) {\n if(this.repeating) {\n this.currentOptions = options;\n this._isFired = true;\n }\n return getManager().trigger(this, options, success, error);\n }\n\n invoke(options, success, error) {\n return this.fire(options, success, error);\n }\n\n cancel() {\n return getManager().cancel(this);\n }\n\n mute() {\n super.mute();\n if(this.repeating) {\n this.cancel();\n }\n }\n\n unmute() {\n super.unmute();\n if(this.repeating && this._isFired) {\n this.fire(this.currentOptions, null, null);\n }\n }\n}\n"]}
|
|
@@ -8,7 +8,7 @@ export declare abstract class BaseAction {
|
|
|
8
8
|
_context: any;
|
|
9
9
|
isMuted: boolean;
|
|
10
10
|
execute(operation: any, options: any): any;
|
|
11
|
-
invokeOnParamChange(obj: any, newVal: any, oldVal: any): Promise<this
|
|
11
|
+
invokeOnParamChange(obj: any, newVal: any, oldVal: any): Promise<Awaited<this>>;
|
|
12
12
|
getData(): any;
|
|
13
13
|
setData(dataSet: any): any;
|
|
14
14
|
getValue(key: string, index: number): any;
|
|
@@ -2,7 +2,7 @@ import { DataSource } from "../types/types";
|
|
|
2
2
|
import DatasetUtil from '../util/dataset-util';
|
|
3
3
|
import { getTarget, getTargetNodeKey, getTargetObj, setValueToNode } from "../util/variable/variables.utils";
|
|
4
4
|
import { getClonedObject } from "../util/utils";
|
|
5
|
-
import
|
|
5
|
+
import { isUndefined, includes } from 'lodash-es';
|
|
6
6
|
var BaseAction = /** @class */ (function () {
|
|
7
7
|
function BaseAction() {
|
|
8
8
|
this.isMuted = false;
|
|
@@ -24,11 +24,11 @@ var BaseAction = /** @class */ (function () {
|
|
|
24
24
|
};
|
|
25
25
|
BaseAction.prototype.invokeOnParamChange = function (obj, newVal, oldVal) {
|
|
26
26
|
var target = obj.target, root = getTarget(this), targetObj = getTargetObj(obj, root, this), targetNodeKey = getTargetNodeKey(target);
|
|
27
|
-
if ((newVal === oldVal &&
|
|
27
|
+
if ((newVal === oldVal && isUndefined(newVal)) || (isUndefined(newVal) && (!isUndefined(oldVal) || !isUndefined(targetObj[targetNodeKey])))) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
// Skip cloning for blob column
|
|
31
|
-
if (!
|
|
31
|
+
if (!includes(['blob', 'file'], obj.type)) {
|
|
32
32
|
newVal = getClonedObject(newVal);
|
|
33
33
|
}
|
|
34
34
|
setValueToNode(target, obj, root, this, newVal); // cloning newVal to keep the source clean
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-action.js","sourceRoot":"./","sources":["src/model/base-action.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataSource } from \"../types/types\";\nimport DatasetUtil from '../util/dataset-util';\nimport {getTarget, getTargetNodeKey, getTargetObj, setValueToNode} from \"../util/variable/variables.utils\";\nimport {getClonedObject} from \"../util/utils\";\n\nimport {isUndefined, includes} from 'lodash-es';\nexport abstract class BaseAction {\n\n protected _id: string;\n\n name: string;\n owner: string;\n category: string;\n dataSet: any;\n dataBinding: any;\n _context: any;\n isMuted = false;\n\n execute(operation, options) {\n let returnVal;\n switch (operation) {\n case DataSource.Operation.GET_NAME:\n returnVal = this.name;\n break;\n case DataSource.Operation.GET_UNIQUE_IDENTIFIER:\n returnVal = this._id;\n break;\n case DataSource.Operation.GET_CONTEXT_IDENTIFIER:\n returnVal = this._context;\n break;\n }\n return returnVal;\n }\n\n invokeOnParamChange(obj, newVal, oldVal) {\n const target = obj.target,\n root = getTarget(this),\n targetObj = getTargetObj(obj, root, this),\n targetNodeKey = getTargetNodeKey(target);\n if ((newVal === oldVal && isUndefined(newVal)) || (isUndefined(newVal) && (!isUndefined(oldVal) || !isUndefined(targetObj[targetNodeKey])))) {\n return;\n }\n // Skip cloning for blob column\n if (!includes(['blob', 'file'], obj.type)) {\n newVal = getClonedObject(newVal);\n }\n setValueToNode(target, obj, root, this, newVal); // cloning newVal to keep the source clean\n return Promise.resolve(this);\n }\n\n getData() {\n return this.dataSet;\n }\n\n setData(dataSet: any) {\n if (DatasetUtil.isValidDataset(dataSet)) {\n this.dataSet = dataSet;\n }\n return this.dataSet;\n }\n\n getValue(key: string, index: number) {\n return DatasetUtil.getValue(this.dataSet, key, index);\n }\n\n setValue(key: string, value: any) {\n return DatasetUtil.setValue(this.dataSet, key, value);\n }\n\n getItem(index: number) {\n return DatasetUtil.getItem(this.dataSet, index);\n }\n\n /**\n *\n * @param index, a number in ideal case\n * it can be the object to be replaced by the passed value\n * @param value\n * @returns {any}\n */\n setItem(index: any, value: any) {\n return DatasetUtil.setItem(this.dataSet, index, value);\n }\n\n addItem(value: any, index: number) {\n return DatasetUtil.addItem(this.dataSet, value, index);\n }\n\n removeItem(index: any, exactMatch: boolean) {\n return DatasetUtil.removeItem(this.dataSet, index, exactMatch);\n }\n\n clearData() {\n this.dataSet = DatasetUtil.getValidDataset();\n return this.dataSet;\n }\n\n getCount() {\n return DatasetUtil.getCount(this.dataSet);\n }\n\n init() {\n }\n\n mute() {\n this.isMuted = true;\n }\n\n unmute() {\n this.isMuted = false;\n }\n}\n"]}
|
|
@@ -21,7 +21,7 @@ export declare abstract class BaseVariable implements EventNotifier {
|
|
|
21
21
|
notify(event: string, args: any[]): void;
|
|
22
22
|
subscribe(event: string, fn: Function): () => void;
|
|
23
23
|
execute(operation: any, options: any): any;
|
|
24
|
-
invokeOnParamChange(obj?: any, newVal?: any, oldVal?: any): Promise<this
|
|
24
|
+
invokeOnParamChange(obj?: any, newVal?: any, oldVal?: any): Promise<Awaited<this>>;
|
|
25
25
|
getData(): any;
|
|
26
26
|
setData(dataSet: any): any;
|
|
27
27
|
getValue(key: string, index: number): any;
|
|
@@ -3,7 +3,7 @@ import DatasetUtil from '../util/dataset-util';
|
|
|
3
3
|
import { getTargetNodeKey, getTargetObj, getTarget, setValueToNode, internalBoundNodeMap, updateInternalNodes } from "../util/variable/variables.utils";
|
|
4
4
|
import { getClonedObject } from "../util/utils";
|
|
5
5
|
import { DefaultEventNotifier } from "../types/event-notifier";
|
|
6
|
-
import
|
|
6
|
+
import { omit, isUndefined, includes, set, isObject, get, isArray, isNumber, isBoolean } from 'lodash-es';
|
|
7
7
|
export var VariableEvents;
|
|
8
8
|
(function (VariableEvents) {
|
|
9
9
|
VariableEvents["BEFORE_INVOKE"] = "beforeInvoke";
|
|
@@ -34,13 +34,13 @@ var BaseVariable = /** @class */ (function () {
|
|
|
34
34
|
returnVal = this._context;
|
|
35
35
|
break;
|
|
36
36
|
case DataSource.Operation.ADD_ITEM:
|
|
37
|
-
returnVal = this.addItem(options.item,
|
|
37
|
+
returnVal = this.addItem(options.item, omit(options, 'item'));
|
|
38
38
|
break;
|
|
39
39
|
case DataSource.Operation.SET_ITEM:
|
|
40
|
-
returnVal = this.setItem(options.prevItem, options.item,
|
|
40
|
+
returnVal = this.setItem(options.prevItem, options.item, omit(options, 'prevItem', 'item'));
|
|
41
41
|
break;
|
|
42
42
|
case DataSource.Operation.REMOVE_ITEM:
|
|
43
|
-
returnVal = this.removeItem(options.item,
|
|
43
|
+
returnVal = this.removeItem(options.item, omit(options, 'item'));
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
46
|
return returnVal;
|
|
@@ -51,11 +51,11 @@ var BaseVariable = /** @class */ (function () {
|
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
53
|
var target = obj === null || obj === void 0 ? void 0 : obj.target, root = getTarget(this), targetObj = getTargetObj(obj, root, this), targetNodeKey = getTargetNodeKey(target);
|
|
54
|
-
if ((newVal === oldVal &&
|
|
54
|
+
if ((newVal === oldVal && isUndefined(newVal)) || (isUndefined(newVal) && (!isUndefined(oldVal) || !isUndefined(targetObj[targetNodeKey])))) {
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
// Skip cloning for blob column
|
|
58
|
-
if (!
|
|
58
|
+
if (!includes(['blob', 'file'], obj.type)) {
|
|
59
59
|
newVal = getClonedObject(newVal);
|
|
60
60
|
}
|
|
61
61
|
setValueToNode(target, obj, root, this, newVal); // cloning newVal to keep the source clean
|
|
@@ -64,9 +64,9 @@ var BaseVariable = /** @class */ (function () {
|
|
|
64
64
|
if (!internalBoundNodeMap.has(this)) {
|
|
65
65
|
internalBoundNodeMap.set(this, {});
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
set(internalBoundNodeMap.get(this), [this.name, root, target], newVal);
|
|
68
68
|
/*update the internal nodes after internal node map is set*/
|
|
69
|
-
if (
|
|
69
|
+
if (isObject(newVal)) {
|
|
70
70
|
updateInternalNodes(target, root, this);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -115,21 +115,21 @@ var BaseVariable = /** @class */ (function () {
|
|
|
115
115
|
var targetNode = void 0;
|
|
116
116
|
if (isList) {
|
|
117
117
|
parentIndex = options.parentIndex || 0;
|
|
118
|
-
targetNode =
|
|
118
|
+
targetNode = get(this.dataSet[parentIndex], options.path);
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
121
|
-
targetNode =
|
|
121
|
+
targetNode = get(this.dataSet, options.path);
|
|
122
122
|
}
|
|
123
|
-
isList = targetNode ?
|
|
123
|
+
isList = targetNode ? isArray(targetNode) ? true : false : true;
|
|
124
124
|
}
|
|
125
125
|
return { path: path, isList: isList, parentIndex: parentIndex };
|
|
126
126
|
};
|
|
127
127
|
BaseVariable.prototype.addItem = function (value, options) {
|
|
128
128
|
var index;
|
|
129
|
-
if (
|
|
129
|
+
if (isNumber(options)) {
|
|
130
130
|
index = options;
|
|
131
131
|
}
|
|
132
|
-
if (
|
|
132
|
+
if (isObject(options)) {
|
|
133
133
|
index = options.index;
|
|
134
134
|
}
|
|
135
135
|
options = this.getChildDetails(options);
|
|
@@ -138,17 +138,17 @@ var BaseVariable = /** @class */ (function () {
|
|
|
138
138
|
BaseVariable.prototype.removeItem = function (index, options) {
|
|
139
139
|
var exactMatch, parentIndex;
|
|
140
140
|
if (options) {
|
|
141
|
-
if (
|
|
141
|
+
if (isBoolean(options)) {
|
|
142
142
|
exactMatch = options;
|
|
143
143
|
}
|
|
144
|
-
if (
|
|
144
|
+
if (isObject(options)) {
|
|
145
145
|
exactMatch = options.exactMatch;
|
|
146
146
|
if (this.isList) {
|
|
147
147
|
parentIndex = options.parentIndex || 0;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
return DatasetUtil.removeItem(this.dataSet, index, { exactMatch: exactMatch, path:
|
|
151
|
+
return DatasetUtil.removeItem(this.dataSet, index, { exactMatch: exactMatch, path: get(options, 'path'), parentIndex: parentIndex });
|
|
152
152
|
};
|
|
153
153
|
BaseVariable.prototype.clearData = function () {
|
|
154
154
|
this.dataSet = DatasetUtil.getValidDataset(this.isList);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-variable.js","sourceRoot":"./","sources":["src/model/base-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataSource } from '../types/types';\n\nimport DatasetUtil from '../util/dataset-util';\nimport {\n getTargetNodeKey,\n getTargetObj,\n getTarget,\n setValueToNode,\n internalBoundNodeMap,\n updateInternalNodes\n} from \"../util/variable/variables.utils\";\nimport {getClonedObject} from \"../util/utils\";\nimport { EventNotifier, DefaultEventNotifier } from \"../types/event-notifier\";\nimport {omit, isUndefined, includes, set, isObject, get, isArray, isNumber, isBoolean} from 'lodash-es';\nexport enum VariableEvents {\n BEFORE_INVOKE = 'beforeInvoke',\n AFTER_INVOKE = 'afterInvoke'\n};\nexport abstract class BaseVariable implements EventNotifier {\n\n protected _id: string;\n\n name: string;\n owner: string;\n category: string;\n isList: boolean;\n dataSet: any;\n dataBinding: any;\n inputFields: any;\n filterFields: any;\n _context: any;\n isMuted = false;\n params;\n paramProvider;\n private eventNotifier = new DefaultEventNotifier();\n\n notify (event: string, args: any[]) {\n this.eventNotifier.notify(event, args);\n }\n\n subscribe (event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n execute(operation: any, options: any) {\n let returnVal;\n switch (operation) {\n case DataSource.Operation.GET_NAME:\n returnVal = this.name;\n break;\n case DataSource.Operation.GET_UNIQUE_IDENTIFIER:\n returnVal = this._id;\n break;\n case DataSource.Operation.GET_CONTEXT_IDENTIFIER:\n returnVal = this._context;\n break;\n case DataSource.Operation.ADD_ITEM:\n returnVal = this.addItem(options.item, omit(options, 'item'));\n break;\n case DataSource.Operation.SET_ITEM:\n returnVal = this.setItem(options.prevItem, options.item, omit(options, 'prevItem', 'item'));\n break;\n case DataSource.Operation.REMOVE_ITEM:\n returnVal = this.removeItem(options.item, omit(options, 'item'));\n break;\n }\n return returnVal;\n }\n\n invokeOnParamChange(obj?, newVal?, oldVal?) {\n const runMode = true;\n if(!obj) {\n return;\n }\n const target = obj?.target,\n root = getTarget(this),\n targetObj = getTargetObj(obj, root, this),\n targetNodeKey = getTargetNodeKey(target);\n if ((newVal === oldVal && isUndefined(newVal)) || (isUndefined(newVal) && (!isUndefined(oldVal) || !isUndefined(targetObj[targetNodeKey])))) {\n return;\n }\n // Skip cloning for blob column\n if (!includes(['blob', 'file'], obj.type)) {\n newVal = getClonedObject(newVal);\n }\n setValueToNode(target, obj, root, this, newVal); // cloning newVal to keep the source clean\n if (runMode) {\n /*set the internal bound node map with the latest updated value*/\n if (!internalBoundNodeMap.has(this)) {\n internalBoundNodeMap.set(this, {});\n }\n set(internalBoundNodeMap.get(this), [this.name, root, target], newVal);\n /*update the internal nodes after internal node map is set*/\n if (isObject(newVal)) {\n updateInternalNodes(target, root, this);\n }\n }\n return Promise.resolve(this);\n }\n\n getData() {\n return this.dataSet;\n }\n\n setData(dataSet: any) {\n if (DatasetUtil.isValidDataset(dataSet, this.isList)) {\n this.dataSet = dataSet;\n }\n return this.dataSet;\n }\n\n getValue(key: string, index: number) {\n return DatasetUtil.getValue(this.dataSet, key, index, this.isList);\n }\n\n setValue(key: string, value: any) {\n return DatasetUtil.setValue(this.dataSet, key, value, this.isList);\n }\n\n getItem(index: number) {\n return DatasetUtil.getItem(this.dataSet, index, this.isList);\n }\n\n /**\n *\n * @param index, a number in ideal case\n * it can be the object to be replaced by the passed value\n * @param value\n * @returns {any}\n */\n setItem(index: any, value: any, options?: any) {\n options = this.getChildDetails(options);\n return DatasetUtil.setItem(this.dataSet, index, value, options);\n }\n\n /**\n * This method is to get target node options like path, parentIndex and isList\n * @param options: provided options\n * @returns {object}\n * Example: if we have parent dataset as object and we are performing operations on inner list then we have to set isList as true.\n * So finding the target node type and updating the isList option.\n */\n private getChildDetails (options: any) {\n let parentIndex, isList = this.isList, path;\n if (options && options.path) {\n path = options.path;\n let targetNode;\n if (isList) {\n parentIndex = options.parentIndex || 0;\n targetNode = get(this.dataSet[parentIndex], options.path);\n } else {\n targetNode = get(this.dataSet, options.path);\n }\n isList = targetNode ? isArray(targetNode) ? true : false : true;\n }\n return {path, isList, parentIndex};\n }\n\n addItem(value: any, options?: any) {\n let index;\n if (isNumber(options)) {\n index = options;\n }\n if (isObject(options)) {\n index = options.index;\n }\n\n options = this.getChildDetails(options);\n return DatasetUtil.addItem(this.dataSet, value, index, options);\n }\n\n removeItem(index: any, options?: any) {\n let exactMatch, parentIndex;\n if (options) {\n if (isBoolean(options)) {\n exactMatch = options;\n }\n if (isObject(options)) {\n exactMatch = options.exactMatch;\n if (this.isList) {\n parentIndex = options.parentIndex || 0;\n }\n }\n }\n return DatasetUtil.removeItem(this.dataSet, index, { exactMatch, path: get(options, 'path'), parentIndex });\n }\n\n clearData() {\n this.dataSet = DatasetUtil.getValidDataset(this.isList);\n return this.dataSet;\n }\n\n getCount() {\n return DatasetUtil.getCount(this.dataSet, this.isList);\n }\n\n /**\n * Return the prefab name if the variable is form a prefab\n * @returns {string}\n */\n getPrefabName() {\n const prefabname = this._context && (this._context.prefabname || this._context.prefabName);\n // __self__ is a prefab name given to a prefab which is run in preview mode\n return prefabname !== '__self__' && prefabname;\n }\n\n mute() {\n this.isMuted = true;\n }\n\n unmute() {\n this.isMuted = false;\n }\n\n destroy() {\n \n }\n}\n"]}
|