@wavemaker/variables 12.0.0-next.142016 → 12.0.0-next.28533

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 +2012 -0
  2. package/package-lock.json +2012 -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 +42 -41
  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.js +2 -2
  25. package/src/model/variable/crud-variable.js.map +1 -0
  26. {variables → package}/src/model/variable/live-variable.js +7 -7
  27. package/src/model/variable/live-variable.js.map +1 -0
  28. package/src/model/variable/model-variable.js.map +1 -0
  29. {variables → package}/src/model/variable/service-variable.js +2 -2
  30. package/src/model/variable/service-variable.js.map +1 -0
  31. package/src/types/event-notifier.js.map +1 -0
  32. {variables → package}/src/util/dataset-util.js +16 -16
  33. package/src/util/dataset-util.js.map +1 -0
  34. {variables → package}/src/util/file-upload.util.js +12 -12
  35. package/src/util/file-upload.util.js.map +1 -0
  36. package/src/util/inflight-queue.js.map +1 -0
  37. package/src/util/notify-promise.js.map +1 -0
  38. {variables → package}/src/util/utils.js +19 -19
  39. package/src/util/utils.js.map +1 -0
  40. {variables → package}/src/util/variable/live-variable.http.utils.js +6 -6
  41. package/src/util/variable/live-variable.http.utils.js.map +1 -0
  42. {variables → package}/src/util/variable/live-variable.utils.js +84 -84
  43. package/src/util/variable/live-variable.utils.js.map +1 -0
  44. {variables → package}/src/util/variable/pagination.utils.d.ts +10 -1
  45. {variables → package}/src/util/variable/pagination.utils.js +113 -58
  46. package/src/util/variable/pagination.utils.js.map +1 -0
  47. {variables → package}/src/util/variable/service-variable.utils.js +33 -28
  48. package/src/util/variable/service-variable.utils.js.map +1 -0
  49. {variables → package}/src/util/variable/variables.utils.js +49 -49
  50. package/src/util/variable/variables.utils.js.map +1 -0
  51. package/webpack.config.d.ts +21 -0
  52. variables/scripts/build.js.map +0 -1
  53. variables/scripts/update-version.d.ts +0 -1
  54. variables/scripts/update-version.js +0 -27
  55. variables/scripts/update-version.js.map +0 -1
  56. variables/src/manager/action/timer-action.manager.js.map +0 -1
  57. variables/src/manager/variable/base-variable.manager.js.map +0 -1
  58. variables/src/manager/variable/crud-variable.manager.js.map +0 -1
  59. variables/src/manager/variable/live-variable.manager.js.map +0 -1
  60. variables/src/manager/variable/model-variable.manager.js.map +0 -1
  61. variables/src/manager/variable/service-variable.manager.js.map +0 -1
  62. variables/src/model/action/timer-action.js.map +0 -1
  63. variables/src/model/base-action.js.map +0 -1
  64. variables/src/model/base-variable.js.map +0 -1
  65. variables/src/model/variable/crud-variable.js.map +0 -1
  66. variables/src/model/variable/live-variable.js.map +0 -1
  67. variables/src/model/variable/model-variable.js.map +0 -1
  68. variables/src/model/variable/service-variable.js.map +0 -1
  69. variables/src/types/event-notifier.js.map +0 -1
  70. variables/src/util/dataset-util.js.map +0 -1
  71. variables/src/util/file-upload.util.js.map +0 -1
  72. variables/src/util/inflight-queue.js.map +0 -1
  73. variables/src/util/notify-promise.js.map +0 -1
  74. variables/src/util/utils.js.map +0 -1
  75. variables/src/util/variable/live-variable.http.utils.js.map +0 -1
  76. variables/src/util/variable/live-variable.utils.js.map +0 -1
  77. variables/src/util/variable/pagination.utils.js.map +0 -1
  78. variables/src/util/variable/service-variable.utils.js.map +0 -1
  79. variables/src/util/variable/variables.utils.js.map +0 -1
  80. variables/webpack.config.d.ts +0 -21
  81. {variables → package}/index.d.ts +0 -0
  82. {variables → package}/index.js +0 -0
  83. {variables → package}/index.js.map +0 -0
  84. {variables → package}/scripts/build.d.ts +0 -0
  85. {variables → package}/src/advanced-options.d.ts +0 -0
  86. {variables → package}/src/advanced-options.js +0 -0
  87. {variables → package}/src/advanced-options.js.map +0 -0
  88. {variables → package}/src/constants/variables.constants.d.ts +0 -0
  89. {variables → package}/src/constants/variables.constants.js +0 -0
  90. {variables → package}/src/constants/variables.constants.js.map +0 -0
  91. {variables → package}/src/factory/variable-manager.factory.d.ts +0 -0
  92. {variables → package}/src/factory/variable-manager.factory.js +0 -0
  93. {variables → package}/src/factory/variable-manager.factory.js.map +0 -0
  94. {variables → package}/src/manager/action/timer-action.manager.d.ts +0 -0
  95. {variables → package}/src/manager/action/timer-action.manager.js +0 -0
  96. {variables → package}/src/manager/variable/base-variable.manager.d.ts +0 -0
  97. {variables → package}/src/manager/variable/crud-variable.manager.d.ts +0 -0
  98. {variables → package}/src/manager/variable/live-variable.manager.d.ts +0 -0
  99. {variables → package}/src/manager/variable/model-variable.manager.d.ts +0 -0
  100. {variables → package}/src/manager/variable/service-variable.manager.d.ts +0 -0
  101. {variables → package}/src/model/action/timer-action.d.ts +0 -0
  102. {variables → package}/src/model/action/timer-action.js +0 -0
  103. {variables → package}/src/model/crud-create.d.ts +0 -0
  104. {variables → package}/src/model/crud-create.js +0 -0
  105. {variables → package}/src/model/crud-create.js.map +0 -0
  106. {variables → package}/src/model/crud-delete.d.ts +0 -0
  107. {variables → package}/src/model/crud-delete.js +0 -0
  108. {variables → package}/src/model/crud-delete.js.map +0 -0
  109. {variables → package}/src/model/crud-list.d.ts +0 -0
  110. {variables → package}/src/model/crud-list.js +0 -0
  111. {variables → package}/src/model/crud-list.js.map +0 -0
  112. {variables → package}/src/model/crud-update.d.ts +0 -0
  113. {variables → package}/src/model/crud-update.js +0 -0
  114. {variables → package}/src/model/crud-update.js.map +0 -0
  115. {variables → package}/src/model/variable/api-aware-variable.d.ts +0 -0
  116. {variables → package}/src/model/variable/api-aware-variable.js +0 -0
  117. {variables → package}/src/model/variable/api-aware-variable.js.map +0 -0
  118. {variables → package}/src/model/variable/crud-variable.d.ts +0 -0
  119. {variables → package}/src/model/variable/live-variable.d.ts +0 -0
  120. {variables → package}/src/model/variable/model-variable.d.ts +0 -0
  121. {variables → package}/src/model/variable/model-variable.js +0 -0
  122. {variables → package}/src/model/variable/service-variable.d.ts +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/service-variable.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
@@ -1 +0,0 @@
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 _ from 'lodash';\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud-variable.js","sourceRoot":"./","sources":["src/model/variable/crud-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { CrudVariableManager } from '../../manager/variable/crud-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {CRUDList} from '../crud-list';\nimport {CRUDCreate} from '../crud-create';\nimport {CRUDUpdate} from '../crud-update';\nimport {CRUDDelete} from '../crud-delete';\n\nimport _ from 'lodash';\n\nconst getManager = (): CrudVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.CRUD);\n};\n\nexport class CrudVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n _deleteFileObservable;\n pagination;\n list;\n create;\n update;\n delete;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: any) {\n super();\n Object.assign(this as any, variable);\n // for having separate setInput methods for each type\n this.list = new CRUDList(this, getManager());\n this.create = new CRUDCreate(this, getManager());\n this.update = new CRUDUpdate(this, getManager());\n this.delete = new CRUDDelete(this, getManager());\n }\n\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.INSERT_RECORD :\n options.operation = 'create';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE_RECORD :\n options.operation = 'update';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.DELETE_RECORD :\n options.operation = 'delete';\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n createRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'create';\n return getManager().invoke(this, options, success, error);\n }\n\n listRecords(options?, success?, error?) {\n options = options || {};\n options.operation = 'list';\n return getManager().invoke(this, options, success, error);\n }\n\n updateRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'update';\n return getManager().invoke(this, options, success, error);\n }\n\n deleteRecord(options?, success?, error?) {\n options = options || {};\n options.operation = 'delete';\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-variable.js","sourceRoot":"./","sources":["src/model/variable/live-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined, getClonedObject } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\n\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { LiveVariableManager } from '../../manager/variable/live-variable.manager';\nimport {debounceVariableCall} from \"../../util/variable/variables.utils\";\nimport _ from 'lodash';\nconst getManager = (): LiveVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.LIVE);\n};\n\nexport class LiveVariable extends ApiAwareVariable implements IDataSource {\n\n matchMode;\n liveSource;\n propertiesMap;\n pagination;\n type;\n orderBy;\n _options;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n filterExpressions;\n httpService;\n dateFormatter;\n\n constructor(variable: any) {\n super();\n Object.assign(this as any, variable);\n this.httpService = variable.httpClientService;\n }\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = true;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n returnVal = true;\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = true;\n break;\n case DataSource.Operation.GET_OPERATION_TYPE:\n returnVal = this.operation;\n break;\n case DataSource.Operation.GET_RELATED_PRIMARY_KEYS:\n returnVal = this.getRelatedTablePrimaryKeys(options);\n break;\n case DataSource.Operation.GET_ENTITY_NAME:\n returnVal = this.propertiesMap.entityName;\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.listRecords(options);\n break;\n case DataSource.Operation.UPDATE_RECORD :\n returnVal = this.updateRecord(options);\n break;\n case DataSource.Operation.INSERT_RECORD :\n returnVal = this.insertRecord(options);\n break;\n case DataSource.Operation.DELETE_RECORD :\n returnVal = this.deleteRecord(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.update(options);\n break;\n case DataSource.Operation.GET_RELATED_TABLE_DATA:\n returnVal = this.getRelatedTableData(options.relatedField, options);\n break;\n case DataSource.Operation.GET_DISTINCT_DATA_BY_FIELDS:\n returnVal = this.getDistinctDataByFields(options);\n break;\n case DataSource.Operation.GET_AGGREGATED_DATA:\n returnVal = this.getAggregatedData(options);\n break;\n case DataSource.Operation.GET_MATCH_MODE:\n returnVal = this.matchMode;\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PROPERTIES_MAP:\n returnVal = this.propertiesMap;\n break;\n case DataSource.Operation.GET_PRIMARY_KEY:\n returnVal = this.getPrimaryKey();\n break;\n case DataSource.Operation.GET_BLOB_URL:\n returnVal = `services/${this.liveSource}/${this.type}/${options.primaryValue}/content/${options.columnName}`;\n break;\n case DataSource.Operation.GET_OPTIONS:\n returnVal = this._options || {};\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.GET_REQUEST_PARAMS:\n returnVal = this.getRequestParams(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = true;\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = false;\n break;\n default:\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n listRecords(options?, success?, error?) {\n return getManager().listRecords(this, options, success, error);\n }\n\n updateRecord(options?, success?, error?) {\n return getManager().updateRecord(this, options, success, error);\n }\n\n insertRecord(options?, success?, error?) {\n return getManager().insertRecord(this, options, success, error);\n }\n\n deleteRecord(options?, success?, error?) {\n return getManager().deleteRecord(this, options, success, error);\n }\n\n setInput(key, val, options) {\n return getManager().setInput(this, key, val, options);\n }\n\n setFilter(key, val) {\n return getManager().setFilter(this, key, val);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n invoke(options?, success?, error?) {\n switch (this.operation) {\n case 'insert':\n return this.insertRecord(options, success, error);\n case 'update':\n return this.updateRecord(options, success, error);\n case 'delete':\n return this.deleteRecord(options, success, error);\n default:\n return this.listRecords(options, success, error);\n }\n }\n\n getRelatedTablePrimaryKeys(columnName) {\n return getManager().getRelatedTablePrimaryKeys(this, columnName);\n }\n\n getRelatedTableData(columnName, options, success?, error?) {\n return getManager().getRelatedTableData(this, columnName, options, success, error);\n }\n\n getDistinctDataByFields(options, success?, error?) {\n return getManager().getDistinctDataByFields(this, options, success, error);\n }\n\n getAggregatedData(options, success?, error?) {\n return getManager().getAggregatedData(this, options, success, error);\n }\n\n getPrimaryKey() {\n return getManager().getPrimaryKey(this);\n }\n\n searchRecords(options, success?, error?) {\n return getManager().searchRecords(this, options, success, error);\n }\n\n getRequestParams(options) {\n return getManager().prepareRequestParams(options);\n }\n\n _downgradeInputData(data) {\n return getManager().downgradeFilterExpressionsToInputData(this, data);\n }\n\n _upgradeInputData(response, data) {\n return getManager().upgradeInputDataToFilterExpressions(this, response, data);\n }\n\n setOrderBy(expression) {\n this.orderBy = expression;\n return this.orderBy;\n }\n\n // legacy method\n update(options?, success?, error?) {\n return this.invoke(options, success, error);\n }\n\n createRecord(options?, success?, error?) {\n return this.insertRecord(options, success, error);\n }\n\n init() {\n getManager().initBinding(this, 'dataBinding', this.operation === 'read' ? 'filterFields' : 'inputFields');\n if (this.operation === 'read') {\n getManager().initFilterExpressionBinding(this);\n }\n getManager().defineFirstLastRecord(this);\n }\n\n invokeOnFiltertExpressionChange(obj, targetNodeKey, newVal, oldVal) {\n console.log('filter expr changed', newVal, oldVal);\n if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {\n return;\n }\n // Skip cloning for blob column\n if (!_.includes(['blob', 'file'], obj.type)) {\n newVal = getClonedObject(newVal);\n }\n // backward compatibility: where we are allowing the user to bind complete object\n if (obj.target === 'dataBinding') {\n // remove the existing databinding element\n this.filterExpressions.rules = [];\n // now add all the returned values\n _.forEach(newVal, function (value, target) {\n this.filterExpressions.rules.push({\n 'target': target,\n 'value': value,\n 'matchMode': obj.matchMode || 'startignorecase',\n 'required': false,\n 'type': ''\n });\n });\n } else {\n // setting value to the root node\n obj[targetNodeKey] = newVal;\n }\n if (this.operation === 'read') {\n /* if auto-update set for the variable with read operation only, get its data */\n if (this.autoUpdate && !_.isUndefined(newVal) && _.isFunction(this.update)) {\n debounceVariableCall(this, 'update');\n }\n } else {\n /* if auto-update set for the variable with read operation only, get its data */\n if (this.autoUpdate && !_.isUndefined(newVal) && _.isFunction(this[this.operation + 'Record'])) {\n debounceVariableCall(this, this.operation + 'Record');\n }\n }\n // this.invoke();\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-variable.js","sourceRoot":"./","sources":["src/model/variable/model-variable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,IAAM,UAAU,GAAG;IACf,OAAO,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF;IAAmC,iCAAY;IAK3C,uBAAY,QAAa;QAAzB,YACI,iBAAO,SAEV;QADG,MAAM,CAAC,MAAM,CAAC,KAAW,EAAE,QAAQ,CAAC,CAAC;;IACzC,CAAC;IAED,4BAAI,GAAJ;QACI,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,UAAU,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAC7C;QAED,UAAU,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,+BAAO,GAAP,UAAQ,SAAc,EAAE,OAAY;QAChC,IAAI,SAAS,GAAG,iBAAM,OAAO,YAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,QAAQ,SAAS,EAAE;YACf,KAAK,UAAU,CAAC,SAAS,CAAC,YAAY;gBAClC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,aAAa;gBACnC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,qBAAqB;gBAC3C,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,WAAW;gBACjC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,WAAW;gBACjC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,sBAAsB;gBAC5C,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,kBAAkB;gBACxC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM;YACV,KAAK,UAAU,CAAC,SAAS,CAAC,kBAAkB;gBACxC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpC,MAAM;YACV;gBACI,SAAS,GAAG,EAAE,CAAC;gBACf,MAAM;SACb;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,uCAAe,GAAf;QACI,OAAO,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;IAC3C,CAAC;IAED,wCAAgB,GAAhB;QACI,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAEL,oBAAC;AAAD,CAAC,AAhED,CAAmC,YAAY,GAgE9C","sourcesContent":["import { DataSource, IDataSource } from '../../types/types';\nimport { isDefined } from \"../../util/utils\";\n\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { BaseVariable } from '../base-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { appManager } from '../../util/variable/variables.utils';\n\nconst getManager = () => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.MODEL);\n};\n\nexport class ModelVariable extends BaseVariable implements IDataSource {\n\n type: any;\n saveInPhonegap: any;\n\n constructor(variable: any) {\n super();\n Object.assign(this as any, variable);\n }\n\n init() {\n if (this.isList) {\n getManager().removeFirstEmptyObject(this);\n }\n\n getManager().initBinding(this, 'dataBinding', 'dataSet');\n }\n\n execute(operation: any, options: any) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n returnVal = false;\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = this.isBoundToLocale();\n break;\n case DataSource.Operation.GET_DEFAULT_LOCALE:\n returnVal = this.getDefaultLocale();\n break;\n default:\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n isBoundToLocale() {\n return this.name === 'supportedLocale';\n }\n\n getDefaultLocale() {\n return appManager.getSelectedLocale();\n }\n\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-variable.js","sourceRoot":"./","sources":["src/model/variable/service-variable.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDefined } from \"../../util/utils\";\nimport { DataSource, IDataSource } from \"../../types/types\";\n\nimport { VariableManagerFactory } from '../../factory/variable-manager.factory';\nimport { ApiAwareVariable } from './api-aware-variable';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\nimport { ServiceVariableManager } from '../../manager/variable/service-variable.manager';\nimport { ServiceVariableUtils } from '../../util/variable/service-variable.utils';\nimport {HttpClientService} from \"../../types/http-client.service\";\n\nimport _ from 'lodash';\n\nconst getManager = (): ServiceVariableManager => {\n return VariableManagerFactory.get(VARIABLE_CONSTANTS.CATEGORY.SERVICE);\n};\n\n\nexport interface SVConfig {\n name: string,\n dataSet: any,\n isList: boolean,\n service: string,\n operation: string,\n operationId: string,\n dataBinding: any;\n serviceInfo?: any,\n httpClientService: HttpClientService\n}\n\nexport class ServiceVariable extends ApiAwareVariable implements IDataSource {\n\n // Used to track progress of file upload\n _progressObservable;\n // Used to track a variable http call, so that it can be cancelled at any point of time during its execution\n _observable;\n _deleteFileObservable;\n pagination;\n simulateFileDownload;\n serviceInfo;\n httpService;\n\n constructor(variable: SVConfig) {\n super();\n Object.assign(this as any, variable);\n this.serviceInfo = variable.serviceInfo;\n this.httpService = variable.httpClientService;\n }\n\n execute(operation, options) {\n let returnVal = super.execute(operation, options);\n if (isDefined(returnVal)) {\n return returnVal;\n }\n\n switch (operation) {\n case DataSource.Operation.IS_API_AWARE:\n returnVal = true;\n break;\n case DataSource.Operation.SUPPORTS_CRUD:\n returnVal = false;\n break;\n case DataSource.Operation.SUPPORTS_DISTINCT_API:\n returnVal = false;\n break;\n case DataSource.Operation.IS_PAGEABLE:\n // Check for both client and server side pagination existence\n returnVal = this.hasPagination();\n break;\n case DataSource.Operation.IS_SORTABLE:\n returnVal = this.hasPagination() && !(this as any)._paginationConfig;\n break;\n case DataSource.Operation.SUPPORTS_SERVER_FILTER:\n returnVal = false;\n break;\n case DataSource.Operation.SET_INPUT:\n returnVal = this.setInput(options);\n break;\n case DataSource.Operation.LIST_RECORDS:\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.INVOKE :\n returnVal = this.invoke(options);\n break;\n case DataSource.Operation.UPDATE :\n returnVal = this.update(options);\n break;\n case DataSource.Operation.SEARCH_RECORDS:\n returnVal = this.searchRecords(options);\n break;\n case DataSource.Operation.DOWNLOAD:\n returnVal = this.download(options);\n break;\n case DataSource.Operation.GET_PAGING_OPTIONS:\n returnVal = this.pagination;\n break;\n case DataSource.Operation.IS_UPDATE_REQUIRED:\n returnVal = this.isUpdateRequired(options);\n break;\n case DataSource.Operation.IS_BOUND_TO_LOCALE:\n returnVal = false;\n break;\n case DataSource.Operation.CANCEL:\n returnVal = this.cancel(options);\n break;\n case DataSource.Operation.SET_PAGINATION:\n returnVal = this.setPagination(options);\n break;\n default :\n returnVal = {};\n break;\n }\n return returnVal;\n }\n\n hasPagination() {\n return this.controller === VARIABLE_CONSTANTS.CONTROLLER_TYPE.QUERY || !_.isEmpty(this.pagination);\n }\n\n invoke(options?, success?, error?) {\n // return this.invokeVar();\n return getManager().invoke(this, options, success, error);\n }\n\n update(options, success?, error?) {\n return getManager().invoke(this, options, success, error);\n }\n\n download(options, success?, error?) {\n return getManager().download(this, options, success, error);\n }\n\n setInput(key, val?, options?) {\n return getManager().setInput(this, key, val, options);\n }\n\n searchRecords(options, success?, error?) {\n return new Promise((resolve, reject) => {\n getManager().searchRecords(this, options, (response, pagination) => {\n resolve({data: response.content || response, pagination});\n }, reject);\n });\n }\n\n isUpdateRequired(hasData) {\n const inputFields = getManager().getInputParms(this);\n const queryParams = ServiceVariableUtils.excludePaginationParams(inputFields);\n\n if (!queryParams.length) {\n // if we don't have any query params and variable data is available then we don't need variable update, so return false\n if (hasData) {\n return false;\n }\n }\n\n return true;\n }\n\n setPagination(data) {\n return getManager().setPagination(this, data);\n }\n\n cancel(options?) {\n return getManager().cancel(this, options);\n }\n\n init() {\n getManager().initBinding(this);\n getManager().defineFirstLastRecord(this);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-notifier.js","sourceRoot":"./","sources":["src/types/event-notifier.ts"],"names":[],"mappings":"AAAA;IAAA;QACY,cAAS,GAAG,EAAS,CAAC;IAmBlC,CAAC;IAjBU,qCAAM,GAAb,UAAc,KAAa,EAAE,IAAW;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,CAAW;gBACtC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAEM,wCAAS,GAAhB,UAAiB,KAAa,EAAE,EAAY;QAA5C,iBAQC;QAPG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACH,IAAM,cAAc,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAM,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,UAAC,GAAa,IAAK,OAAA,GAAG,KAAK,EAAE,EAAV,CAAU,CAAC,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC","sourcesContent":["export class DefaultEventNotifier implements EventNotifier {\n private listeners = {} as any;\n\n public notify(event: string, args: any[]) {\n if (this.listeners[event]) {\n this.listeners[event].forEach((l: Function) => {\n l && l.apply(null, args);\n });\n }\n }\n\n public subscribe(event: string, fn: Function) {\n this.listeners[event] = this.listeners[event] || [];\n this.listeners[event].push(fn);\n return () => {\n const eventListeners = this.listeners[event];\n const i = eventListeners.findIndex((fni: Function) => fni === fn);\n eventListeners.splice(i, 1);\n };\n }\n}\n\nexport interface EventNotifier {\n notify: (event: string, args: any[]) => void;\n subscribe: (event: string, fn: Function) => Function;\n}"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataset-util.js","sourceRoot":"./","sources":["src/util/dataset-util.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB;IAAA;IA4JA,CAAC;IA1JU,0BAAc,GAArB,UAAsB,OAAY,EAAE,MAAgB;QAChD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAC;SAChB;QAED,kDAAkD;QAClD,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,KAAK,CAAC;SAChB;QAED,qBAAqB;QACrB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,oBAAQ,GAAf,UAAgB,OAAY,EAAE,GAAQ,EAAE,KAAU,EAAE,MAAgB;QAChE,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;QAEnB,6CAA6C;QAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,oBAAQ,GAAf,UAAgB,OAAY,EAAE,GAAQ,EAAE,KAAU,EAAE,MAAgB;QAChE,qBAAqB;QACrB,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACxB;QAED,yBAAyB;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,mBAAO,GAAd,UAAe,OAAY,EAAE,KAAU,EAAE,MAAgB;QACrD,gDAAgD;QAChD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACY,yBAAa,GAA5B,UAA6B,OAAY,EAAE,OAAY;QACnD,OAAO,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtF,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,mBAAO,GAAd,UAAe,OAAY,EAAE,CAAM,EAAE,KAAU,EAAE,OAAa;QAC1D,IAAI,KAAK,CAAC;QAEV,qBAAqB;QACrB,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACrC,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SACnC;aAAM;YACH,KAAK,GAAG,CAAC,CAAC;SACb;QAED,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE;gBACvB,UAAU,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;aACpC;SACJ;aAAM;YACH,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACZ,4CAA4C;gBAC5C,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;aAC1B;SACJ;QAED,yBAAyB;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,mBAAO,GAAd,UAAe,OAAY,EAAE,KAAU,EAAE,KAAU,EAAE,OAAa;QAC9D,qBAAqB;QACrB,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACzC,OAAO,OAAO,CAAC;SAClB;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,IAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,UAAU,EAAE;gBACZ,yBAAyB;gBACzB,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBACxD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;aACtC;iBAAM;gBACJ,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;aACzI;SAEJ;aAAM;YACH,yBAAyB;YACzB,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SACnC;QAED,yBAAyB;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACI,sBAAU,GAAjB,UAAkB,OAAY,EAAE,CAAM,EAAE,OAAY;QAChD,IAAI,KAAK,EAAE,UAAU,CAAC;QACtB,yBAAyB;QACzB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YACtB,UAAU,GAAG,OAAO,CAAC;SACxB;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACnC;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,OAAO,CAAC,IAAI,EAAE;gBACd,IAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAClD,IAAI,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAClG,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;iBACxC;aACJ;iBAAM;gBACH,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAChC,4FAA4F;gBAC5F,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC5B;aACJ;SACJ;aAAM;YACH,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACxB;QACD,yBAAyB;QACzB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,2BAAe,GAAtB,UAAuB,MAAgB;QACnC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,CAAC;IAEM,oBAAQ,GAAf,UAAgB,OAAY,EAAE,MAAgB;QAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;IACL,kBAAC;AAAD,CAAC,AA5JD,IA4JC","sourcesContent":["import _ from 'lodash';\n\nexport default class DatasetUtil {\n\n static isValidDataset(dataSet: any, isList?: boolean) {\n if (!dataSet) {\n return false;\n }\n\n // check array type dataset for list type variable\n if (isList && !_.isArray(dataSet)) {\n return false;\n }\n\n // change the dataSet\n return dataSet;\n }\n\n static getValue(dataSet: any, key: any, index: any, isList?: boolean) {\n index = index || 0;\n\n // return the value against the specified key\n return isList ? dataSet[index][key] : dataSet[key];\n }\n\n static setValue(dataSet: any, key: any, value: any, isList?: boolean) {\n // check param sanity\n if (key && !isList) {\n dataSet[key] = value;\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static getItem(dataSet: any, index: any, isList?: boolean) {\n // return the object against the specified index\n return isList ? dataSet[index] : dataSet;\n }\n\n /**\n * This method is used to find target node\n * @param dataSet: provided dataSet\n * @param options: provided options\n * @returns {any} targetnode\n */\n private static getTargetNode(dataSet: any, options: any) {\n dataSet = options.parentIndex !== undefined ? dataSet[options.parentIndex] : dataSet;\n return _.get(dataSet, options.path);\n }\n\n static setItem(dataSet: any, i: any, value: any, options?: any) {\n let index;\n\n // check param sanity\n if (_.isUndefined(i) || !options.isList) {\n return dataSet;\n }\n\n if (_.isObject(i)) {\n index = _.findIndex(dataSet, i);\n } else {\n index = i;\n }\n\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n const innerElemindex = _.findIndex(innerArray, i);\n if (innerElemindex > -1) {\n innerArray[innerElemindex] = value;\n }\n } else {\n if (index > -1) {\n // set the value against the specified index\n dataSet[index] = value;\n }\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static addItem(dataSet: any, value: any, index: any, options?: any) {\n // check param sanity\n if (_.isUndefined(value) || !options.isList) {\n return dataSet;\n }\n\n // set the value against the specified index\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n if (innerArray) {\n // check for index sanity\n index = index !== undefined ? index : innerArray.length;\n innerArray.splice(index, 0, value);\n } else {\n options.parentIndex !== undefined ? _.set(dataSet[options.parentIndex], options.path, [value]) : _.set(dataSet, options.path, [value]);\n }\n\n } else {\n // check for index sanity\n index = index !== undefined ? index : dataSet.length;\n dataSet.splice(index, 0, value);\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n /**\n *\n * @param dataSet\n * @param i, can be index value of the object/element in array\n * or\n * the whole object which needs to be removed\n * @param exactMatch\n * @returns {any}\n */\n static removeItem(dataSet: any, i: any, options: any) {\n let index, exactMatch;\n // check for index sanity\n i = i !== undefined ? i : dataSet.length - 1;\n\n if (_.isBoolean(options)) {\n exactMatch = options;\n }\n if (_.isObject(options)) {\n exactMatch = options.exactMatch;\n }\n\n if (_.isObject(i)) {\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n const innerElemindex = _.findIndex(innerArray, i);\n if (innerElemindex > -1 && (!exactMatch || (exactMatch && _.isEqual(innerArray[innerElemindex], i)))) {\n innerArray.splice(innerElemindex, 1);\n }\n } else {\n index = _.findIndex(dataSet, i);\n // When exactMatch property is set to true delete only when every property values are same*/\n if (index > -1 && (!exactMatch || (exactMatch && _.isEqual(dataSet[index], i)))) {\n dataSet.splice(index, 1);\n }\n }\n } else {\n dataSet.splice(i, 1);\n }\n // return the new dataSet\n return dataSet;\n }\n\n static getValidDataset(isList?: boolean) {\n return isList ? [] : {};\n }\n\n static getCount(dataSet: any, isList?: boolean) {\n return isList ? dataSet.length : Object.keys(dataSet).length;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-upload.util.js","sourceRoot":"./","sources":["src/util/file-upload.util.ts"],"names":[],"mappings":"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","sourcesContent":["import { triggerFn } from './utils';\n\nimport { NotifyPromise } from './notify-promise';\n\nimport _ from 'lodash';\n\nenum UPLOAD_STATUS {\n QUEUED = 'queued',\n IN_PROGRESS = 'inprogress',\n SUCCESS = 'success',\n ERROR = 'error',\n ABORTED = 'abort'\n}\n\nfunction transformEvent(event: any) {\n event.target = event.target || {\n status: event.responseCode,\n response: event.response\n };\n return event;\n}\n\nclass FileTransferObject {\n name: string;\n size: string;\n status: string;\n transferFn: Function;\n abortFn: Function;\n promise: any;\n progress: number;\n\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n this.name = file.name;\n this.size = file.size || '';\n this.status = UPLOAD_STATUS.QUEUED;\n this.transferFn = transferFn;\n this.promise = promise;\n this.abortFn = abortFn;\n }\n\n start() {\n if (this.status === UPLOAD_STATUS.QUEUED) {\n this.status = UPLOAD_STATUS.IN_PROGRESS;\n triggerFn(this.transferFn);\n }\n }\n\n then(onSuccess: any, onError: any, onProgress: any) {\n const self = this;\n this.promise.then(function (event: any) {\n self.status = UPLOAD_STATUS.SUCCESS;\n triggerFn(onSuccess, event);\n }, function (event: any) {\n self.status = UPLOAD_STATUS.ERROR;\n triggerFn(onError, event);\n }, function (event: any) {\n self.progress = Math.round(event.loaded / event.total * 100);\n triggerFn(onProgress, event);\n });\n return this;\n }\n\n finally(onFinal?: any) {\n this.promise.finally(onFinal);\n }\n\n /* aborts the file upload */\n abort() {\n this.status = UPLOAD_STATUS.ABORTED;\n triggerFn(this.abortFn);\n this.finally();\n }\n\n}\n\nclass AjaxFileTransferObject extends FileTransferObject {\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n super(file, transferFn, promise, abortFn);\n }\n}\n\n/* upload file using fileTransfer */\nfunction uploadWithFileTransfer(file: any, url: any, options: any) {}\n\nfunction appendFileToFormData(file: any, fd: any, options: any) {\n /* append file to form data */\n if (_.isArray(file)) {\n _.forEach(file, function (fileObject: any) {\n fd.append(options.paramName, fileObject.content || fileObject, fileObject.name);\n });\n } else if (_.isObject(file)) {\n fd.append(options.paramName, file.content || file, file.name);\n }\n}\n\n/* upload file with ajax calling */\nfunction uploadWithAjax(file: any, variable: any, fd: any, url: any, options: any) {\n const cloneFD = new FormData();\n const iterate = (value: any, key: any) => {\n const fileObject = (_.isArray(value) ? value[0] : value);\n if (!(fileObject instanceof File || fileObject instanceof Blob)) {\n cloneFD.append(key, value);\n }\n };\n // The foreeach method on form data doesn't exist in IE. Hence we check if it exists\n // or else use the lodash forEach\n if (fd.forEach) {\n fd.forEach(iterate);\n } else {\n _.forEach(fd, iterate);\n }\n appendFileToFormData(file, cloneFD, options);\n\n const promise = new NotifyPromise((resolve: any, reject: any, notify: any) => {\n // ToDo - variable seperation\n variable.httpService.uploadFile(url, cloneFD, variable, {notify: notify}).then((data: any) => {\n resolve(data);\n }, (error: any) => {\n reject(error);\n });\n file._uploadProgress = variable.request;\n });\n\n return promise;\n}\n\n/* upload the file - IE9 support */\n// function uploadWithIframe(file, url, options) {}\n\n/* upload the next file depending on the status */\nfunction starNextFileTransfer(fts: any) {\n const ft = _.find(fts, function (f: any) {\n return f.status === UPLOAD_STATUS.QUEUED;\n });\n if (ft) {\n ft.start();\n ft.finally(starNextFileTransfer.bind(undefined, fts));\n }\n}\n\n/* upload the max no of files at once i.e. two at once based on max*/\nfunction startFileTransfers(fts: any, max: any) {\n let i = 0;\n const len = fts.length;\n while (i < max && i < len) {\n starNextFileTransfer(fts);\n i++;\n }\n}\n\nfunction isMobileApp() {\n return false;\n}\n\n/**\n * This function uploads the file to the given url endpoint.\n *\n * @param file file to upload\n * @param url http endpoint to which the file has to be submitted.\n * @param options\n * @returns a promise to listen for success, event, onProgress.\n * One can also abort the upload by simply calling abort function.\n */\nexport function upload(files: any, variable: any, fd: any, config: any, options?: any) {\n options = _.extend({\n 'paramName' : config.fileParamName\n }, options);\n return uploadWithAjax(files, variable, fd, config.url, options);\n // let fileTransfers = [],\n // url = config.uploadUrl;\n // options = _.extend({\n // 'paramName' : config.fileParamName\n // }, options);\n //\n // if (isMobileApp()) {\n // _.forEach(files, function (file) {\n // fileTransfers.push(uploadWithFileTransfer(file, url, options));\n // });\n // } else if ((window as any).FormData) {\n // _.forEach(files, function (file) {\n // fileTransfers.push(uploadWithAjax(file, url, options));\n // });\n // } else {\n // _.forEach(files, function (file) {\n // fileTransfers.push(uploadWithIframe(file, url, options));\n // });\n // }\n // startFileTransfers(fileTransfers, 2);\n // return fileTransfers;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"inflight-queue.js","sourceRoot":"./","sources":["src/util/inflight-queue.ts"],"names":[],"mappings":"AAAA;IAAA;QACI,kBAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IAqG9B,CAAC;IAnGG;;;;;OAKG;IACK,kCAAU,GAAlB,UAAmB,QAAa,EAAE,MAA0E;QACxG,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjD;aAAM;YACH,IAAM,SAAS,GAAG,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;OAGG;IACK,qCAAa,GAArB,UAAsB,OAAY;QAC9B,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,6BAAK,GAAZ,UAAa,QAAa;QACtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,+BAAO,GAAP,UAAQ,QAAa;QACjB,IAAM,SAAS,GAAU,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC;QAEhB,iEAAiE;QACjE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO;SACV;QAED,4BAA4B;QAC5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,WAAW,CAAC,MAAM,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACxB;iBAAM;gBACH,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC1B,WAAW,CAAC,OAAO,EAAE,CAAC;aACzB;YACD,OAAO;SACV;QAED,QAAQ,QAAQ,CAAC,gBAAgB,EAAE;YAC/B,KAAK,aAAa;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;gBACD,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM;YACV,KAAK,YAAY;gBACb,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,WAAW,CAAC,MAAM,EAAE;oBACpB,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;gBACD,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC1B,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM;YACV;gBACI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpC;gBACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrB,MAAM;SACb;IACL,CAAC;IAED;;;;;;OAMG;IACH,8BAAM,GAAN,UAAO,QAAa;QAApB,iBAQC;QAPG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,KAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAE9D,IAAI,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/C,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACL,oBAAC;AAAD,CAAC,AAtGD,IAsGC;AAED,MAAM,CAAC,IAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC","sourcesContent":["class InflightQueue {\n requestsQueue = new Map();\n\n /**\n * pushes the process against a variable in its queue\n * @param variable\n * @param {{resolve: (value?: any) => void; reject: (reason?: any) => void}} param2\n * the resolve callback will be called on\n */\n private addToQueue(variable: any, param2: {resolve: (value?: (any)) => void; reject: (reason?: any) => void}) {\n if (this.requestsQueue.has(variable)) {\n this.requestsQueue.get(variable).push(param2);\n } else {\n const processes = [];\n processes.push({resolve: param2.resolve, reject: param2.reject, active: false});\n this.requestsQueue.set(variable, processes);\n }\n }\n\n /**\n * Calls the reject method against the passed process\n * @param process\n */\n private rejectProcess(process: any) {\n process.reject('PROCESS_REJECTED_IN_QUEUE');\n }\n\n /**\n * clears the queue against a variable\n * @param variable\n */\n public clear(variable: any) {\n this.requestsQueue.delete(variable);\n }\n\n /**\n * executes the n/w calls for a specified variable pushed in its respective queue (pushed while it was inFlight)\n * @param variable\n */\n process(variable: any) {\n const processes: [any] = this.requestsQueue.get(variable);\n let nextProcess;\n\n // process request queue for the variable only if it is not empty\n if (!processes || !processes.length) {\n this.clear(variable);\n return;\n }\n\n // If only one item in queue\n if (processes.length === 1) {\n nextProcess = processes[0];\n if (nextProcess.active) {\n this.clear(variable);\n } else {\n nextProcess.active = true;\n nextProcess.resolve();\n }\n return;\n }\n\n switch (variable.inFlightBehavior) {\n case 'executeLast':\n for (let i = 0; i < processes.length - 2; i++) {\n this.rejectProcess(processes[i]);\n }\n processes.splice(0, processes.length - 1);\n this.process(variable);\n break;\n case 'executeAll':\n nextProcess = processes.splice(0, 1)[0];\n if (nextProcess.active) {\n nextProcess = processes.splice(0, 1)[0];\n }\n nextProcess.active = true;\n nextProcess.resolve();\n break;\n default:\n for (let i = 0; i < processes.length - 1; i++) {\n this.rejectProcess(processes[i]);\n }\n this.clear(variable);\n break;\n }\n }\n\n /**\n * initializes the queue against a variable and makes the first process call\n * If already initialized and a process in queue is in progress, the queue is not processed.\n * To process the next item in the queue, the process method has to be called from the caller.\n * @param variable\n * @returns {Promise<any>}\n */\n submit(variable: any) {\n return new Promise((resolve, reject) => {\n this.addToQueue(variable, {resolve: resolve, reject: reject});\n\n if (this.requestsQueue.get(variable).length === 1) {\n this.process(variable);\n }\n });\n }\n}\n\nexport const $queue = new InflightQueue();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"notify-promise.js","sourceRoot":"./","sources":["src/util/notify-promise.ts"],"names":[],"mappings":"AAAA;IAEI,uBAAY,EAAO;QACf,IAAM,WAAW,GAAQ,EAAE,EACvB,MAAM,GAAG,UAAC,MAAW;YACrB,WAAW,CAAC,OAAO,CAAC,UAAC,GAAQ;gBACzB,GAAG,CAAC,MAAM,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,IAAM,OAAO,GAAG;YACZ,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,IAAM,EAAE,GAAI,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YAC7B,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEF,EAAU,CAAC,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,EAAU,CAAC,IAAI,GAAG,UAAC,SAAc,EAAE,QAAa,EAAE,QAAa;YAC3D,EAAU,CAAC,SAAS,CACjB,UAAC,QAAa;gBACV,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACd,CAAC,EACD,UAAC,MAAW;gBACR,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,OAAO,EAAE,CAAC;YACd,CAAC,CACJ,CAAC;YACF,IAAI,QAAQ,EAAE;gBACV,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;QACL,CAAC,CAAC;QACF,OAAO,EAAE,CAAC;IACd,CAAC;IACL,oBAAC;AAAD,CAAC,AApCD,IAoCC;;AAED,wEAAwE;AACxE,iCAAiC;AACjC,KAAK;AACL,0BAA0B;AAC1B,+DAA+D","sourcesContent":["export class NotifyPromise {\n\n constructor(fn: any) {\n const notifyQueue: any = [],\n notify = (status: any) => {\n notifyQueue.forEach((fn1: any) => {\n fn1(status);\n });\n };\n\n const cleanUp = function() {\n notifyQueue.length = 0;\n };\n\n const p1 = new Promise((res, rej) => {\n fn(res, rej, notify);\n });\n\n (p1 as any).superThen = p1.then.bind(p1);\n (p1 as any).then = (onResolve: any, onReject: any, onNotify: any) => {\n (p1 as any).superThen(\n (response: any) => {\n onResolve(response);\n cleanUp();\n },\n (reason: any) => {\n onReject(reason);\n cleanUp();\n }\n );\n if (onNotify) {\n notifyQueue.push(onNotify);\n }\n };\n return p1;\n }\n}\n\n// let newPromise = new PromiseWithNotify((resolve, reject, notify) => {\n// setInterval(notify, 1000);\n// })\n// console.log(newPromise)\n// newPromise.then(undefined, undefined, () => console.log(3));\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"./","sources":["src/util/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,MAAM,CAAC,IAAM,QAAQ,GAAG;IACpB,OAAO,EAAG,SAAS;IACnB,WAAW,EAAG,aAAa;IAC3B,KAAK,EAAG,OAAO;IACf,KAAK,EAAG,OAAO;IACf,WAAW,EAAG,aAAa;IAC3B,MAAM,EAAG,QAAQ;IACjB,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,MAAM;IACb,MAAM,EAAG,QAAQ;IACjB,SAAS,EAAG,WAAW;IACvB,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,MAAM;IACb,SAAS,EAAG,WAAW;IACvB,QAAQ,EAAG,UAAU;IACrB,aAAa,EAAG,eAAe;IAC/B,OAAO,EAAG,SAAS;IACnB,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,MAAM;IACb,IAAI,EAAG,MAAM;CAChB,CAAA;AACD,MAAM,CAAC,IAAM,eAAe,GAAG;IAC3B,IAAI,EAAG,YAAY;IACnB,IAAI,EAAG,UAAU;IACjB,SAAS,EAAG,WAAW;IACvB,QAAQ,EAAG,qBAAqB;IAChC,aAAa,EAAG,qBAAqB;IACrC,eAAe,EAAG,qBAAqB;IACvC,SAAS,EAAG,qBAAqB;CACpC,CAAA;AACD,IAAM,KAAK,GAAG;IACV,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,MAAM;IACX,cAAc,EAAE,2DAA2D;IAC3E,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,gBAAgB;IACzB,sBAAsB,EAAE,iDAAiD;IACzE,qBAAqB,EAAE,8GAA8G;IACrI,sBAAsB,EAAE,oCAAoC;IAC5D,sBAAsB,EAAE,yCAAyC;IACjE,kBAAkB,EAAE,mCAAmC;IACvD,sBAAsB,EAAE,oBAAoB;IAC5C,WAAW,EAAE,uDAAuD;IACpE,aAAa,EAAE,8EAA8E;IAC7F,mBAAmB,EAAE,4EAA4E;IACjG,kBAAkB,EAAE,mDAAmD;IACvE,eAAe,EAAE,iBAAiB;IAClC,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,iBAAiB,EAAE,WAAW;IAC9B,wBAAwB,EAAE,SAAS;IACnC,UAAU,EAAE,iBAAiB;IAC7B,cAAc,EAAE,0BAA0B;IAC1C,kBAAkB,EAAE,iBAAiB;IACrC,qBAAqB,EAAE,mGAAmG;IAC1H,gBAAgB,EAAE,4DAA4D;IAC9E,QAAQ,EAAE,2GAA2G;CACxH,CAAA;AACD,IAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1K,MAAM,CAAC,IAAM,IAAI,GAAG;IAAC,cAAY;SAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;QAAZ,yBAAY;;AAAO,CAAC,CAAC;AAC1C,SAAU,WAAW,CAAC,KAAU;;;;;gBACxB,EAAE,GAAG,CAAC,CAAC;;;qBACJ,CAAC;gBACJ,qBAAM,KAAG,KAAK,GAAG,EAAE,EAAI,EAAA;;gBAAvB,SAAuB,CAAC;;;;;CAE/B;AACD,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,GAAW;IACrC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,GAAQ;IAC/B,IAAM,QAAQ,GAAG;QACb,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,CAAC;QACX,kBAAkB,EAAE,EAAE;QACtB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,CAAC;KAClB,CAAC;IACF,4GAA4G;IAC5G,IAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;IAGI,qBAAY,GAAW;QACnB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,6BAAO,GAAd;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IACvC,CAAC;IACL,kBAAC;AAAD,CAAC,AAVD,IAUC;;AACD,6BAA6B;AAC7B,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAU,GAAG;IAC3C,IAAM,WAAW,GAAG,kCAAkC,CAAC;IACvD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACjB;;;YAGI;QACJ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACxD,OAAO,GAAG,CAAC;SACd;QACD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;KAC9D;AACL,CAAC,CAAC;AACF,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,CAAM,IAAK,OAAA,WAAW,KAAK,OAAO,CAAC,EAAxB,CAAwB,CAAC;AAC9D,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,CAAM,IAAK,OAAA,IAAI,KAAK,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAnC,CAAmC,CAAC;AACxE,gEAAgE;AAChE,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,IAAS;IAClC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;EAIE;AACF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,OAAe;IACvC,IAAI,IAAI,CAAC;IACT,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,QAAQ,CAAC,MAAM,CAAC;KAC1B;IACD,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AACF,uCAAuC;AACvC,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,IAAY;IACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACvB,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;AAC3H,CAAC,CAAC;AACF,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,OAAY;IACrC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,SAAS,CAAC;KACpB;IACD,IAAI;QACA,IAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7C,6CAA6C;QAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACtF;IAAC,OAAO,CAAC,EAAE;QACR,mEAAmE;QACnE,OAAO,SAAS,CAAC;KACpB;AACL,CAAC,CAAC;AACF,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,SAAiB;IACvC,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7G,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE;QACN,4DAA4D;QAC5D,8DAA8D;QAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,IAAI,GAAG,IAAI,CAAC;SACf;aAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,EAAE;YAC7C,gDAAgD;YAChD,IAAI,GAAG,IAAI,CAAC;SACf;aAAM;YACH,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AACF;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,QAAa,EAAE,GAAQ,EAAE,UAAoB;IACjE,IAAI,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO;KACV;IACD,IAAI,UAAU,EAAE;QACZ,KAAK,GAAG,eAAe,CAAC;KAC3B;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,KAAU,EAAE,GAAQ;QACzD,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,GAAQ,EAAE,cAAoB;IAClD,IAAI,GAAG,YAAY,IAAI,EAAE;QACrB,OAAO,GAAG,CAAC;KACd;IACD,IAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,OAAO,IAAI,OAAO,YAAY,MAAM,EAAE;QACtC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,IAAI,kBAAkB,EAAE,CAAC,CAAC;KAC7F;SAAM;QACH,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC,CAAC;KACnE;IACD,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,MAAW;IACvC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,GAAW,EAAE,UAAkB,EAAE,UAAoB;IAClF,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,KAAK,CAAC;KAChB;IAED,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAElE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AACF,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,EAAO;IAC7B;;QAEI;IAH2B,iBAAe;SAAf,UAAe,EAAf,qBAAe,EAAf,IAAe;QAAf,gCAAe;;IAK9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAC5D,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;KACtC;IAED,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;QAClB,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC/B;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,GAAQ,EAAE,GAAQ,EAAE,MAAY;IAExD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QACd,OAAO;KACV;IAED,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC1B;IAED,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EACxB,IAAI,GAAQ,EAAE,CAAC;IAEnB,IAAI,cAAc,CAAC;IAEnB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAS;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,0DAA0D;YAC3E,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,KAAK,CAAC;SAChB;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC;QAEZ,OAAO,QAAQ,CAAC,MAAM,EAAE;YACpB,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oDAAoD;SAC1H;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,CAAC,OAAO,CAAC,UAAC,IAAS;QACnB,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACpB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;aACxB;SACJ;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QACxB,GAAG,GAAG,OAAO,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC,CAAC","sourcesContent":["// @ts-ignore\nimport X2JS from 'x2js';\nimport _ from 'lodash';\nexport const DataType = {\n INTEGER : 'integer',\n BIG_INTEGER : 'big_integer',\n SHORT : 'short',\n FLOAT : 'float',\n BIG_DECIMAL : 'big_decimal',\n DOUBLE : 'double',\n LONG : 'long',\n BYTE : 'byte',\n STRING : 'string',\n CHARACTER : 'character',\n TEXT : 'text',\n DATE : 'date',\n TIME : 'time',\n TIMESTAMP : 'timestamp',\n DATETIME : 'datetime',\n LOCALDATETIME : 'localdatetime',\n BOOLEAN : 'boolean',\n LIST : 'list',\n CLOB : 'clob',\n BLOB : 'blob'\n}\nexport const DEFAULT_FORMATS = {\n DATE : \"yyyy-MM-dd\",\n TIME : \"HH:mm:ss\",\n TIMESTAMP : \"timestamp\",\n DATETIME : \"yyyy-MM-ddTHH:mm:ss\",\n LOCALDATETIME : \"yyyy-MM-ddTHH:mm:ss\",\n DATETIME_ORACLE : \"yyyy-MM-dd HH:mm:ss\",\n DATE_TIME : \"yyyy-MM-dd HH:mm:ss\"\n}\nconst REGEX = {\n SNAKE_CASE: /[A-Z]/g,\n ANDROID: /Android/i,\n IPHONE: /iPhone/i,\n IPOD: /iPod/i,\n IPAD: /iPad/i,\n MAC: /Mac/i,\n ANDROID_TABLET: /android|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i,\n MOBILE: /Mobile/i,\n WINDOWS: /Windows Phone/i,\n SUPPORTED_IMAGE_FORMAT: /\\.(bmp|gif|jpe|jpg|jpeg|tif|tiff|pbm|png|ico)$/i,\n SUPPORTED_FILE_FORMAT: /\\.(txt|js|css|html|script|properties|json|java|xml|smd|xmi|sql|log|wsdl|vm|ftl|jrxml|yml|yaml|md|less|jsp)$/i,\n SUPPORTED_AUDIO_FORMAT: /\\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,\n SUPPORTED_VIDEO_FORMAT: /\\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,\n PAGE_RESOURCE_PATH: /^\\/pages\\/.*\\.(js|css|html|json)$/,\n MIN_PAGE_RESOURCE_PATH: /.*(page.min.html)$/,\n VALID_EMAIL: /^[a-zA-Z][\\w.+]+@[a-zA-Z_]+?\\.[a-zA-Z.]{1,4}[a-zA-Z]$/,\n VALID_WEB_URL: /^(http[s]?:\\/\\/)(www\\.){0,1}[a-zA-Z0-9=:?\\/\\.\\-]+(\\.[a-zA-Z]{2,5}[\\.]{0,1})?/,\n VALID_WEBSOCKET_URL: /^(ws[s]?:\\/\\/)(www\\.){0,1}[a-zA-Z0-9=:?\\/\\.\\-]+(\\.[a-zA-Z]{2,5}[\\.]{0,1})?/,\n VALID_RELATIVE_URL: /^(?!www\\.|(?:http|ftp)s?:\\/\\/|[A-Za-z]:\\\\|\\/\\/).*/,\n REPLACE_PATTERN: /\\$\\{([^\\}]+)\\}/g,\n ZIP_FILE: /\\.zip$/i,\n EXE_FILE: /\\.exe$/i,\n NO_QUOTES_ALLOWED: /^[^'|\"]*$/,\n NO_DOUBLE_QUOTES_ALLOWED: /^[^\"]*$/,\n VALID_HTML: /<[a-z][\\s\\S]*>/i,\n VALID_PASSWORD: /^[0-9a-zA-Z-_.@&*!#$%]+$/,\n SPECIAL_CHARACTERS: /[^A-Z0-9a-z_]+/i,\n APP_SERVER_URL_FORMAT: /^(http[s]?:\\/\\/)(www\\.){0,1}[a-zA-Z0-9\\.\\-]+([:]?[0-9]{2,5}|\\.[a-zA-Z]{2,5}[\\.]{0,1})\\/+[^?#&=]+$/,\n JSON_DATE_FORMAT: /\\d{4}-[0-1]\\d-[0-3]\\d(T[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d{1,3}Z$)?/,\n DATA_URL: /^\\s*data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\\-._~:@\\/?%\\s]*)\\s*$/i\n}\nconst NUMBER_TYPES = ['int', DataType.INTEGER, DataType.FLOAT, DataType.DOUBLE, DataType.LONG, DataType.SHORT, DataType.BYTE, DataType.BIG_INTEGER, DataType.BIG_DECIMAL];\nexport const noop = (...args: any) => { };\nfunction* idGenerator(token: any) {\n let id = 1;\n while (1) {\n yield `${token}${id++}`;\n }\n}\nexport const isValidWebURL = (url: string): boolean => {\n return (REGEX.VALID_WEB_URL).test(url);\n};\n\n/*Function to check whether the specified object is a pageable object or not.*/\nexport const isPageable = (obj: any): boolean => {\n const pageable = {\n 'content': [],\n 'first': true,\n 'last': true,\n 'number': 0,\n 'numberOfElements': 10,\n 'size': 20,\n 'sort': null,\n 'totalElements': 10,\n 'totalPages': 1\n };\n // paginated object may or may not contain 'empty' property. In either case, Pageable should return as true.\n const paginatedObj = _.omit(obj, 'empty');\n return (_.isEqual(_.keys(pageable), _.keys(paginatedObj).sort()));\n};\n\nexport class IDGenerator {\n private generator: Iterator<any>;\n\n constructor(key: string) {\n this.generator = idGenerator(key);\n }\n\n public nextUid(): string {\n return this.generator.next().value;\n }\n}\n// ToDo - variable seperation\nexport const hasCordova = () => {\n return !!window['cordova'];\n};\n\nexport const removeExtraSlashes = function (url) {\n const base64regex = /^data:image\\/([a-z]{2,});base64,/;\n if (_.isString(url)) {\n /*\n * support for mobile apps having local file path url starting with file:/// and\n * support for base64 format\n * */\n if (_.startsWith(url, 'file:///') || base64regex.test(url)) {\n return url;\n }\n return url.replace(new RegExp('([^:]\\/)(\\/)+', 'g'), '$1');\n }\n};\nexport const isDefined = (v: any) => 'undefined' !== typeof v;\nexport const isObject = (v: any) => null !== v && 'object' === typeof v;\n/* returns true if the provided data type matches number type */\nexport const isNumberType = (type: any): boolean => {\n return (NUMBER_TYPES.indexOf(extractType(type).toLowerCase()) !== -1);\n};\n\n/*\n* extracts and returns the last bit from full typeRef of a field\n* e.g. returns 'String' for typeRef = 'java.lang.String'\n* @params: {typeRef} type reference\n*/\nexport const extractType = (typeRef: string): string => {\n let type;\n if (!typeRef) {\n return DataType.STRING;\n }\n type = typeRef && typeRef.substring(typeRef.lastIndexOf('.') + 1);\n type = type && type.toLowerCase();\n type = type === DataType.LOCALDATETIME ? DataType.DATETIME : type;\n return type;\n};\n/*Function to check if date time type*/\nexport const isDateTimeType = (type: string) => {\n if (_.includes(type, '.')) {\n type = _.toLower(extractType(type));\n }\n return _.includes([DataType.DATE, DataType.TIME, DataType.TIMESTAMP, DataType.DATETIME, DataType.LOCALDATETIME], type);\n};\nexport const getValidJSON = (content: any) => {\n if (!content) {\n return undefined;\n }\n try {\n const parsedIntValue = parseInt(content, 10);\n /*obtaining json from editor content string*/\n return isObject(content) || !isNaN(parsedIntValue) ? content : JSON.parse(content);\n } catch (e) {\n /*terminating execution if new variable object is not valid json.*/\n return undefined;\n }\n};\nexport const xmlToJson = (xmlString: string) => {\n const x2jsObj = new X2JS({ 'emptyNodeForm': 'content', 'attributePrefix': '', 'enableToStringFunc': false });\n let json = x2jsObj.xml2js(xmlString);\n if (json) {\n // in x2js version 3.4.4, for simple string, {} is returned.\n // in this case also, return null to denote conversion failure\n if (Object.keys(json).length === 0) {\n json = null;\n } else if (_.get(json, 'html.body.parsererror')) {\n // for csv data, the response comes in an object\n json = null;\n } else {\n json = _.get(json, Object.keys(json)[0]);\n }\n }\n return json;\n};\n/*\n * Util method to replace patterns in string with object keys or array values\n * Examples:\n * Utils.replace('Hello, ${first} ${last} !', {first: 'wavemaker', last: 'ng'}) --> Hello, wavemaker ng\n * Utils.replace('Hello, ${0} ${1} !', ['wavemaker','ng']) --> Hello, wavemaker ng\n * Examples if parseError is true:\n * Utils.replace('Hello, {0} {1} !', ['wavemaker','ng']) --> Hello, wavemaker ng\n */\nexport const replace = (template: any, map: any, parseError?: boolean) => {\n let regEx = REGEX.REPLACE_PATTERN;\n if (!template) {\n return;\n }\n if (parseError) {\n regEx = /\\{([^\\}]+)\\}/g;\n }\n\n return template.replace(regEx, function (match: any, key: any) {\n return _.get(map, key);\n });\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/**\n * Returns a deep cloned replica of the passed object/array\n * @param object object/array to clone\n * @returns a clone of the passed object\n */\nexport const getClonedObject = (object: any) => {\n return _.cloneDeep(object);\n};\n/**\n * this method checks if a given string starts with the given string\n */\nexport const stringStartsWith = (str: string, startsWith: string, ignoreCase?: boolean): boolean => {\n if (!str) {\n return false;\n }\n\n const regEx = new RegExp('^' + startsWith, ignoreCase ? 'i' : '');\n\n return regEx.test(str);\n};\n/*function to check if fn is a function and then execute*/\nexport function triggerFn(fn: any, ...argmnts: any) {\n /* Use of slice on arguments will make this function not optimizable\n * https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n * */\n\n let start = 1;\n const len = arguments.length, args = new Array(len - start);\n for (start; start < len; start++) {\n args[start - 1] = arguments[start];\n }\n\n if (_.isFunction(fn)) {\n return fn.apply(null, args);\n }\n}\n\n/*\n * Util method to find the value of a key in the object\n * if key not found and create is true, an object is created against that node\n * Examples:\n * var a = {\n * b: {\n * c : {\n * d: 'test'\n * }\n * }\n * }\n * Utils.findValue(a, 'b.c.d') --> 'test'\n * Utils.findValue(a, 'b.c') --> {d: 'test'}\n * Utils.findValue(a, 'e') --> undefined\n * Utils.findValue(a, 'e', true) --> {} and a will become:\n * {\n * b: {\n * c : {\n * d: 'test'\n * }\n * },\n * e: {\n * }\n * }\n */\nexport const findValueOf = (obj: any, key: any, create?: any) => {\n\n if (!obj || !key) {\n return;\n }\n\n if (!create) {\n return _.get(obj, key);\n }\n\n const parts = key.split('.'),\n keys: any = [];\n\n let skipProcessing;\n\n parts.forEach((part: any) => {\n if (!parts.length) { // if the part of a key is not valid, skip the processing.\n skipProcessing = true;\n return false;\n }\n\n const subParts = part.match(/\\w+/g);\n let subPart;\n\n while (subParts.length) {\n subPart = subParts.shift();\n keys.push({ 'key': subPart, 'value': subParts.length ? [] : {} }); // determine whether to create an array or an object\n }\n });\n\n if (skipProcessing) {\n return undefined;\n }\n\n keys.forEach((_key: any) => {\n let tempObj = obj[_key.key];\n if (!isObject(tempObj)) {\n tempObj = getValidJSON(tempObj);\n if (!tempObj) {\n tempObj = _key.value;\n }\n }\n obj[_key.key] = tempObj;\n obj = tempObj;\n });\n\n return obj;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-variable.http.utils.js","sourceRoot":"./","sources":["src/util/variable/live-variable.http.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { getClonedObject, removeExtraSlashes } from '../utils';\n\nimport { VARIABLE_URLS } from '../../constants/variables.constants';\nimport { httpService } from './variables.utils';\n\nimport _ from 'lodash';\n\nconst isStudioMode = false;\n\nexport const parseConfig = (serviceParams: any): any => {\n\n let val, param, config;\n const urlParams = serviceParams.urlParams;\n\n /*get the config out of baseServiceManager*/\n if (VARIABLE_URLS.hasOwnProperty(serviceParams.target) && VARIABLE_URLS[serviceParams.target].hasOwnProperty(serviceParams.action)) {\n config = getClonedObject(VARIABLE_URLS[serviceParams.target][serviceParams.action]);\n\n /*To handle dynamic urls, append the serviceParams.config.url with the static url(i.e., config.url)*/\n if (serviceParams.config) {\n config.url = (serviceParams.config.url || '') + config.url;\n config.method = serviceParams.config.method || config.method;\n config.headers = config.headers || {};\n\n // TODO[Shubham] - change to for - of\n for (const key in serviceParams.config.headers) {\n val = serviceParams.config.headers[key];\n config.headers[key] = val;\n }\n }\n /* check for url parameters to replace the url */\n if (urlParams) {\n for (param in urlParams) {\n if (urlParams.hasOwnProperty(param)) {\n val = urlParams[param];\n if (!_.isUndefined(val) && val !== null) {\n config.url = config.url.replace(new RegExp(':' + param, 'g'), val);\n }\n }\n }\n }\n\n /* check for data */\n if (serviceParams.params) {\n config.params = serviceParams.params;\n }\n /* check for data */\n if (!_.isUndefined(serviceParams.data)) {\n config.data = serviceParams.data;\n }\n /* check for data parameters, written to support old service calls (.json calls) */\n if (serviceParams.dataParams) {\n config.data.params = serviceParams.dataParams;\n }\n /* check for headers */\n if (serviceParams.headers) {\n config.headers = serviceParams.headers;\n }\n\n /* set extra config flags */\n config.byPassResult = serviceParams.byPassResult;\n config.isDirectCall = serviceParams.isDirectCall;\n config.isExtURL = serviceParams.isExtURL;\n config.preventMultiple = serviceParams.preventMultiple;\n config.responseType = serviceParams.responseType;\n\n return config;\n }\n\n return null;\n};\n\nexport const generateConnectionParams = (params, action) => {\n let connectionParams,\n urlParams,\n requestData;\n requestData = params.data;\n\n urlParams = {\n projectID : params.projectID,\n service : !_.isUndefined(params.service) ? params.service : 'services',\n dataModelName : params.dataModelName,\n entityName : params.entityName,\n queryName : params.queryName,\n queryParams : params.queryParams,\n procedureName : params.procedureName,\n procedureParams : params.procedureParams,\n id : params.id,\n relatedFieldName : params.relatedFieldName,\n page : params.page,\n size : params.size,\n sort : params.sort\n };\n connectionParams = {\n target : 'DATABASE',\n action : action,\n urlParams : urlParams,\n data : requestData || '',\n config : {\n 'url' : params.url\n }\n };\n\n connectionParams = parseConfig(connectionParams);\n // TODO: Remove after backend fix\n connectionParams.url = removeExtraSlashes(connectionParams.url);\n\n return connectionParams;\n};\n\nconst initiateAction = (action, params, successCallback?, failureCallback?, noproxy?) => {\n let connectionParams,\n urlParams,\n requestData,\n param,\n val,\n config,\n headers,\n httpDetails;\n\n /*\n config = getClonedObject(config[action]);\n headers = config && config.headers;\n\n requestData = params.data;\n\n urlParams = {\n projectID : params.projectID,\n service : !_.isUndefined(params.service) ? params.service : 'services',\n dataModelName : params.dataModelName,\n entityName : params.entityName,\n queryName : params.queryName,\n queryParams : params.queryParams,\n procedureName : params.procedureName,\n procedureParams : params.procedureParams,\n id : params.id,\n relatedFieldName : params.relatedFieldName,\n page : params.page,\n size : params.size,\n sort : params.sort\n };\n */\n if (params.url && isStudioMode && !noproxy) {\n/*\n /!* Check for url parameters to replace the URL.\n * So the variable parameters in the URL will be replaced by the actual parameter values.*!/\n if (urlParams) {\n for (param in urlParams) {\n if (urlParams.hasOwnProperty(param)) {\n val = urlParams[param];\n if (!_.isUndefined(val) && val !== null) {\n config.url = config.url.replace(new RegExp(':' + param, 'g'), val);\n }\n }\n }\n }\n headers = headers || {};\n headers.skipSecurity = 'true';\n headers['Content-Type'] = headers['Content-Type'] || 'application/json';\n /!*(!$rootScope.preferences.workspace.loadXDomainAppDataUsingProxy is added in endpointAddress to differentiate desktop from saas*!/\n if (action === 'testRunQuery') {\n headers['Content-Type'] = undefined;\n httpDetails = {\n 'endpointAddress' : $window.location.protocol + (!$rootScope.preferences.workspace.loadXDomainAppDataUsingProxy ? ('//' + $window.location.host) : '') + params.url + config.url,\n 'method' : config.method,\n 'content-Type' : 'multipart/form-data',\n 'headers' : headers\n };\n requestData.append(SWAGGER_CONSTANTS.WM_HTTP_JSON, new Blob([JSON.stringify(httpDetails)], {\n type: 'application/json'\n }));\n connectionParams = {\n 'data': requestData,\n 'headers': headers,\n 'urlParams' : {\n projectID: $rootScope.project.id\n }\n };\n } else {\n connectionParams = {\n 'data': {\n 'endpointAddress' : $window.location.protocol + (!$rootScope.preferences.workspace.loadXDomainAppDataUsingProxy ? ('//' + $window.location.host) : '') + params.url + config.url,\n 'method' : config.method,\n 'requestBody' : JSON.stringify(requestData),\n 'headers' : headers\n },\n 'urlParams' : {\n projectID: $rootScope.project.id\n }\n };\n }\n WebService.testRestService(connectionParams, function (response) {\n var parsedData = getValidJSON(response.responseBody),\n errMsg,\n localeObject;\n if (parsedData.hasOwnProperty('result')) {\n triggerFn(successCallback, parsedData.result);\n } else if (parsedData.hasOwnProperty('error')) {\n triggerFn(failureCallback, (parsedData.error && parsedData.error.message) || parsedData.error);\n } else if (parsedData.hasOwnProperty('errorDetails')) {\n localeObject = $rootScope.locale || $rootScope.appLocale;\n errMsg = getClonedObject(localeObject[parsedData.errorDetails.code]);\n triggerFn(failureCallback, replace(errMsg, parsedData.errorDetails.data) || parsedData.errorDetails);\n } else {\n triggerFn(successCallback, parsedData);\n }\n }, failureCallback);*/\n } else {\n connectionParams = generateConnectionParams(params, action);\n params.operation = action;\n return httpService.sendCallAsObservable({\n url: connectionParams.url,\n method: connectionParams.method,\n data: connectionParams.data,\n headers: connectionParams.headers\n }, params);\n }\n};\n\nexport const LVService = {\n searchTableDataWithQuery: (params, successCallback, failureCallback) => initiateAction('searchTableDataWithQuery', params, successCallback, failureCallback),\n executeAggregateQuery: (params, successCallback, failureCallback) => initiateAction('executeAggregateQuery', params, successCallback, failureCallback),\n searchTableData: (params, successCallback, failureCallback) => initiateAction('searchTableData', params, successCallback, failureCallback),\n readTableData: (params, successCallback, failureCallback) => initiateAction('readTableData', params, successCallback, failureCallback),\n insertTableData: (params, successCallback, failureCallback) => initiateAction('insertTableData', params, successCallback, failureCallback),\n insertMultiPartTableData: (params, successCallback, failureCallback) => initiateAction('insertMultiPartTableData', params, successCallback, failureCallback),\n updateTableData: (params, successCallback, failureCallback) => initiateAction('updateTableData', params, successCallback, failureCallback),\n updateCompositeTableData: (params, successCallback, failureCallback) => initiateAction('updateCompositeTableData', params, successCallback, failureCallback),\n periodUpdateCompositeTableData: (params, successCallback, failureCallback) => initiateAction('periodUpdateCompositeTableData', params, successCallback, failureCallback),\n updateMultiPartTableData: (params, successCallback, failureCallback) => initiateAction('updateMultiPartTableData', params, successCallback, failureCallback),\n updateMultiPartCompositeTableData: (params, successCallback, failureCallback) => initiateAction('updateMultiPartCompositeTableData', params, successCallback, failureCallback),\n deleteTableData: (params, successCallback, failureCallback) => initiateAction('deleteTableData', params, successCallback, failureCallback),\n deleteCompositeTableData: (params, successCallback, failureCallback) => initiateAction('deleteCompositeTableData', params, successCallback, failureCallback),\n periodDeleteCompositeTableData: (params, successCallback, failureCallback) => initiateAction('periodDeleteCompositeTableData', params, successCallback, failureCallback),\n exportTableData: params => initiateAction('exportTableData', params),\n getDistinctDataByFields: params => initiateAction('getDistinctDataByFields', params),\n countTableDataWithQuery: (params, successCallback, failureCallback) => initiateAction('countTableDataWithQuery', params, successCallback, failureCallback)\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"live-variable.utils.js","sourceRoot":"./","sources":["src/util/variable/live-variable.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasCordova, getClonedObject, isDateTimeType, isDefined, replace, triggerFn, isNumberType } from \"../../util/utils\";\nimport { $rootScope, DB_CONSTANTS, SWAGGER_CONSTANTS } from '../../constants/variables.constants';\nimport { getEvaluatedOrderBy, formatDate } from './variables.utils';\n\n// @ts-ignore\nimport moment from 'moment';\nimport _ from 'lodash';\n\nexport class LiveVariableUtils {\n\n static isCompositeKey(primaryKey) {\n return !primaryKey || (primaryKey && (!primaryKey.length || primaryKey.length > 1));\n }\n\n static isNoPrimaryKey(primaryKey) {\n return (!primaryKey || (primaryKey && !primaryKey.length));\n }\n\n // Generate the URL based on the primary keys and their values\n static getCompositeIDURL(primaryKeysData) {\n let compositeId = '';\n // Loop over the 'compositeKeysData' and construct the 'compositeId'.\n _.forEach(primaryKeysData, (paramValue, paramName) => {\n compositeId += paramName + '=' + encodeURIComponent(paramValue) + '&';\n });\n compositeId = compositeId.slice(0, -1);\n return compositeId;\n }\n\n\n // Check if table has blob column\n static hasBlob(variable) {\n return _.find(_.get(variable, ['propertiesMap', 'columns']), {'type': 'blob'});\n }\n\n static getPrimaryKey(variable) {\n if (!variable.propertiesMap) {\n return [];\n }\n\n if (variable.propertiesMap.primaryFields) {\n return variable.propertiesMap.primaryFields;\n }\n /*Old projects do not have primary fields. Get primary key from the columns*/\n const primaryKey = [];\n /*Loop through the propertiesMap and get the primary key column.*/\n _.forEach(variable.propertiesMap.columns, (index, column) => {\n if (column.isPrimaryKey) {\n if (column.isRelated && (!_.includes(column.relatedFieldName, primaryKey))) {\n primaryKey.push(column.relatedFieldName);\n } else if (!_.includes(column.fieldName, primaryKey)) {\n primaryKey.push(column.fieldName);\n }\n }\n });\n return primaryKey;\n }\n\n // Construct the URL for blob columns and set it in the data, so that widgets can use this\n static processBlobColumns(responseData, variable) {\n if (!responseData) {\n return;\n }\n const blobCols = _.map(_.filter(variable.propertiesMap.columns, {'type': 'blob'}), 'fieldName'),\n deployedUrl = _.trim($rootScope.project.deployedUrl);\n let href = '',\n primaryKeys;\n\n if (_.isEmpty(blobCols)) {\n return;\n }\n\n if (hasCordova()) {\n href += _.endsWith(deployedUrl, '/') ? deployedUrl : deployedUrl + '/';\n }\n href += ((variable._prefabName !== '' && variable._prefabName !== undefined) ? 'prefabs/' + variable._prefabName : 'services') + '/' + variable.liveSource + '/' + variable.type + '/';\n primaryKeys = variable.propertiesMap.primaryFields || variable.propertiesMap.primaryKeys;\n _.forEach(responseData, data => {\n if (data) {\n _.forEach(blobCols, col => {\n const compositeKeysData = {};\n if (data[col] === null || !_.isEmpty(_.trim(data[col]))) {\n return;\n }\n if (LiveVariableUtils.isCompositeKey(primaryKeys)) {\n primaryKeys.forEach(key => {\n compositeKeysData[key] = data[key];\n });\n data[col] = href + 'composite-id/content/' + col + '?' + LiveVariableUtils.getCompositeIDURL(compositeKeysData);\n } else {\n data[col] = href + data[_.join(primaryKeys)] + '/content/' + col;\n }\n });\n }\n });\n }\n\n static getHibernateOrSqlType(variable, fieldName, type, entityName?: string) {\n const columns = variable.propertiesMap.columns;\n let column,\n relatedCols,\n relatedCol,\n columnParts;\n if (_.includes(fieldName, '.')) {\n columnParts = fieldName.split('.');\n if (columnParts.length > 2) {\n return undefined;\n }\n column = _.find(columns, col => {\n return col.fieldName === columnParts[0];\n });\n relatedCols = column && column.columns;\n relatedCol = _.find(relatedCols, col => {\n return col.fieldName === columnParts[1];\n });\n return relatedCol && relatedCol[type];\n }\n column = _.find(columns, col => {\n return col.fieldName === fieldName || col.relatedColumnName === fieldName;\n });\n if (!column && entityName) {\n const entity = _.find(columns, col => col.relatedEntityName === entityName);\n column = _.find(entity.columns, col => {\n return col.fieldName === fieldName || col.relatedColumnName === fieldName;\n });\n }\n return column && column[type];\n }\n\n /*Function to get the sqlType of the specified field.*/\n static getSqlType(variable, fieldName, entityName?: string) {\n return LiveVariableUtils.getHibernateOrSqlType(variable, fieldName, 'type', entityName);\n }\n\n /*Function to check if the specified field has a one-to-many relation or not.*/\n static isRelatedFieldMany(variable, fieldName) {\n const columns = variable.propertiesMap.columns,\n columnsCount = columns.length;\n let index,\n column;\n /*Loop through the columns of the liveVariable*/\n for (index = 0; index < columnsCount; index += 1) {\n column = columns[index];\n /*If the specified field is found in the columns of the variable,\n * then it has a many-to-one relation.*/\n if (column.fieldName === fieldName) {\n return false;\n }\n }\n return true;\n }\n\n static isStringType(type) {\n return _.includes(['text', 'string'], _.toLower(type));\n }\n\n static getSQLFieldType(variable, options) {\n if (_.includes(['timestamp', 'datetime', 'date'], options.type)) {\n return options.type;\n }\n return LiveVariableUtils.getSqlType(variable, options.fieldName) || options.type;\n }\n\n static getAttributeName(variable, fieldName) {\n let attrName = fieldName;\n variable.propertiesMap.columns.forEach(column => {\n if (column.fieldName === fieldName && column.isRelated) {\n attrName = column.relatedFieldName;\n }\n });\n return attrName;\n }\n\n static getFilterCondition(filterCondition) {\n if (_.includes(DB_CONSTANTS.DATABASE_RANGE_MATCH_MODES, filterCondition)) {\n return filterCondition;\n }\n return DB_CONSTANTS.DATABASE_MATCH_MODES['exact'];\n }\n\n static getFilterOption(variable, fieldOptions, options) {\n let attributeName,\n fieldValue = fieldOptions.value,\n filterOption,\n filterCondition;\n\n const matchModes = DB_CONSTANTS.DATABASE_MATCH_MODES,\n fieldName = fieldOptions.fieldName,\n fieldRequired = fieldOptions.required || false,\n fieldType = LiveVariableUtils.getSQLFieldType(variable, fieldOptions);\n\n filterCondition = matchModes[fieldOptions.matchMode] || matchModes[fieldOptions.filterCondition] || fieldOptions.filterCondition;\n\n fieldOptions.type = fieldType;\n /* if the field value is an object(complex type), loop over each field inside and push only first level fields */\n if (_.isObject(fieldValue) && !_.isArray(fieldValue)) {\n const firstLevelValues = [];\n _.forEach(fieldValue, (subFieldValue, subFieldName) => {\n if (subFieldValue && !_.isObject(subFieldValue)) {\n firstLevelValues.push(fieldName + '.' + subFieldName + '=' + subFieldValue);\n }\n });\n return firstLevelValues;\n }\n\n if (_.includes(DB_CONSTANTS.DATABASE_EMPTY_MATCH_MODES, filterCondition)) {\n attributeName = LiveVariableUtils.getAttributeName(variable, fieldName);\n // For non string types empty match modes are not supported, so convert them to null match modes.\n if (fieldType && !LiveVariableUtils.isStringType(fieldType)) {\n filterCondition = DB_CONSTANTS.DATABASE_NULL_EMPTY_MATCH[filterCondition];\n }\n filterOption = {\n 'attributeName': attributeName,\n 'attributeValue': '',\n 'attributeType': _.toUpper(fieldType),\n 'filterCondition': filterCondition,\n 'required': fieldRequired\n };\n if (options.searchWithQuery) {\n filterOption.isVariableFilter = fieldOptions.isVariableFilter;\n }\n return filterOption;\n }\n\n if (isDefined(fieldValue) && fieldValue !== null && fieldValue !== '') {\n /*Based on the sqlType of the field, format the value & set the filter condition.*/\n if (fieldType) {\n switch (fieldType) {\n case 'integer':\n fieldValue = _.isArray(fieldValue) ? _.reduce(fieldValue, (result, value) => {\n value = parseInt(value, 10);\n if (!_.isNaN(value)) {\n result.push(value);\n }\n return result;\n }, []) : parseInt(fieldValue, 10);\n filterCondition = filterCondition ? LiveVariableUtils.getFilterCondition(filterCondition) : matchModes['exact'];\n break;\n case 'date':\n case 'datetime':\n case 'timestamp':\n fieldValue = formatDate(fieldValue, fieldType, variable.dateFormatter);\n filterCondition = filterCondition ? LiveVariableUtils.getFilterCondition(filterCondition) : matchModes['exact'];\n break;\n case 'text':\n case 'string':\n if (_.isArray(fieldValue)) {\n filterCondition = _.includes([matchModes['in'], matchModes['notin']], filterCondition) ? filterCondition : matchModes['exact'];\n } else {\n filterCondition = filterCondition || matchModes['anywhereignorecase'];\n }\n break;\n default:\n filterCondition = filterCondition ? LiveVariableUtils.getFilterCondition(filterCondition) : matchModes['exact'];\n break;\n }\n } else {\n filterCondition = _.isString(fieldValue) ? matchModes['anywhereignorecase'] : matchModes['exact'];\n }\n attributeName = LiveVariableUtils.getAttributeName(variable, fieldName);\n filterOption = {\n 'attributeName': attributeName,\n 'attributeValue': fieldValue,\n 'attributeType': _.toUpper(fieldType),\n 'filterCondition': filterCondition,\n 'required': fieldRequired\n };\n if (options.searchWithQuery) {\n filterOption.isVariableFilter = fieldOptions.isVariableFilter;\n }\n return filterOption;\n }\n }\n\n static getFilterOptions(variable, filterFields, options) {\n let filterOptions = [];\n _.each(filterFields, (fieldOptions) => {\n const filterOption = LiveVariableUtils.getFilterOption(variable, fieldOptions, options);\n if (!_.isNil(filterOption)) {\n if (_.isArray(filterOption)) {\n filterOptions = filterOptions.concat(filterOption);\n } else {\n filterOptions.push(filterOption);\n }\n }\n });\n return filterOptions;\n }\n\n // Wrap the field name and value in lower() in ignore case scenario\n // TODO: Change the function name to represent the added functionality of identifiers for datetime, timestamp and float types. Previously only lower was warapped.\n static wrapInLowerCase(value, options, ignoreCase, isField?) {\n const type = _.toLower(options.attributeType);\n // If ignore case is true and type is string/ text and match mode is string type, wrap in lower()\n if (ignoreCase && (!type || LiveVariableUtils.isStringType(type)) && _.includes(DB_CONSTANTS.DATABASE_STRING_MODES, options.filterCondition)) {\n return 'lower(' + value + ')';\n }\n return value;\n }\n\n static encodeAndAddQuotes(value, type, skipEncode) {\n let encodedValue = skipEncode ? value : encodeURIComponent(value);\n type = _.toLower(type);\n encodedValue = _.replace(encodedValue, /'/g, '\\'\\'');\n // For number types, don't wrap the value in quotes\n if ((isNumberType(type) && type !== 'float')) {\n return encodedValue;\n }\n return '\\'' + encodedValue + '\\'';\n }\n\n static getParamValue(value, options, ignoreCase, skipEncode) {\n let param;\n const filterCondition = options.filterCondition,\n dbModes = DB_CONSTANTS.DATABASE_MATCH_MODES,\n type = options.attributeType;\n if (_.includes(DB_CONSTANTS.DATABASE_EMPTY_MATCH_MODES, filterCondition)) {\n // For empty matchmodes, no value is required\n return '';\n }\n switch (filterCondition) {\n case dbModes.startignorecase:\n case dbModes.start:\n param = LiveVariableUtils.encodeAndAddQuotes(value + '%', type, skipEncode);\n param = LiveVariableUtils.wrapInLowerCase(param, options, ignoreCase);\n break;\n case dbModes.endignorecase:\n case dbModes.end:\n param = LiveVariableUtils.encodeAndAddQuotes('%' + value, type, skipEncode);\n param = LiveVariableUtils.wrapInLowerCase(param, options, ignoreCase);\n break;\n case dbModes.nowhereignorecase:\n case dbModes.nowhere:\n case dbModes.anywhereignorecase:\n case dbModes.anywhere:\n param = LiveVariableUtils.encodeAndAddQuotes('%' + value + '%', type, skipEncode);\n param = LiveVariableUtils.wrapInLowerCase(param, options, ignoreCase);\n break;\n case dbModes.between:\n param = _.join(_.map(value, val => {\n return LiveVariableUtils.wrapInLowerCase(LiveVariableUtils.encodeAndAddQuotes(val, type, skipEncode), options, ignoreCase);\n }), ' and ');\n break;\n case dbModes.in:\n case dbModes.notin:\n param = _.join(_.map(value, val => {\n return LiveVariableUtils.wrapInLowerCase(LiveVariableUtils.encodeAndAddQuotes(val, type, skipEncode), options, ignoreCase);\n }), ', ');\n param = '(' + param + ')';\n break;\n /*case dbModes.exactignorecase:\n case dbModes.exact:\n case dbModes.notequals:\n The above three cases will be handled by default*/\n default:\n param = LiveVariableUtils.encodeAndAddQuotes(value, type, skipEncode);\n param = LiveVariableUtils.wrapInLowerCase(param, options, ignoreCase);\n break;\n }\n return isDefined(param) ? param : '';\n }\n\n static getSearchQuery(filterOptions, operator, ignoreCase, skipEncode?) {\n let query;\n const params = [];\n _.forEach(filterOptions, fieldValue => {\n const value = fieldValue.attributeValue,\n dbModes = DB_CONSTANTS.DATABASE_MATCH_MODES,\n isValArray = _.isArray(value);\n let fieldName = fieldValue.attributeName,\n filterCondition = fieldValue.filterCondition,\n matchModeExpr,\n paramValue;\n // If value is an empty array, do not generate the query\n // If values is NaN and number type, do not generate query for this field\n if ((isValArray && _.isEmpty(value)) || (!isValArray && isNaN(value) && (isNumberType(fieldValue.attributeType))) || (!isValArray && (isNaN(value) && !moment(value).isValid() && isDateTimeType(_.toLower(fieldValue.attributeType))))) {\n return;\n }\n if (isValArray) {\n // If array is value and mode is between, pass between. Else pass as in query\n filterCondition = filterCondition === dbModes.between || filterCondition === dbModes.notin ? filterCondition : dbModes.in;\n fieldValue.filterCondition = filterCondition;\n }\n matchModeExpr = DB_CONSTANTS.DATABASE_MATCH_MODES_WITH_QUERY[filterCondition];\n paramValue = LiveVariableUtils.getParamValue(value, fieldValue, ignoreCase, skipEncode);\n fieldName = LiveVariableUtils.wrapInLowerCase(fieldName, fieldValue, ignoreCase);\n params.push(replace(matchModeExpr, [fieldName, paramValue]));\n });\n query = _.join(params, operator); // empty space added intentionally around OR\n return query;\n }\n\n /**\n * creating the proper values from the actual object like for between,in matchModes value has to be an array like [1,2]\n * @param rules recursive filterexpressions object\n * @param variable variable object\n * @param options options\n */\n static processFilterFields(rules, variable, options) {\n _.remove(rules, rule => {\n return rule && (_.isString(rule.value) && rule.value.indexOf('bind:') === 0 || (rule.matchMode === 'between' ? (_.isString(rule.secondvalue) && rule.secondvalue.indexOf('bind:') === 0) : false));\n });\n\n _.forEach(rules, (rule, index) => {\n if (rule) {\n if (rule.rules) {\n LiveVariableUtils.processFilterFields(rule.rules, variable, options);\n } else {\n if (!_.isNull(rule.target)) {\n const value = rule.matchMode.toLowerCase() === DB_CONSTANTS.DATABASE_MATCH_MODES.between.toLowerCase()\n ? (_.isArray(rule.value) ? rule.value : [rule.value, rule.secondvalue])\n : (rule.matchMode.toLowerCase() === DB_CONSTANTS.DATABASE_MATCH_MODES.in.toLowerCase() || rule.matchMode.toLowerCase() === DB_CONSTANTS.DATABASE_MATCH_MODES.notin.toLowerCase()\n ? (_.isArray(rule.value) ? rule.value : (rule.value ? rule.value.split(',').map(val => val.trim()) : ''))\n : rule.value);\n rules[index] = LiveVariableUtils.getFilterOption(variable, {\n 'fieldName': rule.target,\n 'type': rule.type,\n 'value': value,\n 'required': rule.required,\n 'filterCondition': rule.matchMode || options.matchMode || variable.matchMode\n }, options);\n }\n }\n }\n });\n }\n\n static getSearchField(fieldValue, ignoreCase, skipEncode) {\n let fieldName = fieldValue.attributeName;\n let matchModeExpr;\n let paramValue;\n let filterCondition = fieldValue.filterCondition;\n\n const value = fieldValue.attributeValue;\n const isValArray = _.isArray(value);\n const dbModes = DB_CONSTANTS.DATABASE_MATCH_MODES;\n\n // If value is an empty array, do not generate the query\n // If values is NaN and number type, do not generate query for this field\n if ((isValArray && _.isEmpty(value)) ||\n (isValArray && _.some(value, val => (_.isNull(val) || _.isNaN(val) || val === ''))) ||\n (!isValArray && (isNaN(value) && (isNumberType(fieldValue.attributeType)))) ||\n (!isValArray && (isNaN(value) && !moment(value).isValid() && isDateTimeType(_.toLower(fieldValue.attributeType))))) {\n return;\n }\n if (isValArray) {\n // If array is value and mode is between, pass between. Else pass as in query\n filterCondition = filterCondition === dbModes.between || filterCondition === dbModes.notin ? filterCondition : dbModes.in;\n fieldValue.filterCondition = filterCondition;\n }\n matchModeExpr = DB_CONSTANTS.DATABASE_MATCH_MODES_WITH_QUERY[filterCondition];\n paramValue = LiveVariableUtils.getParamValue(value, fieldValue, ignoreCase, skipEncode);\n fieldName = LiveVariableUtils.wrapInLowerCase(fieldName, fieldValue, ignoreCase);\n return replace(matchModeExpr, [fieldName, paramValue]);\n }\n\n /**\n * this is used to identify whether to use ignorecase at each criteria level and not use the variable\n * level isIgnoreCase flag and apply it to all the rules.\n * Instead of adding an extra param to the criteria object, we have added few other matchmodes for string types like\n * anywhere with anywhereignorecase, start with startignorecase, end with endignorecase, exact with exactignorecase,\n * So while creating the criteria itseld user can choose whether to use ignore case or not for a particular column while querying\n * @param matchMode\n * @param ignoreCase\n * @returns {*} boolean\n */\n static getIgnoreCase(matchMode, ignoreCase) {\n const matchModes = DB_CONSTANTS.DATABASE_MATCH_MODES;\n if (_.indexOf([matchModes['anywhere'], matchModes['nowhere'], matchModes['start'], matchModes['end'], matchModes['exact']], matchMode) !== -1) {\n return false;\n }\n if (_.indexOf([matchModes['anywhereignorecase'], matchModes['nowhereignorecase'], matchModes['startignorecase'], matchModes['endignorecase'], matchModes['exactignorecase']], matchMode) !== -1) {\n return true;\n }\n return ignoreCase;\n }\n\n static generateSearchQuery(rules, condition, ignoreCase, skipEncode) {\n const params = [];\n _.forEach(rules, rule => {\n if (rule) {\n if (rule.rules) {\n const query = LiveVariableUtils.generateSearchQuery(rule.rules, rule.condition, ignoreCase, skipEncode);\n if (query !== '') {\n params.push('(' + query + ')');\n }\n } else {\n const searchField = LiveVariableUtils.getSearchField(rule, LiveVariableUtils.getIgnoreCase(rule.filterCondition, ignoreCase), skipEncode);\n if (!_.isNil(searchField)) {\n params.push(searchField);\n }\n }\n }\n });\n return _.join(params, ' ' + condition + ' ');\n }\n\n static prepareTableOptionsForFilterExps(variable, options, clonedFields) {\n if (!isDefined(options.searchWithQuery)) {\n options.searchWithQuery = true; // Using query api instead of search api\n }\n\n const filterOptions = [];\n const matchModes = DB_CONSTANTS.DATABASE_MATCH_MODES;\n let orderByFields,\n orderByOptions,\n query;\n let clonedObj = clonedFields || getClonedObject(variable.filterExpressions);\n\n // if filterexpression from live filter is present use it to query\n if (options.filterExpr && !_.isEmpty(options.filterExpr)) {\n clonedObj = options.filterExpr;\n }\n // merge live filter runtime values\n let filterRules: any = {};\n if (!_.isEmpty(options.filterFields)) {\n let operator = '';\n for (const field in options.filterFields) {\n operator = options.filterFields[field] && options.filterFields[field]['logicalOp'] || '';\n break;\n }\n filterRules = {'condition': options.logicalOp || operator || 'AND', 'rules': []};\n _.forEach(options.filterFields, (filterObj, filterName) => {\n if (!filterObj) {\n return\n }\n const filterCondition = matchModes[filterObj.matchMode] || matchModes[filterObj.filterCondition] || filterObj.filterCondition;\n if (_.includes(DB_CONSTANTS.DATABASE_EMPTY_MATCH_MODES, filterCondition) ||\n (!_.isNil(filterObj.value) && filterObj.value !== '')) {\n const type = filterObj.type || LiveVariableUtils.getSqlType(variable, filterName, options.entityName);\n const ruleObj = {\n 'target': filterName,\n 'type': type,\n 'matchMode': filterObj.matchMode || (LiveVariableUtils.isStringType(type) ? 'startignorecase' : 'exact'),\n 'value': filterObj.value,\n 'required': filterObj.required || false\n };\n filterRules.rules.push(ruleObj);\n }\n });\n }\n if (!_.isEmpty(clonedObj)) {\n if (!_.isNil(filterRules.rules) && filterRules.rules.length) {\n // combine both the rules using 'AND'\n const tempRules = {'condition': 'AND', 'rules': []};\n tempRules.rules.push(getClonedObject(clonedObj));\n tempRules.rules.push(filterRules);\n clonedObj = tempRules;\n }\n } else {\n clonedObj = filterRules;\n }\n\n LiveVariableUtils.processFilterFields(clonedObj.rules, variable, options);\n query = LiveVariableUtils.generateSearchQuery(clonedObj.rules, clonedObj.condition, variable.ignoreCase, options.skipEncode);\n\n orderByFields = getEvaluatedOrderBy(variable.orderBy, options.orderBy);\n orderByOptions = orderByFields ? 'sort=' + orderByFields : '';\n\n return {\n 'filter' : filterOptions,\n 'sort' : orderByOptions,\n 'query' : query\n };\n }\n\n static prepareTableOptions(variable, options, clonedFields?) {\n if (variable.operation === 'read') {\n return LiveVariableUtils.prepareTableOptionsForFilterExps(variable, options, clonedFields);\n }\n if (!isDefined(options.searchWithQuery)) {\n options.searchWithQuery = true; // Using query api instead of search api\n }\n const filterFields = [];\n let filterOptions = [],\n orderByFields,\n orderByOptions,\n query,\n optionsQuery;\n clonedFields = clonedFields || variable.filterFields;\n // get the filter fields from the variable\n _.forEach(clonedFields, (value, key) => {\n if (_.isObject(value) && (!options.filterFields || !options.filterFields[key] || options.filterFields[key].logicalOp === 'AND')) {\n value.fieldName = key;\n if (LiveVariableUtils.isStringType(LiveVariableUtils.getSQLFieldType(variable, value))) {\n value.filterCondition = DB_CONSTANTS.DATABASE_MATCH_MODES[value.matchMode || variable.matchMode];\n }\n value.isVariableFilter = true;\n filterFields.push(value);\n }\n });\n // get the filter fields from the options\n _.forEach(options.filterFields, (value, key) => {\n value.fieldName = key;\n value.filterCondition = DB_CONSTANTS.DATABASE_MATCH_MODES[value.matchMode || options.matchMode || variable.matchMode];\n filterFields.push(value);\n });\n if (variable.operation === 'read' || options.operation === 'read') {\n filterOptions = LiveVariableUtils.getFilterOptions(variable, filterFields, options);\n }\n /*if searchWithQuery is true, then convert the input params into query string. For example if firstName and lastName\n should be sent as params then query string will be q='firstName containing 'someValue' OR lastName containing 'someValue''\n */\n if (options.searchWithQuery && filterOptions.length) {\n // Generate query for variable filter fields. This has AND logical operator\n query = LiveVariableUtils.getSearchQuery(_.filter(filterOptions, {'isVariableFilter': true}), ' AND ', variable.ignoreCase, options.skipEncode);\n // Generate query for option filter fields. This has default logical operator as OR\n optionsQuery = LiveVariableUtils.getSearchQuery(_.filter(filterOptions, {'isVariableFilter': undefined}), ' ' + (options.logicalOp || 'AND') + ' ', variable.ignoreCase, options.skipEncode);\n if (optionsQuery) {\n // If both variable and option query are present, merge them with AND\n query = query ? (query + ' AND ( ' + optionsQuery + ' )') : optionsQuery;\n }\n }\n orderByFields = getEvaluatedOrderBy(variable.orderBy, options.orderBy);\n orderByOptions = orderByFields ? 'sort=' + orderByFields : '';\n\n return {\n 'filter': filterOptions,\n 'sort': orderByOptions,\n 'query': query\n };\n }\n\n /* Function to check if specified field is of type date*/\n static getFieldType(fieldName, variable, relatedField?) {\n let fieldType,\n columns,\n result;\n if (variable.propertiesMap) {\n columns = variable.propertiesMap.columns || [];\n result = _.find(columns, obj => {\n return obj.fieldName === fieldName;\n });\n // if related field name passed, get its type from columns inside the current field\n if (relatedField && result) {\n result = _.find(result.columns, obj => {\n return obj.fieldName === relatedField;\n });\n }\n fieldType = result && result.type;\n }\n return fieldType;\n }\n\n // Prepare formData for blob columns\n static prepareFormData(variableDetails, rowObject) {\n const formData: any = new FormData();\n formData.rowData = _.clone(rowObject);\n _.forEach(rowObject, (colValue, colName) => {\n if (LiveVariableUtils.getFieldType(colName, variableDetails) === 'blob') {\n if (_.isObject(colValue)) {\n if (_.isArray(colValue)) {\n _.forEach(colValue, fileObject => {\n formData.append(colName, fileObject, fileObject.name);\n });\n } else {\n formData.append(colName, colValue, colValue.name);\n }\n }\n rowObject[colName] = colValue !== null ? '' : null;\n }\n });\n formData.append(SWAGGER_CONSTANTS.WM_DATA_JSON, new Blob([JSON.stringify(rowObject)], {\n type: 'application/json'\n }));\n return formData;\n }\n\n static traverseFilterExpressions(filterExpressions, traverseCallbackFn) {\n if (filterExpressions && filterExpressions.rules) {\n _.forEach(filterExpressions.rules, (filExpObj, i) => {\n if (filExpObj.rules) {\n LiveVariableUtils.traverseFilterExpressions(filExpObj, traverseCallbackFn);\n } else {\n return triggerFn(traverseCallbackFn, filterExpressions, filExpObj);\n }\n });\n }\n }\n\n /**\n * Traverses recursively the filterExpressions object and if there is any required field present with no value,\n * then we will return without proceeding further. Its upto the developer to provide the mandatory value,\n * if he wants to assign it in teh onbefore<delete/insert/update>function then make that field in\n * the filter query section as optional\n * @param filterExpressions - recursive rule Object\n * @returns {Object} object or boolean. Object if everything gets validated or else just boolean indicating failure in the validations\n */\n static getFilterExprFields(filterExpressions) {\n let isRequiredFieldAbsent = false;\n const traverseCallbackFn = (parentFilExpObj, filExpObj) => {\n if (filExpObj\n && filExpObj.required\n && ((_.indexOf(['null', 'isnotnull', 'empty', 'isnotempty', 'nullorempty'], filExpObj.matchMode) === -1) && filExpObj.value === '')) {\n isRequiredFieldAbsent = true;\n return false;\n }\n };\n LiveVariableUtils.traverseFilterExpressions(filterExpressions, traverseCallbackFn);\n return isRequiredFieldAbsent ? !isRequiredFieldAbsent : filterExpressions;\n }\n\n /**\n *\n * @param variable\n * @param options\n * @returns {function(*=): *} returns a function which should be called for the where clause.\n * This return function can take a function as argument. This argument function can modify the filter fields\n * before generating where clause.\n */\n static getWhereClauseGenerator(variable, options, updatedFilterFields?: any) {\n return (modifier, skipEncode?: boolean) => {\n const clonedFields = LiveVariableUtils.getFilterExprFields(getClonedObject(updatedFilterFields || variable.filterExpressions));\n // this flag skips the encoding of the query\n if (isDefined(skipEncode)) {\n options.skipEncode = skipEncode;\n }\n if (modifier) {\n // handling the scenario where variable can also have filterFields\n if (options.filterFields) {\n modifier(clonedFields, options);\n } else {\n modifier(clonedFields);\n }\n }\n return LiveVariableUtils.prepareTableOptions(variable, options, clonedFields).query;\n };\n }\n}\n\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.utils.js","sourceRoot":"./","sources":["src/util/variable/pagination.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { jmespath } from '@metrichor/jmespath';\n\nimport _ from 'lodash';\nimport { getValidJSON } from '../utils';\nimport { VARIABLE_CONSTANTS } from '../../constants/variables.constants';\n\nexport class PaginationUtils {\n /**\n * Modifies the query values with the pagination info which is retrieved from the previous API response.\n * @param variable withholds variable information \n * @param operationInfo has metadata of the variable \n * @param paginationInfo has metadata of the variable pagination data\n * @returns {void} This method does not return anything\n */\n static setPaginationQueryParams(variable, operationInfo, paginationInfo) {\n operationInfo.parameters.forEach(element => {\n // pagination input information varies based on the type\n let inputParam;\n if (paginationInfo.type === 'offset' || paginationInfo.input.offset) {\n inputParam = 'offset';\n } else {\n inputParam = 'page';\n }\n // modifies query values based on the pagination of variable\n // compare parameter name with the input parameter's starting naming key (ex: channelcontext in channelcontext.pagination)\n if (element.name === paginationInfo.input[inputParam].split('.')[0]) {\n element.sampleValue = variable.pagination['page'];\n } else if (element.name === paginationInfo.input.size.split('.')[0]) {\n element.sampleValue = variable.pagination['size'];\n }\n });\n }\n\n /**\n * Sets pagination on the variable based on the response of the triggered api call.\n * @param variable withholds variable information \n * @param response has data of the api call's response\n * @param options has info of the api's query params\n * @returns {void} This method does not return anything\n */\n static setVariablePagination(variable, response, options) {\n if (!variable.pagination) {\n variable.pagination = {\n empty: false\n };\n }\n variable.pagination['size'] = response.size;\n variable.pagination['page'] = response.page || 0;\n variable.pagination['totalElements'] = response.totalElements;\n variable.pagination['numberOfElements'] = variable.pagination['size'];\n variable.pagination['number'] = options['page'] ? options['page'] - 1 : 0;\n \n /**\n * Deduce totalPages from totalElements by size.\n * If the total elements are evenly split among the pages, assign the same to totalPages\n * Else assign totalPages + 1\n */\n variable.pagination['totalPages'] = variable.pagination['totalElements'] / variable.pagination['size'];\n if (variable.pagination['totalElements'] % variable.pagination['size'] === 0) {\n variable.pagination['totalPages'] = parseInt(variable.pagination['totalPages']);\n } else {\n variable.pagination['totalPages'] = parseInt(variable.pagination['totalPages']) + 1;\n }\n\n // If pagination type is cursor, fill next & prev\n if (response.next) {\n variable.pagination['next'] = response.next;\n variable.pagination['prev'] = response.prev;\n variable.pagination['last'] = response.next ? false : true;\n variable.pagination['first'] = response.prev ? false : true;\n } else {\n variable.pagination['first'] = variable.pagination['page'] <= 1 ? true : false;\n // calculate last based on current page index against total pages\n variable.pagination['last'] = response.hasMoreItems === '' ? !(variable.pagination['page'] < variable.pagination['totalPages']) : !response.hasMoreItems;\n }\n }\n\n /**\n * Resolves the expression given in pagination metadata's output\n * @param item has value of each key which is inside output pagination metadata\n * @param response has data of the api call's response\n * @param resHeaders has data of the api call's response headers\n * @param res holds the information of pagination which has to be stored on the variable\n * @param key has key name against which data has to be stored in pagination \n * @returns {void} This method does not return anything\n */\n static setPaginationItems(item, response, res, key, resHeaders) {\n // if the item has body, resolve the expression against the response\n if (_.startsWith(item, '$body')) {\n const bodyKey = item.replace('$body.', '');\n try {\n res[key] = jmespath.search(response, bodyKey);\n } catch {\n console.warn(`${item} expression needs to be corrected as per JMES guidelines`);\n }\n } else if (_.startsWith(item, '$header')) { // if the item has header, resolve the expression against the response headers \n const headerKey = item.replace('$header.', '');\n const headers = (<any>Object).fromEntries(resHeaders?.headers || resHeaders);\n const headerParams = headerKey.split('.');\n try {\n res[key] = jmespath.search(headers, headerParams[0].toLowerCase());\n } catch {\n console.warn(`${item} expression needs to be corrected as per JMES guidelines`);\n }\n if (res[key]?.length) { \n let headerVal = res[key].join();\n if (headerParams.length === 1) { \n /**\n * If the headerParams has only 1 key (which is not an object) name assing headerVal to the res[key]\n */\n res[key] = headerVal;\n } else { \n /**\n * If the headerParams has more than 1 key (an object), parse the stringified headerVal which is an object\n * Resolve the expression against headerVal object amd assign it to res[key]\n */\n let keyName = headerParams.slice(1).join('.');\n const headerResp = JSON.parse(headerVal);\n const specialChar = /[!@#$%^&*()+\\=\\[\\]{};':\"\\\\|,<>\\/?]+/;\n if (specialChar.test(keyName)) {\n // If key name has expression (ex: comparission expression) \n // add root key name to keyName for JMES to resolve the expression\n keyName = 'headerResp.' + keyName;\n }\n try {\n res[key] = jmespath.search(headerResp, keyName);\n } catch {\n console.warn(`${item} expression needs to be corrected as per JMES guidelines`);\n }\n }\n }\n }\n }\n\n /**\n * Return the pagination information of the service based on its existence on swagger or on the variable\n * @param variable withholds variable information \n * @param operationInfo has metadata of the variable \n * @returns {object} This method return pagination metadata\n */\n static getPaginationInfo(operationInfo, variable) {\n if (operationInfo?.paginationInfo) {\n return operationInfo.paginationInfo;\n } else {\n return variable._paginationConfig;\n }\n }\n\n /**\n * Set query params with the pagination info, if pagination metadata is present in query params\n * @param variable withholds variable information \n * @param operationInfo has metadata of the variable \n * @param options has info of the api's query params\n * @returns {void} This method does not return anything\n */\n static checkPaginationAtQuery(operationInfo, variable, options) { \n const paginationInfo = this.getPaginationInfo(operationInfo, variable);\n // If page is not first, pagination is present on the variable and paginationInfo's input meta has size set pagination in query params\n const hasPagination = options && options['page'] && paginationInfo?.input.size && variable.pagination; \n if (!hasPagination) {\n return;\n }\n\n let inputParam;\n // if pagination type is offset, asssign inputParam to offset else page\n if (paginationInfo.type === 'offset' || paginationInfo.input.offset) {\n inputParam = 'offset';\n } else {\n inputParam = 'page';\n }\n const paramName = paginationInfo.input[inputParam].split('.')[0]; \n const paramObj = _.find(operationInfo.parameters, function(obj) { return obj.name === paramName }); \n // check if the variable has query params and they are not empty\n if (paramObj && paramObj.parameterType === 'query') {\n /**\n * For pagination type other than offset, assign page which is recieved from options\n * For offset type, calculate page from size and options[page]\n */\n if (!paginationInfo.output?.page && paginationInfo.type !== 'offset') {\n variable.pagination['page'] = options['page'];\n } else {\n variable.pagination['page'] = this.getOffsetInfo(variable, options);\n }\n this.setPaginationQueryParams(variable, operationInfo, paginationInfo); \n }\n }\n\n /**\n * Deduces the offset information from the size and page params\n * @param variable withholds variable information \n * @param options has info of the api's query params\n * @returns {object} Returns the next offset number\n */\n static getOffsetInfo(variable, options) {\n return variable.pagination['size'] * (options['page'] ? (options['page'] - 1) : 0);\n }\n\n /**\n * Sets Pagination data on the request information\n * @param variable withholds variable information \n * @param operationInfo has metadata of the variable \n * @param options has info of the api's query params\n * @param paginationInfo has pagination information of the variable\n * @param headers has request headers\n * @param requestBody has request body\n * @param url has request url\n * @returns {object} Returns the request object which has pagination info\n */\n static setPaginationAtReq(paginationInfo, operationInfo, variable, headers, requestBody, url, options) {\n let reqObj = {};\n let inputParam;\n let resObj = {};\n // pagination input information varies based on the type\n if (paginationInfo.type === 'offset' || paginationInfo.input.offset) {\n inputParam = 'offset';\n } else {\n inputParam = 'page';\n }\n const paramName = paginationInfo.input[inputParam].split('.')[0]; \n // check if paramName is present in parameters of operation info \n const paramObj = _.find(operationInfo.parameters, function(obj) { return obj.name === paramName }); \n // set page/offset and size from pagination if matched parameter's type is header \n if (paramObj?.parameterType === 'header') {\n const inputBodyParam = VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY + paginationInfo.input[inputParam]; \n if (inputParam !== 'offset') { \n _.set(reqObj, inputBodyParam, variable.pagination['page']);\n } else {\n _.set(reqObj, inputBodyParam, this.getOffsetInfo(variable, options));\n }\n _.set(reqObj, VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY + paginationInfo.input.size, variable.pagination['size']);\n let headerKey = VARIABLE_CONSTANTS.REST_SERVICE.PREFIX.CLOAK_HEADER_KEY + paramName;\n headers[headerKey] = typeof reqObj[headerKey] === 'object' ? JSON.stringify(reqObj[headerKey]) : reqObj[headerKey];\n resObj['headers'] = headers;\n } else if (paramObj?.parameterType === 'body') { \n // set page/offset and size from pagination if matched parameter's type is body \n // assign bodyVal to updated pagination info object\n const bodyVal = JSON.parse(paramObj.sampleValue);\n const bodyParam = paginationInfo.input[inputParam].split('.')[1]\n if (bodyVal && bodyVal[bodyParam]) {\n const inputBodyParam = paginationInfo.input[inputParam].split('.').splice(1).join('.'); \n if (inputParam !== 'offset') { \n _.set(reqObj, inputBodyParam, variable.pagination['page']);\n } else {\n _.set(reqObj, inputBodyParam, this.getOffsetInfo(variable, options));\n }\n _.set(reqObj, paginationInfo.input.size.split('.').splice(1).join('.'), variable.pagination['size']);\n bodyVal[bodyParam] = reqObj[bodyParam];\n requestBody = JSON.stringify(bodyVal);\n resObj['requestBody'] = requestBody;\n }\n } else if (variable.pagination.next && paramObj) {\n /**\n * For cursor type pagination, if pagination info is present in the path \n * Based on whether user clicks on the next or prev button modify the url \n */\n \n if (paramObj.parameterType === 'path') {\n const urlParams = operationInfo.relativePath.split('/'),\n paramConfig = '{' + paramObj.name + '}',\n paramIndex = urlParams.indexOf(paramConfig);\n let invokeUrl;\n if (variable.pagination.isNext) {\n invokeUrl = variable.pagination.next.split('/');\n } else {\n invokeUrl = variable.pagination.prev.split('/');\n }\n\n let urlPathParmas;\n let urlPath;\n if (operationInfo.directPath) { // For direct path, as url has hostname, derivate pathname using URL object\n urlPath = new URL(url);\n urlPathParmas = urlPath.pathname.split('/');\n urlPathParmas[paramIndex] = invokeUrl[paramIndex];\n urlPath.pathname = urlPathParmas.join('/');\n url = urlPath.href;\n resObj['url'] = url;\n } else { // Else modify the url with index as +1 (following proxy pattern)\n urlPathParmas = url.split('/');\n urlPathParmas[paramIndex + 1] = invokeUrl[paramIndex];\n url = urlPathParmas.join('/');\n resObj['url'] = url;\n }\n\n } else if (paramObj.parameterType === 'query') {\n /**\n * For cursor type pagination, if pagination info is present in the query \n * Based on whether user clicks on the next or prev button modify the url's query params\n */\n const urlParams = url.split('?');\n let invokeUrl;\n if (variable.pagination.isNext) {\n invokeUrl = variable.pagination.next.split('?');\n } else {\n invokeUrl = variable.pagination.prev.split('?');\n }\n urlParams[1] = invokeUrl[1];\n url = urlParams.join('?');\n resObj['url'] = url;\n }\n }\n return resObj; \n }\n\n /**\n * Sets the pagination info recieved from api's response in the res object\n * @param operationInfo has metadata of the variable\n * @param res holds the information of pagination which has to be stored on the variable\n * @param paramName has key name against which data has to be stored in pagination\n * @param variable withholds variable information \n * @returns {void} This method does not return anything\n */\n static setParameterVal(paramName, res, operationInfo, variable) {\n const paginationInfo = this.getPaginationInfo(operationInfo, variable);\n const paginationParams = paginationInfo.input[paramName].split('.');\n const param = paginationParams[0]; \n const sizeObj = _.find(operationInfo.parameters, function(obj) { return obj.name === param });\n res[paramName] = _.result(sizeObj, 'sampleValue');\n // if input value is configured from object, fetch the value from the specified path\n if (paginationParams.length > 1) {\n res[paramName] = _.get(getValidJSON(res[paramName]), paginationInfo.input[paramName].split('.').splice(1).join('.'));\n }\n }\n\n /**\n * Creates res object from the response recieved from the api triggered\n * @param variable withholds variable information \n * @param operationInfo has metadata of the variable\n * @param paginationInfo has metadata of the variable's pagination\n * @param response has data of the api call's response\n * @param options has info of the api's query params\n * @param resHeaders has data of the api call's response headers\n * @returns {object} An object which holds the information of pagination which has to be stored on the variable\n */\n static generatePaginationRes(operationInfo, paginationInfo, response, resHeaders, options, variable) {\n let res = {};\n const resOutput = paginationInfo.output;\n // If pagination type is not cursor, create the following metadata \n if (!resOutput?.next) {\n /**\n * If size is present in the pagination's output metadata deduce size from api's response\n * Else deduce size from the pagination's input metadata size key\n */\n if (resOutput?.size) {\n this.setPaginationItems(resOutput.size, response, res, 'size', resHeaders);\n } else { \n this.setParameterVal('size', res, operationInfo, variable);\n }\n /**\n * If page is present in the pagination's output metadata deduce page from api's response\n * Else deduce page from the pagination's input metadata page key\n */\n if (resOutput?.page) {\n this.setPaginationItems(resOutput.page, response, res, 'page', resHeaders);\n } else if (paginationInfo.type !== 'offset') {\n this.setParameterVal('page', res, operationInfo, variable);\n }\n /**\n * If totalElements has $minValue in it, set totalElements as $minValue\n * If the rendered elements are greater than $minValue, set totalElements as Number of elements rendered + 1\n \n * If totalElements is present in the pagination's output metadata deduce totalElements from api's response\n \n * If Pagination type is offset, deduce totalElements from size and options[page] else deduce from size and res[page]\n */\n if (_.startsWith(resOutput?.totalElements, '$minValue')) {\n const totalEl = resOutput.totalElements.replace('$minValue=', '');\n const pageParam = res['page'] ? res['page'] : options['page']\n const elRendered = res['size'] * pageParam;\n if (!variable.pagination || variable.pagination['totalElements'] > elRendered) {\n res['totalElements'] = parseInt(totalEl);\n } else {\n res['totalElements'] = elRendered + 1;\n }\n } else if (resOutput?.totalElements) {\n this.setPaginationItems(resOutput.totalElements, response, res, 'totalElements', resHeaders);\n } else {\n if (paginationInfo.type === 'offset' || paginationInfo.input.offset) {\n res['totalElements'] = (res['size'] * (options['page'] ? options['page'] : 1)) + 1;\n } else {\n res['totalElements'] = (res['size'] * res['page']) + 1;\n }\n }\n /**\n * If hasMoreItems is present in the pagination's output metadata deduce hasMoreItems from api's response\n * Else assign it as empty which will be calculated at pagination object generation\n */\n if (resOutput?.hasMoreItems) {\n this.setPaginationItems(resOutput.hasMoreItems, response, res, 'hasMoreItems', resHeaders);\n } else {\n res['hasMoreItems'] = '';\n }\n } else if (resOutput) { // For cursor type pagination set next and prev keys in res object\n this.setPaginationItems(resOutput.next, response, res, 'next', resHeaders);\n this.setPaginationItems(resOutput.prev, response, res, 'prev', resHeaders);\n }\n return res;\n }\n}"]}