@wavemaker/variables 12.0.0-next.141219 → 12.0.0-next.141221
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/dist/es2015/index.d.ts +14 -0
- package/dist/es2015/src/constants/variables.constants.d.ts +370 -0
- package/dist/es2015/src/factory/variable-manager.factory.d.ts +4 -0
- package/dist/es2015/src/model/variable/api-aware-variable.d.ts +1 -0
- package/dist/es2015/src/types/date-formatter.d.ts +1 -0
- package/dist/es2015/src/types/http-client.service.d.ts +1 -0
- package/dist/es2015/src/types/types.d.ts +6 -0
- package/dist/es2015/src/util/dataset-util.d.ts +29 -0
- package/dist/es2015/src/util/file-upload.util.d.ts +11 -0
- package/dist/es2015/src/util/notify-promise.d.ts +1 -0
- package/dist/es2015/src/util/oAuth.utils.d.ts +3 -0
- package/dist/es2015/src/util/variable/live-variable.http.utils.d.ts +21 -0
- package/dist/es2015/src/util/variable/live-variable.utils.d.ts +79 -0
- package/dist/es2015/src/util/variable/pagination.utils.d.ts +83 -0
- package/dist/es2015/src/util/variable/service-variable.utils.d.ts +18 -0
- package/dist/es2015/src/util/variable/variables.utils.d.ts +29 -0
- package/dist/es2015/webpack.config.d.ts +21 -0
- package/npm-shrinkwrap.json +2077 -0
- package/package-lock.json +2077 -0
- {variables → package}/package.json +4 -3
- package/scripts/build.d.ts +1 -0
- {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 +40 -40
- 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 -83
- package/src/util/variable/live-variable.utils.js.map +1 -0
- {variables → package}/src/util/variable/pagination.utils.js +18 -18
- 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.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/dist/es2015}/scripts/build.d.ts +0 -0
- /variables/scripts/update-version.d.ts → /package/dist/es2015/src/advanced-options.d.ts +0 -0
- {variables → package}/index.d.ts +0 -0
- {variables → package}/index.js +0 -0
- {variables → package}/index.js.map +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,7 +351,7 @@ 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
357
|
// Ignore readOnly params in case of formData file params will be duplicated
|
|
@@ -393,9 +393,9 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
393
393
|
*/
|
|
394
394
|
ServiceVariableManager.prototype.isFileUploadInProgress = function (dataBindings) {
|
|
395
395
|
var filesStatus = false;
|
|
396
|
-
|
|
397
|
-
if (
|
|
398
|
-
|
|
396
|
+
forEach(dataBindings, function (dataBinding) {
|
|
397
|
+
if (isArray(dataBinding) && dataBinding[0] instanceof File) {
|
|
398
|
+
forEach(dataBinding, function (file) {
|
|
399
399
|
if (file.status === 'onProgress') {
|
|
400
400
|
filesStatus = true;
|
|
401
401
|
return;
|
|
@@ -410,13 +410,13 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
410
410
|
var _this = this;
|
|
411
411
|
var fileParamCount = 0;
|
|
412
412
|
var fileArr = [], promArr = [];
|
|
413
|
-
|
|
414
|
-
if (
|
|
413
|
+
forEach(inputFields, function (inputField) {
|
|
414
|
+
if (isArray(inputField)) {
|
|
415
415
|
if (inputField[0] instanceof File) {
|
|
416
416
|
fileParamCount++;
|
|
417
417
|
}
|
|
418
|
-
|
|
419
|
-
if (input instanceof File ||
|
|
418
|
+
forEach(inputField, function (input) {
|
|
419
|
+
if (input instanceof File || find(values(input), function (o) { return o instanceof Blob; })) {
|
|
420
420
|
fileArr.push(input);
|
|
421
421
|
_this.totalFilesCount++;
|
|
422
422
|
fileParamCount = fileParamCount || 1;
|
|
@@ -433,7 +433,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
433
433
|
});
|
|
434
434
|
if (fileParamCount === 1) {
|
|
435
435
|
if (inputFields.files.length > 1) {
|
|
436
|
-
|
|
436
|
+
forEach(fileArr, function (file) {
|
|
437
437
|
promArr.push(_this.uploadFileInFormData(variable, options, success, error, file, requestParams));
|
|
438
438
|
});
|
|
439
439
|
return Promise.all(promArr);
|
|
@@ -467,7 +467,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
467
467
|
triggerFn(error);
|
|
468
468
|
return;
|
|
469
469
|
}
|
|
470
|
-
if (
|
|
470
|
+
if (isObject(output)) {
|
|
471
471
|
inputFields = output;
|
|
472
472
|
}
|
|
473
473
|
var operationInfo = this.getMethodInfo(variable, inputFields, options);
|
|
@@ -475,7 +475,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
475
475
|
// check errors
|
|
476
476
|
if (requestParams.error) {
|
|
477
477
|
var info = this.handleRequestMetaError(requestParams, variable, success, error, options);
|
|
478
|
-
var reason = (
|
|
478
|
+
var reason = (get(info, 'error.message') || 'An error occurred while triggering the variable: ') + ': ' + variable.name;
|
|
479
479
|
triggerFn(error);
|
|
480
480
|
$queue.process(variable);
|
|
481
481
|
return Promise.reject(reason);
|
|
@@ -488,7 +488,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
488
488
|
}
|
|
489
489
|
}
|
|
490
490
|
// file download
|
|
491
|
-
if (operationInfo &&
|
|
491
|
+
if (operationInfo && isArray(operationInfo.produces) && includes(operationInfo.produces, WS_CONSTANTS.CONTENT_TYPES.OCTET_STREAM) && variable.simulateFileDownload) {
|
|
492
492
|
// ToDo - variable seperation
|
|
493
493
|
return variable.simulateFileDownload(requestParams, variable.dataBinding.file || variable.name, variable.dataBinding.exportType, function () {
|
|
494
494
|
initiateCallback(VARIABLE_CONSTANTS.EVENT.SUCCESS, variable, null, null, null);
|
|
@@ -505,7 +505,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
505
505
|
successHandler = function (response, resolve) {
|
|
506
506
|
if (response && response.type || response && response.status) {
|
|
507
507
|
var res = response.body || response.data;
|
|
508
|
-
var data = _this.processSuccessResponse(res, variable,
|
|
508
|
+
var data = _this.processSuccessResponse(res, variable, extend(options, { 'xhrObj': response }), success, response.headers);
|
|
509
509
|
// notify variable success
|
|
510
510
|
_this.notifyInflight(variable, false, data);
|
|
511
511
|
if (ServiceVariableUtils.isFileDeleteRequest(variable) && variable._deleteFileObservable) {
|
|
@@ -584,7 +584,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
584
584
|
requestParams.method = options.httpMethod || 'POST';
|
|
585
585
|
requestParams.url = options.url || requestParams.url;
|
|
586
586
|
// If request params returns error then show an error toaster
|
|
587
|
-
if (
|
|
587
|
+
if (hasIn(requestParams, 'error.message')) {
|
|
588
588
|
triggerFn(errorHandler, requestParams.error.message);
|
|
589
589
|
return Promise.reject(requestParams.error.message);
|
|
590
590
|
}
|
|
@@ -604,13 +604,13 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
604
604
|
};
|
|
605
605
|
ServiceVariableManager.prototype.getInputParms = function (variable) {
|
|
606
606
|
var wmServiceOperationInfo;
|
|
607
|
-
if (!
|
|
608
|
-
wmServiceOperationInfo =
|
|
607
|
+
if (!isEmpty(metadataService)) {
|
|
608
|
+
wmServiceOperationInfo = get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');
|
|
609
609
|
}
|
|
610
610
|
else {
|
|
611
611
|
wmServiceOperationInfo = variable.serviceInfo;
|
|
612
612
|
}
|
|
613
|
-
return
|
|
613
|
+
return get(wmServiceOperationInfo, 'parameters');
|
|
614
614
|
};
|
|
615
615
|
ServiceVariableManager.prototype.setInput = function (variable, key, val, options) {
|
|
616
616
|
return setInput(variable.dataBinding, key, val, options);
|
|
@@ -653,7 +653,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
653
653
|
'get': function () {
|
|
654
654
|
var dataSet = variable.dataSet;
|
|
655
655
|
// For procedure(v1) data doesn't come under content
|
|
656
|
-
return
|
|
656
|
+
return head(dataSet && dataSet.content) || head(dataSet) || {};
|
|
657
657
|
}
|
|
658
658
|
});
|
|
659
659
|
Object.defineProperty(variable, 'lastRecord', {
|
|
@@ -661,7 +661,7 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
661
661
|
'get': function () {
|
|
662
662
|
var dataSet = variable.dataSet;
|
|
663
663
|
// For procedure(v1) data doesn't come under content
|
|
664
|
-
return
|
|
664
|
+
return last(dataSet && dataSet.content) || last(dataSet) || {};
|
|
665
665
|
}
|
|
666
666
|
});
|
|
667
667
|
}
|
|
@@ -672,12 +672,12 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
672
672
|
var queryParams = ServiceVariableUtils.excludePaginationParams(inputParams);
|
|
673
673
|
var inputFields = {};
|
|
674
674
|
// check if some param value is already available in databinding and update the inputFields accordingly
|
|
675
|
-
|
|
675
|
+
map(variable.dataBinding, function (value, key) {
|
|
676
676
|
inputFields[key] = value;
|
|
677
677
|
});
|
|
678
678
|
// add the query params mentioned in the searchkey to inputFields
|
|
679
|
-
|
|
680
|
-
if (
|
|
679
|
+
forEach(filterFields, function (value) {
|
|
680
|
+
if (includes(queryParams, value)) {
|
|
681
681
|
inputFields[value] = searchValue;
|
|
682
682
|
}
|
|
683
683
|
});
|
|
@@ -692,12 +692,12 @@ var ServiceVariableManager = /** @class */ (function (_super) {
|
|
|
692
692
|
* @returns {Promise<any>}
|
|
693
693
|
*/
|
|
694
694
|
ServiceVariableManager.prototype.searchRecords = function (variable, options, success, error) {
|
|
695
|
-
var inputFields = this.getQueryParams(
|
|
695
|
+
var inputFields = this.getQueryParams(split(options.searchKey, ','), options.query, variable);
|
|
696
696
|
var requestParams = {
|
|
697
697
|
page: options.page,
|
|
698
698
|
pagesize: options.pagesize,
|
|
699
|
-
skipDataSetUpdate: true,
|
|
700
|
-
skipToggleState: true,
|
|
699
|
+
skipDataSetUpdate: true, // dont update the actual variable dataset,
|
|
700
|
+
skipToggleState: true, // Dont change the varibale toggle state as this is a independent call
|
|
701
701
|
inFlightBehavior: 'executeAll',
|
|
702
702
|
inputFields: inputFields
|
|
703
703
|
};
|
|
@@ -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 || 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"]}
|
|
@@ -23,7 +23,7 @@ import { CRUDList } from '../crud-list';
|
|
|
23
23
|
import { CRUDCreate } from '../crud-create';
|
|
24
24
|
import { CRUDUpdate } from '../crud-update';
|
|
25
25
|
import { CRUDDelete } from '../crud-delete';
|
|
26
|
-
import
|
|
26
|
+
import { isEmpty } from 'lodash-es';
|
|
27
27
|
var getManager = function () {
|
|
28
28
|
return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.CRUD);
|
|
29
29
|
};
|
|
@@ -115,7 +115,7 @@ var CrudVariable = /** @class */ (function (_super) {
|
|
|
115
115
|
return returnVal;
|
|
116
116
|
};
|
|
117
117
|
CrudVariable.prototype.hasPagination = function () {
|
|
118
|
-
return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !
|
|
118
|
+
return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !isEmpty(this.pagination);
|
|
119
119
|
};
|
|
120
120
|
CrudVariable.prototype.invoke = function (options, success, error) {
|
|
121
121
|
return getManager().invoke(this, options, success, error);
|