@wavemaker/variables 12.0.0-next.45752 → 12.0.0-next.47809

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.
Files changed (149) hide show
  1. package/npm-shrinkwrap.json +1993 -0
  2. package/package-lock.json +1993 -0
  3. {variables → package}/package.json +4 -3
  4. {variables → package}/scripts/build.js +52 -15
  5. package/scripts/build.js.map +1 -0
  6. package/src/manager/action/timer-action.manager.js.map +1 -0
  7. {variables → package}/src/manager/variable/base-variable.manager.js +2 -2
  8. package/src/manager/variable/base-variable.manager.js.map +1 -0
  9. {variables → package}/src/manager/variable/crud-variable.manager.js +16 -16
  10. package/src/manager/variable/crud-variable.manager.js.map +1 -0
  11. {variables → package}/src/manager/variable/live-variable.manager.js +50 -50
  12. package/src/manager/variable/live-variable.manager.js.map +1 -0
  13. {variables → package}/src/manager/variable/model-variable.manager.js +12 -12
  14. package/src/manager/variable/model-variable.manager.js.map +1 -0
  15. {variables → package}/src/manager/variable/service-variable.manager.js +61 -44
  16. package/src/manager/variable/service-variable.manager.js.map +1 -0
  17. package/src/model/action/timer-action.js.map +1 -0
  18. {variables → package}/src/model/base-action.d.ts +1 -1
  19. {variables → package}/src/model/base-action.js +3 -3
  20. package/src/model/base-action.js.map +1 -0
  21. {variables → package}/src/model/base-variable.d.ts +1 -1
  22. {variables → package}/src/model/base-variable.js +16 -16
  23. package/src/model/base-variable.js.map +1 -0
  24. {variables → package}/src/model/variable/crud-variable.d.ts +1 -0
  25. {variables → package}/src/model/variable/crud-variable.js +2 -2
  26. package/src/model/variable/crud-variable.js.map +1 -0
  27. {variables → package}/src/model/variable/live-variable.js +7 -7
  28. package/src/model/variable/live-variable.js.map +1 -0
  29. package/src/model/variable/model-variable.js.map +1 -0
  30. {variables → package}/src/model/variable/service-variable.d.ts +1 -0
  31. {variables → package}/src/model/variable/service-variable.js +2 -2
  32. package/src/model/variable/service-variable.js.map +1 -0
  33. package/src/types/event-notifier.js.map +1 -0
  34. {variables → package}/src/util/dataset-util.js +16 -16
  35. package/src/util/dataset-util.js.map +1 -0
  36. {variables → package}/src/util/file-upload.util.js +12 -12
  37. package/src/util/file-upload.util.js.map +1 -0
  38. package/src/util/inflight-queue.js.map +1 -0
  39. package/src/util/notify-promise.js.map +1 -0
  40. {variables → package}/src/util/utils.js +19 -19
  41. package/src/util/utils.js.map +1 -0
  42. {variables → package}/src/util/variable/live-variable.http.utils.js +6 -6
  43. package/src/util/variable/live-variable.http.utils.js.map +1 -0
  44. {variables → package}/src/util/variable/live-variable.utils.js +84 -84
  45. package/src/util/variable/live-variable.utils.js.map +1 -0
  46. {variables → package}/src/util/variable/pagination.utils.js +38 -20
  47. package/src/util/variable/pagination.utils.js.map +1 -0
  48. {variables → package}/src/util/variable/service-variable.utils.d.ts +1 -0
  49. {variables → package}/src/util/variable/service-variable.utils.js +31 -28
  50. package/src/util/variable/service-variable.utils.js.map +1 -0
  51. {variables → package}/src/util/variable/variables.utils.js +49 -49
  52. package/src/util/variable/variables.utils.js.map +1 -0
  53. package/webpack.config.d.ts +21 -0
  54. variables/scripts/build.js.map +0 -1
  55. variables/scripts/update-version.d.ts +0 -1
  56. variables/scripts/update-version.js +0 -27
  57. variables/scripts/update-version.js.map +0 -1
  58. variables/src/manager/action/timer-action.manager.js.map +0 -1
  59. variables/src/manager/variable/base-variable.manager.js.map +0 -1
  60. variables/src/manager/variable/crud-variable.manager.js.map +0 -1
  61. variables/src/manager/variable/live-variable.manager.js.map +0 -1
  62. variables/src/manager/variable/model-variable.manager.js.map +0 -1
  63. variables/src/manager/variable/service-variable.manager.js.map +0 -1
  64. variables/src/model/action/timer-action.js.map +0 -1
  65. variables/src/model/base-action.js.map +0 -1
  66. variables/src/model/base-variable.js.map +0 -1
  67. variables/src/model/variable/crud-variable.js.map +0 -1
  68. variables/src/model/variable/live-variable.js.map +0 -1
  69. variables/src/model/variable/model-variable.js.map +0 -1
  70. variables/src/model/variable/service-variable.js.map +0 -1
  71. variables/src/types/event-notifier.js.map +0 -1
  72. variables/src/util/dataset-util.js.map +0 -1
  73. variables/src/util/file-upload.util.js.map +0 -1
  74. variables/src/util/inflight-queue.js.map +0 -1
  75. variables/src/util/notify-promise.js.map +0 -1
  76. variables/src/util/utils.js.map +0 -1
  77. variables/src/util/variable/live-variable.http.utils.js.map +0 -1
  78. variables/src/util/variable/live-variable.utils.js.map +0 -1
  79. variables/src/util/variable/pagination.utils.js.map +0 -1
  80. variables/src/util/variable/service-variable.utils.js.map +0 -1
  81. variables/src/util/variable/variables.utils.js.map +0 -1
  82. variables/webpack.config.d.ts +0 -21
  83. {variables → package}/index.d.ts +0 -0
  84. {variables → package}/index.js +0 -0
  85. {variables → package}/index.js.map +0 -0
  86. {variables → package}/scripts/build.d.ts +0 -0
  87. {variables → package}/src/advanced-options.d.ts +0 -0
  88. {variables → package}/src/advanced-options.js +0 -0
  89. {variables → package}/src/advanced-options.js.map +0 -0
  90. {variables → package}/src/constants/variables.constants.d.ts +0 -0
  91. {variables → package}/src/constants/variables.constants.js +0 -0
  92. {variables → package}/src/constants/variables.constants.js.map +0 -0
  93. {variables → package}/src/factory/variable-manager.factory.d.ts +0 -0
  94. {variables → package}/src/factory/variable-manager.factory.js +0 -0
  95. {variables → package}/src/factory/variable-manager.factory.js.map +0 -0
  96. {variables → package}/src/manager/action/timer-action.manager.d.ts +0 -0
  97. {variables → package}/src/manager/action/timer-action.manager.js +0 -0
  98. {variables → package}/src/manager/variable/base-variable.manager.d.ts +0 -0
  99. {variables → package}/src/manager/variable/crud-variable.manager.d.ts +0 -0
  100. {variables → package}/src/manager/variable/live-variable.manager.d.ts +0 -0
  101. {variables → package}/src/manager/variable/model-variable.manager.d.ts +0 -0
  102. {variables → package}/src/manager/variable/service-variable.manager.d.ts +0 -0
  103. {variables → package}/src/model/action/timer-action.d.ts +0 -0
  104. {variables → package}/src/model/action/timer-action.js +0 -0
  105. {variables → package}/src/model/crud-create.d.ts +0 -0
  106. {variables → package}/src/model/crud-create.js +0 -0
  107. {variables → package}/src/model/crud-create.js.map +0 -0
  108. {variables → package}/src/model/crud-delete.d.ts +0 -0
  109. {variables → package}/src/model/crud-delete.js +0 -0
  110. {variables → package}/src/model/crud-delete.js.map +0 -0
  111. {variables → package}/src/model/crud-list.d.ts +0 -0
  112. {variables → package}/src/model/crud-list.js +0 -0
  113. {variables → package}/src/model/crud-list.js.map +0 -0
  114. {variables → package}/src/model/crud-update.d.ts +0 -0
  115. {variables → package}/src/model/crud-update.js +0 -0
  116. {variables → package}/src/model/crud-update.js.map +0 -0
  117. {variables → package}/src/model/variable/api-aware-variable.d.ts +0 -0
  118. {variables → package}/src/model/variable/api-aware-variable.js +0 -0
  119. {variables → package}/src/model/variable/api-aware-variable.js.map +0 -0
  120. {variables → package}/src/model/variable/live-variable.d.ts +0 -0
  121. {variables → package}/src/model/variable/model-variable.d.ts +0 -0
  122. {variables → package}/src/model/variable/model-variable.js +0 -0
  123. {variables → package}/src/types/date-formatter.d.ts +0 -0
  124. {variables → package}/src/types/date-formatter.js +0 -0
  125. {variables → package}/src/types/date-formatter.js.map +0 -0
  126. {variables → package}/src/types/event-notifier.d.ts +0 -0
  127. {variables → package}/src/types/event-notifier.js +0 -0
  128. {variables → package}/src/types/http-client.service.d.ts +0 -0
  129. {variables → package}/src/types/http-client.service.js +0 -0
  130. {variables → package}/src/types/http-client.service.js.map +0 -0
  131. {variables → package}/src/types/types.d.ts +0 -0
  132. {variables → package}/src/types/types.js +0 -0
  133. {variables → package}/src/types/types.js.map +0 -0
  134. {variables → package}/src/util/dataset-util.d.ts +0 -0
  135. {variables → package}/src/util/file-upload.util.d.ts +0 -0
  136. {variables → package}/src/util/inflight-queue.d.ts +0 -0
  137. {variables → package}/src/util/inflight-queue.js +0 -0
  138. {variables → package}/src/util/notify-promise.d.ts +0 -0
  139. {variables → package}/src/util/notify-promise.js +0 -0
  140. {variables → package}/src/util/oAuth.utils.d.ts +0 -0
  141. {variables → package}/src/util/oAuth.utils.js +0 -0
  142. {variables → package}/src/util/oAuth.utils.js.map +0 -0
  143. {variables → package}/src/util/utils.d.ts +0 -0
  144. {variables → package}/src/util/variable/live-variable.http.utils.d.ts +0 -0
  145. {variables → package}/src/util/variable/live-variable.utils.d.ts +0 -0
  146. {variables → package}/src/util/variable/pagination.utils.d.ts +0 -0
  147. {variables → package}/src/util/variable/variables.utils.d.ts +0 -0
  148. {variables → package}/webpack.config.js +0 -0
  149. {variables → package}/webpack.config.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-variable.utils.js","sourceRoot":"./","sources":["src/util/variable/service-variable.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { extractType, isDefined, isDateTimeType, getBlob, replace } from \"../../util/utils\";\n\nimport { $rootScope, CONSTANTS, SWAGGER_CONSTANTS, VARIABLE_CONSTANTS, WS_CONSTANTS } from '../../constants/variables.constants';\nimport { isFileUploadSupported } from './variables.utils';\nimport { getAccessToken } from './../oAuth.utils';\nimport { formatDate} from \"./variables.utils\";\nimport { PaginationUtils } from '../../util/variable/pagination.utils';\n\nimport {includes, toLower, get, isObject, isArray, forEach, isUndefined, join, isEmpty, isNull, concat, toUpper, map, reject} from 'lodash-es';\n\n\n/**\n * returns true if a Service variable is:\n * - for a query/procedure\n * - performs a PUT/POST operation, i.e, takes a Request Body as input\n * @param variable\n * @returns {any}\n */\nconst isBodyTypeQueryOrProcedure = (variable) => {\n return (includes(['QueryExecution', 'ProcedureExecution'], variable.controller)) && (includes(['put', 'post'], variable.operationType));\n};\n\n/**\n * returns true if the variable is a Query service variable\n * @param {string} controller\n * @param {string} serviceType\n * @returns {boolean}\n */\nconst isQueryServiceVar = (controller: string, serviceType: string) => {\n return controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY && serviceType === VARIABLE_CONSTANTS.SERVICE_TYPE.DATA;\n};\n\n/**\n * Append given value to the formdata\n * @param formData\n * @param param - Param from which value has to be taken\n * @param paramValue - Value which is to be appended to formdata\n */\nconst getFormData = (formData, param, paramValue) => {\n const paramType = toLower(extractType(get(param, 'items.type') || param.type)),\n paramContentType = CONSTANTS.isStudioMode ? param['x-WM-CONTENT_TYPE'] : param.contentType;\n if (isFileUploadSupported()) {\n if ((paramType !== 'file') && (paramContentType === 'string' || !paramContentType)) {\n if (isObject(paramValue)) {\n paramValue = JSON.stringify(paramValue);\n }\n formData.append(param.name, paramValue);\n } else {\n if (isArray(paramValue) && paramType === 'file') {\n forEach(paramValue, function (fileObject) {\n formData.append(param.name, (fileObject && fileObject.content) || getBlob(fileObject), fileObject.name);\n });\n } else {\n formData.append(param.name, getBlob(paramValue, paramContentType), paramValue && paramValue.name);\n }\n }\n return formData;\n }\n};\n\n/**\n * Check for missing required params and format the date/time param values\n * @param inputData\n * @param params\n * @returns {{requestBody: {}; missingParams: any[]}}\n */\nconst processRequestBody = (inputData, params, variable) => {\n const requestBody = {},\n missingParams = [];\n let paramValue;\n forEach(params, function (param) {\n paramValue = get(inputData, param.name);\n if (!isUndefined(paramValue) && paramValue !== '' && paramValue !== null && !param.readOnly) {\n // ToDo - variable seperation\n paramValue = isDateTimeType(param.type) ? formatDate(paramValue, param.type, variable.dateFormatter) : paramValue;\n // Construct ',' separated string if param is not array type but value is an array\n if (isArray(paramValue) && toLower(extractType(param.type)) === 'string') {\n paramValue = join(paramValue, ',');\n }\n requestBody[param.name] = paramValue;\n } else if (param.required) {\n missingParams.push(param.name || param.id);\n }\n });\n return {\n 'requestBody': requestBody,\n 'missingParams': missingParams\n };\n};\n\n/**\n * Done only for HTTP calls made via the proxy server\n * Goes though request headers, appends 'X-' to certain headers\n * these headers need not be processed at proxy server and should directly be passed to the server\n * e.g. Authorization, Cookie, etc.\n * @param headers\n * @returns {{}}\n */\nconst cloakHeadersForProxy = (headers) => {\n const _headers = {},\n UNCLOAKED_HEADERS = VARIABLE_CONSTANTS.REST_SERVICE.UNCLOAKED_HEADERS,\n CLOAK_PREFIX = VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY;\n forEach(headers, function (val, key) {\n if (includes(UNCLOAKED_HEADERS, key.toUpperCase())) {\n _headers[key] = val;\n } else {\n _headers[CLOAK_PREFIX + key] = val;\n }\n });\n\n return _headers;\n};\n\nexport class ServiceVariableUtils {\n /**\n * prepares the HTTP request info for a Service Variable\n * @param variable\n * @param operationInfo\n * @param inputFields\n * @returns {any}\n */\n static constructRequestParams(variable, operationInfo, inputFields, options?) {\n variable = variable || {};\n\n // operationInfo is specifically null for un_authorized access\n if (operationInfo === null) {\n return {\n 'error' : {\n 'type': VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.USER_UNAUTHORISED,\n 'message': VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.USER_UNAUTHORISED,\n 'field': '_wmServiceOperationInfo'\n }\n };\n } else if (isEmpty(operationInfo)) {\n return {\n 'error' : {\n 'type': VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.METADATA_MISSING,\n 'message': VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.METADATA_MISSING,\n 'field': '_wmServiceOperationInfo'\n }\n };\n } else if (operationInfo && operationInfo.invalid) {\n return {\n 'error' : {\n 'type': VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING,\n 'message': VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.CRUD_OPERATION_MISSING,\n 'field': '_wmServiceOperationInfo'\n }\n };\n }\n\n const directPath = operationInfo.directPath || '',\n relativePath = operationInfo.basePath ? operationInfo.basePath + operationInfo.relativePath : operationInfo.relativePath,\n isBodyTypeQueryProcedure = isBodyTypeQueryOrProcedure(variable);\n let queryParams = '',\n bodyInfo,\n headers = {},\n requestBody,\n url,\n requiredParamMissing = [],\n target,\n pathParamRex,\n invokeParams,\n authDetails = null,\n uname,\n pswd,\n method,\n formData,\n isProxyCall,\n paramValueInfo,\n params,\n securityDefnObj,\n accessToken,\n withCredentials;\n\n function getFormDataObj() {\n if (formData) {\n return formData;\n }\n formData = new FormData();\n return formData;\n }\n\n securityDefnObj = get(operationInfo.securityDefinitions, '0');\n\n if (securityDefnObj) {\n switch (securityDefnObj.type) {\n case VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.OAUTH2:\n accessToken = getAccessToken(securityDefnObj[VARIABLE_CONSTANTS.REST_SERVICE.OAUTH_PROVIDER_KEY], null);\n if (accessToken) {\n headers[VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY] = VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.OAUTH + ' ' + accessToken;\n } else {\n return {\n 'error': {\n 'type' : VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_ACCESSTOKEN,\n 'message' : VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_ACCESSTOKEN\n },\n 'securityDefnObj': securityDefnObj\n };\n }\n break;\n case VARIABLE_CONSTANTS.REST_SERVICE.SECURITY_DEFN.BASIC:\n uname = inputFields['wm_auth_username'];\n pswd = inputFields['wm_auth_password'];\n if (uname && pswd) {\n // TODO[VIBHU]: bas64 encoding alternative.\n headers[VARIABLE_CONSTANTS.REST_SERVICE.AUTH_HDR_KEY] = VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.AUTH_HDR_VAL.BASIC + ' ' + btoa(uname + ':' + pswd);\n authDetails = {\n 'type': VARIABLE_CONSTANTS.REST_SERVICE.AUTH_TYPE.BASIC\n };\n } else {\n return {\n 'error': {\n 'type' : VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.NO_CREDENTIALS,\n 'message': VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.NO_CREDENTIALS\n },\n 'securityDefnObj': securityDefnObj\n };\n }\n break;\n }\n }\n // set query params, if pagination info is present and the info should be present in query\n PaginationUtils.checkPaginationAtQuery(operationInfo, variable, options);\n\n operationInfo.proxySettings = operationInfo.proxySettings || {web: true, mobile: false};\n method = operationInfo.httpMethod || operationInfo.methodType;\n isProxyCall = (function () {\n // ToDo - variable seperation\n // if (CONSTANTS.hasCordova) {\n return operationInfo.proxySettings.mobile;\n // }\n return operationInfo.proxySettings.web;\n }());\n withCredentials = operationInfo.proxySettings.withCredentials;\n url = isProxyCall ? relativePath : directPath;\n\n /* loop through all the parameters */\n forEach(operationInfo.parameters, function (param) {\n // Set params based on current workspace\n function setParamsOfChildNode() {\n if (inputFields) {\n // specific case for body type query/procedure variable with query params\n if (inputFields[param.name] && isObject(inputFields[param.name])) {\n paramValueInfo = inputFields[param.name];\n } else {\n paramValueInfo = inputFields;\n }\n params = get(operationInfo, ['definitions', param.type]);\n } else {\n // For Api Designer\n paramValueInfo = paramValue || {};\n params = param.children;\n }\n }\n\n let paramValue = param.sampleValue;\n\n if ((isDefined(paramValue) && paramValue !== null && paramValue !== '') || (isBodyTypeQueryProcedure && param.type !== 'file')) {\n // Format dateTime params for dataService variables\n if (variable.serviceType === VARIABLE_CONSTANTS.SERVICE_TYPE.DATA && isDateTimeType(param.type)) {\n // ToDo - variable seperation\n paramValue = formatDate(paramValue, param.type, variable.dateFormatter);\n }\n // Construct ',' separated string if param is not array type but value is an array\n if (isArray(paramValue) && toLower(extractType(param.type)) === 'string' && variable.serviceType === VARIABLE_CONSTANTS.SERVICE_TYPE.DATA) {\n paramValue = join(paramValue, ',');\n }\n switch (param.parameterType.toUpperCase()) {\n case 'QUERY':\n // Ignore null valued query params for queryService variable\n if (isNull(paramValue) && isQueryServiceVar(variable.controller, variable.serviceType)) {\n break;\n }\n if (!queryParams) {\n queryParams = '?' + param.name + '=' + encodeURIComponent(paramValue);\n } else {\n queryParams += '&' + param.name + '=' + encodeURIComponent(paramValue);\n }\n break;\n case 'PATH':\n /* replacing the path param based on the regular expression in the relative path */\n pathParamRex = new RegExp('\\\\s*\\\\{\\\\s*' + param.name + '(:\\\\.\\\\+)?\\\\s*\\\\}\\\\s*');\n url = url.replace(pathParamRex, paramValue);\n break;\n case 'HEADER':\n headers[param.name] = paramValue;\n break;\n case 'BODY':\n // For post/put query methods wrap the input\n if (isBodyTypeQueryProcedure) {\n setParamsOfChildNode();\n bodyInfo = processRequestBody(paramValueInfo, params, variable);\n requestBody = bodyInfo.requestBody;\n requiredParamMissing = concat(requiredParamMissing, bodyInfo.missingParams);\n } else {\n requestBody = paramValue;\n }\n break;\n case 'FORMDATA':\n if (isBodyTypeQueryProcedure && param.name === SWAGGER_CONSTANTS.WM_DATA_JSON) {\n setParamsOfChildNode();\n // Process query/procedure formData non-file params params\n bodyInfo = processRequestBody(paramValueInfo, params, variable);\n requestBody = getFormData(getFormDataObj(), param, bodyInfo.requestBody);\n requiredParamMissing = concat(requiredParamMissing, bodyInfo.missingParams);\n } else {\n requestBody = getFormData(getFormDataObj(), param, paramValue);\n }\n break;\n }\n } else if (param.required) {\n requiredParamMissing.push(param.name || param.id);\n }\n });\n\n // if required param not found, return error\n if (requiredParamMissing.length) {\n return {\n 'error': {\n 'type': VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.REQUIRED_FIELD_MISSING,\n 'field': requiredParamMissing.join(','),\n 'message': replace(VARIABLE_CONSTANTS.REST_SERVICE.ERR_MSG.REQUIRED_FIELD_MISSING, [requiredParamMissing.join(',')]),\n 'skipDefaultNotification': true\n }\n };\n }\n\n // Setting appropriate content-Type for request accepting request body like POST, PUT, etc\n if (!includes(WS_CONSTANTS.NON_BODY_HTTP_METHODS, toUpper(method))) {\n /*Based on the formData browser will automatically set the content type to 'multipart/form-data' and webkit boundary*/\n if (!(operationInfo.consumes && (operationInfo.consumes[0] === WS_CONSTANTS.CONTENT_TYPES.MULTIPART_FORMDATA))) {\n headers['Content-Type'] = (operationInfo.consumes && operationInfo.consumes[0]) || 'application/json';\n }\n }\n\n // if the consumes has application/x-www-form-urlencoded and\n // if the http request of given method type can have body send the queryParams as Form Data\n if (includes(operationInfo.consumes, WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED)\n && !includes(WS_CONSTANTS.NON_BODY_HTTP_METHODS, (method || '').toUpperCase())) {\n // remove the '?' at the start of the queryParams\n if (queryParams) {\n requestBody = (requestBody ? requestBody + '&' : '') + queryParams.substring(1);\n }\n headers['Content-Type'] = WS_CONSTANTS.CONTENT_TYPES.FORM_URL_ENCODED;\n } else {\n url += queryParams;\n }\n\n /*\n * for proxy calls:\n * - cloak the proper headers (required only for REST services)\n * - prepare complete url from relativeUrl\n */\n if (isProxyCall) {\n // avoiding cloakHeadersForProxy when the method is invoked from apidesigner.\n headers = (variable.serviceType !== VARIABLE_CONSTANTS.SERVICE_TYPE.REST && variable.serviceType !== VARIABLE_CONSTANTS.SERVICE_TYPE.OPENAPI) || operationInfo.skipCloakHeaders ? headers : cloakHeadersForProxy(headers);\n if (variable.getPrefabName() && VARIABLE_CONSTANTS.REST_SUPPORTED_SERVICES.indexOf(variable.serviceType) !== -1) {\n /* if it is a prefab variable (used in a normal project), modify the url */\n url = 'prefabs/' + variable.getPrefabName() + url;\n target = 'invokePrefabRestService';\n } else if (!variable.getPrefabName()) {\n url = 'services' + url;\n }\n url = $rootScope.project.deployedUrl + url;\n }\n\n // If pagination info exists, process info in request headers or body based on the metadata\n const paginationInfo = PaginationUtils.getPaginationInfo(operationInfo, variable);\n if (paginationInfo && variable.pagination) {\n const resp = PaginationUtils.setPaginationAtReq(paginationInfo, operationInfo, variable, headers, requestBody, url, options);\n if (resp) {\n if (resp['headers']) {\n headers = resp['headers'];\n } else if (resp['requestBody']) {\n requestBody = resp['requestBody']\n } else if (resp['url']) {\n url = resp['url']\n }\n }\n }\n\n /*creating the params needed to invoke the service. url is generated from the relative path for the operation*/\n invokeParams = {\n 'projectID': $rootScope.project.id,\n 'url': url,\n 'target': target,\n 'method': method,\n 'headers': headers,\n 'data': requestBody,\n 'authDetails': authDetails,\n 'isDirectCall': !isProxyCall,\n 'isExtURL': variable.serviceType === VARIABLE_CONSTANTS.SERVICE_TYPE.REST,\n 'withCredentials': withCredentials\n };\n\n return invokeParams;\n }\n\n static isFileUploadRequest(variable) {\n // temporary fix, have to find proper solution for deciding weather to upload file through variable\n return variable.service === 'FileService' && variable.operation === 'uploadFile';\n }\n\n static isFileDeleteRequest(variable) {\n return variable.service === 'FileService' && variable.operation === 'deleteFile';\n }\n\n /**\n * This method returns array of query param names for variable other then page,size,sort\n * @params {params} params of the variable\n */\n static excludePaginationParams(params) {\n return map(reject(params, (param) => {\n return includes(VARIABLE_CONSTANTS.PAGINATION_PARAMS, param.name);\n }), function (param) {\n return param.name;\n });\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { findValueOf, getValidJSON, noop, extractType, DataType, DEFAULT_FORMATS
2
2
  import { VARIABLE_CONSTANTS } from '../../constants/variables.constants';
3
3
  // @ts-ignore
4
4
  import moment from 'moment';
5
- import _ from 'lodash';
5
+ import { debounce, forEach, isObject, isNumber, isArray, isString, isEmpty, split, map, trim, remove, includes, join, isUndefined, isFunction, filter, keys, get, toUpper, isDate, toLower } from 'lodash-es';
6
6
  import he from 'he';
7
7
  export var appManager;
8
8
  export var httpService;
@@ -17,16 +17,16 @@ export var internalBoundNodeMap = new Map();
17
17
  var timers = new Map();
18
18
  var DOT_EXPR_REX = /^\[("|')[\w\W]*(\1)\]$/;
19
19
  var _invoke = function (variable, op) {
20
- var debouncedFn, cancelFn = _.noop, retVal;
20
+ var debouncedFn, cancelFn = noop, retVal;
21
21
  if (timers.has(variable)) {
22
22
  cancelFn = timers.get(variable).cancel;
23
23
  }
24
24
  cancelFn();
25
- debouncedFn = _.debounce(function () {
25
+ debouncedFn = debounce(function () {
26
26
  retVal = variable[op]();
27
27
  // handle promises to avoid uncaught promise errors in console
28
28
  if (retVal instanceof Promise) {
29
- retVal.catch(_.noop);
29
+ retVal.catch(noop);
30
30
  }
31
31
  }, 100);
32
32
  timers.set(variable, debouncedFn);
@@ -78,7 +78,7 @@ export var isFileUploadSupported = function () {
78
78
  * returns fieldDefs
79
79
  */
80
80
  export var formatExportExpression = function (fieldDefs) {
81
- _.forEach(fieldDefs, function (fieldDef) {
81
+ forEach(fieldDefs, function (fieldDef) {
82
82
  if (fieldDef.expression) {
83
83
  fieldDef.expression = '${' + fieldDef.expression + '}';
84
84
  }
@@ -122,17 +122,17 @@ export var setInput = function (targetObj, key, val, options) {
122
122
  targetObj = targetObj || {};
123
123
  var keys, lastKey, paramObj = {};
124
124
  // content type check
125
- if (_.isObject(options)) {
125
+ if (isObject(options)) {
126
126
  switch (options.type) {
127
127
  case 'file':
128
128
  val = getBlob(val, options.contentType);
129
129
  break;
130
130
  case 'number':
131
- val = _.isNumber(val) ? val : parseInt(val, 10);
131
+ val = isNumber(val) ? val : parseInt(val, 10);
132
132
  break;
133
133
  }
134
134
  }
135
- if (_.isObject(key)) {
135
+ if (isObject(key)) {
136
136
  // check if the passed parameter is an object itself
137
137
  paramObj = key;
138
138
  }
@@ -148,7 +148,7 @@ export var setInput = function (targetObj, key, val, options) {
148
148
  else {
149
149
  paramObj[key] = val;
150
150
  }
151
- _.forEach(paramObj, function (paramVal, paramKey) {
151
+ forEach(paramObj, function (paramVal, paramKey) {
152
152
  targetObj[paramKey] = paramVal;
153
153
  });
154
154
  return targetObj;
@@ -163,34 +163,34 @@ export var decodeData = function (responseContent) {
163
163
  if (!responseContent) {
164
164
  return responseContent;
165
165
  }
166
- if (_.isArray(responseContent)) {
167
- _.forEach(responseContent, function (data) {
168
- if (_.isString(data)) {
166
+ if (isArray(responseContent)) {
167
+ forEach(responseContent, function (data) {
168
+ if (isString(data)) {
169
169
  data = htmlDecode(data);
170
170
  }
171
- else if (_.isObject(data)) {
172
- _.forEach(data, function (value, key) {
173
- if (value && _.isString(value)) {
171
+ else if (isObject(data)) {
172
+ forEach(data, function (value, key) {
173
+ if (value && isString(value)) {
174
174
  data[key] = htmlDecode(value);
175
175
  }
176
- else if (_.isObject(value)) {
176
+ else if (isObject(value)) {
177
177
  decodeData(value);
178
178
  }
179
179
  });
180
180
  }
181
181
  });
182
182
  }
183
- else if (_.isObject(responseContent)) {
184
- _.forEach(responseContent, function (value, key) {
185
- if (value && _.isString(value)) {
183
+ else if (isObject(responseContent)) {
184
+ forEach(responseContent, function (value, key) {
185
+ if (value && isString(value)) {
186
186
  responseContent[key] = htmlDecode(value);
187
187
  }
188
- else if (_.isObject(value)) {
188
+ else if (isObject(value)) {
189
189
  decodeData(value);
190
190
  }
191
191
  });
192
192
  }
193
- else if (_.isString(responseContent)) {
193
+ else if (isString(responseContent)) {
194
194
  responseContent = htmlDecode(responseContent);
195
195
  return responseContent;
196
196
  }
@@ -207,7 +207,7 @@ function htmlDecode(input) {
207
207
  export var getEvaluatedOrderBy = function (varOrder, optionsOrder) {
208
208
  var optionFields, varOrderBy;
209
209
  // If options order by is not defined, return variable order
210
- if (!optionsOrder || _.isEmpty(optionsOrder)) {
210
+ if (!optionsOrder || isEmpty(optionsOrder)) {
211
211
  return varOrder;
212
212
  }
213
213
  // If variable order by is not defined, return options order
@@ -215,24 +215,24 @@ export var getEvaluatedOrderBy = function (varOrder, optionsOrder) {
215
215
  return optionsOrder;
216
216
  }
217
217
  // If both are present, combine the options order and variable order, with options order as precedence
218
- varOrder = _.split(varOrder, ',');
219
- optionsOrder = _.split(optionsOrder, ',');
220
- optionFields = _.map(optionsOrder, function (order) {
221
- return _.split(_.trim(order), ' ')[0];
218
+ varOrder = split(varOrder, ',');
219
+ optionsOrder = split(optionsOrder, ',');
220
+ optionFields = map(optionsOrder, function (order) {
221
+ return split(trim(order), ' ')[0];
222
222
  });
223
223
  // If a field is present in both options and variable, remove the variable orderby
224
- _.remove(varOrder, function (orderBy) {
225
- return _.includes(optionFields, _.split(_.trim(orderBy), ' ')[0]);
224
+ remove(varOrder, function (orderBy) {
225
+ return includes(optionFields, split(trim(orderBy), ' ')[0]);
226
226
  });
227
- varOrderBy = varOrder.length ? ',' + _.join(varOrder, ',') : '';
228
- return _.join(optionsOrder, ',') + varOrderBy;
227
+ varOrderBy = varOrder.length ? ',' + join(varOrder, ',') : '';
228
+ return join(optionsOrder, ',') + varOrderBy;
229
229
  };
230
230
  var processVariablePostBindUpdate = function (nodeName, nodeVal, nodeType, variable, noUpdate) {
231
231
  switch (variable.category) {
232
232
  case VARIABLE_CONSTANTS.CATEGORY.LIVE:
233
233
  if (variable.operation === 'read') {
234
234
  if (nodeName === 'dataBinding') {
235
- _.forEach(nodeVal, function (val, key) {
235
+ forEach(nodeVal, function (val, key) {
236
236
  variable.filterFields[key] = {
237
237
  'value': val
238
238
  };
@@ -245,7 +245,7 @@ var processVariablePostBindUpdate = function (nodeName, nodeVal, nodeType, varia
245
245
  };
246
246
  }
247
247
  /* if auto-update set for the variable with read operation only, get its data */
248
- if (variable.autoUpdate && !_.isUndefined(nodeVal) && _.isFunction(variable.listRecords) && !noUpdate) {
248
+ if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.listRecords) && !noUpdate) {
249
249
  _invoke(variable, 'listRecords');
250
250
  }
251
251
  }
@@ -257,25 +257,25 @@ var processVariablePostBindUpdate = function (nodeName, nodeVal, nodeType, varia
257
257
  variable.inputFields[nodeName] = nodeVal;
258
258
  }
259
259
  /* if auto-update set for the variable with read operation only, get its data */
260
- if (variable.autoUpdate && !_.isUndefined(nodeVal) && _.isFunction(variable[variable.operation + 'Record']) && !noUpdate) {
260
+ if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable[variable.operation + 'Record']) && !noUpdate) {
261
261
  _invoke(variable, variable.operation + 'Record');
262
262
  }
263
263
  }
264
264
  break;
265
265
  case VARIABLE_CONSTANTS.CATEGORY.CRUD:
266
- if (variable.operationType === 'list' && variable.autoUpdate && !_.isUndefined(nodeVal) && _.isFunction(variable.invoke) && !noUpdate) {
266
+ if (variable.operationType === 'list' && variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {
267
267
  _invoke(variable, 'invoke');
268
268
  }
269
269
  break;
270
270
  case VARIABLE_CONSTANTS.CATEGORY.SERVICE:
271
271
  case VARIABLE_CONSTANTS.CATEGORY.LOGIN:
272
- if (variable.autoUpdate && !_.isUndefined(nodeVal) && _.isFunction(variable.invoke) && !noUpdate) {
272
+ if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {
273
273
  _invoke(variable, 'invoke');
274
274
  }
275
275
  break;
276
276
  case VARIABLE_CONSTANTS.CATEGORY.DEVICE:
277
277
  variable[nodeName] = nodeVal;
278
- if (variable.autoUpdate && !_.isUndefined(nodeVal) && _.isFunction(variable.invoke) && !noUpdate) {
278
+ if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {
279
279
  _invoke(variable, 'invoke');
280
280
  }
281
281
  break;
@@ -352,7 +352,7 @@ export var getTargetNodeKey = function (target) {
352
352
  };
353
353
  export var setValueToNode = function (target, obj, root, variable, value, noUpdate) {
354
354
  var targetNodeKey = getTargetNodeKey(target), targetObj = getTargetObj(obj, root, variable);
355
- value = !_.isUndefined(value) ? value : obj.value;
355
+ value = !isUndefined(value) ? value : obj.value;
356
356
  /* sanity check, user can bind parent nodes to non-object values, so child node bindings may fail */
357
357
  if (targetObj) {
358
358
  targetObj[targetNodeKey] = value;
@@ -409,18 +409,18 @@ export var getTarget = function (variable) {
409
409
  * @param variable
410
410
  */
411
411
  export var updateInternalNodes = function (target, root, variable) {
412
- var boundInternalNodes = _.keys(_.get(internalBoundNodeMap.get(variable), [variable.name, root])), targetNodeKey = getTargetNodeKey(target);
412
+ var boundInternalNodes = keys(get(internalBoundNodeMap.get(variable), [variable.name, root])), targetNodeKey = getTargetNodeKey(target);
413
413
  var internalNodes;
414
414
  function findInternalNodeBound() {
415
- return _.filter(boundInternalNodes, function (node) {
415
+ return filter(boundInternalNodes, function (node) {
416
416
  // the later condition in check (targetNodeKey === root || targetNodeKey === 'dataBinding') is specifically for live variable of insert/update types
417
- return (node !== targetNodeKey && _.includes(node, targetNodeKey)) || ((targetNodeKey === root || targetNodeKey === 'dataBinding') && node !== targetNodeKey);
417
+ return (node !== targetNodeKey && includes(node, targetNodeKey)) || ((targetNodeKey === root || targetNodeKey === 'dataBinding') && node !== targetNodeKey);
418
418
  });
419
419
  }
420
420
  internalNodes = findInternalNodeBound();
421
421
  if ((internalNodes.length)) {
422
- _.forEach(internalNodes, function (node) {
423
- setValueToNode(node, { target: node }, root, variable, _.get(internalBoundNodeMap.get(variable), [variable.name, root, node]));
422
+ forEach(internalNodes, function (node) {
423
+ setValueToNode(node, { target: node }, root, variable, get(internalBoundNodeMap.get(variable), [variable.name, root, node]));
424
424
  });
425
425
  }
426
426
  };
@@ -442,7 +442,7 @@ export var initiateCallback = function (type, variable, data, options, skipDefau
442
442
  errorVariable = callBackScope.Actions[VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION];
443
443
  if (errorVariable) {
444
444
  data = errorVariable.getMessage() || data;
445
- data = _.isString(data) ? data : 'An error has occured. Please check the app logs.';
445
+ data = isString(data) ? data : 'An error has occured. Please check the app logs.';
446
446
  errorVariable.invoke({ 'message': data }, undefined, undefined);
447
447
  // $rootScope.$evalAsync(function () {
448
448
  // $rootScope.$emit("invoke-service", VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION, {scope: callBackScope, message: response});
@@ -467,12 +467,12 @@ export var initiateCallback = function (type, variable, data, options, skipDefau
467
467
  }
468
468
  };
469
469
  var getDateTimeFormatForType = function (type) {
470
- return DEFAULT_FORMATS[_.toUpper(type)];
470
+ return DEFAULT_FORMATS[toUpper(type)];
471
471
  };
472
472
  // Format value for datetime types
473
473
  var _formatDate = function (dateValue, type, dateFormatter) {
474
474
  var epoch;
475
- if (_.isDate(dateValue)) {
475
+ if (isDate(dateValue)) {
476
476
  epoch = dateValue.getTime();
477
477
  }
478
478
  else {
@@ -494,11 +494,11 @@ var _formatDate = function (dateValue, type, dateFormatter) {
494
494
  };
495
495
  // Function to convert values of date time types into default formats
496
496
  export var formatDate = function (value, type, dateFormatter) {
497
- if (_.includes(type, '.')) {
498
- type = _.toLower(extractType(type));
497
+ if (includes(type, '.')) {
498
+ type = toLower(extractType(type));
499
499
  }
500
- if (_.isArray(value)) {
501
- return _.map(value, function (val) {
500
+ if (isArray(value)) {
501
+ return map(value, function (val) {
502
502
  return _formatDate(val, type, dateFormatter);
503
503
  });
504
504
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.utils.js","sourceRoot":"./","sources":["src/util/variable/variables.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {findValueOf, getValidJSON, noop, extractType, DataType, DEFAULT_FORMATS, replace} from '../utils';\n\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\n\ndeclare const window: any;\n// @ts-ignore\nimport moment from 'moment';\nimport {debounce, forEach, isObject, isNumber, isArray, isString, isEmpty, split, map, trim, remove, includes, join, isUndefined, isFunction, filter, keys, get, toUpper, isDate, toLower} from 'lodash-es';\nimport he from 'he';\n\nexport let appManager: any;\nexport let httpService: any;\nexport let metadataService: any;\nexport let navigationService: any;\nexport let routerService: any;\nexport let toasterService: any;\nexport let oauthService: any;\nexport let securityService: any;\nexport let dialogService: any;\nexport let internalBoundNodeMap = new Map();\nconst timers = new Map();\nconst DOT_EXPR_REX = /^\\[(\"|')[\\w\\W]*(\\1)\\]$/;\nconst _invoke = (variable, op) => {\n let debouncedFn,\n cancelFn = noop,\n retVal;\n if (timers.has(variable)) {\n cancelFn = timers.get(variable).cancel;\n }\n cancelFn();\n debouncedFn = debounce(function () {\n retVal = variable[op]();\n // handle promises to avoid uncaught promise errors in console\n if (retVal instanceof Promise) {\n retVal.catch(noop);\n }\n }, 100);\n timers.set(variable, debouncedFn);\n debouncedFn();\n};\n\nexport const wmSetDependency = (type: string, ref: any) => {\n switch (type) {\n case 'appManager':\n appManager = ref;\n break;\n case 'http':\n httpService = ref;\n break;\n case 'metadata':\n metadataService = ref;\n break;\n case 'navigationService':\n navigationService = ref;\n break;\n case 'router':\n routerService = ref;\n break;\n case 'toaster':\n toasterService = ref;\n break;\n case 'oAuth':\n oauthService = ref;\n break;\n case 'security':\n securityService = ref;\n break;\n case 'dialog':\n dialogService = ref;\n break;\n }\n};\nexport const debounceVariableCall = _invoke;\n/**\n * returns true if HTML5 File API is available else false\n * @returns {{prototype: Blob; new(blobParts?: any[], options?: BlobPropertyBag): Blob}}\n */\nexport const isFileUploadSupported = () => {\n // ToDo - variable seperation\n return (window.File && window.FileReader && window.FileList && window.Blob);\n};\n\n/**\n * formatting the expression as required by backend which was enclosed by ${<expression>}.\n * @param fieldDefs\n * returns fieldDefs\n */\nexport const formatExportExpression = (fieldDefs: any) => {\n forEach(fieldDefs, function (fieldDef: any) {\n if (fieldDef.expression) {\n fieldDef.expression = '${' + fieldDef.expression + '}';\n }\n });\n return fieldDefs;\n};\n/**\n * prepare a blob object based on the content and content type provided\n * if content is blob itself, simply returns it back\n * @param val\n * @param valContentType\n * @returns {*}\n */\nexport const getBlob = (val: any, valContentType?: any) => {\n if (val instanceof Blob) {\n return val;\n }\n const jsonVal = getValidJSON(val);\n if (jsonVal && jsonVal instanceof Object) {\n val = new Blob([JSON.stringify(jsonVal)], { type: valContentType || 'application/json' });\n } else {\n val = new Blob([val], { type: valContentType || 'text/plain' });\n }\n return val;\n};\n/**\n * sets the value against passed key on the \"inputFields\" object in the variable\n * @param targetObj: the object in which the key, value is to be set\n * @param variable\n * @param key: can be:\n * - a string e.g. \"username\"\n * - an object, e.g. {\"username\": \"john\", \"ssn\": \"11111\"}\n * @param val\n * - if key is string, the value against it (for that data type)\n * - if key is object, not required\n * @param options\n * @returns {any}\n */\nexport const setInput = (targetObj: any, key: any, val: any, options: any) => {\n targetObj = targetObj || {};\n let keys,\n lastKey,\n paramObj = {};\n\n // content type check\n if (isObject(options)) {\n switch (options.type) {\n case 'file':\n val = getBlob(val, options.contentType);\n break;\n case 'number':\n val = isNumber(val) ? val : parseInt(val, 10);\n break;\n }\n }\n\n if (isObject(key)) {\n // check if the passed parameter is an object itself\n paramObj = key;\n } else if (key.indexOf('.') > -1) {\n // check for '.' in key e.g. 'employee.department'\n keys = key.split('.');\n lastKey = keys.pop();\n // Finding the object based on the key\n targetObj = findValueOf(targetObj, keys.join('.'), true);\n key = lastKey;\n paramObj[key] = val;\n } else {\n paramObj[key] = val;\n }\n\n forEach(paramObj, function (paramVal: any, paramKey: any) {\n targetObj[paramKey] = paramVal;\n });\n return targetObj;\n};\n\n/**\n * This method decodes the variable data which is encoded from backend before showing in the widgets.\n * It takes variable response content as input and iterates recursively,\n * if the value is string type then it will decode the data.\n * @param responseContent (Array of objects)\n */\nexport const decodeData = (responseContent: any) => {\n if (!responseContent) {\n return responseContent;\n }\n if (isArray(responseContent)) {\n forEach(responseContent, (data: any) => {\n if (isString(data)) {\n data = htmlDecode(data);\n } else if (isObject(data)) {\n forEach(data, (value: any, key: any) => {\n if (value && isString(value)) {\n data[key] = htmlDecode(value);\n } else if (isObject(value)) {\n decodeData(value);\n }\n });\n }\n });\n } else if (isObject(responseContent)) {\n forEach(responseContent, (value: any, key: any) => {\n if (value && isString(value)) {\n responseContent[key] = htmlDecode(value);\n } else if (isObject(value)) {\n decodeData(value);\n }\n });\n } else if (isString(responseContent)) {\n responseContent = htmlDecode(responseContent);\n return responseContent;\n }\n};\n\nfunction htmlDecode(input: any) {\n return he.unescape(input);\n}\n\n/**\n *\n * @param varOrder\n * @param optionsOrder\n * @returns {any}\n */\nexport const getEvaluatedOrderBy = (varOrder: any, optionsOrder: any) => {\n let optionFields: any,\n varOrderBy;\n // If options order by is not defined, return variable order\n if (!optionsOrder || isEmpty(optionsOrder)) {\n return varOrder;\n }\n // If variable order by is not defined, return options order\n if (!varOrder) {\n return optionsOrder;\n }\n // If both are present, combine the options order and variable order, with options order as precedence\n varOrder = split(varOrder, ',');\n optionsOrder = split(optionsOrder, ',');\n optionFields = map(optionsOrder, function (order: any) {\n return split(trim(order), ' ')[0];\n });\n // If a field is present in both options and variable, remove the variable orderby\n remove(varOrder, function (orderBy: any) {\n return includes(optionFields, split(trim(orderBy), ' ')[0]);\n });\n varOrderBy = varOrder.length ? ',' + join(varOrder, ',') : '';\n return join(optionsOrder, ',') + varOrderBy;\n};\n\nconst processVariablePostBindUpdate = (nodeName, nodeVal, nodeType, variable, noUpdate?) => {\n switch (variable.category) {\n case VARIABLE_CONSTANTS.CATEGORY.LIVE:\n if (variable.operation === 'read') {\n if (nodeName === 'dataBinding') {\n forEach(nodeVal, function (val, key) {\n variable.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n variable.filterFields[nodeName] = {\n 'value': nodeVal,\n 'type' : nodeType\n };\n }\n /* if auto-update set for the variable with read operation only, get its data */\n if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.listRecords) && !noUpdate) {\n _invoke(variable, 'listRecords');\n }\n } else {\n if (nodeName === 'dataBinding') {\n variable.inputFields = nodeVal;\n } else {\n variable.inputFields[nodeName] = nodeVal;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable[variable.operation + 'Record']) && !noUpdate) {\n _invoke(variable, variable.operation + 'Record');\n }\n }\n break;\n case VARIABLE_CONSTANTS.CATEGORY.CRUD:\n if (variable.operationType === 'list' && variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {\n _invoke(variable, 'invoke');\n }\n break;\n case VARIABLE_CONSTANTS.CATEGORY.SERVICE:\n case VARIABLE_CONSTANTS.CATEGORY.LOGIN:\n if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {\n _invoke(variable, 'invoke');\n }\n break;\n case VARIABLE_CONSTANTS.CATEGORY.DEVICE:\n variable[nodeName] = nodeVal;\n if (variable.autoUpdate && !isUndefined(nodeVal) && isFunction(variable.invoke) && !noUpdate) {\n _invoke(variable, 'invoke');\n }\n break;\n }\n};\n\n/**\n* Returns the object node for a bind object, where the value has to be updated\n* obj.target = \"a\"\n * @param obj\n* @param root\n* @param variable\n* @returns {*}\n*/\nexport const getTargetObj = (obj, root, variable) => {\n /*\n * if the target key is in the form as \"['my.param']\"\n * keep the target key as \"my.param\" and do not split further\n * this is done, so that, the computed value against this binding is assigned as\n * {\"my.param\": \"value\"}\n * and not as\n * {\n * \"my\": {\n * \"param\": \"value\"\n * }\n * }\n */\n let target = obj.target,\n targetObj;\n const rootNode = variable[root];\n if (DOT_EXPR_REX.test(target)) {\n targetObj = rootNode;\n } else {\n target = target.substr(0, target.lastIndexOf('.'));\n if (obj.target === root) {\n targetObj = variable;\n } else if (target) {\n targetObj = findValueOf(rootNode, target, true);\n } else {\n targetObj = rootNode;\n }\n }\n return targetObj;\n};\n\n/**\n * Gets the key for the target object\n * the computed value will be updated against this key in the targetObject(computed by getTargetObj())\n * @param target\n * @param regex\n * @returns {*}\n */\nexport const getTargetNodeKey = (target) => {\n /*\n * if the target key is in the form as \"['my.param']\"\n * keep the target key as \"my.param\" and do not split further\n * this is done, so that, the computed value against this binding is assigned as\n * {\"my.param\": \"value\"}\n * and not as\n * {\n * \"my\": {\n * \"param\": \"value\"\n * }\n * }\n */\n let targetNodeKey;\n if (DOT_EXPR_REX.test(target)) {\n targetNodeKey = target.replace(/^(\\[[\"'])|([\"']\\])$/g, '');\n } else {\n targetNodeKey = target.split('.').pop();\n }\n return targetNodeKey;\n};\n\nexport const setValueToNode = (target, obj, root, variable, value, noUpdate?) => {\n const targetNodeKey = getTargetNodeKey(target),\n targetObj = getTargetObj(obj, root, variable);\n value = !isUndefined(value) ? value : obj.value;\n /* sanity check, user can bind parent nodes to non-object values, so child node bindings may fail */\n if (targetObj) {\n targetObj[targetNodeKey] = value;\n }\n processVariablePostBindUpdate(targetNodeKey, value, obj.type, variable, noUpdate);\n};\n\nexport const getTarget = (variable) => {\n let target;\n switch(variable.category) {\n case VARIABLE_CONSTANTS.CATEGORY.MODEL:\n target = 'dataSet';\n break;\n case VARIABLE_CONSTANTS.CATEGORY.LIVE:\n target = variable.operation === 'read' ? 'filterFields' : 'inputFields';\n break;\n default:\n target = 'dataBinding';\n break;\n\n }\n return target;\n}\n\n/**\n * The model internalBoundNodeMap stores the reference to latest computed values against internal(nested) bound nodes\n * This is done so that the internal node's computed value is not lost, once its parent node's value is computed at a later point\n * E.g.\n * Variable.employeeVar has following bindings\n * \"dataBinding\": [\n {\n \"target\": \"department.budget\",\n \"value\": \"bind:Variables.budgetVar.dataSet\"\n },\n {\n \"target\": \"department\",\n \"value\": \"bind:Variables.departmentVar.dataSet\"\n }\n ]\n * When department.budget is computed, employeeVar.dataSet = {\n * \"department\": {\n * \"budget\": {\"q1\": 1111}\n * }\n * }\n *\n * When department is computed\n * \"department\": {\n * \"name\": \"HR\",\n * \"location\": \"Hyderabad\"\n * }\n * The budget field (computed earlier) is LOST.\n *\n * To avoid this, the latest values against internal nodes (in this case department.budget) are stored in a map\n * These values are assigned back to internal fields if the parent is computed (in this case department)\n * @param target\n * @param root\n * @param variable\n */\nexport const updateInternalNodes = (target, root, variable) => {\n const boundInternalNodes = keys(get(internalBoundNodeMap.get(variable), [variable.name, root])),\n targetNodeKey = getTargetNodeKey(target);\n let internalNodes;\n function findInternalNodeBound() {\n return filter(boundInternalNodes, function (node) {\n // the later condition in check (targetNodeKey === root || targetNodeKey === 'dataBinding') is specifically for live variable of insert/update types\n return (node !== targetNodeKey && includes(node, targetNodeKey)) || ((targetNodeKey === root || targetNodeKey === 'dataBinding') && node !== targetNodeKey);\n });\n }\n internalNodes = findInternalNodeBound();\n if ((internalNodes.length)) {\n forEach(internalNodes, function (node) {\n setValueToNode(node, {target: node}, root, variable, get(internalBoundNodeMap.get(variable), [variable.name, root, node]));\n });\n }\n};\n\nexport const initiateCallback = (type: string, variable: any, data: any, options?: any, skipDefaultNotification?: boolean) => {\n\n if (variable._skipInitiateCallback) {\n return;\n }\n /*checking if event is available and variable has event property and variable event property bound to function*/\n const eventValues = variable[type],\n callBackScope = variable._context;\n let errorVariable;\n /**\n * For error event:\n * trigger app level error handler.\n * if no event is assigned, trigger default appNotification variable.\n */\n if (type === VARIABLE_CONSTANTS.EVENT.ERROR && !skipDefaultNotification) {\n if (!eventValues) {\n /* in case of error, if no event assigned, handle through default notification variable */\n errorVariable = callBackScope.Actions[VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION];\n if (errorVariable) {\n data = errorVariable.getMessage() || data;\n data = isString(data) ? data : 'An error has occured. Please check the app logs.';\n errorVariable.invoke({ 'message' : data}, undefined, undefined);\n // $rootScope.$evalAsync(function () {\n // $rootScope.$emit(\"invoke-service\", VARIABLE_CONSTANTS.DEFAULT_VAR.NOTIFICATION, {scope: callBackScope, message: response});\n // });\n }\n }\n }\n // TODO: [Vibhu], check whether to support legacy event calling mechanism (ideally, it should have been migrated)\n // ToDo - variable seperation\n // const fn = $parseEvent(variable[type]);\n const fn = variable[type] || noop;\n if (type === VARIABLE_CONSTANTS.EVENT.BEFORE_UPDATE) {\n if (variable.category === 'wm.LiveVariable' && variable.operation === 'read') {\n return fn(variable._context, {variable: variable, dataFilter: data, options: options});\n } else {\n return fn(variable._context, {variable: variable, inputData: data, options: options});\n }\n } else {\n return fn(variable._context, {variable: variable, data: data, options: options});\n }\n};\nconst getDateTimeFormatForType = (type) => {\n return DEFAULT_FORMATS[toUpper(type)];\n};\n\n// Format value for datetime types\nconst _formatDate = (dateValue, type, dateFormatter) => {\n let epoch;\n if (isDate(dateValue)) {\n epoch = dateValue.getTime();\n } else {\n if (!isNaN(dateValue)) {\n dateValue = parseInt(dateValue, 10);\n }\n epoch = dateValue && moment(dateValue).valueOf();\n }\n if (isNaN(epoch) && type !== DataType.TIME) {\n return epoch;\n }\n if (type === DataType.TIMESTAMP) {\n return epoch;\n }\n if (type === DataType.TIME && !epoch) {\n epoch = moment(new Date().toDateString() + ' ' + dateValue).valueOf();\n }\n return dateValue && dateFormatter.format(epoch, getDateTimeFormatForType(type));\n};\n\n// Function to convert values of date time types into default formats\nexport const formatDate = (value, type, dateFormatter) => {\n if (includes(type, '.')) {\n type = toLower(extractType(type));\n }\n if (isArray(value)) {\n return map(value, function (val) {\n return _formatDate(val, type, dateFormatter);\n });\n }\n return _formatDate(value, type, dateFormatter);\n};\n\nconst parseErrors = (errors) => {\n let errMsg = '';\n if (errors && errors.error && errors.error.length) {\n errors.error.forEach((errorDetails, i) => {\n errMsg += parseError(errorDetails) + (i > 0 ? '\\n' : '');\n });\n }\n return errMsg;\n}\n\nconst parseError = (errorObj) => {\n let errMsg;\n errMsg = errorObj.message ? replace(errorObj.message, errorObj.parameters, true) : ((errorObj.parameters && errorObj.parameters[0]) || '');\n return errMsg;\n}\n\n/**\n * This method filters and returns error message from the failed network call response.\n * @param err, error form network call failure\n */\nexport const getErrMessage = (err: any, localeObject: any) => {\n const HTTP_STATUS_MSG = {\n 404: localeObject['MESSAGE_404_ERROR'] || 'Requested resource not found',\n 401: localeObject['MESSAGE_401_ERROR'] || 'Requested resource requires authentication',\n 403: localeObject['LABEL_FORBIDDEN_MESSAGE'] || 'The requested resource access/action is forbidden.'\n };\n\n // check if error message present for responded http status\n let errMsg = HTTP_STATUS_MSG[err.status];\n let errorDetails = err.error || err.data;\n errorDetails = getValidJSON(errorDetails) || errorDetails;\n\n // WM services have the format of error response as errorDetails.error\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || errMsg || 'Service Call Failed';\n } else {\n errMsg = errMsg || 'Service Call Failed';\n }\n return errMsg;\n}"]}
@@ -0,0 +1,21 @@
1
+ export let entry: string;
2
+ export namespace module {
3
+ let rules: {
4
+ test: RegExp;
5
+ use: string;
6
+ exclude: RegExp;
7
+ }[];
8
+ }
9
+ export namespace resolve {
10
+ let extensions: string[];
11
+ }
12
+ export let devtool: string;
13
+ export namespace output {
14
+ let filename: string;
15
+ let path: string;
16
+ namespace library {
17
+ let type: string;
18
+ let name: string;
19
+ }
20
+ let globalObject: string;
21
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"./","sources":["scripts/build.js"],"names":[],"mappings":"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","sourcesContent":["const fs = require('fs-extra');\nconst path = require('path');\nconst projectDir = '.';\nconst yargs = require('yargs');\nconst { hideBin } = require('yargs/helpers');\nconst tar = require('tar');\nconst execa = require('execa');\n\nasync function updatePackageVersion(packagePath, key, version) {\n let content = fs.readFileSync(packagePath, 'utf8');\n content = content.replace(new RegExp(`\"${key}\"\\\\s*:\\\\s*\"[^\"]*\"`), `\"${key}\": \"${version}\"`);\n fs.writeFileSync(packagePath, content);\n}\n\nfunction updateSourceMapFile(path) {\n if (fs.lstatSync(path).isDirectory()) {\n fs.readdirSync(path).forEach(p => updateSourceMapFile(`${path}/${p}`));\n } else if(path.endsWith('js.map')) {\n const content = JSON.parse(fs.readFileSync(path, 'utf8'));\n content.sources[0] = content.sources[0].split('/').pop();\n fs.writeFileSync(path, JSON.stringify(content));\n }\n}\n\nasync function postBuild(runtimeVersion) {\n\n // updateSourceMapFile(`${projectDir}/dist/es2015`);\n\n fs.copySync(`${projectDir}/package.json`, `${projectDir}/dist/es2015/package.json`);\n\n const packageData = fs.readJSONSync(`${projectDir}/package.json`, {\n encoding: \"utf8\"\n });\n packageData.main = 'index';\n packageData.module = 'index';\n packageData.exports = {\n \".\": \"./index\"\n };\n delete packageData['files'];\n\n fs.writeFileSync(`${projectDir}/dist/es2015/package.json`, JSON.stringify(packageData, null, 2))\n await updatePackageVersion(`${projectDir}/dist/es2015/package.json`, 'version', runtimeVersion);\n console.log('Post Build successful!!!');\n}\n\nasync function prepareNpmPackages() {\n fs.copySync(`${projectDir}/dist/es2015`, `${projectDir}/dist/npm-packages/variables`, {\n filter: p => !p.startsWith('/node_modules/')\n });\n await execa('tar', ['-czf', 'dist/npm-packages/variables.tar.gz', '-C', 'dist/npm-packages', 'variables']);\n}\n\nasync function pushToLocalRepo() {\n fs.writeFileSync(`${projectDir}/dist/new-build`, '' + Date.now);\n await execa('yalc', ['publish' , '--no-sig', '--push'], {\n 'cwd': `${projectDir}/dist/es2015`\n });\n}\n\nyargs(hideBin(process.argv)).command('post-build',\n 'to run post processing after project build',\n (yargs) => {\n yargs.option('runtimeVersion', {\n describe: 'version number',\n type: 'string',\n default: '1.0.0-dev'\n }).option('production', {\n describe: 'to perform a production build',\n type: 'boolean',\n default: false\n });\n }, (argv) => {\n postBuild(argv.runtimeVersion).then(() => {\n if (argv.production) {\n return prepareNpmPackages();\n } else {\n return pushToLocalRepo();\n }\n });\n }).showHelpOnFail().argv;\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- 'use strict';
2
- var fs = require('fs');
3
- var yargs = require('yargs');
4
- var argv = yargs(process.argv).argv;
5
- /**
6
- * To add the app-ng-runtime package as dependency in angular app package.json
7
- * @param {*} wm_pkg_name ng runtime pm package name @wavemaker/app-ng-runtime
8
- */
9
- var updateVariablesPackage = function (path) {
10
- if (fs.existsSync(path)) {
11
- var packageJSON = require('../' + path);
12
- packageJSON['dependencies']['@wavemaker/variables'] = argv["publish-version"];
13
- fs.writeFileSync(path, JSON.stringify(packageJSON, null, 4));
14
- }
15
- else {
16
- console.log('package.json not found at ' + path);
17
- }
18
- };
19
- var init = function () {
20
- updateVariablesPackage('../wavemaker-ng-runtime/package.json');
21
- updateVariablesPackage('../wavemaker-rn-runtime/package.json');
22
- updateVariablesPackage('../wavemaker-rn-codegen/src/templates/project/package.json');
23
- updateVariablesPackage('../wavemaker-ng-studio/package.json');
24
- updateVariablesPackage('../wavemaker-studio-runtime-integration/package.json');
25
- };
26
- init();
27
- //# sourceMappingURL=update-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-version.js","sourceRoot":"./","sources":["scripts/update-version.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,IAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAGtC;;;GAGG;AACH,IAAM,sBAAsB,GAAG,UAAC,IAAI;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACrB,IAAM,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC1C,WAAW,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9E,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAChE;SAAM;QACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;KACpD;AACL,CAAC,CAAC;AACF,IAAM,IAAI,GAAG;IACT,sBAAsB,CAAC,sCAAsC,CAAC,CAAC;IAC/D,sBAAsB,CAAC,sCAAsC,CAAC,CAAC;IAC/D,sBAAsB,CAAC,4DAA4D,CAAC,CAAC;IACrF,sBAAsB,CAAC,qCAAqC,CAAC,CAAC;IAC9D,sBAAsB,CAAC,sDAAsD,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC","sourcesContent":["'use strict';\nconst fs = require('fs');\nconst yargs = require('yargs');\nconst argv = yargs(process.argv).argv;\n\n\n/**\n * To add the app-ng-runtime package as dependency in angular app package.json\n * @param {*} wm_pkg_name ng runtime pm package name @wavemaker/app-ng-runtime\n */\nconst updateVariablesPackage = (path) => {\n if (fs.existsSync(path)) {\n const packageJSON = require('../' + path);\n packageJSON['dependencies']['@wavemaker/variables'] = argv[\"publish-version\"];\n fs.writeFileSync(path, JSON.stringify(packageJSON, null, 4));\n } else {\n console.log('package.json not found at ' + path);\n }\n};\nconst init = () => {\n updateVariablesPackage('../wavemaker-ng-runtime/package.json');\n updateVariablesPackage('../wavemaker-rn-runtime/package.json');\n updateVariablesPackage('../wavemaker-rn-codegen/src/templates/project/package.json');\n updateVariablesPackage('../wavemaker-ng-studio/package.json');\n updateVariablesPackage('../wavemaker-studio-runtime-integration/package.json');\n};\n\ninit();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"timer-action.manager.js","sourceRoot":"./","sources":["src/manager/action/timer-action.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE;IAAA;IAmCA,CAAC;IAlCG,oCAAO,GAAP,UAAQ,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;QACrC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,YAAY,EAAE;YACxD,OAAO;SACV;QACD,IAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAClC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,mBAAmB,EACvD,KAAK,GAAG,aAAa,EACrB,IAAI,GAAG;YACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEN,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACpE,IAAI,EAAE,CAAC;YACP,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;QAClC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV;;;aAGK;QAEL,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,mCAAM,GAAN,UAAO,QAAQ;QACX,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACpC;iBAAM;gBACH,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACnC;YACD,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;SACjC;IACL,CAAC;IACL,yBAAC;AAAD,CAAC,AAnCD,IAmCC","sourcesContent":["import { isDefined } from '../../util/utils';\n\nimport { initiateCallback } from '../../util/variable/variables.utils';\nimport { CONSTANTS } from '../../constants/variables.constants';\n\nexport class TimerActionManager {\n trigger(variable, options, success, error) {\n if (isDefined(variable._promise) || CONSTANTS.isStudioMode) {\n return;\n }\n const repeatTimer = variable.repeating,\n delay = variable.delay || CONSTANTS.DEFAULT_TIMER_DELAY,\n event = 'onTimerFire',\n exec = function () {\n initiateCallback(event, variable, {});\n };\n\n variable._promise = repeatTimer ? setInterval(exec, delay) : setTimeout(function () {\n exec();\n variable._promise = undefined;\n }, delay);\n\n /*// destroy the timer on scope destruction\n callBackScope.$on('$destroy', function () {\n variable.cancel(variable._promise);\n });*/\n\n return variable._promise;\n }\n\n cancel(variable) {\n if (isDefined(variable._promise)) {\n if (variable.repeating) {\n clearInterval(variable._promise);\n } else {\n clearTimeout(variable._promise);\n }\n variable._promise = undefined;\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-variable.manager.js","sourceRoot":"./","sources":["src/manager/variable/base-variable.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAC,MAAM,uCAAuC,CAAC;AAGlE,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB;IAAA;IA2EA,CAAC;IAzEG,yCAAW,GAAX,UAAY,QAAa,EAAE,UAAgB,EAAE,UAAgB;QAC1D,uEAAuE;QACtE,6BAA6B;IACjC,CAAC;IAED,4CAAc,GAAd,UAAe,QAAa,EAAE,MAAe,EAAE,IAAU,EAAE,OAAa;QACpE,6BAA6B;QAC7B,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,uBAAuB,EAAE;YACrD,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,+CAAiB,GAAjB,UAAkB,QAAkB,EAAE,QAAa;QAAjC,yBAAA,EAAA,aAAkB;QAChC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C,IAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5I,IAAI,cAAc,EAAE;YAChB,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC;SAC7C;IACL,CAAC;IAED;;;;;;OAMG;IACH,6BAA6B;IAC7B,sCAAQ,GAAR,UAAS,aAAa,EAAE,QAAQ,EAAE,MAAY;QAA9C,iBAuBC;QAtBG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,oEAAoE;YACpE,aAAa,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;YACtC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,QAAa;gBAC9E,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;oBAC1D,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAC3C,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACrB;YACL,CAAC,EAAE,UAAC,GAAQ;gBACR,KAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACtC,IAAI,QAAQ,CAAC,WAAW,CAAC,wBAAwB,IAAI,QAAQ,CAAC,WAAW,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE;oBACrG,uEAAuE;oBACvE,qHAAqH;oBACrH,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC1C,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,SAAS,CACvC,UAAA,QAAQ,IAAI,OAAA,OAAO,CAAC,QAAQ,CAAC,EAAjB,CAAiB,EAC7B,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;iBACvB;qBAAM;oBACH,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,oDAAsB,GAAtB,UAAuB,MAAW,EAAE,WAAkB;QAClD,IAAI,OAAO,GAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC3B,IAAI,WAAW,EAAE;YACb,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SAClC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACL,0BAAC;AAAD,CAAC,AA3ED,IA2EC","sourcesContent":["import { httpService } from '../../util/variable/variables.utils';\nimport { appManager} from './../../util/variable/variables.utils';\nimport { AdvancedOptions } from '../../advanced-options';\n\nimport _ from 'lodash';\n\nexport abstract class BaseVariableManager {\n\n initBinding(variable: any, bindSource?: any, bindTarget?: any) {\n // processBinding(variable, variable._context, bindSource, bindTarget);\n // ToDo - variable seperation\n }\n\n notifyInflight(variable: any, status: boolean, data?: any, options?: any) {\n // ToDo - variable seperation\n appManager && appManager.notify('toggle-variable-state', {\n variable: variable,\n active: status,\n data: data,\n options: options\n });\n }\n\n /**\n * This method sets the variable parameter requestTrackId to X-WM-Request-Track-Id which is received in the response headers.\n * @param response\n */\n setRequestTrackId(response: any = {}, variable: any) {\n response.headers = response.headers || {};\n const requestTrackId = (response.headers.get && response.headers.get('x-wm-request-track-id')) || response.headers['x-wm-request-track-id'];\n if (requestTrackId) {\n variable._requestTrackId = requestTrackId;\n }\n }\n\n /**\n * This method makes the final angular http call that returns an observable.\n * We attach this observable to variable to cancel a network call\n * @param requestParams\n * @param variable\n * @param dbOperation\n */\n // ToDo - variable seperation\n httpCall(requestParams, variable, params?: any) {\n return new Promise((resolve, reject) => {\n // send _source info, to identify the call is invoked from framework\n requestParams['_source'] = 'variable';\n variable.httpService.sendCall(requestParams, variable, params).then((response: any) => {\n if (response && response.type || response && response.status) {\n this.setRequestTrackId(response, variable);\n resolve(response);\n }\n }, (err: any) => {\n this.setRequestTrackId(err, variable);\n if (variable.httpService.isPlatformSessionTimeout && variable.httpService.isPlatformSessionTimeout(err)) {\n // send the notification manually to hide any context spinners on page.\n // [TODO]: any spinners on widget listening on this variable will also go off. Need to see an approach to sovle that.\n this.notifyInflight(variable, false, err);\n err._401Subscriber.asObservable().subscribe(\n response => resolve(response),\n e => reject(e));\n } else {\n reject(err);\n }\n });\n });\n }\n\n /**\n * This method prepares the options parameter for variable callbacks.\n * @param xhrObj, The xhrObj to be passed\n * @param moreOptions, any other info to be passed in the options param\n */\n prepareCallbackOptions(xhrObj: any, moreOptions? : any): AdvancedOptions {\n let options: AdvancedOptions = {};\n options['xhrObj'] = xhrObj;\n if (moreOptions) {\n _.extend(options, moreOptions);\n }\n return options;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud-variable.manager.js","sourceRoot":"./","sources":["src/manager/variable/crud-variable.manager.ts"],"names":[],"mappings":"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","sourcesContent":["// import { $invokeWatchers, getClonedObject, getValidJSON, isDefined, isPageable, isValidWebURL, noop, triggerFn, xmlToJson } from '@wm/core';\nimport { getClonedObject, triggerFn } from \"../../util/utils\";\nimport { CrudVariable } from '../../model/variable/crud-variable';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport { $queue } from '../../util/inflight-queue';\nimport { VARIABLE_CONSTANTS, WS_CONSTANTS } from '../../constants/variables.constants';\nimport {appManager, setInput} from './../../util/variable/variables.utils';\nimport { getEvaluatedOrderBy, httpService, initiateCallback, metadataService, getErrMessage } from '../../util/variable/variables.utils';\nimport { getAccessToken } from '../../util/oAuth.utils';\nimport {ServiceVariableManager} from './service-variable.manager';\n\nimport _ from 'lodash';\n\nexport class CrudVariableManager extends ServiceVariableManager {\n\n fileUploadResponse: any = [];\n fileUploadCount = 0;\n totalFilesCount = 0;\n successFileUploadCount = 0;\n failedFileUploadCount = 0;\n\n private getPaginationInfo(variable, inputFields, options?) {\n if (!options || !options.operation) {\n options.operation = 'list';\n }\n const serviceDef = getClonedObject(metadataService.getByCrudId(variable.crudOperationId, variable.getPrefabName()));\n let methodInfo = serviceDef === null ? null : _.get(serviceDef, 'wmServiceOperationInfo');\n methodInfo = serviceDef.filter(function(item) {\n return options.operation === item.operationType;\n })[0];\n if (!methodInfo) {\n return methodInfo;\n }\n // methodInfo.paginationInfo = {\n // \"contentMapping\": \"content\",\n // \"ascSortExpression\": \"{{fieldName}} a\",\n // \"descSortExpression\": \"{{fieldName}} d\",\n // //\"defaultSortExpression\": \"id\",\n // \"totalMapping\": \"totalElements\",\n // \"pageMapping\": {\n // \"in\": \"query\",\n // \"name\": \"pageNum\",\n // \"description\": \"the existing id\",\n // \"type\": \"integer\",\n // \"required\": true\n // },\n // \"sizeMapping\": {\n // \"in\": \"query\",\n // \"name\": \"limit\",\n // \"description\": \"the existing id\",\n // \"type\": \"integer\",\n // \"required\": true\n // },\n // \"sortMapping\": {\n // \"name\": \"sortInfo\",\n // \"in\": \"query\",\n // \"description\": \"the sorting criteria\",\n // \"required\": true,\n // \"type\": \"integer\"\n // }\n // };\n methodInfo.paginationInfo = null;\n return methodInfo.paginationInfo;\n }\n\n private getOperationInfo(variable, options) {\n let serviceDef = getClonedObject(metadataService.getByCrudId(variable.crudOperationId, variable.getPrefabName()));\n let methodInfo;\n // fallback if there is no operation\n if (options && !options.operation) {\n options.operation = 'list';\n }\n if (!serviceDef.length) {\n return;\n }\n methodInfo = serviceDef.filter(function(item) {\n return options.operation === item.operationType;\n })[0];\n return methodInfo ? methodInfo.wmServiceOperationInfo : {invalid: true};\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 getMethodInfoForCrud(variable, inputFields, options?) {\n const methodInfo = this.getOperationInfo(variable, options);\n if (!methodInfo || methodInfo.invalid) {\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 * proxy for the invoke call\n * Request Info is constructed\n * if error found, error is thrown\n * else, call is made\n * @param {CrudVariable} variable\n * @param options\n * @param {Function} success\n * @param {Function} error\n * @returns {any}\n * @private\n */\n protected _invoke (variable: CrudVariable, options: any, success: Function, error: Function) {\n let inputFields = getClonedObject(options.inputFields || {});\n if (options.operation === 'delete') {\n inputFields = getClonedObject(options.row || inputFields.row || options.inputFields || variable.dataBinding);\n } else if (options.operation === 'create' && options.row) {\n inputFields = getClonedObject(options.row);\n } else if (options.operation === 'update' && options.row) {\n inputFields = getClonedObject(options.row);\n }\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 const opInfo = this.getOperationInfo(variable, options);\n let bodyParam;\n if (opInfo && opInfo.parameters) {\n bodyParam = opInfo.parameters.filter(function(op) {\n return op.parameterType === 'body' || op.parameterType === 'formData';\n })[0];\n }\n // merge fields with bindings\n const bindingFields = _.get(variable.dataBinding, options.operation) || {};\n // bindings from setInput can come along with the body param, so employee.age will have to be converted to age\n if (bodyParam && bindingFields[bodyParam.name]) {\n _.forEach(bindingFields, function(bindingFieldVal, bindingFieldKey) {\n if (bindingFieldKey === bodyParam.name) {\n _.merge(inputFields, bindingFieldVal);\n } else {\n inputFields[bindingFieldKey] = bindingFieldVal;\n }\n });\n } else {\n _.merge(inputFields, bindingFields);\n }\n if ((options.operation === 'create' || options.operation === 'update') && (!bodyParam || !inputFields[bodyParam.name])) {\n let bodyTypeKeys = [], nonBodyParam;\n // only merge body/formData type params to the requestBody.\n for (const fieldName in inputFields) {\n nonBodyParam = opInfo.parameters.filter(function(param) {\n return param.name === fieldName && param.parameterType !== 'body' && param.parameterType !== 'formData';\n });\n if (nonBodyParam.length) {\n bodyTypeKeys.push(fieldName);\n }\n }\n const reqBodyFields = _.omit(inputFields, bodyTypeKeys);\n if (bodyParam) {\n inputFields[bodyParam.name] = getClonedObject(reqBodyFields);\n } else {\n inputFields.RequestBody = getClonedObject(reqBodyFields);\n }\n }\n let paginationInfo;\n const operationInfo = this.getMethodInfoForCrud(variable, inputFields, options);\n let pathParam, bodyTypeParam;\n if (!variable.paginationTransformationRequired && operationInfo && !operationInfo.invalid) {\n if (operationInfo.parameters) {\n operationInfo.parameters.forEach(function (parameter) {\n if (parameter.parameterType === 'path') {\n pathParam = parameter.name;\n } else if (parameter.parameterType === 'body') {\n bodyTypeParam = parameter.name;\n inputFields[bodyTypeParam] = getClonedObject(inputFields);\n }\n });\n }\n for (const key in inputFields) {\n if (key !== bodyTypeParam) {\n delete inputFields[key];\n }\n }\n if (pathParam && inputFields[bodyTypeParam]) {\n inputFields[pathParam] = getClonedObject(inputFields[bodyTypeParam][pathParam]);\n }\n }\n // else {\n // inputFields.totalMapping = paginationInfo && paginationInfo.totalMapping;\n // }\n const requestParams = ServiceVariableUtils.constructRequestParams(variable, operationInfo, inputFields);\n inputFields.sortInfo = options.orderBy;\n // check errors\n if (requestParams.error) {\n if (requestParams.error.type === VARIABLE_CONSTANTS.REST_SERVICE.ERR_TYPE.CRUD_OPERATION_MISSING) {\n requestParams.error.message = requestParams.error.message.replace('$operation', options.operation);\n }\n if (options.preventMissingOpMsg) {\n $queue.process(variable);\n return Promise.resolve('');\n }\n const info = this.handleRequestMetaError(requestParams, variable, success, error, options);\n const reason = (_.get(info, 'error.message') || 'An error occurred while triggering the variable');\n triggerFn(error);\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)) {\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, inputObj?) => {\n if (response && response.type) {\n if (variable.paginationTransformationRequired) {\n let json = JSON.parse(response.body);\n const pageable = {\n 'content' : json[paginationInfo.contentMapping],\n 'first' : inputObj[paginationInfo.pageMapping.name] === 1 ? true : false,\n 'last' : inputObj[paginationInfo.pageMapping.name] === json[inputFields.totalMapping] ? true : false,\n 'number' : inputObj[paginationInfo.pageMapping.name] - 1,\n 'numberOfElements': inputObj[paginationInfo.sizeMapping.name],\n 'size' : inputObj[paginationInfo.sizeMapping.name],\n 'sort' : null,\n 'totalElements' : json[inputFields.totalMapping],\n 'totalPages' : Math.ceil(json[inputFields.totalMapping] / inputObj[paginationInfo.sizeMapping.name])\n };\n if (inputObj.sortInfo) {\n pageable.sort = [{direction: inputObj.sortInfo.split(' ')[1].toUpperCase(), property: inputObj.sortInfo.split(' ')[0], ignoreCase: false, nullHandling: \"NATIVE\", ascending: inputObj.sortInfo.split(' ')[1] === 'asc' ? true : false}];\n }\n json = getClonedObject(pageable);\n response.body = JSON.stringify(json);\n }\n const data = this.processSuccessResponse(response.body, variable, _.extend(options, {'xhrObj': response}), success, response.headers, operationInfo);\n // notify variable success\n this.notifyInflight(variable, false, data);\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 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 this.httpCall(requestParams, variable).then((response) => {\n successHandler(response, resolve, inputFields);\n }, err => {\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 });\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.operation = options.operation || 'list';\n options.inputFields = options.inputFields || getClonedObject(variable.dataBinding[options.operation]);\n return $queue.submit(variable).then(this._invoke.bind(this, variable, options, success, error), error);\n }\n\n public getInputParms(variable) {\n const wmServiceOperationInfo = _.get(metadataService.getByOperationId(variable.operationId, variable.getPrefabName()), 'wmServiceOperationInfo');\n return _.get(wmServiceOperationInfo, 'parameters');\n }\n\n public setInput(variable, key, val, options, type?) {\n type = type || 'list';\n if (_.isEmpty(variable.dataBinding[type])) {\n variable.dataBinding[type] = {};\n }\n return setInput(variable.dataBinding[type], key, val, options);\n }\n\n /**\n * Initializes the bindings for the CRUD variable\n * flatten the bindings (categorised by operation name) to a list of bindings\n * each binding object's target is changed appended with the operation type\n * E.g. Input binding will be like:\n {\n \"list\": [\n {\n \"target\": \"q\",\n \"type\": \"string\",\n \"value\": \"X\"\n }\n ],\n \"update\": [\n {\n \"target\": \"id\",\n \"value\": \"bind:Widgets.UserControllerTable2.selecteditem.userId\",\n \"type\": \"integer\"\n }\n ]\n }\n\n * This function will convert it to\n [\n {\n \"target\": \"list.q\",\n \"type\": \"string\",\n \"value\": \"X\"\n },\n {\n \"target\": \"update.id\",\n \"value\": \"bind:Widgets.UserControllerTable2.selecteditem.userId\",\n \"type\": \"integer\"\n }\n ]\n\n * The bindings will be evaluated through the base-manager initBinding method and will\n * be stored in variable.dataBinding as follows:\n {\n list: {\n q: \"X\"\n },\n update: {\n id: \"evaluated value\"\n }\n }\n * @param variable\n */\n public initBinding(variable) {\n let crudBindInfo = variable.dataBinding || {},\n flattenedBindInfo = [];\n\n _.forEach(crudBindInfo, (bindNodes, operationType) => {\n bindNodes = bindNodes || [];\n bindNodes.forEach((bindNode)=>{\n bindNode.target = operationType + '.' + bindNode.target;\n flattenedBindInfo.push(bindNode);\n });\n });\n variable.dataBinding = flattenedBindInfo;\n\n super.initBinding(variable);\n }\n}\n"]}