@wavemaker/app-rn-runtime 11.14.1-20.6468 → 11.14.1-21.64739

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 (104) hide show
  1. package/components/basic/bottomsheet/bottomsheet.component.js +0 -12
  2. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  3. package/components/basic/progress-circle/progress-circle.component.js +3 -3
  4. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  5. package/components/chart/area-chart/area-chart.component.js +9 -26
  6. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  7. package/components/chart/bar-chart/bar-chart.component.js +6 -38
  8. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  9. package/components/chart/bar-chart/bar-chart.props.js +0 -1
  10. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  11. package/components/chart/basechart.component.js +15 -8
  12. package/components/chart/basechart.component.js.map +1 -1
  13. package/components/chart/basechart.props.js +0 -1
  14. package/components/chart/basechart.props.js.map +1 -1
  15. package/components/chart/bubble-chart/bubble-chart.component.js +5 -22
  16. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  17. package/components/chart/line-chart/line-chart.component.js +5 -22
  18. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  19. package/components/chart/pie-chart/pie-chart.component.js +3 -14
  20. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  21. package/components/container/tabs/tabs.component.js +29 -62
  22. package/components/container/tabs/tabs.component.js.map +1 -1
  23. package/components/container/tabs/tabs.props.js +0 -1
  24. package/components/container/tabs/tabs.props.js.map +1 -1
  25. package/components/container/wizard/wizard.component.js +1 -1
  26. package/components/container/wizard/wizard.component.js.map +1 -1
  27. package/components/container/wizard/wizard.props.js +1 -0
  28. package/components/container/wizard/wizard.props.js.map +1 -1
  29. package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
  30. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  31. package/components/data/form/form-field/form-field.component.js +0 -1
  32. package/components/data/form/form-field/form-field.component.js.map +1 -1
  33. package/components/data/form/form-field/form-field.props.js +0 -1
  34. package/components/data/form/form-field/form-field.props.js.map +1 -1
  35. package/components/data/form/form.component.js +1 -4
  36. package/components/data/form/form.component.js.map +1 -1
  37. package/components/dialogs/dialogcontent/dialogcontent.component.js +2 -1
  38. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  39. package/components/input/baseinput/baseinput.component.js +3 -21
  40. package/components/input/baseinput/baseinput.component.js.map +1 -1
  41. package/components/input/baseinput/baseinput.props.js +0 -1
  42. package/components/input/baseinput/baseinput.props.js.map +1 -1
  43. package/components/input/basenumber/basenumber.component.js +3 -18
  44. package/components/input/basenumber/basenumber.component.js.map +1 -1
  45. package/components/input/basenumber/basenumber.props.js +0 -1
  46. package/components/input/basenumber/basenumber.props.js.map +1 -1
  47. package/components/input/checkboxset/checkboxset.component.js +1 -1
  48. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  49. package/components/input/currency/currency.component.js +0 -2
  50. package/components/input/currency/currency.component.js.map +1 -1
  51. package/components/input/currency/currency.styles.js +1 -10
  52. package/components/input/currency/currency.styles.js.map +1 -1
  53. package/components/input/number/number.component.js +0 -2
  54. package/components/input/number/number.component.js.map +1 -1
  55. package/components/input/number/number.styles.js +0 -4
  56. package/components/input/number/number.styles.js.map +1 -1
  57. package/components/input/radioset/radioset.component.js +4 -2
  58. package/components/input/radioset/radioset.component.js.map +1 -1
  59. package/components/input/text/text.component.js +0 -2
  60. package/components/input/text/text.component.js.map +1 -1
  61. package/components/input/text/text.props.js +1 -0
  62. package/components/input/text/text.props.js.map +1 -1
  63. package/components/input/text/text.styles.js +0 -17
  64. package/components/input/text/text.styles.js.map +1 -1
  65. package/components/input/textarea/textarea.component.js +0 -1
  66. package/components/input/textarea/textarea.component.js.map +1 -1
  67. package/components/input/textarea/textarea.styles.js +0 -4
  68. package/components/input/textarea/textarea.styles.js.map +1 -1
  69. package/components/navigation/popover/popover.component.js +3 -3
  70. package/components/navigation/popover/popover.component.js.map +1 -1
  71. package/core/AppConfig.js.map +1 -1
  72. package/core/advanced-promise-rejection-tracker.js +207 -0
  73. package/core/advanced-promise-rejection-tracker.js.map +1 -0
  74. package/core/base.component.js +5 -0
  75. package/core/base.component.js.map +1 -1
  76. package/core/components/error-fallback/error-fallback.component.js +50 -18
  77. package/core/components/error-fallback/error-fallback.component.js.map +1 -1
  78. package/core/components/error-fallback/error-fallback.styles.js +4 -1
  79. package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
  80. package/core/components/textinput.component.js +4 -25
  81. package/core/components/textinput.component.js.map +1 -1
  82. package/core/error-boundary.component.js +46 -2
  83. package/core/error-boundary.component.js.map +1 -1
  84. package/core/fixed-view.component.js +2 -19
  85. package/core/fixed-view.component.js.map +1 -1
  86. package/core/global-error-handler.service.js +177 -0
  87. package/core/global-error-handler.service.js.map +1 -0
  88. package/core/tappable.component.js +1 -1
  89. package/core/tappable.component.js.map +1 -1
  90. package/core/viewport.js +8 -13
  91. package/core/viewport.js.map +1 -1
  92. package/gestures/carousel-swipe.animation.js +1 -0
  93. package/gestures/carousel-swipe.animation.js.map +1 -1
  94. package/npm-shrinkwrap.json +9553 -8521
  95. package/package-lock.json +9553 -8521
  96. package/package.json +2 -2
  97. package/runtime/App.js +174 -12
  98. package/runtime/App.js.map +1 -1
  99. package/runtime/base-page.component.js +11 -2
  100. package/runtime/base-page.component.js.map +1 -1
  101. package/runtime/navigator/stack.navigator.js +6 -0
  102. package/runtime/navigator/stack.navigator.js.map +1 -1
  103. package/styles/theme.js +0 -6
  104. package/styles/theme.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.1-20.6468",
3
+ "version": "11.14.1-21.64739",
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.1-20.6468",
62
+ "@wavemaker/variables": "11.14.1-21.64739",
63
63
  "axios": "1.8.3",
64
64
  "color": "4.2.3",
65
65
  "cross-env": "7.0.3",
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 { setupGlobalJsErrorHandler } 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, "globalJsErrorHandlerCleanup", 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,62 @@ 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
+ var _this$appConfig;
272
+ console.error(error);
273
+ const errorObj = error instanceof Error ? error : new Error(String(error));
274
+
275
+ // Check if error handling is enabled
276
+ const prefs = (_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.preferences;
277
+ const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
278
+ const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
279
+ if (!globalEnabled) {
280
+ return;
281
+ }
282
+
283
+ // Immediately hide all overlays to ensure error fallback is visible
284
+ try {
285
+ // Hide Expo SplashScreen
286
+ SplashScreen.hideAsync();
287
+
288
+ // Hide App Spinner (force hide regardless of count)
289
+ AppSpinnerService.hide();
290
+ } catch (hideError) {
291
+ console.warn('Error hiding overlays:', hideError);
292
+ }
293
+
294
+ // Trigger user callback
295
+ this.triggerOnError(errorObj, context, 'javascript');
296
+
297
+ // Only set global error state if fallback should be shown
298
+ if (showDefaultFallback) {
299
+ this.globalError = {
300
+ error: errorObj,
301
+ errorInfo: context,
302
+ errorType: 'javascript',
303
+ isFatal: false
304
+ };
305
+
306
+ // Set isStarted to true so app template will render the error screen
307
+ this.isStarted = true;
308
+ this.forceUpdate(); // Show fallback screen
309
+ }
310
+ }
252
311
  setTimezone(timezone) {
253
312
  AppI18nService.setTimezone(timezone);
254
313
  }
@@ -286,9 +345,18 @@ export default class BaseApp extends React.Component {
286
345
  config.headers['X-Requested-With'] = 'XMLHttpRequest';
287
346
  console.log('onBeforeService call invoked on ' + config.url);
288
347
  this.notify('beforeServiceCall', config);
289
- return this.onBeforeServiceCall(config);
348
+ try {
349
+ return this.onBeforeServiceCall(config);
350
+ } catch (e) {
351
+ this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);
352
+ return config; // Return original config as fallback
353
+ }
290
354
  }), axios.interceptors.response.use(response => {
291
- this.onServiceSuccess(response.data, response);
355
+ try {
356
+ this.onServiceSuccess(response.data, response);
357
+ } catch (e) {
358
+ this.handleCallbackError(e, `Error in onServiceSuccess callback`);
359
+ }
292
360
  this.notify('afterServiceCall', response.config, response);
293
361
  return response;
294
362
  }, error => {
@@ -302,8 +370,41 @@ export default class BaseApp extends React.Component {
302
370
  errMsg = error.message || "Service Call Failed";
303
371
  }
304
372
  error.message = errMsg;
373
+
374
+ // Mark as service error for priority handling
375
+ // Set flags on both error and config to handle wrapping scenarios
376
+ error.__wmServiceError = true;
377
+ error.__wmServiceErrorHandled = false;
378
+ if (error.config) {
379
+ error.config.__wmServiceError = true;
380
+ error.config.__wmServiceErrorHandled = false;
381
+ }
305
382
  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);
383
+ try {
384
+ var _this$appConfig2;
385
+ this.onServiceError(error.message, error);
386
+ // Mark as handled to prevent onError from being called
387
+ error.__wmServiceErrorHandled = true;
388
+ if (error.config) {
389
+ error.config.__wmServiceErrorHandled = true;
390
+ }
391
+
392
+ // Show fallback for service errors if enabled (but don't call onError)
393
+ const prefs = (_this$appConfig2 = this.appConfig) === null || _this$appConfig2 === void 0 ? void 0 : _this$appConfig2.preferences;
394
+ const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
395
+ const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
396
+ if (globalEnabled && showDefaultFallback) {
397
+ this.globalError = {
398
+ error: error,
399
+ errorInfo: (error === null || error === void 0 ? void 0 : error.stack) || (error === null || error === void 0 ? void 0 : error.toString()),
400
+ errorType: 'javascript',
401
+ isFatal: false
402
+ };
403
+ this.forceUpdate(); // Trigger re-render to show error fallback
404
+ }
405
+ } catch (e) {
406
+ this.handleCallbackError(e, `Error in onServiceError callback`);
407
+ }
307
408
  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
409
  var _this$appConfig$curre5, _this$appConfig$curre6;
309
410
  ((_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 +428,34 @@ export default class BaseApp extends React.Component {
327
428
  return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
328
429
  }
329
430
  componentDidMount() {
431
+ var _this$appConfig3;
432
+ // Setup global JS error handler with granular control
433
+ const prefs = (_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.preferences;
434
+ const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
435
+ const enableSyncErrors = (prefs === null || prefs === void 0 ? void 0 : prefs.enableJsSyncErrors) !== false;
436
+ const enableAsyncErrors = (prefs === null || prefs === void 0 ? void 0 : prefs.enableJsAsyncErrors) !== false;
437
+ const showFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
438
+
439
+ // Only setup if master switch is on and at least one error type is enabled
440
+ if (globalEnabled && (enableSyncErrors || enableAsyncErrors)) {
441
+ this.globalJsErrorHandlerCleanup = setupGlobalJsErrorHandler((error, isFatal, errorInfo) => {
442
+ // Trigger user error callback
443
+ this.triggerOnError(error, errorInfo, 'javascript');
444
+
445
+ // Only set global error state if fallback should be shown
446
+ if (showFallback) {
447
+ this.globalError = {
448
+ error,
449
+ errorInfo,
450
+ errorType: 'javascript',
451
+ isFatal
452
+ };
453
+ this.forceUpdate(); // Trigger re-render to show error fallback
454
+ }
455
+ }, true,
456
+ // suppressDefaultErrorScreen = true when global error handler is enabled
457
+ enableSyncErrors, enableAsyncErrors);
458
+ }
330
459
  AppSpinnerService.show({
331
460
  spinner: this.appConfig.spinner
332
461
  });
@@ -342,7 +471,12 @@ export default class BaseApp extends React.Component {
342
471
  }));
343
472
  this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());
344
473
  return this.triggerStartUpVariables().then(() => {
345
- this.onAppVariablesReady();
474
+ try {
475
+ this.onAppVariablesReady();
476
+ } catch (e) {
477
+ this.handleCallbackError(e, `Error in onAppVariablesReady callback`);
478
+ return; // Early return to prevent subsequent code from executing
479
+ }
346
480
  this.isStarted = true;
347
481
  this.forceUpdate();
348
482
  }, () => {});
@@ -352,6 +486,11 @@ export default class BaseApp extends React.Component {
352
486
  axios.interceptors.request.eject(id);
353
487
  });
354
488
  this.cleanup.forEach(fn => fn());
489
+
490
+ // Cleanup global JS error handler
491
+ if (this.globalJsErrorHandlerCleanup) {
492
+ this.globalJsErrorHandlerCleanup();
493
+ }
355
494
  }
356
495
  refresh() {
357
496
  this.appConfig.refresh();
@@ -376,8 +515,8 @@ export default class BaseApp extends React.Component {
376
515
  }, content))))))));
377
516
  }
378
517
  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);
518
+ var _this$appConfig4;
519
+ const isEdgeToEdgeApp = !!((_this$appConfig4 = this.appConfig) !== null && _this$appConfig4 !== void 0 && (_this$appConfig4 = _this$appConfig4.edgeToEdgeConfig) !== null && _this$appConfig4 !== void 0 && _this$appConfig4.isEdgeToEdgeApp);
381
520
  this.toastsOpened = AppToastService.toastsOpened.length;
382
521
  return /*#__PURE__*/React.createElement(WmMemo, {
383
522
  watcher: this.watcher,
@@ -570,13 +709,13 @@ export default class BaseApp extends React.Component {
570
709
  return false;
571
710
  }
572
711
  renderApp(commonPartial) {
573
- var _this$appConfig2, _this$appConfig3;
712
+ var _this$appConfig5, _this$appConfig6;
574
713
  this.autoUpdateVariables.forEach(value => {
575
714
  var _this$Variables$value;
576
715
  return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
577
716
  });
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;
717
+ const edgeToEdgeConfig = (_this$appConfig5 = this.appConfig) === null || _this$appConfig5 === void 0 ? void 0 : _this$appConfig5.edgeToEdgeConfig;
718
+ const statusbarConfig = (_this$appConfig6 = this.appConfig) === null || _this$appConfig6 === void 0 || (_this$appConfig6 = _this$appConfig6.edgeToEdgeConfig) === null || _this$appConfig6 === void 0 ? void 0 : _this$appConfig6.statusbarConfig;
580
719
  const isEdgeToEdgeApp = !!(edgeToEdgeConfig !== null && edgeToEdgeConfig !== void 0 && edgeToEdgeConfig.isEdgeToEdgeApp);
581
720
  const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;
582
721
  return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
@@ -599,7 +738,8 @@ export default class BaseApp extends React.Component {
599
738
  }), /*#__PURE__*/React.createElement(ThemeProvider, {
600
739
  value: this.appConfig.theme
601
740
  }, /*#__PURE__*/React.createElement(ErrorBoundary, {
602
- currentPage: this.appConfig.currentPage
741
+ currentPage: this.appConfig.currentPage,
742
+ app: this
603
743
  }, this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets), /*#__PURE__*/React.createElement(View, {
604
744
  style: {
605
745
  flex: 1
@@ -617,7 +757,29 @@ export default class BaseApp extends React.Component {
617
757
  drawerAnimation: (_this$appConfig$drawe2 = this.appConfig.drawer) === null || _this$appConfig$drawe2 === void 0 ? void 0 : _this$appConfig$drawe2.getAnimation()
618
758
  }), /*#__PURE__*/React.createElement(FixedViewContainer, null, commonPartial))), this.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
619
759
  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))))));
760
+ }) : null, this.renderToasters(), this.renderDialogs(), this.renderDisplayManager(), this.globalError && /*#__PURE__*/React.createElement(View, {
761
+ style: {
762
+ position: 'absolute',
763
+ height: "100%",
764
+ width: "100%",
765
+ top: 0,
766
+ left: 0,
767
+ right: 0,
768
+ bottom: 0,
769
+ zIndex: 999999,
770
+ elevation: 999999
771
+ }
772
+ }, /*#__PURE__*/React.createElement(Fallback, {
773
+ error: this.globalError.error,
774
+ info: {
775
+ errorInfo: this.globalError.errorInfo
776
+ },
777
+ errorType: this.globalError.errorType,
778
+ resetErrorBoundary: () => {
779
+ this.globalError = null;
780
+ this.forceUpdate();
781
+ }
782
+ }))), 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
783
  }));
622
784
  }
623
785
  }
@@ -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","setupGlobalJsErrorHandler","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","_this$appConfig","errorObj","Error","String","prefs","preferences","globalEnabled","enableGlobalErrorHandler","showDefaultFallback","showDefaultErrorFallback","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","__wmServiceError","__wmServiceErrorHandled","_this$appConfig2","stack","toString","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig3","enableSyncErrors","enableJsSyncErrors","enableAsyncErrors","enableJsAsyncErrors","showFallback","globalJsErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig4","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$appConfig5","_this$appConfig6","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 { setupGlobalJsErrorHandler, 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 globalJsErrorHandlerCleanup: (() => 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 // Check if error handling is enabled\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n \n if (!globalEnabled) {\n return;\n }\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 // Only set global error state if fallback should be shown\n if (showDefaultFallback) {\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\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 \n // Mark as service error for priority handling\n // Set flags on both error and config to handle wrapping scenarios\n (error as any).__wmServiceError = true;\n (error as any).__wmServiceErrorHandled = false;\n if (error.config) {\n (error.config as any).__wmServiceError = true;\n (error.config as any).__wmServiceErrorHandled = false;\n }\n \n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n // Mark as handled to prevent onError from being called\n (error as any).__wmServiceErrorHandled = true;\n if (error.config) {\n (error.config as any).__wmServiceErrorHandled = true;\n }\n \n // Show fallback for service errors if enabled (but don't call onError)\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n \n if (globalEnabled && showDefaultFallback) {\n this.globalError = {\n error: error,\n errorInfo: error?.stack || error?.toString(),\n errorType: 'javascript',\n isFatal: false\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n }\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 JS error handler with granular control\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const enableSyncErrors = prefs?.enableJsSyncErrors !== false;\n const enableAsyncErrors = prefs?.enableJsAsyncErrors !== false;\n const showFallback = prefs?.showDefaultErrorFallback !== false;\n \n // Only setup if master switch is on and at least one error type is enabled\n if (globalEnabled && (enableSyncErrors || enableAsyncErrors)) {\n this.globalJsErrorHandlerCleanup = setupGlobalJsErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n \n // Only set global error state if fallback should be shown\n if (showFallback) {\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 },\n true, // suppressDefaultErrorScreen = true when global error handler is enabled\n enableSyncErrors,\n enableAsyncErrors\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 JS error handler\n if (this.globalJsErrorHandlerCleanup) {\n this.globalJsErrorHandlerCleanup();\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}></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":[]}