@wavemaker/app-rn-runtime 11.4.0-next.24564 → 11.4.0-next.24568

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.
@@ -95,7 +95,7 @@ export default class WmLiveForm extends WmForm {
95
95
  !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);
96
96
  } else {
97
97
  this.invokeEventCallback('onError', [null, this.proxy, response]);
98
- !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));
98
+ !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message') || response);
99
99
  }
100
100
  }
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseComponentState","forEach","isEmpty","some","get","WmForm","WmFormState","Live_Operations","INSERT","UPDATE","DELETE","READ","WmLiveForm","findOperationType","operation","isPrimary","primaryKey","state","props","formdata","length","value","handleSubmit","event","preventDefault","formData","dataoutput","formdataoutput","operationType","validateFieldsOnSubmit","onBeforesubmit","invokeEventCallback","proxy","formSubmit","inputFields","data","onResultCb","error","response","status","formSuccess","onSuccess","postmessage","toggleMessage","onError","errormessage"],"sources":["liveform.component.tsx"],"sourcesContent":["import { BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { forEach, isEmpty, some, get } from 'lodash';\n\nimport WmFormProps from '../form/form.props';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n}\nconst Live_Operations = {\n INSERT : 'insert',\n UPDATE : 'update',\n DELETE : 'delete',\n READ : 'read'\n}\n\nexport default class WmLiveForm extends WmForm {\n\n findOperationType() {\n let operation;\n let isPrimary = false;\n // const sourceOperation = this.form.datasource && this.form.datasource.execute(DataSource.Operation.GET_OPERATION_TYPE);\n // if (sourceOperation && sourceOperation !== 'read') {\n // return sourceOperation;\n // }\n /*If OperationType is not set then based on the formdata object return the operation type,\n this case occurs only if the form is outside a livegrid*/\n /*If the formdata object has primary key value then return update else insert*/\n if (this.primaryKey && !isEmpty(this.state.props.formdata)) {\n /*If only one column is primary key*/\n if (this.primaryKey.length === 1) {\n if (this.state.props.formdata[this.primaryKey[0]]) {\n operation = Live_Operations.UPDATE;\n }\n /*If only no column is primary key*/\n } else if (this.primaryKey.length === 0) {\n forEach(this.state.props.formdata, (value) => {\n if (value) {\n isPrimary = true;\n }\n });\n if (isPrimary) {\n operation = Live_Operations.UPDATE;\n }\n /*If multiple columns are primary key*/\n } else {\n // @ts-ignore\n isPrimary = some(this.primaryKey, (primaryKey: any) => {\n if (this.state.props.formdata[primaryKey]) {\n return true;\n }\n });\n if (isPrimary) {\n operation = Live_Operations.UPDATE;\n }\n }\n }\n return operation || Live_Operations.INSERT;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = this.state.props.dataoutput || this.formdataoutput;\n const operationType = this.findOperationType();\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit({inputFields: formData}, operationType, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n this.props.formSuccess && this.props.formSuccess();\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BaseComponentState","forEach","isEmpty","some","get","WmForm","WmFormState","Live_Operations","INSERT","UPDATE","DELETE","READ","WmLiveForm","findOperationType","operation","isPrimary","primaryKey","state","props","formdata","length","value","handleSubmit","event","preventDefault","formData","dataoutput","formdataoutput","operationType","validateFieldsOnSubmit","onBeforesubmit","invokeEventCallback","proxy","formSubmit","inputFields","data","onResultCb","error","response","status","formSuccess","onSuccess","postmessage","toggleMessage","onError","errormessage"],"sources":["liveform.component.tsx"],"sourcesContent":["import { BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { forEach, isEmpty, some, get } from 'lodash';\n\nimport WmFormProps from '../form/form.props';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n}\nconst Live_Operations = {\n INSERT : 'insert',\n UPDATE : 'update',\n DELETE : 'delete',\n READ : 'read'\n}\n\nexport default class WmLiveForm extends WmForm {\n\n findOperationType() {\n let operation;\n let isPrimary = false;\n // const sourceOperation = this.form.datasource && this.form.datasource.execute(DataSource.Operation.GET_OPERATION_TYPE);\n // if (sourceOperation && sourceOperation !== 'read') {\n // return sourceOperation;\n // }\n /*If OperationType is not set then based on the formdata object return the operation type,\n this case occurs only if the form is outside a livegrid*/\n /*If the formdata object has primary key value then return update else insert*/\n if (this.primaryKey && !isEmpty(this.state.props.formdata)) {\n /*If only one column is primary key*/\n if (this.primaryKey.length === 1) {\n if (this.state.props.formdata[this.primaryKey[0]]) {\n operation = Live_Operations.UPDATE;\n }\n /*If only no column is primary key*/\n } else if (this.primaryKey.length === 0) {\n forEach(this.state.props.formdata, (value) => {\n if (value) {\n isPrimary = true;\n }\n });\n if (isPrimary) {\n operation = Live_Operations.UPDATE;\n }\n /*If multiple columns are primary key*/\n } else {\n // @ts-ignore\n isPrimary = some(this.primaryKey, (primaryKey: any) => {\n if (this.state.props.formdata[primaryKey]) {\n return true;\n }\n });\n if (isPrimary) {\n operation = Live_Operations.UPDATE;\n }\n }\n }\n return operation || Live_Operations.INSERT;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = this.state.props.dataoutput || this.formdataoutput;\n const operationType = this.findOperationType();\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit({inputFields: formData}, operationType, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n this.props.formSuccess && this.props.formSuccess();\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message') || response);\n }\n }\n\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["parseInt","moment","CURRENCY_INFO","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","isNaN","toFixed","toLocaleLowerCase","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements Formatter {\n \n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n \n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n \n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n \n public format(input: number, fractionSize: number): string {\n return isNaN(input) ? '': input.toFixed(fractionSize).toLocaleLowerCase();\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n \n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nexport default new Map<string, Formatter>([\n ['numberToString', new NumberToStringFormatter()],\n ['prefix', new PrependFormatter()],\n ['suffix', new AppendFormatter()],\n ['stringToNumber', new StringToNumberFormatter()],\n ['timeFromNow', new TimeFromNowFormatter()],\n ['toDate', new DateToStringFormatter()],\n ['toCurrency', new CurrencyFormatter()]\n]);"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,aAAa,QAAkB,gCAAgC;AAMxE,OAAO,MAAMC,qBAAqB,CAAsB;EAE7CC,MAAM,CAACC,KAAW,EAAED,MAAc,EAAU;IAC/C,IAAI,CAACC,KAAK,EAAE;MACR,OAAO,EAAE;IACb;IACA,IAAID,MAAM,KAAK,WAAW,EAAE;MACxB,OAAOC,KAAK,CAACC,OAAO,EAAE,GAAG,EAAE;IAC/B;IACAF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAClC,MAAMC,OAAO,GAAGP,MAAM,CAACI,KAAK,EAAE,IAAI,CAAC;IACnC,OAAOG,OAAO,CAACC,OAAO,EAAE,GAAGD,OAAO,CAACJ,MAAM,CAACA,MAAM,CAAC,GAAGC,KAAK,CAACK,QAAQ,EAAE;EACxE;AACJ;AAEA,OAAO,MAAMC,gBAAgB,CAAsB;EAExCP,MAAM,CAACC,KAAU,EAAEO,MAAc,EAAU;IAC9C,OAAO,CAACA,MAAM,IAAI,EAAE,KAAKP,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIQ,SAAS,GAAGR,KAAK,GAAG,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMS,eAAe,CAAsB;EAEvCV,MAAM,CAACC,KAAU,EAAEU,MAAc,EAAU;IAC9C,OAAO,CAACV,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIQ,SAAS,GAAGR,KAAK,GAAG,EAAE,KAAKU,MAAM,IAAI,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMC,uBAAuB,CAAsB;EAE/CZ,MAAM,CAACC,KAAa,EAAEY,YAAoB,EAAU;IACvD,OAAOC,KAAK,CAACb,KAAK,CAAC,GAAG,EAAE,GAAEA,KAAK,CAACc,OAAO,CAACF,YAAY,CAAC,CAACG,iBAAiB,EAAE;EAC7E;AACJ;AAEA,OAAO,MAAMC,iBAAiB,CAAsB;EAEzCjB,MAAM,CAACkB,IAAY,EAAEC,cAAsB,EAAEC,QAAgB,EAAE;IAClE,MAAMC,eAAe,GAAG,CAAIvB,aAAa,CAASqB,cAAc,CAAC,IAAK,CAAC,CAAC,EAAgBG,MAAM,IAAIH,cAAc,IAAI,EAAE;IACtH,IAAII,IAAI,GAAG,IAAIX,uBAAuB,EAAE,CAACZ,MAAM,CAACkB,IAAI,EAAEE,QAAQ,CAAC;IAC/D,MAAMI,gBAAgB,GAAGD,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC;IAC7C,IAAID,gBAAgB,EAAE;MAClBD,IAAI,GAAGA,IAAI,CAACpB,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC;IAC/B;IACA,OAAOoB,IAAI,GAAGC,gBAAgB,GAAG,GAAG,GAAEH,eAAe,GAAEE,IAAI,GAAEF,eAAe,GAAGE,IAAI,GAAG,EAAE;EAC5F;AACJ;AAEA,OAAO,MAAMG,oBAAoB,CAAsB;EAC5C1B,MAAM,CAAC2B,SAAe,EAAE;IAC3B,OAAOA,SAAS,GAAG9B,MAAM,CAAC8B,SAAS,CAAC,CAACC,OAAO,EAAE,GAAGnB,SAAS;EAC9D;AACJ;AAEA,OAAO,MAAMoB,uBAAuB,CAAsB;EAC/C7B,MAAM,CAACC,KAAa,EAAE;IACzB,OAAOL,QAAQ,CAACK,KAAK,CAAC;EAC1B;AACJ;AAEA,eAAe,IAAI6B,GAAG,CAAoB,CACtC,CAAC,gBAAgB,EAAE,IAAIlB,uBAAuB,EAAE,CAAC,EACjD,CAAC,QAAQ,EAAE,IAAIL,gBAAgB,EAAE,CAAC,EAClC,CAAC,QAAQ,EAAE,IAAIG,eAAe,EAAE,CAAC,EACjC,CAAC,gBAAgB,EAAE,IAAImB,uBAAuB,EAAE,CAAC,EACjD,CAAC,aAAa,EAAE,IAAIH,oBAAoB,EAAE,CAAC,EAC3C,CAAC,QAAQ,EAAE,IAAI3B,qBAAqB,EAAE,CAAC,EACvC,CAAC,YAAY,EAAE,IAAIkB,iBAAiB,EAAE,CAAC,CAC1C,CAAC"}
1
+ {"version":3,"names":["parseInt","moment","CURRENCY_INFO","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","isNaN","toFixed","toLocaleLowerCase","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n\n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n return isNaN(input) ? '': input.toFixed(fractionSize).toLocaleLowerCase();\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nexport default new Map<string, Formatter>([\n ['numberToString', new NumberToStringFormatter()],\n ['prefix', new PrependFormatter()],\n ['suffix', new AppendFormatter()],\n ['stringToNumber', new StringToNumberFormatter()],\n ['timeFromNow', new TimeFromNowFormatter()],\n ['toDate', new DateToStringFormatter()],\n ['toCurrency', new CurrencyFormatter()]\n]);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.4.0-next.24564",
3
+ "version": "11.4.0-next.24568",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "^6.0.16",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.4.0-next.24564",
52
+ "@wavemaker/variables": "11.4.0-next.24568",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -127,7 +127,7 @@
127
127
  "typescript": "^4.9.3",
128
128
  "victory-native": "^36.6.11",
129
129
  "yargs": "^16.2.0",
130
- "@wavemaker/variables": "11.4.0-next.24564"
130
+ "@wavemaker/variables": "11.4.0-next.24568"
131
131
  },
132
132
  "jest": {
133
133
  "preset": "react-native",
@@ -5,6 +5,8 @@ import { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';
5
5
  import { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';
6
6
  import httpService from '@wavemaker/app-rn-runtime/variables/http.service';
7
7
  import injector from '@wavemaker/app-rn-runtime/core/injector';
8
+ import { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';
9
+ import Formatters from '@wavemaker/app-rn-runtime/core/formatters';
8
10
  var _LiveVariableEvents;
9
11
  (function (_LiveVariableEvents) {
10
12
  _LiveVariableEvents["BEFORE_INVOKE"] = "beforeInvoke";
@@ -35,9 +37,6 @@ export class LiveVariable extends _LiveVariable {
35
37
  onSuccess: (context, args) => {
36
38
  return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);
37
39
  },
38
- onError: (context, args) => {
39
- return config.onError && config.onError(args.variable, args.data, args.options);
40
- },
41
40
  onCanUpdate: (context, args) => {
42
41
  return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);
43
42
  },
@@ -51,11 +50,18 @@ export class LiveVariable extends _LiveVariable {
51
50
  return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);
52
51
  }
53
52
  };
53
+ if (config.onError) {
54
+ variableConfig.onError = (context, args) => {
55
+ return config.onError && config.onError(args.variable, args.data, args.options);
56
+ };
57
+ }
54
58
  super(variableConfig);
55
59
  this.config = config;
56
60
  _defineProperty(this, "params", {});
57
61
  _defineProperty(this, "filters", {});
58
62
  _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
63
+ this.dateFormatter = Formatters.get('toDate');
64
+ this.init();
59
65
  }
60
66
  setFilterExpValue(filter) {
61
67
  var _this$filterExpressio;
@@ -97,6 +103,9 @@ export class LiveVariable extends _LiveVariable {
97
103
  }
98
104
  listRecords(options, onSuccess, onError) {
99
105
  this.filters = this.config.filterProvider && this.config.filterProvider();
106
+ if (options) {
107
+ this.filters = deepCopy({}, this.filters, options.filterFields ? options.filterFields : options);
108
+ }
100
109
  options = options || {};
101
110
  options.filterFields = this.filters;
102
111
  this.setFilterExpValue(this.filters);
@@ -1 +1 @@
1
- {"version":3,"names":["isEqual","isUndefined","isFunction","forEach","isEmpty","LiveVariable","_LiveVariable","httpService","injector","_LiveVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","inputFields","filterExpressions","filterFields","isList","maxResults","_context","operation","type","autoUpdate","liveSource","orderBy","category","properties","propertiesMap","tableName","tableType","relatedTables","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","dataFilter","inputData","onResult","onBeforeDatasetReady","get","setFilterExpValue","filter","rules","r","value","target","invokeOnParamChange","last","params","latest","lastFilter","filters","latestFilter","filterProvider","update","invoke","val","key","Promise","resolve","listRecords"],"sources":["live-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface LiveVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n type: string;\n autoUpdate: boolean;\n orderBy: string;\n category: string;\n liveSource: string;\n propertiesMap: any;\n properties: any;\n tableName: string;\n tableType: string;\n relatedTables: any;\n filterExpressions: any;\n filterProvider: any;\n}\n\nenum _LiveVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type LiveVariableEvents = _LiveVariableEvents | VariableEvents;\n\nexport class LiveVariable extends _LiveVariable {\n params: any = {};\n filters: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: LiveVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n inputFields: config.paramProvider(),\n filterExpressions: config.filterExpressions,\n filterFields: config.paramProvider(),\n isList: config.isList,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n type: config.type,\n autoUpdate: config.autoUpdate,\n liveSource: config.liveSource,\n orderBy: config.orderBy,\n category: config.category,\n properties: config.properties,\n propertiesMap: config.propertiesMap,\n tableName: config.tableName,\n tableType: config.tableType,\n relatedTables: config.relatedTables,\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.dataFilter || args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n }\n\n setFilterExpValue(filter: any) {\n this.filterExpressions?.rules.forEach((r: any) => {\n r.value = filter[r.target];\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (this.config.operation === 'read') {\n const lastFilter = this.filters;\n const latestFilter = this.config.filterProvider && this.config.filterProvider();\n if (!isEqual(lastFilter, latestFilter)) {\n this.setFilterExpValue(latestFilter);\n if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {\n this.filters = latestFilter;\n this.invoke();\n }\n }\n }\n if (!isEqual(last, latest)) {\n if (this.config.operation === 'read') {\n forEach(latest, (val: any, key: any) => {\n this.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n this.inputFields = latest;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n // @ts-ignore\n if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {\n this.invoke();\n }\n }\n return Promise.resolve(this);\n }\n\n listRecords(options? : any, onSuccess?: Function, onError?: Function) {\n this.filters = this.config.filterProvider && this.config.filterProvider();\n options = options || {};\n options.filterFields = this.filters;\n this.setFilterExpValue(this.filters);\n return super.listRecords(options, onSuccess, onError);\n }\n\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["isEqual","isUndefined","isFunction","forEach","isEmpty","LiveVariable","_LiveVariable","httpService","injector","deepCopy","Formatters","_LiveVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","inputFields","filterExpressions","filterFields","isList","maxResults","_context","operation","type","autoUpdate","liveSource","orderBy","category","properties","propertiesMap","tableName","tableType","relatedTables","httpClientService","onSuccess","context","args","variable","data","options","onCanUpdate","onBeforeUpdate","dataFilter","inputData","onResult","onBeforeDatasetReady","onError","get","dateFormatter","init","setFilterExpValue","filter","rules","r","value","target","invokeOnParamChange","last","params","latest","lastFilter","filters","latestFilter","filterProvider","update","invoke","val","key","Promise","resolve","listRecords"],"sources":["live-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport Formatters from '@wavemaker/app-rn-runtime/core/formatters';\n\nexport interface LiveVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n type: string;\n autoUpdate: boolean;\n orderBy: string;\n category: string;\n liveSource: string;\n propertiesMap: any;\n properties: any;\n tableName: string;\n tableType: string;\n relatedTables: any;\n filterExpressions: any;\n filterProvider: any;\n}\n\nenum _LiveVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type LiveVariableEvents = _LiveVariableEvents | VariableEvents;\n\nexport class LiveVariable extends _LiveVariable {\n params: any = {};\n filters: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: LiveVariableConfig) {\n const variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n inputFields: config.paramProvider(),\n filterExpressions: config.filterExpressions,\n filterFields: config.paramProvider(),\n isList: config.isList,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n type: config.type,\n autoUpdate: config.autoUpdate,\n liveSource: config.liveSource,\n orderBy: config.orderBy,\n category: config.category,\n properties: config.properties,\n propertiesMap: config.propertiesMap,\n tableName: config.tableName,\n tableType: config.tableType,\n relatedTables: config.relatedTables,\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.dataFilter || args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.dateFormatter = Formatters.get('toDate');\n this.init();\n }\n\n setFilterExpValue(filter: any) {\n this.filterExpressions?.rules.forEach((r: any) => {\n r.value = filter[r.target];\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (this.config.operation === 'read') {\n const lastFilter = this.filters;\n const latestFilter = this.config.filterProvider && this.config.filterProvider();\n if (!isEqual(lastFilter, latestFilter)) {\n this.setFilterExpValue(latestFilter);\n if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {\n this.filters = latestFilter;\n this.invoke();\n }\n }\n }\n if (!isEqual(last, latest)) {\n if (this.config.operation === 'read') {\n forEach(latest, (val: any, key: any) => {\n this.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n this.inputFields = latest;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n // @ts-ignore\n if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {\n this.invoke();\n }\n }\n return Promise.resolve(this);\n }\n\n listRecords(options? : any, onSuccess?: Function, onError?: Function) {\n this.filters = this.config.filterProvider && this.config.filterProvider();\n if (options) {\n this.filters = deepCopy({} as any, this.filters, options.filterFields ? options.filterFields : options);\n }\n options = options || {};\n options.filterFields = this.filters;\n this.setFilterExpValue(this.filters);\n return super.listRecords(options, onSuccess, onError);\n }\n\n}\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ var _ServiceVariableEvents;
13
13
  })(_ServiceVariableEvents || (_ServiceVariableEvents = {}));
14
14
  export class ServiceVariable extends _ServiceVariable {
15
15
  constructor(config) {
16
- const variableConfig = {
16
+ let variableConfig = {
17
17
  name: config.name,
18
18
  dataSet: config.paramProvider(),
19
19
  dataBinding: {},
@@ -29,9 +29,6 @@ export class ServiceVariable extends _ServiceVariable {
29
29
  onSuccess: (context, args) => {
30
30
  return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);
31
31
  },
32
- onError: (context, args) => {
33
- return config.onError && config.onError(args.variable, args.data, args.options);
34
- },
35
32
  onCanUpdate: (context, args) => {
36
33
  return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);
37
34
  },
@@ -45,6 +42,11 @@ export class ServiceVariable extends _ServiceVariable {
45
42
  return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);
46
43
  }
47
44
  };
45
+ if (config.onError) {
46
+ variableConfig.onError = (context, args) => {
47
+ return config.onError && config.onError(args.variable, args.data, args.options);
48
+ };
49
+ }
48
50
  super(variableConfig);
49
51
  this.config = config;
50
52
  _defineProperty(this, "cancelTokenSource", void 0);
@@ -1 +1 @@
1
- {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","inputData","onResult","onBeforeDatasetReady","get","subscribe","AFTER_INVOKE","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","variable","data","options","onCanUpdate","onBeforeUpdate","inputData","onResult","onBeforeDatasetReady","onError","get","subscribe","AFTER_INVOKE","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n let variableConfig: any = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n if (config.onError) {\n variableConfig.onError = (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n };\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":"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"}