@wavemaker/app-rn-runtime 11.11.7-rc.6211 → 11.12.0-next.28188

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 (210) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.component.js +11 -5
  4. package/components/basic/anchor/anchor.component.js.map +1 -1
  5. package/components/basic/anchor/anchor.props.js +1 -0
  6. package/components/basic/anchor/anchor.props.js.map +1 -1
  7. package/components/basic/audio/audio.component.js +52 -47
  8. package/components/basic/audio/audio.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
  10. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
  12. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  13. package/components/basic/button/button.component.js +2 -1
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/button/button.props.js +1 -0
  16. package/components/basic/button/button.props.js.map +1 -1
  17. package/components/basic/label/label.component.js.map +1 -1
  18. package/components/basic/label/label.props.js +1 -0
  19. package/components/basic/label/label.props.js.map +1 -1
  20. package/components/basic/message/message.component.js +15 -7
  21. package/components/basic/message/message.component.js.map +1 -1
  22. package/components/basic/message/message.props.js +1 -0
  23. package/components/basic/message/message.props.js.map +1 -1
  24. package/components/basic/picture/picture.component.js +2 -2
  25. package/components/basic/picture/picture.component.js.map +1 -1
  26. package/components/basic/video/video.component.js +69 -42
  27. package/components/basic/video/video.component.js.map +1 -1
  28. package/components/chart/basechart.props.js +1 -0
  29. package/components/chart/basechart.props.js.map +1 -1
  30. package/components/container/container.component.js +107 -27
  31. package/components/container/container.component.js.map +1 -1
  32. package/components/container/container.props.js +3 -1
  33. package/components/container/container.props.js.map +1 -1
  34. package/components/container/container.styles.js +1 -3
  35. package/components/container/container.styles.js.map +1 -1
  36. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
  37. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  40. package/components/container/tabs/tabheader/tabheader.component.js +11 -2
  41. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  42. package/components/container/tabs/tabheader/tabheader.props.js +1 -0
  43. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  44. package/components/container/tabs/tabpane/tabpane.props.js +3 -0
  45. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  46. package/components/container/tabs/tabs.component.js +11 -2
  47. package/components/container/tabs/tabs.component.js.map +1 -1
  48. package/components/container/wizard/wizard.component.js +1 -0
  49. package/components/container/wizard/wizard.component.js.map +1 -1
  50. package/components/data/list/list.component.js +23 -13
  51. package/components/data/list/list.component.js.map +1 -1
  52. package/components/device/barcodescanner/barcodescanner.component.js +33 -18
  53. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  54. package/components/device/barcodescanner/barcodescanner.props.js +2 -1
  55. package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
  56. package/components/device/camera/camera.component.js +35 -22
  57. package/components/device/camera/camera.component.js.map +1 -1
  58. package/components/device/camera/camera.props.js +2 -1
  59. package/components/device/camera/camera.props.js.map +1 -1
  60. package/components/input/basedataset/basedataset.props.js +1 -0
  61. package/components/input/basedataset/basedataset.props.js.map +1 -1
  62. package/components/input/calendar/calendar.component.js +12 -4
  63. package/components/input/calendar/calendar.component.js.map +1 -1
  64. package/components/input/calendar/views/month-view.js +9 -2
  65. package/components/input/calendar/views/month-view.js.map +1 -1
  66. package/components/input/checkbox/checkbox.component.js +5 -5
  67. package/components/input/checkbox/checkbox.component.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.component.js +15 -11
  69. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  70. package/components/input/chips/chips.component.js +25 -12
  71. package/components/input/chips/chips.component.js.map +1 -1
  72. package/components/input/currency/currency.component.js +5 -2
  73. package/components/input/currency/currency.component.js.map +1 -1
  74. package/components/input/epoch/base-datetime.component.js +9 -9
  75. package/components/input/epoch/base-datetime.component.js.map +1 -1
  76. package/components/input/epoch/datetime/datetime.props.js +1 -0
  77. package/components/input/epoch/datetime/datetime.props.js.map +1 -1
  78. package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
  79. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
  81. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
  83. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  84. package/components/input/fileupload/fileupload.component.js +23 -14
  85. package/components/input/fileupload/fileupload.component.js.map +1 -1
  86. package/components/input/fileupload/fileupload.props.js +2 -0
  87. package/components/input/fileupload/fileupload.props.js.map +1 -1
  88. package/components/input/radioset/radioset.component.js +15 -5
  89. package/components/input/radioset/radioset.component.js.map +1 -1
  90. package/components/input/rating/rating.component.js +11 -3
  91. package/components/input/rating/rating.component.js.map +1 -1
  92. package/components/input/rating/rating.props.js +4 -0
  93. package/components/input/rating/rating.props.js.map +1 -1
  94. package/components/input/select/select.component.js +7 -5
  95. package/components/input/select/select.component.js.map +1 -1
  96. package/components/input/slider/slider.component.js +2 -1
  97. package/components/input/slider/slider.component.js.map +1 -1
  98. package/components/input/switch/switch.component.js +11 -9
  99. package/components/input/switch/switch.component.js.map +1 -1
  100. package/components/input/toggle/toggle.component.js +8 -4
  101. package/components/input/toggle/toggle.component.js.map +1 -1
  102. package/components/input/toggle/toggle.props.js +1 -0
  103. package/components/input/toggle/toggle.props.js.map +1 -1
  104. package/components/navigation/appnavbar/appnavbar.component.js +19 -61
  105. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  106. package/components/navigation/navitem/navitem.component.js +3 -1
  107. package/components/navigation/navitem/navitem.component.js.map +1 -1
  108. package/components/navigation/popover/popover.component.js +2 -1
  109. package/components/navigation/popover/popover.component.js.map +1 -1
  110. package/components/navigation/popover/popover.props.js +2 -1
  111. package/components/navigation/popover/popover.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +74 -20
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +1 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +29 -44
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +4 -2
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +24 -13
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/core/AppConfig.js.map +1 -1
  123. package/core/accessibility.js +51 -32
  124. package/core/accessibility.js.map +1 -1
  125. package/core/base.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.component.js +140 -0
  127. package/core/components/error-fallback/error-fallback.component.js.map +1 -0
  128. package/core/components/error-fallback/error-fallback.styles.js +224 -0
  129. package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
  130. package/core/components/sticky-base.component.js +54 -0
  131. package/core/components/sticky-base.component.js.map +1 -0
  132. package/core/components/sticky-container.component.js +34 -0
  133. package/core/components/sticky-container.component.js.map +1 -0
  134. package/core/components/sticky-container.styles.js +98 -0
  135. package/core/components/sticky-container.styles.js.map +1 -0
  136. package/core/components/sticky-nav.component.js +28 -0
  137. package/core/components/sticky-nav.component.js.map +1 -0
  138. package/core/device/av-service.js +8 -0
  139. package/core/device/av-service.js.map +1 -0
  140. package/core/device/calendar-service.js +7 -1
  141. package/core/device/calendar-service.js.map +1 -1
  142. package/core/device/camera-service.js +6 -0
  143. package/core/device/camera-service.js.map +1 -1
  144. package/core/device/contacts-service.js +7 -1
  145. package/core/device/contacts-service.js.map +1 -1
  146. package/core/device/fileupload-service.js +8 -0
  147. package/core/device/fileupload-service.js.map +1 -0
  148. package/core/device/location-service.js +7 -1
  149. package/core/device/location-service.js.map +1 -1
  150. package/core/device/scan-service.js +6 -0
  151. package/core/device/scan-service.js.map +1 -1
  152. package/core/error-boundary.component.js +1 -1
  153. package/core/error-boundary.component.js.map +1 -1
  154. package/core/event-notifier.js +4 -3
  155. package/core/event-notifier.js.map +1 -1
  156. package/core/fixed-view.component.js +2 -1
  157. package/core/fixed-view.component.js.map +1 -1
  158. package/core/responsive.utils.js +8 -5
  159. package/core/responsive.utils.js.map +1 -1
  160. package/core/sticky-view.component.js +50 -0
  161. package/core/sticky-view.component.js.map +1 -0
  162. package/core/sticky-wrapper.js +129 -0
  163. package/core/sticky-wrapper.js.map +1 -0
  164. package/core/utils.js +0 -6
  165. package/core/utils.js.map +1 -1
  166. package/npm-shrinkwrap.json +48 -47
  167. package/package-lock.json +48 -47
  168. package/package.json +2 -2
  169. package/runtime/App.js +3 -5
  170. package/runtime/App.js.map +1 -1
  171. package/runtime/services/device/calendar-service.js +9 -5
  172. package/runtime/services/device/calendar-service.js.map +1 -1
  173. package/runtime/services/device/camera-service.js +39 -22
  174. package/runtime/services/device/camera-service.js.map +1 -1
  175. package/runtime/services/device/contacts-service.js +6 -5
  176. package/runtime/services/device/contacts-service.js.map +1 -1
  177. package/runtime/services/device/location-service.js +4 -4
  178. package/runtime/services/device/location-service.js.map +1 -1
  179. package/runtime/services/device/permission-service.js +5 -0
  180. package/runtime/services/device/permission-service.js.map +1 -0
  181. package/runtime/services/device/permissions.js +34 -39
  182. package/runtime/services/device/permissions.js.map +1 -1
  183. package/runtime/services/device/scan-service.js +4 -3
  184. package/runtime/services/device/scan-service.js.map +1 -1
  185. package/styles/theme.js +24 -18
  186. package/styles/theme.js.map +1 -1
  187. package/variables/device/calendar/create-event.operation.js +12 -1
  188. package/variables/device/calendar/create-event.operation.js.map +1 -1
  189. package/variables/device/calendar/delete-event.operation.js +12 -1
  190. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  191. package/variables/device/calendar/get-events.operation.js +12 -1
  192. package/variables/device/calendar/get-events.operation.js.map +1 -1
  193. package/variables/device/camera/capture-image.operation.js +8 -1
  194. package/variables/device/camera/capture-image.operation.js.map +1 -1
  195. package/variables/device/camera/capture-video.operation.js +7 -1
  196. package/variables/device/camera/capture-video.operation.js.map +1 -1
  197. package/variables/device/contacts/get-contacts.operation.js +12 -1
  198. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  199. package/variables/device/device/current-geo-position.operation.js +12 -1
  200. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  201. package/variables/device/file/upload-file.operation.js +17 -3
  202. package/variables/device/file/upload-file.operation.js.map +1 -1
  203. package/variables/device/scan/scan.operation.js +12 -1
  204. package/variables/device/scan/scan.operation.js.map +1 -1
  205. package/variables/http.service.js +6 -1
  206. package/variables/http.service.js.map +1 -1
  207. package/core/components/error-fallback.component.js +0 -264
  208. package/core/components/error-fallback.component.js.map +0 -1
  209. package/core/sticky-container.component.js +0 -175
  210. package/core/sticky-container.component.js.map +0 -1
@@ -1,15 +1,26 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import React from 'react';
1
5
  import axios from 'axios';
2
6
  import { endsWith } from 'lodash-es';
3
- import * as DocumentPicker from 'expo-document-picker';
4
7
  import { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';
8
+ import { FileUploadPluginConsumer } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';
5
9
  const namedParameters = {
6
10
  copyToCacheDirectory: false,
7
11
  multiple: false,
8
12
  type: '*/*'
9
13
  };
10
14
  export class UploadFileOperation {
15
+ constructor() {
16
+ _defineProperty(this, "fileUploadService", null);
17
+ }
18
+ setFileUploadService(service) {
19
+ this.fileUploadService = service;
20
+ }
11
21
  chooseFile() {
12
- return DocumentPicker.getDocumentAsync(namedParameters).then(response => {
22
+ var _this$fileUploadServi;
23
+ return (_this$fileUploadServi = this.fileUploadService) === null || _this$fileUploadServi === void 0 ? void 0 : _this$fileUploadServi.getDocumentAsync(namedParameters).then(response => {
13
24
  const assets = response === null || response === void 0 ? void 0 : response.assets[0];
14
25
  return {
15
26
  uri: assets.uri,
@@ -25,7 +36,10 @@ export class UploadFileOperation {
25
36
  }
26
37
  return Promise.resolve().then(() => {
27
38
  if (!params.localFile && params.browse) {
28
- return this.chooseFile();
39
+ return /*#__PURE__*/React.createElement(FileUploadPluginConsumer, null, fileUploadPluginService => {
40
+ this.fileUploadService = fileUploadPluginService;
41
+ return this.chooseFile();
42
+ });
29
43
  } else {
30
44
  const name = params.localFile.split('/').pop() || '';
31
45
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["axios","endsWith","DocumentPicker","FileExtensionTypesMap","namedParameters","copyToCacheDirectory","multiple","type","UploadFileOperation","chooseFile","getDocumentAsync","then","response","assets","uri","name","invoke","params","serverUrl","remoteFolder","Promise","resolve","localFile","browse","split","pop","data","fileName","arr","fileExtension","length","toLocaleLowerCase","fileObj","formData","FormData","append","url","method","headers","error"],"sources":["upload-file.operation.tsx"],"sourcesContent":["import axios from 'axios';\nimport { Platform } from 'react-native';\nimport { endsWith } from 'lodash-es';\nimport * as DocumentPicker from 'expo-document-picker';\n\nimport { Operation } from '@wavemaker/app-rn-runtime/variables/device/operation.provider';\nimport { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';\n\nexport interface UploadFileInput {\n localFile: string;\n remoteFolder: string;\n serverUrl: string;\n browse: boolean;\n}\n\nexport interface UploadFileOutput {\n fileName: string;\n path: string;\n length: number;\n success: boolean;\n inlinePath: string;\n errorMessage: string;\n}\n\nconst namedParameters = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport class UploadFileOperation implements Operation {\n\n public chooseFile() {\n return DocumentPicker.getDocumentAsync(namedParameters).then((response: any) => {\n const assets = response?.assets[0];\n return { uri: assets.uri, name: assets.name };\n });\n }\n\n public invoke(params: UploadFileInput): Promise<UploadFileOutput> {\n params.serverUrl = endsWith(params.serverUrl, '/') ? params.serverUrl : params.serverUrl + '/';\n let serverUrl = params.serverUrl + 'services/file/uploadFile';\n if (params.remoteFolder) {\n serverUrl = serverUrl + '?relativePath=' + params.remoteFolder\n }\n return Promise.resolve().then(() => {\n if (!params.localFile && params.browse) {\n return this.chooseFile();\n } else {\n const name: string | undefined = params.localFile.split('/').pop() || '';\n return { uri: params.localFile, name: name };\n }\n }).then((data: { uri: string | undefined, name: string }) => {\n if (!data || !data?.uri) {\n return;\n }\n const fileName: string | undefined = data.name;\n const arr: any = fileName.split('.');\n const fileExtension: string = ('.' + arr[arr.length - 1]).toLocaleLowerCase();\n let fileObj = {\n uri: data.uri,\n type: FileExtensionTypesMap[fileExtension],\n name: fileName,\n };\n\n let formData = new FormData();\n formData.append('files', fileObj as any);\n return axios({\n url: serverUrl,\n method: 'POST',\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n data: formData\n }).then(\n (response) => {\n return response.data[0];\n }, error => error);\n });\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,QAAQ,WAAW;AACpC,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAGtD,SAASC,qBAAqB,QAAQ,qDAAqD;AAkB3F,MAAMC,eAAe,GAAG;EACtBC,oBAAoB,EAAE,KAAK;EAC3BC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,mBAAmB,CAAsB;EAE7CC,UAAUA,CAAA,EAAG;IAClB,OAAOP,cAAc,CAACQ,gBAAgB,CAACN,eAAe,CAAC,CAACO,IAAI,CAAEC,QAAa,IAAK;MAC9E,MAAMC,MAAM,GAAGD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,MAAM,CAAC,CAAC,CAAC;MAClC,OAAO;QAAEC,GAAG,EAAED,MAAM,CAACC,GAAG;QAAEC,IAAI,EAAEF,MAAM,CAACE;MAAK,CAAC;IAC/C,CAAC,CAAC;EACJ;EAEOC,MAAMA,CAACC,MAAuB,EAA6B;IAChEA,MAAM,CAACC,SAAS,GAAGjB,QAAQ,CAACgB,MAAM,CAACC,SAAS,EAAE,GAAG,CAAC,GAAGD,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,GAAG;IAC9F,IAAIA,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,0BAA0B;IAC7D,IAAID,MAAM,CAACE,YAAY,EAAE;MACvBD,SAAS,GAAGA,SAAS,GAAG,gBAAgB,GAAGD,MAAM,CAACE,YAAY;IAChE;IACA,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACV,IAAI,CAAC,MAAM;MAClC,IAAI,CAACM,MAAM,CAACK,SAAS,IAAIL,MAAM,CAACM,MAAM,EAAE;QACtC,OAAO,IAAI,CAACd,UAAU,CAAC,CAAC;MAC1B,CAAC,MAAM;QACL,MAAMM,IAAwB,GAAGE,MAAM,CAACK,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,EAAE;QACxE,OAAO;UAAEX,GAAG,EAAEG,MAAM,CAACK,SAAS;UAAEP,IAAI,EAAEA;QAAK,CAAC;MAC9C;IACF,CAAC,CAAC,CAACJ,IAAI,CAAEe,IAA+C,IAAK;MAC3D,IAAI,CAACA,IAAI,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEZ,GAAG,GAAE;QACvB;MACF;MACA,MAAMa,QAA4B,GAAGD,IAAI,CAACX,IAAI;MAC9C,MAAMa,GAAQ,GAAGD,QAAQ,CAACH,KAAK,CAAC,GAAG,CAAC;MACpC,MAAMK,aAAqB,GAAG,CAAC,GAAG,GAAGD,GAAG,CAACA,GAAG,CAACE,MAAM,GAAG,CAAC,CAAC,EAAEC,iBAAiB,CAAC,CAAC;MAC7E,IAAIC,OAAO,GAAG;QACZlB,GAAG,EAAEY,IAAI,CAACZ,GAAG;QACbP,IAAI,EAAEJ,qBAAqB,CAAC0B,aAAa,CAAC;QAC1Cd,IAAI,EAAEY;MACR,CAAC;MAED,IAAIM,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;MAC7BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEH,OAAc,CAAC;MACxC,OAAOhC,KAAK,CAAC;QACXoC,GAAG,EAAElB,SAAS;QACdmB,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,cAAc,EAAE;QAClB,CAAC;QACDZ,IAAI,EAAEO;MACR,CAAC,CAAC,CAACtB,IAAI,CACJC,QAAQ,IAAK;QACd,OAAOA,QAAQ,CAACc,IAAI,CAAC,CAAC,CAAC;MACzB,CAAC,EAAEa,KAAK,IAAIA,KAAK,CAAC;IACpB,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","axios","endsWith","FileExtensionTypesMap","FileUploadPluginConsumer","namedParameters","copyToCacheDirectory","multiple","type","UploadFileOperation","constructor","_defineProperty","setFileUploadService","service","fileUploadService","chooseFile","_this$fileUploadServi","getDocumentAsync","then","response","assets","uri","name","invoke","params","serverUrl","remoteFolder","Promise","resolve","localFile","browse","createElement","fileUploadPluginService","split","pop","data","fileName","arr","fileExtension","length","toLocaleLowerCase","fileObj","formData","FormData","append","url","method","headers","error"],"sources":["upload-file.operation.tsx"],"sourcesContent":["import React from 'react';\nimport axios from 'axios';\nimport { Platform } from 'react-native';\nimport { endsWith } from 'lodash-es';\n\nimport { Operation } from '@wavemaker/app-rn-runtime/variables/device/operation.provider';\nimport { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';\nimport { FileUploadPluginConsumer, FileUploadPluginService } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';\n\nexport interface UploadFileInput {\n localFile: string;\n remoteFolder: string;\n serverUrl: string;\n browse: boolean;\n}\n\nexport interface UploadFileOutput {\n fileName: string;\n path: string;\n length: number;\n success: boolean;\n inlinePath: string;\n errorMessage: string;\n}\n\nconst namedParameters = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport class UploadFileOperation implements Operation {\n public fileUploadService: any = null as any;\n\n public setFileUploadService(service: FileUploadPluginService) {\n this.fileUploadService = service;\n }\n\n public chooseFile() {\n return this.fileUploadService?.getDocumentAsync(namedParameters).then((response: any) => {\n const assets = response?.assets[0];\n return { uri: assets.uri, name: assets.name };\n });\n }\n\n public invoke(params: UploadFileInput): any {\n params.serverUrl = endsWith(params.serverUrl, '/') ? params.serverUrl : params.serverUrl + '/';\n let serverUrl = params.serverUrl + 'services/file/uploadFile';\n if (params.remoteFolder) {\n serverUrl = serverUrl + '?relativePath=' + params.remoteFolder\n }\n return Promise.resolve().then(() => {\n if (!params.localFile && params.browse) {\n return (\n <FileUploadPluginConsumer>\n {(fileUploadPluginService: FileUploadPluginService) => {\n this.fileUploadService = fileUploadPluginService;\n return this.chooseFile();\n }}\n </FileUploadPluginConsumer>\n ) as any;\n } else {\n const name: string | undefined = params.localFile.split('/').pop() || '';\n return { uri: params.localFile, name: name };\n }\n }).then((data: { uri: string | undefined, name: string }) => {\n if (!data || !data?.uri) {\n return;\n }\n const fileName: string | undefined = data.name;\n const arr: any = fileName.split('.');\n const fileExtension: string = ('.' + arr[arr.length - 1]).toLocaleLowerCase();\n let fileObj = {\n uri: data.uri,\n type: FileExtensionTypesMap[fileExtension],\n name: fileName,\n };\n\n let formData = new FormData();\n formData.append('files', fileObj as any);\n return axios({\n url: serverUrl,\n method: 'POST',\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n data: formData\n }).then(\n (response) => {\n return response.data[0];\n }, error => error);\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,20 @@
1
+ import React from 'react';
2
+ import { ScanPluginConsumer } from "@wavemaker/app-rn-runtime/core/device/scan-service";
3
+ import { PermissionConsumer } from "@wavemaker/app-rn-runtime/runtime/services/device/permission-service";
1
4
  export class ScanOperation {
2
5
  constructor(scan) {
3
6
  this.scan = scan;
4
7
  }
5
8
  invoke(params) {
6
- return this.scan.scanBarcode(params);
9
+ return /*#__PURE__*/React.createElement(PermissionConsumer, null, permissionService => {
10
+ return /*#__PURE__*/React.createElement(ScanPluginConsumer, null, scanPluginService => {
11
+ return this.scan.scanBarcode({
12
+ ...params,
13
+ scanPluginService,
14
+ permissionService
15
+ });
16
+ });
17
+ });
7
18
  }
8
19
  }
9
20
  //# sourceMappingURL=scan.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScanOperation","constructor","scan","invoke","params","scanBarcode"],"sources":["scan.operation.tsx"],"sourcesContent":["import { ScanService } from \"@wavemaker/app-rn-runtime/core/device/scan-service\";\nimport { Operation, Input, Output } from '../operation.provider';\n\nexport interface ScanInput extends Input {\n barcodeFormat: string;\n}\n\nexport interface ScanOutput extends Output {\n text : string;\n format : string;\n cancelled : boolean;\n}\n\nexport class ScanOperation implements Operation {\n\n constructor(private scan: ScanService) {}\n\n public invoke(params: ScanInput): Promise<ScanOutput> {\n return this.scan.scanBarcode(params);\n }\n}\n"],"mappings":"AAaA,OAAO,MAAMA,aAAa,CAAsB;EAE9CC,WAAWA,CAASC,IAAiB,EAAE;IAAA,KAAnBA,IAAiB,GAAjBA,IAAiB;EAAG;EAEjCC,MAAMA,CAACC,MAAiB,EAAuB;IACpD,OAAO,IAAI,CAACF,IAAI,CAACG,WAAW,CAACD,MAAM,CAAC;EACtC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","ScanPluginConsumer","PermissionConsumer","ScanOperation","constructor","scan","invoke","params","createElement","permissionService","scanPluginService","scanBarcode"],"sources":["scan.operation.tsx"],"sourcesContent":["import React from 'react';\nimport { ScanPluginConsumer, ScanPluginService, ScanService } from \"@wavemaker/app-rn-runtime/core/device/scan-service\";\nimport { Operation, Input, Output } from '../operation.provider';\nimport { PermissionConsumer, PermissionService } from \"@wavemaker/app-rn-runtime/runtime/services/device/permission-service\";\n\nexport interface ScanInput extends Input {\n barcodeFormat: string;\n scanPluginService: any;\n permissionService: any;\n}\n\nexport interface ScanOutput extends Output {\n text : string;\n format : string;\n cancelled : boolean;\n}\n\nexport class ScanOperation implements Operation {\n\n constructor(private scan: ScanService) {}\n\n public invoke(params: ScanInput): any {\n return (\n <PermissionConsumer>\n {(permissionService: PermissionService) => {\n return (\n <ScanPluginConsumer>\n {(scanPluginService: ScanPluginService) => {\n return this.scan.scanBarcode({ ...params, scanPluginService, permissionService });\n }}\n </ScanPluginConsumer>\n );\n }}\n </PermissionConsumer>\n );\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,kBAAkB,QAAwC,oDAAoD;AAEvH,SAASC,kBAAkB,QAA2B,sEAAsE;AAc5H,OAAO,MAAMC,aAAa,CAAsB;EAE9CC,WAAWA,CAASC,IAAiB,EAAE;IAAA,KAAnBA,IAAiB,GAAjBA,IAAiB;EAAG;EAEjCC,MAAMA,CAACC,MAAiB,EAAO;IACpC,oBACEP,KAAA,CAAAQ,aAAA,CAACN,kBAAkB,QACfO,iBAAoC,IAAK;MACzC,oBACET,KAAA,CAAAQ,aAAA,CAACP,kBAAkB,QACfS,iBAAoC,IAAK;QACzC,OAAO,IAAI,CAACL,IAAI,CAACM,WAAW,CAAC;UAAE,GAAGJ,MAAM;UAAEG,iBAAiB;UAAED;QAAkB,CAAC,CAAC;MACnF,CACkB,CAAC;IAEzB,CACkB,CAAC;EAEzB;AACF","ignoreList":[]}
@@ -4,7 +4,7 @@ import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
4
4
  import injector from '@wavemaker/app-rn-runtime/core/injector';
5
5
  export class HttpService {
6
6
  send(options, variable) {
7
- var _variable$serviceInfo;
7
+ var _variable$serviceInfo, _variable$serviceInfo2;
8
8
  const serviceInfo = variable.serviceInfo;
9
9
  let headers = options.headers,
10
10
  requestBody = options.data,
@@ -21,6 +21,11 @@ export class HttpService {
21
21
  });
22
22
  requestBody = formData;
23
23
  }
24
+ if (((variable === null || variable === void 0 || (_variable$serviceInfo2 = variable.serviceInfo) === null || _variable$serviceInfo2 === void 0 ? void 0 : _variable$serviceInfo2.consumes) || [])[0] === 'application/x-www-form-urlencoded') {
25
+ headers['Content-Type'] = 'application/x-www-form-urlencoded';
26
+ const data = (variable.serviceInfo.parameters || []).map(item => `${encodeURIComponent(item.name) + "=" + encodeURIComponent(variable.params[item.name])}`).join("&");
27
+ requestBody = data;
28
+ }
24
29
  if (!isWebPreviewMode() && variable.category === 'wm.LiveVariable' && !(url.startsWith('http://') || url.startsWith("https://"))) {
25
30
  options.url = options.url.replace('./', '/');
26
31
  url = variable.config.baseUrl + options.url;
@@ -1 +1 @@
1
- {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","category","startsWith","replace","config","baseUrl","serviceType","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","__wmVariable","owner","_context","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n if (!isWebPreviewMode() \n && variable.serviceType === \"JavaService\"\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '');\n url = options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: !isWebPreviewMode() || options?.withCredentials !== false,\n __wmVariable: {\n name: variable.name,\n owner: variable.config._context.name\n }\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","_variable$serviceInfo","_variable$serviceInfo2","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","map","item","encodeURIComponent","join","category","startsWith","replace","config","baseUrl","serviceType","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","__wmVariable","owner","_context","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n \n if ((variable?.serviceInfo?.consumes||[])[0] === 'application/x-www-form-urlencoded') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded';\n \n const data = (variable.serviceInfo.parameters||[])\n .map((item: any) => `${encodeURIComponent(item.name) + \"=\" + encodeURIComponent(variable.params[item.name])}`)\n .join(\"&\");\n requestBody = data;\n }\n\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n\n if (!isWebPreviewMode() \n && variable.serviceType === \"JavaService\"\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '');\n url = options.url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: !isWebPreviewMode() || options?.withCredentials !== false,\n __wmVariable: {\n name: variable.name,\n owner: variable.config._context.name\n }\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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","ignoreList":[]}
@@ -1,264 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { Text, View, StyleSheet, ScrollView, TouchableOpacity } from 'react-native';
3
- import { navigate, goBackRef } from '@wavemaker/app-rn-runtime/core/navigation.service';
4
- import * as Clipboard from 'expo-clipboard';
5
- import injector from '@wavemaker/app-rn-runtime/core/injector';
6
- const Fallback = props => {
7
- const {
8
- error,
9
- info,
10
- resetErrorBoundary
11
- } = props;
12
- const [showStack, setShowStack] = useState(false);
13
- const [isCopied, setIsCopied] = useState(false);
14
- const appConfig = injector.get('APP_CONFIG');
15
- const copyErrorToClipboard = async () => {
16
- const errorDetails = `
17
- Error: ${(error === null || error === void 0 ? void 0 : error.message) || 'Unknown error'}
18
- Stack: ${(error === null || error === void 0 ? void 0 : error.stack) || 'No stack available'}
19
- Component Stack: ${(info === null || info === void 0 ? void 0 : info.componentStack) || 'No component stack available'}
20
- `.trim();
21
- await Clipboard.setStringAsync(errorDetails);
22
- setIsCopied(true);
23
- setTimeout(() => {
24
- setIsCopied(false);
25
- }, 2000);
26
- };
27
- const handleGoBack = () => {
28
- goBackRef();
29
- if (resetErrorBoundary) {
30
- resetErrorBoundary();
31
- }
32
- };
33
- const handleGoHome = () => {
34
- navigate(appConfig.appProperties.homePage, {});
35
- if (resetErrorBoundary) {
36
- resetErrorBoundary();
37
- }
38
- };
39
- return /*#__PURE__*/React.createElement(View, {
40
- style: styles.container
41
- }, /*#__PURE__*/React.createElement(Text, {
42
- style: styles.title
43
- }, "Something went wrong."), /*#__PURE__*/React.createElement(Text, {
44
- style: styles.subtitle
45
- }, "Please try again."), /*#__PURE__*/React.createElement(View, {
46
- style: styles.errorCard
47
- }, /*#__PURE__*/React.createElement(Text, {
48
- style: styles.errorLabel
49
- }, "Error:"), /*#__PURE__*/React.createElement(Text, {
50
- style: styles.errorMessage
51
- }, (error === null || error === void 0 ? void 0 : error.message) || 'An unexpected error occurred')), /*#__PURE__*/React.createElement(TouchableOpacity, {
52
- style: styles.toggleButton,
53
- onPress: () => setShowStack(!showStack)
54
- }, /*#__PURE__*/React.createElement(Text, {
55
- style: styles.toggleText
56
- }, showStack ? 'Hide' : 'Show', " Error Details"), /*#__PURE__*/React.createElement(Text, {
57
- style: styles.toggleIcon
58
- }, showStack ? '▲' : '▼')), showStack && /*#__PURE__*/React.createElement(View, {
59
- style: styles.stackCard
60
- }, /*#__PURE__*/React.createElement(View, {
61
- style: styles.stackHeader
62
- }, /*#__PURE__*/React.createElement(Text, {
63
- style: styles.stackTitle
64
- }, "Error Stack"), /*#__PURE__*/React.createElement(TouchableOpacity, {
65
- onPress: copyErrorToClipboard,
66
- style: [styles.copyButton, isCopied && styles.copiedButton],
67
- disabled: isCopied
68
- }, /*#__PURE__*/React.createElement(Text, {
69
- style: [styles.copyButtonText, isCopied && styles.copiedButtonText]
70
- }, isCopied ? 'Copied!' : 'Copy'))), /*#__PURE__*/React.createElement(ScrollView, {
71
- style: styles.stackContainer,
72
- showsVerticalScrollIndicator: true
73
- }, /*#__PURE__*/React.createElement(Text, {
74
- style: styles.stackText,
75
- selectable: true
76
- }, (error === null || error === void 0 ? void 0 : error.stack) || 'No stack trace available'), (info === null || info === void 0 ? void 0 : info.componentStack) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
77
- style: styles.componentStackTitle
78
- }, "Component Stack:"), /*#__PURE__*/React.createElement(Text, {
79
- style: styles.stackText,
80
- selectable: true
81
- }, info.componentStack)))), /*#__PURE__*/React.createElement(View, {
82
- style: styles.buttonContainer
83
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
84
- style: styles.secondaryButton,
85
- onPress: handleGoBack
86
- }, /*#__PURE__*/React.createElement(Text, {
87
- style: styles.secondaryButtonText
88
- }, "Go Back")), /*#__PURE__*/React.createElement(TouchableOpacity, {
89
- style: styles.primaryButton,
90
- onPress: handleGoHome
91
- }, /*#__PURE__*/React.createElement(Text, {
92
- style: styles.primaryButtonText
93
- }, "Go to Home"))));
94
- };
95
- const styles = StyleSheet.create({
96
- container: {
97
- flex: 1,
98
- padding: 20,
99
- backgroundColor: '#f8f9fa',
100
- justifyContent: 'center'
101
- },
102
- imageContainer: {
103
- alignItems: 'center',
104
- marginBottom: 30
105
- },
106
- errorImage: {
107
- width: 200,
108
- height: 150
109
- },
110
- title: {
111
- fontSize: 24,
112
- fontWeight: '600',
113
- textAlign: 'center',
114
- color: '#2d3748',
115
- marginBottom: 8
116
- },
117
- subtitle: {
118
- fontSize: 16,
119
- textAlign: 'center',
120
- color: '#718096',
121
- marginBottom: 30
122
- },
123
- errorCard: {
124
- backgroundColor: '#fff',
125
- borderRadius: 12,
126
- padding: 16,
127
- marginBottom: 16,
128
- borderLeftWidth: 4,
129
- borderLeftColor: '#f56565',
130
- shadowColor: '#000',
131
- shadowOffset: {
132
- width: 0,
133
- height: 2
134
- },
135
- shadowOpacity: 0.1,
136
- shadowRadius: 4,
137
- elevation: 3
138
- },
139
- errorLabel: {
140
- fontSize: 14,
141
- fontWeight: '600',
142
- color: '#e53e3e',
143
- marginBottom: 8
144
- },
145
- errorMessage: {
146
- fontSize: 16,
147
- color: '#2d3748',
148
- lineHeight: 22
149
- },
150
- toggleButton: {
151
- flexDirection: 'row',
152
- alignItems: 'center',
153
- justifyContent: 'center',
154
- paddingVertical: 12,
155
- paddingHorizontal: 16,
156
- backgroundColor: '#edf2f7',
157
- borderRadius: 8,
158
- marginBottom: 16
159
- },
160
- toggleText: {
161
- fontSize: 16,
162
- color: '#4a5568',
163
- marginRight: 8
164
- },
165
- toggleIcon: {
166
- fontSize: 12,
167
- color: '#4a5568'
168
- },
169
- stackCard: {
170
- backgroundColor: '#fff',
171
- borderRadius: 12,
172
- marginBottom: 24,
173
- borderWidth: 1,
174
- borderColor: '#e2e8f0',
175
- shadowColor: '#000',
176
- shadowOffset: {
177
- width: 0,
178
- height: 2
179
- },
180
- shadowOpacity: 0.1,
181
- shadowRadius: 4,
182
- elevation: 3
183
- },
184
- stackHeader: {
185
- flexDirection: 'row',
186
- justifyContent: 'space-between',
187
- alignItems: 'center',
188
- padding: 16,
189
- borderBottomWidth: 1,
190
- borderBottomColor: '#e2e8f0'
191
- },
192
- stackTitle: {
193
- fontSize: 16,
194
- fontWeight: '600',
195
- color: '#2d3748'
196
- },
197
- copyButton: {
198
- paddingVertical: 6,
199
- paddingHorizontal: 12,
200
- backgroundColor: '#4299e1',
201
- borderRadius: 6
202
- },
203
- copiedButton: {
204
- backgroundColor: '#48bb78'
205
- },
206
- copyButtonText: {
207
- color: '#fff',
208
- fontSize: 14,
209
- fontWeight: '500'
210
- },
211
- copiedButtonText: {
212
- color: '#fff'
213
- },
214
- stackContainer: {
215
- maxHeight: 200,
216
- padding: 16
217
- },
218
- stackText: {
219
- fontSize: 12,
220
- color: '#4a5568',
221
- lineHeight: 16,
222
- fontFamily: 'monospace'
223
- },
224
- componentStackTitle: {
225
- fontSize: 14,
226
- fontWeight: '600',
227
- color: '#2d3748',
228
- marginTop: 16,
229
- marginBottom: 8
230
- },
231
- buttonContainer: {
232
- flexDirection: 'row',
233
- justifyContent: 'space-between',
234
- gap: 12
235
- },
236
- primaryButton: {
237
- flex: 1,
238
- backgroundColor: '#4299e1',
239
- borderRadius: 8,
240
- paddingVertical: 14,
241
- alignItems: 'center'
242
- },
243
- primaryButtonText: {
244
- color: '#fff',
245
- fontSize: 16,
246
- fontWeight: '600'
247
- },
248
- secondaryButton: {
249
- flex: 1,
250
- backgroundColor: '#fff',
251
- borderRadius: 8,
252
- paddingVertical: 14,
253
- alignItems: 'center',
254
- borderWidth: 1,
255
- borderColor: '#e2e8f0'
256
- },
257
- secondaryButtonText: {
258
- color: '#4a5568',
259
- fontSize: 16,
260
- fontWeight: '600'
261
- }
262
- });
263
- export default Fallback;
264
- //# sourceMappingURL=error-fallback.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useState","Text","View","StyleSheet","ScrollView","TouchableOpacity","navigate","goBackRef","Clipboard","injector","Fallback","props","error","info","resetErrorBoundary","showStack","setShowStack","isCopied","setIsCopied","appConfig","get","copyErrorToClipboard","errorDetails","message","stack","componentStack","trim","setStringAsync","setTimeout","handleGoBack","handleGoHome","appProperties","homePage","createElement","style","styles","container","title","subtitle","errorCard","errorLabel","errorMessage","toggleButton","onPress","toggleText","toggleIcon","stackCard","stackHeader","stackTitle","copyButton","copiedButton","disabled","copyButtonText","copiedButtonText","stackContainer","showsVerticalScrollIndicator","stackText","selectable","Fragment","componentStackTitle","buttonContainer","secondaryButton","secondaryButtonText","primaryButton","primaryButtonText","create","flex","padding","backgroundColor","justifyContent","imageContainer","alignItems","marginBottom","errorImage","width","height","fontSize","fontWeight","textAlign","color","borderRadius","borderLeftWidth","borderLeftColor","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","lineHeight","flexDirection","paddingVertical","paddingHorizontal","marginRight","borderWidth","borderColor","borderBottomWidth","borderBottomColor","maxHeight","fontFamily","marginTop","gap"],"sources":["error-fallback.component.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n Text,\n View,\n StyleSheet,\n ScrollView,\n TouchableOpacity,\n Image,\n} from 'react-native';\nimport {\n navigate,\n goBackRef,\n} from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport * as Clipboard from 'expo-clipboard';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nconst Fallback = (props: any) => {\n const { error, info, resetErrorBoundary } = props;\n const [showStack, setShowStack] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n const copyErrorToClipboard = async () => {\n const errorDetails = `\nError: ${error?.message || 'Unknown error'}\nStack: ${error?.stack || 'No stack available'}\nComponent Stack: ${info?.componentStack || 'No component stack available'}\n `.trim();\n\n await Clipboard.setStringAsync(errorDetails);\n setIsCopied(true);\n\n setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n };\n\n const handleGoBack = () => {\n goBackRef();\n if (resetErrorBoundary) {\n resetErrorBoundary();\n }\n };\n\n const handleGoHome = () => {\n navigate(appConfig.appProperties.homePage, {});\n if (resetErrorBoundary) {\n resetErrorBoundary();\n }\n };\n\n return (\n <View style={styles.container}>\n {/* Error Image */}\n {/* <View style={styles.imageContainer}>\n {\n <Image\n source={require('./something_wrong.png')}\n style={styles.errorImage}\n resizeMode=\"contain\"\n />\n }\n </View> */}\n\n {/* Error Message */}\n <Text style={styles.title}>Something went wrong.</Text>\n <Text style={styles.subtitle}>Please try again.</Text>\n\n {/* Main Error Display */}\n <View style={styles.errorCard}>\n <Text style={styles.errorLabel}>Error:</Text>\n <Text style={styles.errorMessage}>\n {error?.message || 'An unexpected error occurred'}\n </Text>\n </View>\n\n {/* Stack Toggle */}\n <TouchableOpacity\n style={styles.toggleButton}\n onPress={() => setShowStack(!showStack)}\n >\n <Text style={styles.toggleText}>\n {showStack ? 'Hide' : 'Show'} Error Details\n </Text>\n <Text style={styles.toggleIcon}>{showStack ? '▲' : '▼'}</Text>\n </TouchableOpacity>\n\n {/* Stack Details */}\n {showStack && (\n <View style={styles.stackCard}>\n <View style={styles.stackHeader}>\n <Text style={styles.stackTitle}>Error Stack</Text>\n <TouchableOpacity\n onPress={copyErrorToClipboard}\n style={[styles.copyButton, isCopied && styles.copiedButton]}\n disabled={isCopied}\n >\n <Text\n style={[\n styles.copyButtonText,\n isCopied && styles.copiedButtonText,\n ]}\n >\n {isCopied ? 'Copied!' : 'Copy'}\n </Text>\n </TouchableOpacity>\n </View>\n <ScrollView\n style={styles.stackContainer}\n showsVerticalScrollIndicator={true}\n >\n <Text style={styles.stackText} selectable={true}>\n {error?.stack || 'No stack trace available'}\n </Text>\n {info?.componentStack && (\n <>\n <Text style={styles.componentStackTitle}>Component Stack:</Text>\n <Text style={styles.stackText} selectable={true}>\n {info.componentStack}\n </Text>\n </>\n )}\n </ScrollView>\n </View>\n )}\n\n {/* Action Buttons */}\n <View style={styles.buttonContainer}>\n <TouchableOpacity style={styles.secondaryButton} onPress={handleGoBack}>\n <Text style={styles.secondaryButtonText}>Go Back</Text>\n </TouchableOpacity>\n <TouchableOpacity style={styles.primaryButton} onPress={handleGoHome}>\n <Text style={styles.primaryButtonText}>Go to Home</Text>\n </TouchableOpacity>\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n backgroundColor: '#f8f9fa',\n justifyContent: 'center',\n },\n imageContainer: {\n alignItems: 'center',\n marginBottom: 30,\n },\n errorImage: {\n width: 200,\n height: 150,\n },\n title: {\n fontSize: 24,\n fontWeight: '600',\n textAlign: 'center',\n color: '#2d3748',\n marginBottom: 8,\n },\n subtitle: {\n fontSize: 16,\n textAlign: 'center',\n color: '#718096',\n marginBottom: 30,\n },\n errorCard: {\n backgroundColor: '#fff',\n borderRadius: 12,\n padding: 16,\n marginBottom: 16,\n borderLeftWidth: 4,\n borderLeftColor: '#f56565',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n errorLabel: {\n fontSize: 14,\n fontWeight: '600',\n color: '#e53e3e',\n marginBottom: 8,\n },\n errorMessage: {\n fontSize: 16,\n color: '#2d3748',\n lineHeight: 22,\n },\n toggleButton: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n paddingVertical: 12,\n paddingHorizontal: 16,\n backgroundColor: '#edf2f7',\n borderRadius: 8,\n marginBottom: 16,\n },\n toggleText: {\n fontSize: 16,\n color: '#4a5568',\n marginRight: 8,\n },\n toggleIcon: {\n fontSize: 12,\n color: '#4a5568',\n },\n stackCard: {\n backgroundColor: '#fff',\n borderRadius: 12,\n marginBottom: 24,\n borderWidth: 1,\n borderColor: '#e2e8f0',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n stackHeader: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 16,\n borderBottomWidth: 1,\n borderBottomColor: '#e2e8f0',\n },\n stackTitle: {\n fontSize: 16,\n fontWeight: '600',\n color: '#2d3748',\n },\n copyButton: {\n paddingVertical: 6,\n paddingHorizontal: 12,\n backgroundColor: '#4299e1',\n borderRadius: 6,\n },\n copiedButton: {\n backgroundColor: '#48bb78',\n },\n copyButtonText: {\n color: '#fff',\n fontSize: 14,\n fontWeight: '500',\n },\n copiedButtonText: {\n color: '#fff',\n },\n stackContainer: {\n maxHeight: 200,\n padding: 16,\n },\n stackText: {\n fontSize: 12,\n color: '#4a5568',\n lineHeight: 16,\n fontFamily: 'monospace',\n },\n componentStackTitle: {\n fontSize: 14,\n fontWeight: '600',\n color: '#2d3748',\n marginTop: 16,\n marginBottom: 8,\n },\n buttonContainer: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n gap: 12,\n },\n primaryButton: {\n flex: 1,\n backgroundColor: '#4299e1',\n borderRadius: 8,\n paddingVertical: 14,\n alignItems: 'center',\n },\n primaryButtonText: {\n color: '#fff',\n fontSize: 16,\n fontWeight: '600',\n },\n secondaryButton: {\n flex: 1,\n backgroundColor: '#fff',\n borderRadius: 8,\n paddingVertical: 14,\n alignItems: 'center',\n borderWidth: 1,\n borderColor: '#e2e8f0',\n },\n secondaryButtonText: {\n color: '#4a5568',\n fontSize: 16,\n fontWeight: '600',\n },\n});\n\nexport default Fallback;\n"],"mappings":"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","ignoreList":[]}