@wavemaker/app-rn-runtime 11.14.3-rc.6401 → 11.15.0-2.247

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 (96) hide show
  1. package/actions/notification-action.js +1 -0
  2. package/actions/notification-action.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +58 -23
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/button/button.component.js +56 -7
  6. package/components/basic/button/button.component.js.map +1 -1
  7. package/components/basic/button/button.styles.js +0 -1
  8. package/components/basic/button/button.styles.js.map +1 -1
  9. package/components/basic/message/message.component.js +1 -1
  10. package/components/basic/message/message.component.js.map +1 -1
  11. package/components/basic/message/message.props.js +1 -0
  12. package/components/basic/message/message.props.js.map +1 -1
  13. package/components/basic/picture/picture.component.js +2 -2
  14. package/components/basic/picture/picture.component.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +13 -2
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  18. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  19. package/components/container/accordion/accordion.component.js +10 -3
  20. package/components/container/accordion/accordion.component.js.map +1 -1
  21. package/components/container/accordion/accordion.styles.js +6 -2
  22. package/components/container/accordion/accordion.styles.js.map +1 -1
  23. package/components/container/container.component.js +132 -50
  24. package/components/container/container.component.js.map +1 -1
  25. package/components/container/container.props.js +1 -0
  26. package/components/container/container.props.js.map +1 -1
  27. package/components/container/panel/panel.component.js +8 -1
  28. package/components/container/panel/panel.component.js.map +1 -1
  29. package/components/container/panel/panel.props.js +2 -0
  30. package/components/container/panel/panel.props.js.map +1 -1
  31. package/components/container/tile/tile.component.js +3 -0
  32. package/components/container/tile/tile.component.js.map +1 -1
  33. package/components/container/wizard/wizard.component.js +1 -1
  34. package/components/container/wizard/wizard.component.js.map +1 -1
  35. package/components/container/wizard/wizard.props.js +1 -0
  36. package/components/container/wizard/wizard.props.js.map +1 -1
  37. package/components/container/wizard/wizard.styles.js +0 -13
  38. package/components/container/wizard/wizard.styles.js.map +1 -1
  39. package/components/data/form/form-body/form-body.component.js +2 -1
  40. package/components/data/form/form-body/form-body.component.js.map +1 -1
  41. package/components/data/form/form-footer/form-footer.component.js +2 -1
  42. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  43. package/components/input/chips/chips.component.js +2 -2
  44. package/components/input/chips/chips.component.js.map +1 -1
  45. package/components/input/chips/chips.styles.js +1 -0
  46. package/components/input/chips/chips.styles.js.map +1 -1
  47. package/components/input/currency/currency.component.js +3 -1
  48. package/components/input/currency/currency.component.js.map +1 -1
  49. package/components/input/epoch/base-datetime.component.js +3 -1
  50. package/components/input/epoch/base-datetime.component.js.map +1 -1
  51. package/components/input/number/number.component.js +2 -1
  52. package/components/input/number/number.component.js.map +1 -1
  53. package/components/input/select/select.component.js +76 -35
  54. package/components/input/select/select.component.js.map +1 -1
  55. package/components/input/text/text.component.js +2 -1
  56. package/components/input/text/text.component.js.map +1 -1
  57. package/components/input/textarea/textarea.component.js +2 -1
  58. package/components/input/textarea/textarea.component.js.map +1 -1
  59. package/components/input/toggle/toggle.component.js +12 -4
  60. package/components/input/toggle/toggle.component.js.map +1 -1
  61. package/components/input/toggle/toggle.props.js +5 -0
  62. package/components/input/toggle/toggle.props.js.map +1 -1
  63. package/components/navigation/popover/popover.component.js +5 -1
  64. package/components/navigation/popover/popover.component.js.map +1 -1
  65. package/core/advanced-promise-rejection-tracker.js +208 -0
  66. package/core/advanced-promise-rejection-tracker.js.map +1 -0
  67. package/core/base.component.js +8 -3
  68. package/core/base.component.js.map +1 -1
  69. package/core/components/error-fallback/error-fallback.component.js +50 -18
  70. package/core/components/error-fallback/error-fallback.component.js.map +1 -1
  71. package/core/components/error-fallback/error-fallback.styles.js +4 -1
  72. package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
  73. package/core/error-boundary.component.js +17 -1
  74. package/core/error-boundary.component.js.map +1 -1
  75. package/core/fixed-view.component.js +19 -2
  76. package/core/fixed-view.component.js.map +1 -1
  77. package/core/global-error-handler.service.js +103 -0
  78. package/core/global-error-handler.service.js.map +1 -0
  79. package/core/tappable.component.js +7 -4
  80. package/core/tappable.component.js.map +1 -1
  81. package/core/toast.service.js.map +1 -1
  82. package/npm-shrinkwrap.json +802 -712
  83. package/package-lock.json +802 -712
  84. package/package.json +2 -2
  85. package/runtime/App.js +124 -13
  86. package/runtime/App.js.map +1 -1
  87. package/runtime/base-page.component.js +11 -2
  88. package/runtime/base-page.component.js.map +1 -1
  89. package/runtime/navigator/drawer.navigator.js +1 -0
  90. package/runtime/navigator/drawer.navigator.js.map +1 -1
  91. package/runtime/services/device/camera-service.js +31 -20
  92. package/runtime/services/device/camera-service.js.map +1 -1
  93. package/styles/theme.js +17 -3
  94. package/styles/theme.js.map +1 -1
  95. package/styles/theme.variables.js +2 -0
  96. package/styles/theme.variables.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.14.3-rc.6401",
3
+ "version": "11.15.0-2.247",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -59,7 +59,7 @@
59
59
  "@react-navigation/drawer": "7.5.8",
60
60
  "@react-navigation/native": "7.1.18",
61
61
  "@react-navigation/stack": "7.4.8",
62
- "@wavemaker/variables": "11.14.3-rc.6401",
62
+ "@wavemaker/variables": "11.15.0-2.247",
63
63
  "axios": "1.8.3",
64
64
  "color": "4.2.3",
65
65
  "colorjs.io": "^0.5.2",
package/runtime/App.js CHANGED
@@ -58,6 +58,8 @@ import moment from 'moment';
58
58
  import ErrorBoundary from '../core/error-boundary.component';
59
59
  import { ScreenCaptureProtectionProvider } from '../core/screen-capture-protection.service';
60
60
  import { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';
61
+ import { setupGlobalErrorHandler } from '../core/global-error-handler.service';
62
+ import Fallback from '../core/components/error-fallback/error-fallback.component';
61
63
  //some old react libraries need this
62
64
  View['propTypes'] = {
63
65
  style: ProtoTypes.any
@@ -128,6 +130,8 @@ export default class BaseApp extends React.Component {
128
130
  }));
129
131
  _defineProperty(this, "networkStatus", {});
130
132
  _defineProperty(this, "statusbarInsets", void 0);
133
+ _defineProperty(this, "globalError", null);
134
+ _defineProperty(this, "globalErrorHandlerCleanup", null);
131
135
  _defineProperty(this, "enableProtection", async () => {
132
136
  try {
133
137
  if (Platform.OS !== 'web') {
@@ -150,6 +154,9 @@ export default class BaseApp extends React.Component {
150
154
  setTimeout(() => SplashScreen.hideAsync(), 10000);
151
155
  this.appConfig.app = this;
152
156
  this.appConfig.drawer = new DrawerImpl(() => this.refresh());
157
+
158
+ // Register app instance in injector for Error Boundary access
159
+ injector.set('APP_INSTANCE', this);
153
160
  AppSpinnerService.setDefaultOptions({
154
161
  spinner: this.appConfig.spinner
155
162
  });
@@ -245,10 +252,51 @@ export default class BaseApp extends React.Component {
245
252
  try {
246
253
  this.onPageReady(activePageName, activePageScope);
247
254
  } catch (e) {
248
- console.error(e);
255
+ this.handleCallbackError(e, `Error in onPageReady callback`);
249
256
  }
250
257
  }
251
258
  onPageReady(activePageName, activePageScope) {}
259
+ triggerOnError(error, errorInfo, errorType) {
260
+ try {
261
+ this.onError(error, errorInfo, errorType);
262
+ } catch (e) {
263
+ console.error('Error in onError callback:', e);
264
+ }
265
+ }
266
+ onError(error, errorInfo, errorType) {
267
+ // Empty implementation - user can override in app.js
268
+ // errorType: 'render' for React component errors, 'javascript' for other JS errors
269
+ }
270
+ handleCallbackError(error, context) {
271
+ console.error(error);
272
+ const errorObj = error instanceof Error ? error : new Error(String(error));
273
+
274
+ // Immediately hide all overlays to ensure error fallback is visible
275
+ try {
276
+ // Hide Expo SplashScreen
277
+ SplashScreen.hideAsync();
278
+
279
+ // Hide App Spinner (force hide regardless of count)
280
+ AppSpinnerService.hide();
281
+ } catch (hideError) {
282
+ console.warn('Error hiding overlays:', hideError);
283
+ }
284
+
285
+ // Trigger user callback
286
+ this.triggerOnError(errorObj, context, 'javascript');
287
+
288
+ // Also set global error state to show fallback screen
289
+ this.globalError = {
290
+ error: errorObj,
291
+ errorInfo: context,
292
+ errorType: 'javascript',
293
+ isFatal: false
294
+ };
295
+
296
+ // Set isStarted to true so app template will render the error screen
297
+ this.isStarted = true;
298
+ this.forceUpdate(); // Show fallback screen
299
+ }
252
300
  setTimezone(timezone) {
253
301
  AppI18nService.setTimezone(timezone);
254
302
  }
@@ -286,9 +334,18 @@ export default class BaseApp extends React.Component {
286
334
  config.headers['X-Requested-With'] = 'XMLHttpRequest';
287
335
  console.log('onBeforeService call invoked on ' + config.url);
288
336
  this.notify('beforeServiceCall', config);
289
- return this.onBeforeServiceCall(config);
337
+ try {
338
+ return this.onBeforeServiceCall(config);
339
+ } catch (e) {
340
+ this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);
341
+ return config; // Return original config as fallback
342
+ }
290
343
  }), axios.interceptors.response.use(response => {
291
- this.onServiceSuccess(response.data, response);
344
+ try {
345
+ this.onServiceSuccess(response.data, response);
346
+ } catch (e) {
347
+ this.handleCallbackError(e, `Error in onServiceSuccess callback`);
348
+ }
292
349
  this.notify('afterServiceCall', response.config, response);
293
350
  return response;
294
351
  }, error => {
@@ -303,7 +360,11 @@ export default class BaseApp extends React.Component {
303
360
  }
304
361
  error.message = errMsg;
305
362
  console.error(`Error ${errMsg} recieved from ${(_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.config) === null || _error$response === void 0 ? void 0 : _error$response.url}`);
306
- this.onServiceError(error.message, error);
363
+ try {
364
+ this.onServiceError(error.message, error);
365
+ } catch (e) {
366
+ this.handleCallbackError(e, `Error in onServiceError callback`);
367
+ }
307
368
  if ((_error$response2 = error.response) !== null && _error$response2 !== void 0 && (_error$response2 = _error$response2.config.url) !== null && _error$response2 !== void 0 && _error$response2.startsWith(this.appConfig.url) && !((_error$response3 = error.response) !== null && _error$response3 !== void 0 && (_error$response3 = _error$response3.config.url) !== null && _error$response3 !== void 0 && _error$response3.includes('/services/')) && ((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status) === 401) {
308
369
  var _this$appConfig$curre5, _this$appConfig$curre6;
309
370
  ((_this$appConfig$curre5 = this.appConfig.currentPage) === null || _this$appConfig$curre5 === void 0 ? void 0 : _this$appConfig$curre5.pageName) !== 'Login' && ((_this$appConfig$curre6 = this.appConfig.currentPage) === null || _this$appConfig$curre6 === void 0 ? void 0 : _this$appConfig$curre6.goToPage('Login'));
@@ -327,6 +388,22 @@ export default class BaseApp extends React.Component {
327
388
  return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
328
389
  }
329
390
  componentDidMount() {
391
+ var _this$appConfig;
392
+ // Setup global error handler
393
+ if (((_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 || (_this$appConfig = _this$appConfig.preferences) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.enableGlobalErrorHandler) === true) {
394
+ this.globalErrorHandlerCleanup = setupGlobalErrorHandler((error, isFatal, errorInfo) => {
395
+ // Trigger user error callback
396
+ this.triggerOnError(error, errorInfo, 'javascript');
397
+ this.globalError = {
398
+ error,
399
+ errorInfo,
400
+ errorType: 'javascript',
401
+ isFatal
402
+ };
403
+ this.forceUpdate(); // Trigger re-render to show error fallback
404
+ }, true // suppressDefaultErrorScreen = true when global error handler is enabled
405
+ );
406
+ }
330
407
  AppSpinnerService.show({
331
408
  spinner: this.appConfig.spinner
332
409
  });
@@ -342,7 +419,12 @@ export default class BaseApp extends React.Component {
342
419
  }));
343
420
  this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());
344
421
  return this.triggerStartUpVariables().then(() => {
345
- this.onAppVariablesReady();
422
+ try {
423
+ this.onAppVariablesReady();
424
+ } catch (e) {
425
+ this.handleCallbackError(e, `Error in onAppVariablesReady callback`);
426
+ return; // Early return to prevent subsequent code from executing
427
+ }
346
428
  this.isStarted = true;
347
429
  this.forceUpdate();
348
430
  }, () => {});
@@ -352,6 +434,11 @@ export default class BaseApp extends React.Component {
352
434
  axios.interceptors.request.eject(id);
353
435
  });
354
436
  this.cleanup.forEach(fn => fn());
437
+
438
+ // Cleanup global error handler
439
+ if (this.globalErrorHandlerCleanup) {
440
+ this.globalErrorHandlerCleanup();
441
+ }
355
442
  }
356
443
  refresh() {
357
444
  this.appConfig.refresh();
@@ -376,8 +463,8 @@ export default class BaseApp extends React.Component {
376
463
  }, content))))))));
377
464
  }
378
465
  renderToasters() {
379
- var _this$appConfig;
380
- const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
466
+ var _this$appConfig2;
467
+ const isEdgeToEdgeApp = !!((_this$appConfig2 = this.appConfig) !== null && _this$appConfig2 !== void 0 && (_this$appConfig2 = _this$appConfig2.edgeToEdgeConfig) !== null && _this$appConfig2 !== void 0 && _this$appConfig2.isEdgeToEdgeApp);
381
468
  this.toastsOpened = AppToastService.toastsOpened.length;
382
469
  return /*#__PURE__*/React.createElement(WmMemo, {
383
470
  watcher: this.watcher,
@@ -419,7 +506,8 @@ export default class BaseApp extends React.Component {
419
506
  caption: o.text,
420
507
  hideclose: !o.showclosebutton,
421
508
  onClose: o.closeToast,
422
- closeiconclass: o.closeiconclass
509
+ closeiconclass: o.closeiconclass,
510
+ messageiconclass: o.messageiconclass
423
511
  })))));
424
512
  }));
425
513
  }
@@ -570,13 +658,13 @@ export default class BaseApp extends React.Component {
570
658
  return false;
571
659
  }
572
660
  renderApp(commonPartial) {
573
- var _this$appConfig2, _this$appConfig3;
661
+ var _this$appConfig3, _this$appConfig4;
574
662
  this.autoUpdateVariables.forEach(value => {
575
663
  var _this$Variables$value;
576
664
  return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
577
665
  });
578
- const edgeToEdgeConfig = (_this$appConfig2 = this.appConfig) === null || _this$appConfig2 === void 0 ? void 0 : _this$appConfig2.edgeToEdgeConfig;
579
- const statusbarConfig = (_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 || (_this$appConfig3 = _this$appConfig3.edgeToEdgeConfig) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.statusbarConfig;
666
+ const edgeToEdgeConfig = (_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.edgeToEdgeConfig;
667
+ const statusbarConfig = (_this$appConfig4 = this.appConfig) === null || _this$appConfig4 === void 0 || (_this$appConfig4 = _this$appConfig4.edgeToEdgeConfig) === null || _this$appConfig4 === void 0 ? void 0 : _this$appConfig4.statusbarConfig;
580
668
  const isEdgeToEdgeApp = !!(edgeToEdgeConfig !== null && edgeToEdgeConfig !== void 0 && edgeToEdgeConfig.isEdgeToEdgeApp);
581
669
  const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;
582
670
  return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
@@ -599,7 +687,8 @@ export default class BaseApp extends React.Component {
599
687
  }), /*#__PURE__*/React.createElement(ThemeProvider, {
600
688
  value: this.appConfig.theme
601
689
  }, /*#__PURE__*/React.createElement(ErrorBoundary, {
602
- currentPage: this.appConfig.currentPage
690
+ currentPage: this.appConfig.currentPage,
691
+ app: this
603
692
  }, this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets), /*#__PURE__*/React.createElement(View, {
604
693
  style: {
605
694
  flex: 1
@@ -617,7 +706,29 @@ export default class BaseApp extends React.Component {
617
706
  drawerAnimation: (_this$appConfig$drawe2 = this.appConfig.drawer) === null || _this$appConfig$drawe2 === void 0 ? void 0 : _this$appConfig$drawe2.getAnimation()
618
707
  }), /*#__PURE__*/React.createElement(FixedViewContainer, null, commonPartial))), this.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
619
708
  appLocale: this.appConfig.appLocale
620
- }) : null, this.renderToasters(), this.renderDialogs(), this.renderDisplayManager()), isEdgeToEdgeApp && (statusbarConfig === null || statusbarConfig === void 0 ? void 0 : statusbarConfig.type) === 'blur' ? this.renderBlurView("top", insets, statusbarConfig) : null, isEdgeToEdgeApp && (statusbarConfig === null || statusbarConfig === void 0 ? void 0 : statusbarConfig.type) === 'transparent' ? this.renderTransparentView("top", insets, statusbarConfig) : null))))));
709
+ }) : null, this.renderToasters(), this.renderDialogs(), this.renderDisplayManager(), this.globalError && /*#__PURE__*/React.createElement(View, {
710
+ style: {
711
+ position: 'absolute',
712
+ height: "100%",
713
+ width: "100%",
714
+ top: 0,
715
+ left: 0,
716
+ right: 0,
717
+ bottom: 0,
718
+ zIndex: 999999,
719
+ elevation: 999999
720
+ }
721
+ }, /*#__PURE__*/React.createElement(Fallback, {
722
+ error: this.globalError.error,
723
+ info: {
724
+ errorInfo: this.globalError.errorInfo
725
+ },
726
+ errorType: this.globalError.errorType,
727
+ resetErrorBoundary: () => {
728
+ this.globalError = null;
729
+ this.forceUpdate();
730
+ }
731
+ }))), isEdgeToEdgeApp && (statusbarConfig === null || statusbarConfig === void 0 ? void 0 : statusbarConfig.type) === 'blur' ? this.renderBlurView("top", insets, statusbarConfig) : null, isEdgeToEdgeApp && (statusbarConfig === null || statusbarConfig === void 0 ? void 0 : statusbarConfig.type) === 'transparent' ? this.renderTransparentView("top", insets, statusbarConfig) : null))))));
621
732
  }));
622
733
  }
623
734
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","NavigationBar","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","isStarted","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","setPositionAsync","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig2","_this$appConfig3","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport { getValidJSON, parseErrors } from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n console.error(e);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n \n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white', \n position: 'absolute',\n top: 0, \n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n \n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n \n if (Platform.OS === \"android\") {\n NavigationBar.setPositionAsync('absolute');\n }\n \n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n \n if (Platform.OS === \"android\") {\n NavigationBar.setPositionAsync('absolute');\n }\n \n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */} \n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null} \n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","NavigationBar","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","setupGlobalErrorHandler","Fallback","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","set","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","handleCallbackError","triggerOnError","errorInfo","errorType","onError","context","errorObj","Error","String","hide","hideError","warn","globalError","isFatal","isStarted","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig","preferences","enableGlobalErrorHandler","globalErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig2","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","messageiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","setPositionAsync","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig3","_this$appConfig4","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","info","resetErrorBoundary","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport { getValidJSON, parseErrors } from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\nimport { setupGlobalErrorHandler, GlobalErrorState } from '../core/global-error-handler.service';\nimport Fallback from '../core/components/error-fallback/error-fallback.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n public globalError: GlobalErrorState | null = null;\n private globalErrorHandlerCleanup: (() => void) | null = null;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n \n // Register app instance in injector for Error Boundary access\n injector.set('APP_INSTANCE', this);\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n this.handleCallbackError(e, `Error in onPageReady callback`);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n triggerOnError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n try {\n this.onError(error, errorInfo, errorType);\n } catch (e) {\n console.error('Error in onError callback:', e);\n }\n }\n\n onError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n // Empty implementation - user can override in app.js\n // errorType: 'render' for React component errors, 'javascript' for other JS errors\n }\n\n public handleCallbackError(error: unknown, context: string) {\n console.error(error);\n const errorObj = error instanceof Error ? error : new Error(String(error));\n \n // Immediately hide all overlays to ensure error fallback is visible\n try {\n // Hide Expo SplashScreen\n SplashScreen.hideAsync();\n \n // Hide App Spinner (force hide regardless of count)\n AppSpinnerService.hide();\n } catch (hideError) {\n console.warn('Error hiding overlays:', hideError);\n }\n \n // Trigger user callback\n this.triggerOnError(errorObj, context, 'javascript');\n \n // Also set global error state to show fallback screen\n this.globalError = {\n error: errorObj,\n errorInfo: context,\n errorType: 'javascript',\n isFatal: false\n };\n \n // Set isStarted to true so app template will render the error screen\n this.isStarted = true;\n this.forceUpdate(); // Show fallback screen\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n try {\n return this.onBeforeServiceCall(config);\n } catch (e) {\n this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);\n return config; // Return original config as fallback\n }\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n try {\n this.onServiceSuccess(response.data, response);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceSuccess callback`);\n }\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceError callback`);\n }\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n // Setup global error handler\n if (this.appConfig?.preferences?.enableGlobalErrorHandler === true) {\n this.globalErrorHandlerCleanup = setupGlobalErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n \n this.globalError = {\n error,\n errorInfo,\n errorType: 'javascript',\n isFatal\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n },\n true // suppressDefaultErrorScreen = true when global error handler is enabled\n );\n }\n\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n try {\n this.onAppVariablesReady();\n } catch (e) {\n this.handleCallbackError(e, `Error in onAppVariablesReady callback`);\n return; // Early return to prevent subsequent code from executing\n }\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n \n // Cleanup global error handler\n if (this.globalErrorHandlerCleanup) {\n this.globalErrorHandlerCleanup();\n }\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n \n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass} messageiconclass={o.messageiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white', \n position: 'absolute',\n top: 0, \n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n \n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n \n if (Platform.OS === \"android\") {\n NavigationBar.setPositionAsync('absolute');\n }\n \n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n \n if (Platform.OS === \"android\") {\n NavigationBar.setPositionAsync('absolute');\n }\n \n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage} app={this}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n {/* global error fallback */}\n {this.globalError && (\n <View \n style={{position:'absolute',height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,zIndex:999999,elevation: 999999}}>\n <Fallback\n error={this.globalError!.error}\n info={{errorInfo: this.globalError!.errorInfo}}\n errorType={this.globalError!.errorType}\n resetErrorBoundary={() => {\n this.globalError = null;\n this.forceUpdate();\n }}\n />\n </View>)}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */} \n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null} \n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
@@ -115,9 +115,18 @@ export default class BasePage extends BaseFragment {
115
115
  }
116
116
  async canNavigate(currentPage, nextPage) {
117
117
  let navigate = true;
118
- navigate = await this.onBeforePageLeave(currentPage, nextPage);
118
+ //added try-catch to catch any errors in the callback fn and propogate it to global error handler.
119
+ try {
120
+ navigate = await this.onBeforePageLeave(currentPage, nextPage);
121
+ } catch (e) {
122
+ this.App.handleCallbackError(e, `Error in page-level onBeforePageLeave callback`);
123
+ }
119
124
  if (navigate !== false) {
120
- navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
125
+ try {
126
+ navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
127
+ } catch (e) {
128
+ this.App.handleCallbackError(e, `Error in app-level onBeforePageLeave callback`);
129
+ }
121
130
  }
122
131
  if (navigate !== false) navigate = true;
123
132
  return navigate;