@wavemaker/app-rn-runtime 11.14.1-18.6421 → 11.14.1-18.6428
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.
- package/components/basic/bottomsheet/bottomsheet.component.js +12 -0
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +3 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +26 -9
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +38 -6
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +8 -15
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +22 -5
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +22 -5
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +14 -3
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/container/container.component.js +264 -11
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +6 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +0 -1
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +9 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +36 -0
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/form/form.props.js +6 -0
- package/components/data/form/form.props.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -2
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +18 -3
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/baseinput/baseinput.props.js +1 -0
- package/components/input/baseinput/baseinput.props.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +18 -3
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/basenumber/basenumber.props.js +1 -0
- package/components/input/basenumber/basenumber.props.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -0
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +10 -1
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/number/number.component.js +2 -0
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/number/number.styles.js +4 -0
- package/components/input/number/number.styles.js.map +1 -1
- package/components/input/radioset/radioset.component.js +3 -6
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -0
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +0 -1
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +17 -0
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -0
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/textarea/textarea.styles.js +4 -0
- package/components/input/textarea/textarea.styles.js.map +1 -1
- package/components/navigation/popover/popover.component.js +3 -3
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +0 -5
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +18 -50
- package/core/components/error-fallback/error-fallback.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.styles.js +1 -4
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
- package/core/components/textinput.component.js +6 -2
- package/core/components/textinput.component.js.map +1 -1
- package/core/error-boundary.component.js +2 -46
- package/core/error-boundary.component.js.map +1 -1
- package/core/fixed-view.component.js +19 -2
- package/core/fixed-view.component.js.map +1 -1
- package/core/tappable.component.js +1 -1
- package/core/tappable.component.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +0 -1
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +89 -110
- package/package-lock.json +89 -110
- package/package.json +2 -2
- package/runtime/App.js +12 -174
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +2 -11
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +0 -6
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/styles/theme.js +6 -0
- package/styles/theme.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +0 -207
- package/core/advanced-promise-rejection-tracker.js.map +0 -1
- package/core/global-error-handler.service.js +0 -177
- package/core/global-error-handler.service.js.map +0 -1
package/runtime/App.js
CHANGED
|
@@ -58,8 +58,6 @@ 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';
|
|
63
61
|
//some old react libraries need this
|
|
64
62
|
View['propTypes'] = {
|
|
65
63
|
style: ProtoTypes.any
|
|
@@ -130,8 +128,6 @@ export default class BaseApp extends React.Component {
|
|
|
130
128
|
}));
|
|
131
129
|
_defineProperty(this, "networkStatus", {});
|
|
132
130
|
_defineProperty(this, "statusbarInsets", void 0);
|
|
133
|
-
_defineProperty(this, "globalError", null);
|
|
134
|
-
_defineProperty(this, "globalJsErrorHandlerCleanup", null);
|
|
135
131
|
_defineProperty(this, "enableProtection", async () => {
|
|
136
132
|
try {
|
|
137
133
|
if (Platform.OS !== 'web') {
|
|
@@ -154,9 +150,6 @@ export default class BaseApp extends React.Component {
|
|
|
154
150
|
setTimeout(() => SplashScreen.hideAsync(), 10000);
|
|
155
151
|
this.appConfig.app = this;
|
|
156
152
|
this.appConfig.drawer = new DrawerImpl(() => this.refresh());
|
|
157
|
-
|
|
158
|
-
// Register app instance in injector for Error Boundary access
|
|
159
|
-
injector.set('APP_INSTANCE', this);
|
|
160
153
|
AppSpinnerService.setDefaultOptions({
|
|
161
154
|
spinner: this.appConfig.spinner
|
|
162
155
|
});
|
|
@@ -252,62 +245,10 @@ export default class BaseApp extends React.Component {
|
|
|
252
245
|
try {
|
|
253
246
|
this.onPageReady(activePageName, activePageScope);
|
|
254
247
|
} catch (e) {
|
|
255
|
-
|
|
248
|
+
console.error(e);
|
|
256
249
|
}
|
|
257
250
|
}
|
|
258
251
|
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
|
-
}
|
|
311
252
|
setTimezone(timezone) {
|
|
312
253
|
AppI18nService.setTimezone(timezone);
|
|
313
254
|
}
|
|
@@ -345,18 +286,9 @@ export default class BaseApp extends React.Component {
|
|
|
345
286
|
config.headers['X-Requested-With'] = 'XMLHttpRequest';
|
|
346
287
|
console.log('onBeforeService call invoked on ' + config.url);
|
|
347
288
|
this.notify('beforeServiceCall', config);
|
|
348
|
-
|
|
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
|
-
}
|
|
289
|
+
return this.onBeforeServiceCall(config);
|
|
354
290
|
}), axios.interceptors.response.use(response => {
|
|
355
|
-
|
|
356
|
-
this.onServiceSuccess(response.data, response);
|
|
357
|
-
} catch (e) {
|
|
358
|
-
this.handleCallbackError(e, `Error in onServiceSuccess callback`);
|
|
359
|
-
}
|
|
291
|
+
this.onServiceSuccess(response.data, response);
|
|
360
292
|
this.notify('afterServiceCall', response.config, response);
|
|
361
293
|
return response;
|
|
362
294
|
}, error => {
|
|
@@ -370,41 +302,8 @@ export default class BaseApp extends React.Component {
|
|
|
370
302
|
errMsg = error.message || "Service Call Failed";
|
|
371
303
|
}
|
|
372
304
|
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
|
-
}
|
|
382
305
|
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}`);
|
|
383
|
-
|
|
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
|
-
}
|
|
306
|
+
this.onServiceError(error.message, error);
|
|
408
307
|
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) {
|
|
409
308
|
var _this$appConfig$curre5, _this$appConfig$curre6;
|
|
410
309
|
((_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'));
|
|
@@ -428,34 +327,6 @@ export default class BaseApp extends React.Component {
|
|
|
428
327
|
return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
|
|
429
328
|
}
|
|
430
329
|
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
|
-
}
|
|
459
330
|
AppSpinnerService.show({
|
|
460
331
|
spinner: this.appConfig.spinner
|
|
461
332
|
});
|
|
@@ -471,12 +342,7 @@ export default class BaseApp extends React.Component {
|
|
|
471
342
|
}));
|
|
472
343
|
this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());
|
|
473
344
|
return this.triggerStartUpVariables().then(() => {
|
|
474
|
-
|
|
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
|
-
}
|
|
345
|
+
this.onAppVariablesReady();
|
|
480
346
|
this.isStarted = true;
|
|
481
347
|
this.forceUpdate();
|
|
482
348
|
}, () => {});
|
|
@@ -486,11 +352,6 @@ export default class BaseApp extends React.Component {
|
|
|
486
352
|
axios.interceptors.request.eject(id);
|
|
487
353
|
});
|
|
488
354
|
this.cleanup.forEach(fn => fn());
|
|
489
|
-
|
|
490
|
-
// Cleanup global JS error handler
|
|
491
|
-
if (this.globalJsErrorHandlerCleanup) {
|
|
492
|
-
this.globalJsErrorHandlerCleanup();
|
|
493
|
-
}
|
|
494
355
|
}
|
|
495
356
|
refresh() {
|
|
496
357
|
this.appConfig.refresh();
|
|
@@ -515,8 +376,8 @@ export default class BaseApp extends React.Component {
|
|
|
515
376
|
}, content))))))));
|
|
516
377
|
}
|
|
517
378
|
renderToasters() {
|
|
518
|
-
var _this$
|
|
519
|
-
const isEdgeToEdgeApp = !!((_this$
|
|
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);
|
|
520
381
|
this.toastsOpened = AppToastService.toastsOpened.length;
|
|
521
382
|
return /*#__PURE__*/React.createElement(WmMemo, {
|
|
522
383
|
watcher: this.watcher,
|
|
@@ -709,13 +570,13 @@ export default class BaseApp extends React.Component {
|
|
|
709
570
|
return false;
|
|
710
571
|
}
|
|
711
572
|
renderApp(commonPartial) {
|
|
712
|
-
var _this$
|
|
573
|
+
var _this$appConfig2, _this$appConfig3;
|
|
713
574
|
this.autoUpdateVariables.forEach(value => {
|
|
714
575
|
var _this$Variables$value;
|
|
715
576
|
return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
|
|
716
577
|
});
|
|
717
|
-
const edgeToEdgeConfig = (_this$
|
|
718
|
-
const statusbarConfig = (_this$
|
|
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;
|
|
719
580
|
const isEdgeToEdgeApp = !!(edgeToEdgeConfig !== null && edgeToEdgeConfig !== void 0 && edgeToEdgeConfig.isEdgeToEdgeApp);
|
|
720
581
|
const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;
|
|
721
582
|
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
|
@@ -738,8 +599,7 @@ export default class BaseApp extends React.Component {
|
|
|
738
599
|
}), /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
739
600
|
value: this.appConfig.theme
|
|
740
601
|
}, /*#__PURE__*/React.createElement(ErrorBoundary, {
|
|
741
|
-
currentPage: this.appConfig.currentPage
|
|
742
|
-
app: this
|
|
602
|
+
currentPage: this.appConfig.currentPage
|
|
743
603
|
}, this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets), /*#__PURE__*/React.createElement(View, {
|
|
744
604
|
style: {
|
|
745
605
|
flex: 1
|
|
@@ -757,29 +617,7 @@ export default class BaseApp extends React.Component {
|
|
|
757
617
|
drawerAnimation: (_this$appConfig$drawe2 = this.appConfig.drawer) === null || _this$appConfig$drawe2 === void 0 ? void 0 : _this$appConfig$drawe2.getAnimation()
|
|
758
618
|
}), /*#__PURE__*/React.createElement(FixedViewContainer, null, commonPartial))), this.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
|
|
759
619
|
appLocale: this.appConfig.appLocale
|
|
760
|
-
}) : null, this.renderToasters(), this.renderDialogs(), this.renderDisplayManager(), this.
|
|
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))))));
|
|
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))))));
|
|
783
621
|
}));
|
|
784
622
|
}
|
|
785
623
|
}
|
package/runtime/App.js.map
CHANGED
|
@@ -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","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":[]}
|
|
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":[]}
|
|
@@ -115,18 +115,9 @@ export default class BasePage extends BaseFragment {
|
|
|
115
115
|
}
|
|
116
116
|
async canNavigate(currentPage, nextPage) {
|
|
117
117
|
let navigate = true;
|
|
118
|
-
|
|
119
|
-
try {
|
|
120
|
-
navigate = await this.onBeforePageLeave(currentPage, nextPage);
|
|
121
|
-
} catch (e) {
|
|
122
|
-
this.App.handleCallbackError(e, `Error in page-level onBeforePageLeave callback`);
|
|
123
|
-
}
|
|
118
|
+
navigate = await this.onBeforePageLeave(currentPage, nextPage);
|
|
124
119
|
if (navigate !== false) {
|
|
125
|
-
|
|
126
|
-
navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
|
|
127
|
-
} catch (e) {
|
|
128
|
-
this.App.handleCallbackError(e, `Error in app-level onBeforePageLeave callback`);
|
|
129
|
-
}
|
|
120
|
+
navigate = await this.App.onBeforePageLeave(currentPage, nextPage);
|
|
130
121
|
}
|
|
131
122
|
if (navigate !== false) navigate = true;
|
|
132
123
|
return navigate;
|