@wavemaker/app-rn-runtime 11.4.0-next.1417013 → 11.4.0-next.1417014
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.
- app-rn-runtime/actions/notification-action.js +5 -4
- app-rn-runtime/actions/notification-action.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/login/login.component.js +1 -1
- app-rn-runtime/components/advanced/login/login.component.js.map +1 -1
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js +5 -5
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +1 -1
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.component.js +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +1 -1
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js +1 -1
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +37 -26
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -2
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +4 -1
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js +56 -0
- app-rn-runtime/components/basic/video/video.component.js.map +1 -0
- app-rn-runtime/components/basic/video/video.props.js +22 -0
- app-rn-runtime/components/basic/video/video.props.js.map +1 -0
- app-rn-runtime/components/basic/video/video.styles.js +11 -0
- app-rn-runtime/components/basic/video/video.styles.js.map +1 -0
- app-rn-runtime/components/container/accordion/accordion.component.js +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +1 -1
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel-content/panel-content.component.js +1 -1
- app-rn-runtime/components/container/panel/panel-content/panel-content.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js +1 -1
- app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.component.js +1 -1
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +12 -4
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +2 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +5 -2
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +80 -64
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.props.js +1 -0
- app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.component.js +1 -1
- app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-footer/card-footer.component.js +1 -1
- app-rn-runtime/components/data/card/card-footer/card-footer.component.js.map +1 -1
- app-rn-runtime/components/data/card/card.component.js +1 -1
- app-rn-runtime/components/data/card/card.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js +0 -6
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-body/form-body.component.js +1 -1
- app-rn-runtime/components/data/form/form-body/form-body.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-footer/form-footer.component.js +1 -1
- app-rn-runtime/components/data/form/form-footer/form-footer.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +2 -31
- app-rn-runtime/components/data/form/form.component.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +17 -8
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +3 -2
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.component.js +9 -4
- app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.props.js +0 -1
- app-rn-runtime/components/device/camera/camera.props.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js +1 -1
- app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +7 -0
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +1 -16
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +0 -38
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.component.js +1 -1
- app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +0 -9
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +0 -40
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/rating/rating.component.js +1 -1
- app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +1 -1
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +19 -22
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.styles.js +7 -7
- app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +1 -10
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +0 -10
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.props.js +1 -0
- app-rn-runtime/components/navigation/basenav/basenav.props.js.map +1 -1
- app-rn-runtime/components/navigation/menu/menu.component.js +2 -1
- app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.component.js +2 -0
- app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +4 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js +1 -0
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/content/content.component.js +1 -1
- app-rn-runtime/components/page/content/content.component.js.map +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.component.js +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +2 -2
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/page.component.js +1 -1
- app-rn-runtime/components/page/page.component.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.component.js +1 -1
- app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
- app-rn-runtime/components/page/partial-container/partial-container.component.js +1 -1
- app-rn-runtime/components/page/partial-container/partial-container.component.js.map +1 -1
- app-rn-runtime/components/page/partial-container/partial-container.styles.js +2 -1
- app-rn-runtime/components/page/partial-container/partial-container.styles.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js +2 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
- app-rn-runtime/core/asset.provider.js +5 -0
- app-rn-runtime/core/asset.provider.js.map +1 -0
- app-rn-runtime/core/base.component.js +113 -41
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/imageSizeEstimator.js +1 -0
- app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
- app-rn-runtime/core/injector.js +15 -1
- app-rn-runtime/core/injector.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +9 -2
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/utils.js +6 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +105 -0
- app-rn-runtime/gestures/swipe.animation.js.map +1 -0
- app-rn-runtime/package.json +5 -5
- app-rn-runtime/runtime/App.js +20 -15
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/App.navigator.js +2 -12
- app-rn-runtime/runtime/App.navigator.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +6 -4
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/navigator/drawer.navigator.js +4 -0
- app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js +5 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
- app-rn-runtime/runtime/services/device/camera-service.js +28 -6
- app-rn-runtime/runtime/services/device/camera-service.js.map +1 -1
- app-rn-runtime/runtime/services/device/scan-service.js +15 -14
- app-rn-runtime/runtime/services/device/scan-service.js.map +1 -1
- app-rn-runtime/styles/background.component.js +259 -0
- app-rn-runtime/styles/background.component.js.map +1 -0
- app-rn-runtime/styles/style-prop.validator.js +11 -6
- app-rn-runtime/styles/style-prop.validator.js.map +1 -1
- app-rn-runtime/styles/style-props.js +93 -0
- app-rn-runtime/styles/style-props.js.map +1 -0
- app-rn-runtime/styles/theme.js +5 -36
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/variables/device/camera/capture-image.operation.js.map +1 -1
- app-rn-runtime/variables/device/camera/capture-video.operation.js.map +1 -1
- app-rn-runtime/variables/device/file/upload-file.operation.js +43 -21
- app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
- app-rn-runtime/variables/http.service.js +3 -12
- app-rn-runtime/variables/http.service.js.map +1 -1
- app-rn-runtime/variables/service-variable.js +19 -8
- app-rn-runtime/variables/service-variable.js.map +1 -1
app-rn-runtime/runtime/App.js
CHANGED
|
@@ -3,9 +3,9 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
|
3
3
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import axios from 'axios';
|
|
6
|
-
import { Platform, TouchableOpacity, View } from 'react-native';
|
|
6
|
+
import { Platform, TouchableOpacity, View, StatusBar } from 'react-native';
|
|
7
7
|
import ProtoTypes from 'prop-types';
|
|
8
|
-
import { SafeAreaProvider, SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
8
|
+
import { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';
|
|
9
9
|
import { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';
|
|
10
10
|
import { Linking } from 'react-native';
|
|
11
11
|
import { NativeModulesProxy } from 'expo-modules-core';
|
|
@@ -17,6 +17,7 @@ import StorageService from '@wavemaker/app-rn-runtime/core/storage.service';
|
|
|
17
17
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
|
18
18
|
import formatters from '@wavemaker/app-rn-runtime/core/formatters';
|
|
19
19
|
import { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
|
20
|
+
import * as Utils from '@wavemaker/app-rn-runtime/core/utils';
|
|
20
21
|
import { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';
|
|
21
22
|
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
|
22
23
|
import { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';
|
|
@@ -71,6 +72,7 @@ class DrawerImpl {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
const SUPPORTED_SERVICES = {
|
|
75
|
+
Utils: Utils,
|
|
74
76
|
StorageService: StorageService,
|
|
75
77
|
AppDisplayManagerService: AppDisplayManagerService
|
|
76
78
|
};
|
|
@@ -188,7 +190,13 @@ export default class BaseApp extends React.Component {
|
|
|
188
190
|
// To support old api
|
|
189
191
|
reload() {}
|
|
190
192
|
bindServiceInterceptors() {
|
|
191
|
-
this.axiosInterceptorIds = [axios.interceptors.request.use(config =>
|
|
193
|
+
this.axiosInterceptorIds = [axios.interceptors.request.use(config => {
|
|
194
|
+
const url = config.url;
|
|
195
|
+
if (!(url.startsWith('http://') || url.startsWith("https://"))) {
|
|
196
|
+
config.url = this.appConfig.url + '/' + url;
|
|
197
|
+
}
|
|
198
|
+
return this.onBeforeServiceCall(config);
|
|
199
|
+
}), axios.interceptors.response.use(response => {
|
|
192
200
|
this.onServiceSuccess(response.data, response);
|
|
193
201
|
return response;
|
|
194
202
|
}, error => {
|
|
@@ -267,7 +275,7 @@ export default class BaseApp extends React.Component {
|
|
|
267
275
|
watcher: this.watcher,
|
|
268
276
|
render: watch => {
|
|
269
277
|
watch(() => AppToastService.refreshCount);
|
|
270
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, AppToastService.toastsOpened.map((o, i) => /*#__PURE__*/React.createElement(View, {
|
|
278
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, AppToastService.toastsOpened.map((o, i) => this.getProviders( /*#__PURE__*/React.createElement(View, {
|
|
271
279
|
key: i,
|
|
272
280
|
style: [{
|
|
273
281
|
position: 'absolute',
|
|
@@ -282,7 +290,7 @@ export default class BaseApp extends React.Component {
|
|
|
282
290
|
type: o.type,
|
|
283
291
|
caption: o.text,
|
|
284
292
|
hideclose: true
|
|
285
|
-
})))));
|
|
293
|
+
}))))));
|
|
286
294
|
}
|
|
287
295
|
});
|
|
288
296
|
}
|
|
@@ -386,14 +394,11 @@ export default class BaseApp extends React.Component {
|
|
|
386
394
|
left: 0,
|
|
387
395
|
right: 0
|
|
388
396
|
};
|
|
389
|
-
return _this2.getProviders( /*#__PURE__*/React.createElement(
|
|
390
|
-
style:
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
paddingRight: insets === null || insets === void 0 ? void 0 : insets.right
|
|
395
|
-
}]
|
|
396
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
397
|
+
return _this2.getProviders( /*#__PURE__*/React.createElement(SafeAreaView, {
|
|
398
|
+
style: {
|
|
399
|
+
flex: 1
|
|
400
|
+
}
|
|
401
|
+
}, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(View, {
|
|
397
402
|
style: styles.container
|
|
398
403
|
}, /*#__PURE__*/React.createElement(AppNavigator, {
|
|
399
404
|
app: _this2,
|
|
@@ -402,10 +407,10 @@ export default class BaseApp extends React.Component {
|
|
|
402
407
|
hideDrawer: ((_this2$appConfig$draw = _this2.appConfig.drawer) === null || _this2$appConfig$draw === void 0 ? void 0 : _this2$appConfig$draw.getContent()) === null,
|
|
403
408
|
drawerContent: () => _this2.appConfig.drawer ? _this2.getProviders(_this2.appConfig.drawer.getContent()) : null,
|
|
404
409
|
drawerAnimation: (_this2$appConfig$draw2 = _this2.appConfig.drawer) === null || _this2$appConfig$draw2 === void 0 ? void 0 : _this2$appConfig$draw2.getAnimation()
|
|
405
|
-
}), commonPartial), /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
|
|
410
|
+
}), commonPartial, _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager()), /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
|
|
406
411
|
appLocale: _this2.appConfig.appLocale
|
|
407
412
|
}))));
|
|
408
|
-
})
|
|
413
|
+
}))));
|
|
409
414
|
}
|
|
410
415
|
}
|
|
411
416
|
const styles = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","forceUpdate","commonPartial","currentPage","watcher","check","goToPage","pageName","params","goBack","openUrl","onBeforeServiceCall","config","headers","console","log","isSkeletonEnabled","spinner","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","request","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","use","errorDetails","errMsg","errors","message","status","eval","fn","failOnError","call","e","componentDidMount","show","all","startUpVariables","map","s","Variables","invoke","catch","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","renderToasters","toastsOpened","length","watch","refreshCount","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onClick","text","type","renderDialogs","modalsOpened","animatedRefs","modalOptions","name","isModal","hideModal","appModal","centered","centeredModal","modalStyle","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","autoUpdateVariables","value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","insets","top","left","right","container","paddingTop","paddingBottom","paddingLeft","paddingRight","appLocale","flex","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext } 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 { 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 NetworkService 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 { 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';\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';\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 = { StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n };\n\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 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 lib = preparePatch(() => {\n this.refresh();\n });\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 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 }\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: AxiosRequestConfig) {\n if(config.headers) config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return config\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n console.error(`Error ${errorMsg} recieved from ${error.request.url}`);\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 onPageReady(activePageName: string, activePageScope: BasePage) {\n\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 bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: AxiosRequestConfig) => this.onBeforeServiceCall(config)),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, 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 = errMsg || \"Service Call Failed\";\n }\n error.message = errMsg;\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\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 componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {})\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\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 <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 );\n }\n\n renderToasters() {\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 (\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]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\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 { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\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 </Animatedview>\n </View>\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 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 getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<FixedViewContainer>\n <View style={[styles.container, {paddingTop: insets?.top || 0, paddingBottom: insets?.bottom, paddingLeft: insets?.left, paddingRight : insets?.right}]}>\n <View 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 {commonPartial}\n </View> \n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </View>\n </FixedViewContainer>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </React.Fragment>\n </PaperProvider>\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":";;;AAAA,OAAOA,KAAK,MAAsB,OAAO;AACzC,OAAOC,KAAK,MAAyD,OAAO;AAC5E,SAASC,QAAQ,EAAEC,gBAAgB,EAAEC,IAAI,QAAmB,cAAc;AAC1E,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,EAAEC,qBAAqB,QAAQ,gCAAgC;AACxF,SAASC,YAAY,EAAEC,QAAQ,IAAIC,aAAa,QAAQ,oBAAoB;AAC5E,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,kBAAkB,QAAQ,mBAAmB;AACtD,OAAO,KAAKC,UAAU,MAAM,kBAAkB;AAC9C,SAASC,GAAG,EAAEC,IAAI,QAAQ,QAAQ;AAClC,SAASC,aAAa,QAAQ,uCAAuC;AACrE,SAASC,aAAa,QAAQ,wCAAwC;AAEtE,OAAOC,cAAc,MAAM,gDAAgD;AAE3E,OAAOC,QAAQ,MAAM,yCAAyC;AAC9D,OAAOC,UAAU,MAAM,2CAA2C;AAClE,SAASC,QAAQ,EAAEC,gBAAgB,QAAQ,sCAAsC;AACjF,SAASC,aAAa,QAAQ,8CAA8C;AAC5E,SAASC,kBAAkB,QAAQ,qDAAqD;AACxF,SAASC,aAAa,QAAQ,8CAA8C;AAC5E,SAA4BC,yBAAyB,QAAQ,mDAAmD;AAChH,SAASC,eAAe,QAAQ,gDAAgD;AAChF,OAAOC,oBAAoB,MAAM,mGAAmG;AACpI,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,OAAOC,SAAS,MAAM,sEAAsE;AAC5F,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,YAAY,QAAQ,aAAa;AAC1C,OAAOC,wBAAwB,MAAM,wCAAwC;AAC7E,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,OAAQC,aAAa,MAAM,kCAAkC;AAC7D,SAASC,YAAY,QAAQ,6BAA6B;AAC1D,OAAOC,WAAW,MAAM,gCAAgC;AACxD,OAAOC,kBAAkB,MAAM,iCAAiC;AAChE,SAAQC,YAAY,EAAEC,WAAW,QAAO,0DAA0D;AAClG,OAAOC,0BAA0B,MAAM,4FAA4F;AAEnI,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAGlD,SAASC,MAAM,QAAQ,kBAAkB;AAIzC;AACE9C,IAAI,CAAS,WAAW,CAAC,GAAG;EAAE+C,KAAK,EAAE9C,UAAU,CAAC+C;AAAG,CAAC;AAEtD,MAAMC,+BAA+B,GAAG,GAAG;AAE3C,MAAMC,UAAU,CAAmB;EAIjCC,WAAW,CAASC,QAAoB,EAAE;IAAA,KAAtBA,QAAoB,GAApBA,QAAoB;IAAA;IAAA,mCAFpB,UAAU;EAI9B;EAEAC,UAAU,CAACC,OAAkB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACF,QAAQ,EAAE;EACjB;EAEAG,UAAU,GAAG;IACX,OAAO,IAAI,CAACD,OAAO;EACrB;EAEAE,YAAY,CAACC,SAAiB,EAAE;IAC9B,IAAI,CAACA,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACL,QAAQ,EAAE;EACjB;EAEAM,YAAY,GAAG;IACb,OAAO,IAAI,CAACD,SAAS;EACvB;AACF;AACA,MAAME,kBAAkB,GAAG;EAAE7C,cAAc,EAAEA,cAAc;EAC9BgB,wBAAwB,EAAEA;AAC3B,CAAC;AAE7B,eAAe,MAAe8B,OAAO,SAAShE,KAAK,CAACiE,SAAS,CAA8B;EAyBzFV,WAAW,CAACW,KAAU,EAAE;IAAA;IACtB,KAAK,CAACA,KAAK,CAAC;IAAA;IAAA,iCAxBC,CAAC,CAAC;IAAA,mCACA,CAAC,CAAC;IAAA,6CACG,MAAM,CAAC,CAAC;IAAA,mCAClB,KAAK;IAAA,mCACL/C,QAAQ,CAACL,GAAG,CAAY,YAAY,CAAC;IAAA,iCAChC,EAAE;IAAA,wCACK,eAAe;IAAA,iCACtB,EAAE;IAAA,uCACiB,IAAI;IAAA,0CACH,EAAE;IAAA,wCACJ,EAAE;IAAA,6CACG,EAAE;IAAA,6CACF,EAAE;IAAA,oCACtBM,UAAU;IAAA,4CACF,CAAC,CAAC;IAAA;IAAA,sCAEA,CAAC;IAAA,sCACD,CAAC;IAAA,iCACLY,OAAO,CAACmC,IAAI;IAAA,6BACzBlC,YAAY,CAAC,MAAM;MAC9B,IAAI,CAACmC,OAAO,EAAE;IAChB,CAAC,CAAC;IAIAnB,YAAY,CAACoB,oBAAoB,EAAE;IACnCC,UAAU,CAAC,MAAMrB,YAAY,CAACsB,SAAS,EAAE,EAAE,KAAK,CAAC;IACjD,IAAI,CAACC,SAAS,CAACC,GAAG,GAAG,IAAI;IACzB,IAAI,CAACD,SAAS,CAACE,MAAM,GAAG,IAAIpB,UAAU,CAAC,MAAM,IAAI,CAACc,OAAO,EAAE,CAAC;IAC5D,IAAIO,gBAAgB,GAAG,KAAK;IAC5B,IAAI,CAACC,OAAO,GAAG,IAAI,CAACJ,SAAS,CAACK,GAAG;IACjC,IAAIC,IAAI,GAAG,CAAC;IACZ,IAAI,CAACC,uBAAuB,EAAE;IAC9B,IAAI,CAACP,SAAS,CAACJ,OAAO,GAAG,YAAsB;MAAA,IAArBY,QAAQ,uEAAG,KAAK;MACxC,IAAIA,QAAQ,EAAE;QACZ,KAAI,CAACC,MAAM,EAAE;QACb;MACF;MACA,IAAI,CAACH,IAAI,EAAE;QACT9D,aAAa,CAACkE,KAAK,CAAC,uBAAuB,CAAC;QAC5CJ,IAAI,GAAGzB,+BAA+B;QACtCsB,gBAAgB,GAAG,KAAK;QACxBL,UAAU,CAAC,MAAM;UAAA;UACf,KAAI,CAACa,WAAW,EAAE;UAClB,4BAAI,CAACC,aAAa,wDAAlB,oBAAoBD,WAAW,EAAE;UACjC,8BAAI,CAACX,SAAS,CAACa,WAAW,0DAA1B,sBAA4BF,WAAW,EAAE;UACzC,KAAI,CAACG,OAAO,CAACC,KAAK,EAAE;QACtB,CAAC,CAAC;QACFjB,UAAU,CAAC,MAAM;UACfQ,IAAI,GAAG,CAAC;UACRH,gBAAgB,IAAI,KAAI,CAACH,SAAS,CAACJ,OAAO,EAAE;QAC9C,CAAC,EAAEU,IAAI,CAAC;MACV,CAAC,MAAM;QACL9D,aAAa,CAACkE,KAAK,CAAC,yCAAyC,CAAC;QAC9DP,gBAAgB,GAAG,IAAI;MACzB;IACF,CAAC;EACH;EAEAa,QAAQ,CAACC,QAAgB,EAAEC,MAAW,EAAG;IAAA;IACvC,iCAAO,IAAI,CAAClB,SAAS,CAACa,WAAW,2DAA1B,uBAA4BG,QAAQ,CAACC,QAAQ,EAAEC,MAAM,CAAC;EAC/D;EAEAC,MAAM,CAACF,QAAgB,EAAEC,MAAW,EAAE;IAAA;IACpC,iCAAO,IAAI,CAAClB,SAAS,CAACa,WAAW,2DAA1B,uBAA4BM,MAAM,CAACF,QAAQ,EAAEC,MAAM,CAAC;EAC7D;EAEAE,OAAO,CAACf,GAAW,EAAEa,MAAY,EAAG;IAAA;IAClC,iCAAO,IAAI,CAAClB,SAAS,CAACa,WAAW,2DAA1B,uBAA4BO,OAAO,CAACf,GAAG,EAAEa,MAAM,CAAC;EACzD;EAEAG,mBAAmB,CAACC,MAA0B,EAAE;IAC9C,IAAGA,MAAM,CAACC,OAAO,EAAED,MAAM,CAACC,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB;IACxEC,OAAO,CAACC,GAAG,CAAC,kCAAkC,GAAGH,MAAM,CAACjB,GAAG,CAAC;IAC5D,OAAOiB,MAAM;EACf;EAEAI,iBAAiB,GAAG;IAClB,OAAO,IAAI,CAAC1B,SAAS,CAAC2B,OAAO,CAACC,MAAM,IAAI,UAAU;EACpD;EAEAC,gBAAgB,CAACC,IAAS,EAAEC,QAAuB,EAAE,CAErD;EAEAC,cAAc,CAACC,QAAa,EAAEC,KAAsB,EAAE;IACpDV,OAAO,CAACU,KAAK,CAAE,SAAQD,QAAS,kBAAiBC,KAAK,CAACC,OAAO,CAAC9B,GAAI,EAAC,CAAC;EACvE;EAEA+B,eAAe,CAACC,GAAW,EAAEP,IAAY,EAAE;IACzC,IAAI1F,kBAAkB,CAACkG,eAAe,KAC9B5G,QAAQ,CAAC6G,EAAE,KAAK,SAAS,IAAI7G,QAAQ,CAAC6G,EAAE,KAAK,KAAK,CAAC,EAAE;MACzD,OAAOnG,kBAAkB,CAACkG,eAAe,CAACE,YAAY,CAACH,GAAG,EAAEP,IAAI,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC,MAAM;MACH,OAAOW,OAAO,CAACC,MAAM,CAAC,iDAAiD,CAAC;IAC5E;EACF;EAEAC,WAAW,CAACC,cAAsB,EAAEC,eAAyB,EAAE,CAE/D;EAEA,IAAIlB,OAAO,GAAG;IACZ,OAAO7D,iBAAiB;EAC1B;EAEAgF,WAAW,CAACzC,GAAW,EAAsB;IAAA,IAApBa,MAAM,uEAAG,CAAC,CAAC;IAClC,IAAIb,GAAG,EAAE;MACP,IAAIvD,gBAAgB,EAAE,EAAE;QACtBiG,MAAM,CAACC,IAAI,CAAC3C,GAAG,EAAE,QAAQ,CAAC;MAC5B,CAAC,MAAM,IAAIA,GAAG,CAAC4C,UAAU,CAAC,MAAM,CAAC,IAAI/B,MAAM,CAACgC,MAAM,KAAK,QAAQ,EAAE;QAC/D7G,UAAU,CAAC8G,gBAAgB,CAAC9C,GAAG,CAAC;MAClC,CAAC,MAAM;QACL,OAAOlE,OAAO,CAACiH,OAAO,CAAC/C,GAAG,CAAC;MAC7B;IACF;IACA,OAAOoC,OAAO,CAACY,OAAO,EAAE;EAC1B;;EAEA;EACA5C,MAAM,GAAG,CAAC;EAEVF,uBAAuB,GAAG;IACxB,IAAI,CAAC+C,mBAAmB,GAAG,CACzB7H,KAAK,CAAC8H,YAAY,CAACpB,OAAO,CAACqB,GAAG,CAAElC,MAA0B,IAAK,IAAI,CAACD,mBAAmB,CAACC,MAAM,CAAC,CAAC,EAChG7F,KAAK,CAAC8H,YAAY,CAACxB,QAAQ,CAACyB,GAAG,CAC5BzB,QAAuB,IAAK;MAC3B,IAAI,CAACF,gBAAgB,CAACE,QAAQ,CAACD,IAAI,EAAEC,QAAQ,CAAC;MAC9C,OAAOA,QAAQ;IACjB,CAAC,EAAEG,KAAsB,IAAK;MAAA;MAC5B,IAAIuB,YAAiB,GAAGvB,KAAK,CAACH,QAAQ;QAAE2B,MAAM;MAC9CD,YAAY,GAAGnF,YAAY,kBAACmF,YAAY,kDAAZ,cAAc3B,IAAI,CAAC,uBAAI2B,YAAY,mDAAZ,eAAc3B,IAAI;MACrE,IAAI2B,YAAY,IAAIA,YAAY,CAACE,MAAM,EAAE;QACrCD,MAAM,GAAGnF,WAAW,CAACkF,YAAY,CAACE,MAAM,CAAC,IAAI,qBAAqB;MACtE,CAAC,MAAM;QACHD,MAAM,GAAGA,MAAM,IAAI,qBAAqB;MAC5C;MACAxB,KAAK,CAAC0B,OAAO,GAAGF,MAAM;MACtB,IAAI,CAAC1B,cAAc,CAACE,KAAK,CAAC0B,OAAO,EAAE1B,KAAK,CAAC;MACzC,IAAI,mBAAAA,KAAK,CAACH,QAAQ,qEAAd,gBAAgBT,MAAM,CAACjB,GAAG,kDAA1B,sBAA4B4C,UAAU,CAAC,IAAI,CAACjD,SAAS,CAACK,GAAG,CAAC,IAAI,qBAAA6B,KAAK,CAACH,QAAQ,qDAAd,iBAAgB8B,MAAM,MAAK,GAAG,EAAE;QAAA;QAChG,+BAAI,CAAC7D,SAAS,CAACa,WAAW,2DAA1B,uBAA4BI,QAAQ,MAAK,OAAO,+BAAI,IAAI,CAACjB,SAAS,CAACa,WAAW,2DAA1B,uBAA4BG,QAAQ,CAAC,OAAO,CAAC;MACnG;MACA,OAAOyB,OAAO,CAACC,MAAM,CAACR,KAAK,CAAC;IAC9B,CAAC,CAAC,CACL;EACH;EAEA4B,IAAI,CAACC,EAAY,EAAuB;IAAA,IAArBC,WAAW,uEAAG,KAAK;IACpC,IAAI;MACF,OAAOD,EAAE,CAACE,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,IAAIF,WAAW,EAAE;QACf,MAAME,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEAC,iBAAiB,GAAG;IAClBrG,iBAAiB,CAACsG,IAAI,CAAC;MACrBzC,OAAO,EAAE,IAAI,CAAC3B,SAAS,CAAC2B;IAC1B,CAAC,CAAC;IACFc,OAAO,CAAC4B,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAACC,GAAG,CAACC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,SAAS,CAACD,CAAC,CAAC,CAACE,MAAM,EAAE,CAAC,CAAC,CAC3FC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACfC,IAAI,CAAC,MAAM;MACV,IAAI,CAACC,mBAAmB,EAAE;MAC1B,IAAI,CAACC,SAAS,GAAG,IAAI;MACrB,IAAI,CAACnE,WAAW,EAAE;IACpB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAACiE,IAAI,CAAC,MAAM;MACtBnG,YAAY,CAACsB,SAAS,EAAE,CAAC6E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,IAAI,CAACG,cAAc,CAACR,GAAG,CAACS,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,IAAI,IAAI,CAACC,OAAO,CAACD,CAAC,CAAC,CAACN,MAAM,EAAE,CAAC;EAC3E;EAEAQ,oBAAoB,GAAS;IAC3B,IAAI,CAAC5B,mBAAmB,CAACiB,GAAG,CAACY,EAAE,IAAI;MACjC1J,KAAK,CAAC8H,YAAY,CAACpB,OAAO,CAACiD,KAAK,CAACD,EAAE,CAAC;IACtC,CAAC,CAAC;IACF,IAAI,CAACE,OAAO,CAACC,OAAO,CAACvB,EAAE,IAAIA,EAAE,EAAE,CAAC;EAClC;EAEAnE,OAAO,GAAG;IACR,IAAI,CAACI,SAAS,CAACJ,OAAO,EAAE;EAC1B;EAEA2F,YAAY,CAACrG,OAAwB,EAAE;IACrC,oBACE,oBAAC,yBAAyB;MAAC,KAAK,EAAE;IAAK,gBACrC,oBAAC,aAAa;MAAC,KAAK,EAAEtB;IAAgB,gBACpC,oBAAC,eAAe;MAAC,KAAK,EAAEC;IAAkB,gBACxC,oBAAC,gBAAgB;MAAC,KAAK,EAAEQ;IAAmB,gBAC1C,oBAAC,cAAc;MAAC,KAAK,EAAEH;IAAc,gBACnC,oBAAC,YAAY;MAAC,KAAK,EAAEE;IAAY,gBAC/B,oBAAC,aAAa;MAAC,KAAK,EAAET;IAAgB,GAClCuB,OAAO,CACK,CACH,CACA,CACA,CACH,CACJ,CACU;EAEhC;EAEAsG,cAAc,GAAG;IACf,IAAI,CAACC,YAAY,GAAG7H,eAAe,CAAC6H,YAAY,CAACC,MAAM;IACvD,oBAAO,oBAAC,MAAM;MAAC,OAAO,EAAE,IAAI,CAAC5E,OAAQ;MAAC,MAAM,EAAG6E,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAM/H,eAAe,CAACgI,YAAY,CAAC;QACzC,oBACE,0CACGhI,eAAe,CAAC6H,YAAY,CAAClB,GAAG,CAAC,CAACsB,CAAC,EAAEC,CAAC,kBAEjC,oBAAC,IAAI;UAAC,GAAG,EAAEA,CAAE;UAAC,KAAK,EAAE,CAAC;YACpBC,QAAQ,EAAE,UAAU;YACpBC,KAAK,EAAE,MAAM;YACbC,MAAM,EAAE,CAAC;YACTC,SAAS,EAAEL,CAAC,CAACM,cAAc;YAC3BC,MAAM,EAAEP,CAAC,CAACM;UACZ,CAAC,EAAEN,CAAC,CAACQ,MAAM;QAAE,gBACX,oBAAC,gBAAgB;UAAC,OAAO,EAAE,MAAMR,CAAC,CAACS,OAAO,IAAIT,CAAC,CAACS,OAAO;QAAG,GACvDT,CAAC,CAAC3G,OAAO,EACT2G,CAAC,CAACU,IAAI,iBAAI,oBAAC,SAAS;UAAC,IAAI,EAAEV,CAAC,CAACW,IAAK;UAAC,OAAO,EAAEX,CAAC,CAACU,IAAK;UAAC,SAAS,EAAE;QAAK,EAAa,CACjE,CAEtB,CACJ,CACA;MACP;IAAE,EAAE;EACN;EAEAE,aAAa,GAAc;IACzB,oBAAO,oBAAC,MAAM;MAAC,OAAO,EAAE,IAAI,CAAC3F,OAAQ;MAAC,MAAM,EAAG6E,KAAK,IAAK;QACvDA,KAAK,CAAC;UAAA;UAAA,gBAAMpJ,IAAI,CAACoB,eAAe,CAAC+I,YAAY,CAAC,0CAAlC,MAAoCxH,OAAO;QAAA,EAAC;QACxD,IAAI,CAACwH,YAAY,GAAG/I,eAAe,CAAC+I,YAAY,CAAChB,MAAM;QACnD/H,eAAe,CAACgJ,YAAY,CAACjB,MAAM,GAAG,CAAC;QAC3C,oBACE,0CACC/H,eAAe,CAACiJ,YAAY,CAAC1H,OAAO,IACnCvB,eAAe,CAAC+I,YAAY,CAACnC,GAAG,CAAC,CAACsB,CAAC,EAAEC,CAAC,KAAK;UACzC,oBACE,oBAAC,IAAI;YAAC,GAAG,EAAE,CAACD,CAAC,CAACgB,IAAI,IAAI,EAAE,IAAIf,CAAE;YAC5B,yBAAyB,EAAE,MAAM,IAAK;YACtC,cAAc,EAAE,MAAMD,CAAC,CAACiB,OAAO,IAAInJ,eAAe,CAACoJ,SAAS,CAAClB,CAAC,CAAE;YAChE,KAAK,EAAEhJ,QAAQ,CAACwJ,MAAM,CAACW,QAAQ,EAC7BnB,CAAC,CAACoB,QAAQ,GAAGZ,MAAM,CAACa,aAAa,GAAE,IAAI,EACvCrB,CAAC,CAACsB,UAAU,EACZ;cAAEjB,SAAS,EAAEL,CAAC,CAACM,cAAc;cAC3BC,MAAM,EAAEP,CAAC,CAACM;YAAe,CAAC;UAAE,gBAC5B,oBAAC,YAAY;YAAC,cAAc,EAAEN,CAAC,CAACxG,SAAS,IAAI,QAAS;YACpD,GAAG,EAAE+H,GAAG,IAAI;cACV,IAAI,CAACC,WAAW,GAAGD,GAAG;cACtBzJ,eAAe,CAACgJ,YAAY,CAACb,CAAC,CAAC,GAAGsB,GAAG;YACvC,CAAE;YACF,KAAK,EAAE,CAACf,MAAM,CAACiB,eAAe,EAAEzB,CAAC,CAAC0B,YAAY;UAAE,gBAChD,oBAAC,IAAI;YACH,yBAAyB,EAAEC,GAAG,IAAI,IAAK;YACvC,cAAc,EAAGtD,CAAC,IAAKA,CAAC,CAACuD,eAAe,EAAG;YAC3C,KAAK,EAAE;cAACzB,KAAK,EAAE,MAAM;cAAE,YAAY,EAAE;YAAQ;UAAE,GAC9C,IAAI,CAACT,YAAY,CAACM,CAAC,CAAC3G,OAAO,CAAC,CACxB,CACM,CACd;QACR,CAAC,CACH,CAEF;MACL;IAAE,EAAE;EACN;EAEAwI,oBAAoB,GAAc;IAChC,oBAAO,oBAAC,MAAM;MAAC,OAAO,EAAE,IAAI,CAAC5G,OAAQ;MAAC,MAAM,EAAG6E,KAAK,IAAK;QACvDA,KAAK,CAAC,MAAMjI,wBAAwB,CAACiK,cAAc,CAACzI,OAAO,CAAC;QAC5D,OAAOxB,wBAAwB,CAACiK,cAAc,CAACzI,OAAO,gBAElD,oBAAC,aAAa;UAAC,KAAK,EAAE,IAAI,CAACc,SAAS,CAAC4H;QAAM,gBACzC,oBAAC,IAAI;UAAC,KAAK,EAAE,CAACvB,MAAM,CAACwB,oBAAoB,EAAE;YACzC3B,SAAS,EAAE,IAAI,CAACT,YAAY,GAAG,IAAI,CAACiB,YAAY,GAAG,CAAC;YACpDN,MAAM,EAAE,IAAI,CAACX,YAAY,GAAG,IAAI,CAACiB,YAAY,GAAG;UAClD,CAAC;QAAE,GACAhJ,wBAAwB,CAACiK,cAAc,CAACzI,OAAO,CAC3C,CACO,GAAI,IAAI;MAC9B;IAAE,EAAE;EACN;EAEA4I,4BAA4B,GAAG;IAC7B,IAAI;MACF,oBAAQ;QAAO,IAAI,EAAC;MAAU,GAAG;AACvC;AACA;AACA,qBAAqBtJ,0BAA2B;AAChD;AACA,OAAO,CAAS;IACZ,CAAC,CAAC,OAAO0F,CAAC,EAAE;MACV1C,OAAO,CAACC,GAAG,CAAC,wDAAwD,CAAC;IACvE;IACA,OAAO,IAAI;EACb;EAEAsG,iBAAiB,GAAG;IAClB,OAAO,IAAI,CAAC/H,SAAS,CAACgI,cAAc;EACtC;EAEAC,aAAa,CAACC,WAAmB,EAAO;IACtC,MAAMC,OAAO,GAAG7L,GAAG,CAACiD,kBAAkB,EAAE2I,WAAW,CAAC;IACpD,IAAIC,OAAO,EAAE;MACX,OAAOA,OAAO;IAChB;EACF;EAEAC,SAAS,CAACxH,aAA6B,EAAE;IAAA;IACvC,IAAI,CAACyH,mBAAmB,CAAC/C,OAAO,CAACgD,KAAK;MAAA;MAAA,gCAAI,IAAI,CAAC7D,SAAS,CAAC6D,KAAK,CAAC,0DAArB,sBAAuBC,mBAAmB,EAAE;IAAA,EAAC;IACvF,oBACE,oBAAC,gBAAgB,qBACf,oBAAC,aAAa;MAAC,KAAK,EAAE;QACpB,GAAGvM,YAAY;QACfwM,MAAM,EAAE;UACN,GAAGxM,YAAY,CAACwM,MAAM;UACtBC,OAAO,EAAEpL,cAAc,CAACqL,QAAQ,CAACC;QACnC;MAAC;IAAE,gBACH,oBAAC,KAAK,CAAC,QAAQ,QACZjN,QAAQ,CAAC6G,EAAE,KAAK,KAAK,GAAG,IAAI,CAACuF,4BAA4B,EAAE,GAAG,IAAI,eACrE,oBAAC,qBAAqB,CAAC,QAAQ,QAC5B;MAAA;MAAA,IAACc,MAAM,uEAAG;QAACC,GAAG,EAAE,CAAC;QAAE5C,MAAM,EAAE,CAAC;QAAE6C,IAAI,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAC,CAAC;MAAA,OAC9C,MAAI,CAACxD,YAAY,eACf,oBAAC,kBAAkB,qBAClB,oBAAC,IAAI;QAAC,KAAK,EAAE,CAACc,MAAM,CAAC2C,SAAS,EAAE;UAACC,UAAU,EAAE,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,GAAG,KAAI,CAAC;UAAEK,aAAa,EAAEN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE3C,MAAM;UAAEkD,WAAW,EAAEP,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,IAAI;UAAEM,YAAY,EAAGR,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG;QAAK,CAAC;MAAE,gBACtJ,oBAAC,IAAI;QAAC,KAAK,EAAE1C,MAAM,CAAC2C;MAAU,gBAC5B,oBAAC,YAAY;QACX,GAAG,EAAE,MAAK;QACV,WAAW,EAAG,MAAI,CAACtJ,KAAK,CAASuB,QAAS;QAC1C,iBAAiB,EAAE,iBAAC,MAAI,CAACvB,KAAK,iDAAX,aAAqBuB,QAAQ,KAAI,MAAI,CAACvB,KAAM;QAC/D,UAAU,EAAE,gCAAI,CAACM,SAAS,CAACE,MAAM,0DAArB,sBAAuBf,UAAU,EAAE,MAAK,IAAK;QACzD,aAAa,EAAE,MAAM,MAAI,CAACa,SAAS,CAACE,MAAM,GAAE,MAAI,CAACqF,YAAY,CAAC,MAAI,CAACvF,SAAS,CAACE,MAAM,CAACf,UAAU,EAAE,CAAC,GAAG,IAAK;QACzG,eAAe,4BAAE,MAAI,CAACa,SAAS,CAACE,MAAM,2DAArB,uBAAuBZ,YAAY;MAAG,EAAgB,EACtEsB,aAAa,CACX,eACP,oBAAC,oBAAoB;QAAE,SAAS,EAAE,MAAI,CAACZ,SAAS,CAACqJ;MAAU,EAAwB,CAC9E,CACY,CAAE;IAAA,CACxB,CAE4B,EAChC,IAAI,CAAC7D,cAAc,EAAE,EACrB,IAAI,CAACiB,aAAa,EAAE,EACpB,IAAI,CAACiB,oBAAoB,EAAE,CACX,CACH,CACC;EAEvB;AACF;AAEA,MAAMrB,MAAM,GAAG;EACb2C,SAAS,EAAE;IACTM,IAAI,EAAE;EACR,CAAC;EACDtC,QAAQ,EAAE;IACRjB,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE;EACT,CAAC;EACDsB,eAAe,EAAG;IAChBgC,IAAI,EAAE,CAAC;IACPtD,KAAK,EAAE,MAAM;IACbuD,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDvC,aAAa,EAAE;IACboC,IAAI,EAAE,CAAC;IACPvD,QAAQ,EAAE,UAAU;IACpB8C,GAAG,EAAE,CAAC;IACNW,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,QAAQ;IACxBF,UAAU,EAAE,QAAQ;IACpBG,eAAe,EAAE,oBAAoB;IACrCC,MAAM,EAAE;EACV,CAAC;EACD9B,oBAAoB,EAAE;IACpB9B,QAAQ,EAAE,UAAU;IACpB0D,cAAc,EAAE,QAAQ;IACxBzD,KAAK,EAAE,MAAM;IACb8C,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRF,GAAG,EAAE,CAAC;IACN5C,MAAM,EAAC;EACT;AACF,CAAC"}
|
|
1
|
+
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","forceUpdate","commonPartial","currentPage","watcher","check","goToPage","pageName","params","goBack","openUrl","onBeforeServiceCall","config","headers","console","log","isSkeletonEnabled","spinner","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","request","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","use","errorDetails","errMsg","errors","message","status","eval","fn","failOnError","call","e","componentDidMount","show","all","startUpVariables","map","s","Variables","invoke","catch","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","renderToasters","toastsOpened","length","watch","refreshCount","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onClick","text","type","renderDialogs","modalsOpened","animatedRefs","modalOptions","name","isModal","hideModal","appModal","centered","centeredModal","modalStyle","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","autoUpdateVariables","value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","insets","top","left","right","flex","container","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } 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 { 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 NetworkService 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';\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';\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 StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\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 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 lib = preparePatch(() => {\n this.refresh();\n });\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 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 }\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: AxiosRequestConfig) {\n if(config.headers) config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return config\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n console.error(`Error ${errorMsg} recieved from ${error.request.url}`);\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 onPageReady(activePageName: string, activePageScope: BasePage) {\n\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 bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: AxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, 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 = errMsg || \"Service Call Failed\";\n }\n error.message = errMsg;\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\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 componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {})\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\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 <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 );\n }\n\n renderToasters() {\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 this.getProviders((\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]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\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 { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\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 </Animatedview>\n </View>\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 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 getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <FixedViewContainer>\n <View 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 {commonPartial}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\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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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Platform, View
|
|
2
|
+
import { Platform, View } from 'react-native';
|
|
3
3
|
import { NavigationContainer } from '@react-navigation/native';
|
|
4
4
|
import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
|
5
5
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
|
6
6
|
import AppDrawerNavigator from './navigator/drawer.navigator';
|
|
7
7
|
import AppStackNavigator from './navigator/stack.navigator';
|
|
8
|
-
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
9
8
|
import { isEmpty, keys, last } from 'lodash';
|
|
10
9
|
const getNavigationState = (pageName, params) => {
|
|
11
10
|
return {
|
|
@@ -89,16 +88,7 @@ export const AppNavigator = props => {
|
|
|
89
88
|
const leftNav = /*#__PURE__*/React.createElement(AppDrawerNavigator, {
|
|
90
89
|
type: props.drawerAnimation === 'slide-over' ? 'front' : 'slide',
|
|
91
90
|
hide: props.hideDrawer,
|
|
92
|
-
content: () => /*#__PURE__*/React.createElement(
|
|
93
|
-
style: [{
|
|
94
|
-
flex: 1
|
|
95
|
-
}, Platform.OS === 'ios' ? {
|
|
96
|
-
paddingTop: -40
|
|
97
|
-
} : {}]
|
|
98
|
-
}, /*#__PURE__*/React.createElement(StatusBar, {
|
|
99
|
-
barStyle: "light-content",
|
|
100
|
-
backgroundColor: "#000000"
|
|
101
|
-
}), props.drawerContent && props.drawerContent() || /*#__PURE__*/React.createElement(View, null)),
|
|
91
|
+
content: () => props.drawerContent && props.drawerContent() || /*#__PURE__*/React.createElement(View, null),
|
|
102
92
|
rootComponent: stack
|
|
103
93
|
});
|
|
104
94
|
const initialState = props.landingPage && Platform.OS !== 'web' ? getNavigationState(props.landingPage, props.landingPageParams) : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","
|
|
1
|
+
{"version":3,"names":["React","Platform","View","NavigationContainer","isWebPreviewMode","injector","AppDrawerNavigator","AppStackNavigator","isEmpty","keys","last","getNavigationState","pageName","params","routes","name","state","index","getStateFromPath","path","options","hash","window","location","substring","startsWith","paramstr","split","forEach","p","k","v","getPathFromState","pagesRoute","pageRoute","href","map","join","setTimeout","id","history","replaceState","AppNavigator","props","appConfig","get","pages","linking","prefixes","appId","config","screens","undefined","stack","landingPage","leftNav","drawerAnimation","hideDrawer","drawerContent","initialState","OS","landingPageParams"],"sources":["App.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Platform, View } from 'react-native';\nimport { NavigationContainer } from '@react-navigation/native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppDrawerNavigator from './navigator/drawer.navigator';\nimport AppStackNavigator from './navigator/stack.navigator';\nimport { isEmpty, keys, last } from 'lodash';\n\ndeclare const window: any;\n\nexport interface AppNavigatorProps {\n drawerContent: () => ReactNode;\n drawerAnimation: string;\n hideDrawer: boolean;\n landingPage?: string;\n landingPageParams?: any;\n app: any;\n}\n\nconst getNavigationState = (pageName: string, params: any) => {\n return {\n routes: [{\n name: 'pages',\n state: {\n index: 0,\n routes: [{\n name: pageName,\n params: params\n }]\n }\n }]\n };\n};\n\nconst getStateFromPath = (path: string, options?: any) => {\n let hash: string = window.location.hash;\n hash = hash.substring(1);\n if (hash && hash.startsWith('/')) {\n hash = hash.substring(1);\n }\n if (!hash) {\n return;\n }\n let [pageName, paramstr] = hash.split('?');\n let params = {} as any;\n if (paramstr) {\n paramstr.split('&').forEach((p) => {\n const [k, v] = p.split('=');\n params[k] = v;\n });\n }\n return getNavigationState(pageName, params);\n};\n\nconst getPathFromState = (state: any, options: any) => {\n const pagesRoute = state?.routes[0];\n const pageRoute: any = last(pagesRoute?.state.routes);\n let path = '';\n if (pageRoute) {\n path = window.location.href.split('#')[0] + '#/'+ pageRoute.name;\n if (!isEmpty(pageRoute.params)) {\n path += '?' + keys(pageRoute.params).map((k) => {\n return `${k}=${pageRoute.params[k]}`\n }).join('&');\n }\n }\n setTimeout(() => { \n const id = window.history.state?.id;\n window.history.replaceState({id}, null, path);\n });\n return path;\n};\n\nexport const AppNavigator = (props: AppNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const pages = {};\n const linking = {\n prefixes: [`${appConfig.appId}://`],\n config: {\n screens: {\n \"pages\": {\n path: \"pages\",\n screens: pages\n }\n }\n },\n getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,\n getPathFromState: isWebPreviewMode()? getPathFromState: undefined\n } as any;\n appConfig.pages?.forEach((p) => {\n //@ts-ignore\n pages[p.name] = p.name;\n });\n const stack = (<AppStackNavigator\n pages={appConfig.pages || []}\n landingPage={appConfig.landingPage}></AppStackNavigator>);\n const leftNav = (<AppDrawerNavigator\n type={props.drawerAnimation === 'slide-over' ? 'front' : 'slide'}\n hide={props.hideDrawer}\n content={() => (props.drawerContent && props.drawerContent()) || (<View/>)}\n rootComponent={stack}/>);\n const initialState = props.landingPage && Platform.OS !== 'web' ? \n getNavigationState(props.landingPage, props.landingPageParams)\n : undefined;\n return (<NavigationContainer initialState={initialState} linking={linking}>{leftNav}</NavigationContainer>);\n};\n"],"mappings":"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"}
|
|
@@ -300,10 +300,12 @@ export default class BaseFragment extends BaseComponent {
|
|
|
300
300
|
Object.values(this.fragments).forEach(f => f.forceUpdate());
|
|
301
301
|
}
|
|
302
302
|
render() {
|
|
303
|
-
this.
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
303
|
+
if (this.startUpVariablesLoaded) {
|
|
304
|
+
this.autoUpdateVariables.forEach(value => {
|
|
305
|
+
var _this$Variables$value;
|
|
306
|
+
return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
|
|
307
|
+
});
|
|
308
|
+
}
|
|
307
309
|
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
308
310
|
value: this.theme
|
|
309
311
|
}, /*#__PURE__*/React.createElement(ToastConsumer, null, toastService => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","get","filter","isNil","injector","toBoolean","toNumber","BaseComponent","BaseProps","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","FragmentProps","BaseFragment","constructor","props","defaultProps","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","refresh","onComponentChange","w","onComponentInit","id","name","Widgets","formWidgets","formFields","parentFormRef","pid","forEach","ff","formKey","registerFormFields","formfield","formRef","fragments","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","map","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","s","catch","then","startUpVariablesLoaded","showContent","onAttach","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","mute","componentWillDetach","forceUpdate","render","autoUpdateVariables","value","invokeOnParamChange","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = {};\n private startUpVariables: string[] = [];\n private startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n this.onReady();\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n const formWidgets = this.Widgets[id].formWidgets;\n const formFields = this.Widgets[id].formFields;\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (!url.startsWith('http') && !url.startsWith('file:')) {\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n return url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\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 toBoolean(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n spinnerService.hide();\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {\n // catch errors and show content\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => { \n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => { \n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n render() {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (<ThemeProvider value={this.theme}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n\n </ThemeProvider>);\n }\n}\n\n\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,GAAG,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAI3C,OAAOC,QAAQ,MAAM,yCAAyC;AAC9D,SAASC,SAAS,EAAEC,QAAQ,QAAQ,sCAAsC;AAC1E,SAASC,aAAa,EAAkCC,SAAS,QAA2B,+CAA+C;AAC3I,OAAOC,UAAU,IAAWC,aAAa,QAAQ,wCAAwC;AACzF,SAAuBC,cAAc,QAAQ,mDAAmD;AAChG,SAASC,OAAO,IAAIC,SAAS,EAAEC,MAAM,IAAIC,cAAc,QAAQ,yCAAyC;AAExG,OAAOC,WAAW,MAAM,gFAAgF;AACxG,OAAOC,MAAM,MAAM,+DAA+D;AAClF,SAASC,aAAa,QAAsB,8CAA8C;AAC1F,OAAOC,cAAc,MAAM,gEAAgE;AAE3F,OAAOC,cAAc,MAAM,6BAA6B;AAGxD,OAAO,MAAMC,aAAa,SAASb,SAAS,CAAC;AAO7C,eAAe,MAAec,YAAY,SAA8Df,aAAa,CAAoD;EAyCrKgB,WAAW,CAACC,KAAQ,EAAEC,YAAgB,EAAE;IACpC,KAAK,CAACD,KAAK,EAAE,IAAI,EAASC,YAAY,CAAC;IAAC;IAAA,iCAxCjB,MAAM,CAAC,CAAC;IAAA,iCAClB,EAAE;IAAA,yCACM,EAAE;IAAA,sCACL,IAAI;IAAA,iCACJ,CAAC,CAAC;IAAA,mCACA,CAAC,CAAC;IAAA,+BACJhB,UAAU;IAAA,mCACR,CAAC,CAAC;IAAA,0CACW,EAAE;IAAA,gDACN,KAAK;IAAA,wCACH,EAAE;IAAA,6CACG,EAAE;IAAA,oDACgB,EAAE;IAAA,2CAC5B,CAAC,CAAC;IAAA,yCACJ,CAAC,CAAC;IAAA,iCACV,CAAC,CAAC;IAAA,mCACLL,QAAQ,CAACH,GAAG,CAAY,YAAY,CAAC;IAAA,+BACzC,KAAK;IAAA,6CACQ,IAAI;IAAA,0CACN,IAAI;IAAA,mCACN,CAAC,CAAC;IAAA,oCACN,KAAK;IAAA,kCACP,CAAC,CAAC;IAAA;IAAA;IAAA,4CAGQ,CAAC,CAAC;IAAA,kCACZY,SAAS;IAAA,qDACHd,KAAK,CAAC2B,aAAa,CAAC1B,IAAI,EAAE,EAAE,EAAS,CAAC,YAAY,CAAC,CAAC;IAAA,qCACvD,KAAK;IAAA,sCACJ;MACE2B,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE,EAAE;MACTC,YAAY,EAAE,EAAE;MAChBC,gBAAgB,EAAE,EAAE;MACpBC,IAAI,EAAE,MAAM,CAAC,CAAC;MACdC,QAAQ,EAAE,MAAM,CAAC,CAAC;MAClBC,OAAO,EAAE,MAAM,CAAC;IAClB,CAAC;IAAA,iCACG,IAAI;IAG1B,IAAI,CAACC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACC,GAAG;IAC7B,IAAI,CAACC,UAAU,GAAG,IAAI,CAACH,GAAG,CAACG,UAAU;IACrC,IAAI,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACI,OAAO,CAAC;IAClD,IAAI,CAACG,SAAS,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACN,GAAG,CAACO,SAAS,CAAC;IACtD,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC9B,SAAS,CAAC+B,SAAS,CAAC7B,cAAc,CAAC8B,kBAAkB,EAAE,CAACC,IAAS,EAAEC,IAAS,KAAK;MACjG,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EACrH;QAACC,WAAW,EAAEvC,SAAS,CAACwC,KAAK;QAC3BC,YAAY,EAAEzC,SAAS,CAAC0C;MAAM,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAC9B,SAAS,CAAC+B,SAAS,CAAC7B,cAAc,CAACyC,WAAW,EAAE,CAACV,IAAS,EAAEC,IAAS,KAAK;MAC1F,CAAC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACC,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAC1G;QAACC,WAAW,EAAEN,IAAI,CAACO,KAAK;QACtBC,YAAY,EAAER,IAAI,CAACS;MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,IAAI,CAACb,OAAO,CAACC,IAAI,CAAC;MAAA;MAAA,sBAAM,IAAI,CAACc,KAAK,gDAAV,YAAYC,OAAO,EAAE;IAAA,EAAC;IAC9C,IAAI,CAACC,OAAO,GAAG,IAAI,CAACxB,SAAS,CAACyB,GAAG;IACjC,IAAI,CAACC,eAAe,GAAG,IAAI,CAAC1B,SAAS,CAACyB,GAAG;IACzC,IAAI,CAAClB,OAAO,CAACC,IAAI,CAAC,MAAM,IAAI,CAACmB,SAAS,EAAE,CAAC;EAC7C;EAEAC,cAAc,GAAG;IACf,IAAI,CAACC,OAAO,EAAE;IACd,IAAI,CAAC7B,SAAS,CAAC8B,OAAO,EAAE;IACxB,IAAI,CAAChB,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACxF,IAAI,CAACY,cAAc,GAAG,MAAM,CAAC,CAAC;EAChC;EAEAG,iBAAiB,CAACC,CAA+B,EAAE;IACjD,IAAI,CAACF,OAAO,EAAE;EAChB;EAEAG,eAAe,CAACD,CAA+B,EAAE;IAC/C,MAAME,EAAE,GAAGF,CAAC,CAAC3C,KAAK,CAAC6C,EAAE,IAAIF,CAAC,CAAC3C,KAAK,CAAC8C,IAAI;IAErC,IAAIH,CAAC,YAAYlD,MAAM,EAAE;MACvB,IAAI,CAAC,IAAI,CAACsD,OAAO,CAACF,EAAE,CAAC,EAAE;QACrB,IAAI,CAACE,OAAO,CAACF,EAAE,CAAC,GAAGF,CAAC;MACtB;MACA,MAAMK,WAAW,GAAG,IAAI,CAACD,OAAO,CAACF,EAAE,CAAC,CAACG,WAAW;MAChD,MAAMC,UAAU,GAAG,IAAI,CAACF,OAAO,CAACF,EAAE,CAAC,CAACI,UAAU;MAC9C,IAAI,CAACF,OAAO,CAACF,EAAE,CAAC,GAAGF,CAAC;MACpB,IAAIA,CAAC,CAACO,aAAa,EAAE;QACnB,IAAIC,GAAG,GAAGR,CAAC,CAACO,aAAa,CAAClD,KAAK,CAAC6C,EAAE,IAAIF,CAAC,CAACO,aAAa,CAAClD,KAAK,CAAC8C,IAAI;QAChEG,UAAU,CAACG,OAAO,CAAEC,EAAO,IAAK;UAC9B,MAAMC,OAAO,GAAGD,EAAE,CAACrD,KAAK,CAACsD,OAAO,IAAID,EAAE,CAACrD,KAAK,CAAC8C,IAAI;UACjD,IAAI,CAACC,OAAO,CAACI,GAAG,CAAC,CAACF,UAAU,CAAC9B,IAAI,CAACkC,EAAE,CAAC;UACrC,IAAI,CAACN,OAAO,CAACI,GAAG,CAAC,CAACH,WAAW,CAACM,OAAO,CAAC,GAAGN,WAAW,CAACK,EAAE,CAACrD,KAAK,CAAC8C,IAAI,CAAC;QACrE,CAAC,CAAC;MACJ;MACAH,CAAC,CAACY,kBAAkB,CAACN,UAAU,EAAED,WAAW,CAAC;MAC7C;IACF;IACA,IAAIL,CAAC,CAAC3C,KAAK,CAACwD,SAAS,EAAE;MACrB,IAAI,CAAC,IAAI,CAACT,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,GAAG;UAACR,UAAU,EAAE,EAAE;UAAED,WAAW,EAAE,CAAC;QAAC,CAAC;MACnE,CAAC,MAAM,IAAI,CAAC,IAAI,CAACD,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACR,UAAU,EAAE;QACpD,IAAI,CAACF,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACR,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAACF,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACT,WAAW,CAACL,CAAC,CAAC3C,KAAK,CAAC8C,IAAI,CAAC,GAAGH,CAAC;MAC3D;IACF;IACA,IAAIA,CAAC,YAAYnD,WAAW,EAAE;MAC5B,IAAI,CAAC,IAAI,CAACuD,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,EAAE;QAClC,IAAI,CAACV,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,GAAG,CAAC,CAAC;MACpC;MACA,IAAI,CAAC,IAAI,CAACV,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACR,UAAU,EAAE;QAC7C,IAAI,CAACF,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACR,UAAU,GAAG,EAAE;MAC/C;MACA,IAAI,CAACF,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACT,WAAW,GAAG,IAAI,CAACD,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACT,WAAW,IAAI,CAAC,CAAC;MAC3F,IAAI,CAACD,OAAO,CAACJ,CAAC,CAAC3C,KAAK,CAACyD,OAAO,CAAC,CAACR,UAAU,CAAC9B,IAAI,CAACwB,CAAC,CAAC;MAChD;IACF;IACA,IAAI,CAACI,OAAO,CAACF,EAAE,CAAC,GAAGF,CAAC;IACpB,IAAIA,CAAC,YAAY7C,YAAY,IAAI6C,CAAC,KAAK,IAAI,EAAE;MAC3C,IAAI,CAACe,SAAS,CAACb,EAAE,CAAC,GAAGF,CAAC;IACxB;EACF;EAEAgB,kBAAkB,CAAChB,CAA+B,EAAE;IAClD,MAAME,EAAE,GAAGF,CAAC,CAAC3C,KAAK,CAAC6C,EAAE,IAAIF,CAAC,CAAC3C,KAAK,CAAC8C,IAAI;IACrC,OAAO,IAAI,CAACC,OAAO,CAACF,EAAE,CAAC;IACvB,IAAIF,CAAC,YAAY7C,YAAY,EAAE;MAC7B,OAAO,IAAI,CAAC4D,SAAS,CAACb,EAAE,CAAC;IAC3B;IACA,IAAIF,CAAC,YAAYlD,MAAM,EAAE;MACvBkD,CAAC,CAACK,WAAW,GAAG,CAAC,CAAC;MAClBL,CAAC,CAACM,UAAU,GAAG,EAAE;MACjBN,CAAC,CAACiB,UAAU,GAAG,CAAC,CAAC;IACnB;EACF;EAEAC,SAAS,CAACzB,GAAW,EAAE;IACrB,IAAI,CAACA,GAAG,CAAC0B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC1B,GAAG,CAAC0B,UAAU,CAAC,OAAO,CAAC,EAAE;MACvD,OAAO,IAAI,CAACnD,SAAS,CAACyB,GAAG,IAAIA,GAAG,CAAC0B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG1B,GAAG;IACpE;IACA,OAAOA,GAAG;EACZ;EAEA2B,aAAa,CAACC,GAAY,EAAE;IAC1B;IACA,OAAO,CAACA,GAAG,IAAIpE,cAAc,CAACqE,UAAU,IAAIxF,GAAG,CAAC,IAAI,CAACkC,SAAS,EAAE,wBAAwB,CAAC,EAAEuD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACrJ;EAEAC,aAAa,CAACH,GAAY,EAAE;IAC1B,OAAOA,GAAG,IAAIpE,cAAc,CAACwE,UAAU,IAAI3F,GAAG,CAAC,IAAI,CAACkC,SAAS,EAAE,wBAAwB,CAAC;EAC1F;EAEA0D,iBAAiB,CAACL,GAAY,EAAE;IAC9B,OAAO,CAACA,GAAG,IAAIpE,cAAc,CAAC0E,cAAc,IAAK7F,GAAG,CAAC,IAAI,CAACkC,SAAS,EAAE,wBAAwB,CAAC,GAAG,GAAG,GAAGlC,GAAG,CAAC,IAAI,CAACkC,SAAS,EAAE,wBAAwB,CAAE,EAAEuD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;EACjN;EAEAK,iBAAiB,CAACP,GAAY,EAAE;IAC9B,OAAQA,GAAG,IAAIpE,cAAc,CAAC4E,YAAY,IAAI,KAAK;EACrD;EAEAC,QAAQ,CAACC,OAAe,EAAyB;IAAA,IAAvBC,YAAgB,uEAAG,CAAC,CAAC;IAC7C,IAAID,OAAO,IAAIA,OAAO,CAACE,IAAI,EAAE,CAACC,MAAM,GAAG,CAAC,EAAE;MACxC,OAAO,IAAI,CAAC5C,KAAK,CAAC6C,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC7C,KAAK,CAACwC,QAAQ,CAACC,OAAO,CAAC,EAAEC,YAAY,CAAC;IAC9E;IACA,OAAOA,YAAY;EACrB;EAEAI,cAAc,GAAG;IACf,IAAI,CAACC,SAAS,GAAG,IAAI,CAACrE,SAAS,CAACqE,SAAS,CAACC,QAAQ;IAClDlE,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACxB,SAAS,CAAC,CAACN,OAAO,CAAE+B,CAAM,IAAMA,CAAC,CAA4BJ,cAAc,EAAE,CAAC;EACnG;EAEAK,IAAI,CAACC,EAAY,EAAuB;IAAA,IAArBC,WAAW,uEAAG,KAAK;IACpC,IAAI;MACF,OAAOD,EAAE,CAACE,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,IAAIF,WAAW,EAAE;QACf,MAAME,CAAC;MACT,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;EACF;EAEA3G,SAAS,CAAC4G,GAAQ,EAAE;IAClB,IAAI9G,KAAK,CAAC8G,GAAG,CAAC,EAAE;MACd,OAAOA,GAAG;IACZ;IACA,OAAO5G,SAAS,CAAC4G,GAAG,CAAC;EACvB;EAEA3G,QAAQ,CAAC2G,GAAQ,EAAE;IACjB,IAAI9G,KAAK,CAAC8G,GAAG,CAAC,EAAE;MACd,OAAOA,GAAG;IACZ;IACA,OAAO3G,QAAQ,CAAC2G,GAAG,CAAC;EACtB;EAEAC,oBAAoB,GAAG;IACrB,KAAK,CAACA,oBAAoB,EAAE;IAC5B,IAAI,CAACjE,YAAY,IAAI,IAAI,CAACA,YAAY,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC7F;EAEAgE,iBAAiB,GAAS;IACxB,IAAI,CAACZ,cAAc,EAAE;IACrB,KAAK,CAACY,iBAAiB,EAAE;EAC3B;EAEAC,OAAO,CAACC,GAAW,EAAEC,CAAM,EAAE;IAC3B,IAAI,CAAC,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC,EAAG;MACxB,IAAI,CAACE,QAAQ,CAACF,GAAG,CAAC,GAAGC,CAAC;IACxB;IACA,OAAO,IAAI,CAACC,QAAQ,CAACF,GAAG,CAAC;EAC3B;EAEAG,mBAAmB,GAAG;IACpB,IAAIC,SAAS,GAAGvH,MAAM,CAAC,IAAI,CAACuC,SAAS,EAAGiF,CAAoB,IAAK,CAAC,CAACzH,GAAG,CAACyH,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACnG,MAAMC,OAAO,GAAGzH,MAAM,CAAC,IAAI,CAACoC,OAAO,EAAGoF,CAAoB,IAAK,CAAC,CAACzH,GAAG,CAACyH,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACjGD,SAAS,GAAGA,SAAS,CAACG,MAAM,CAACD,OAAO,CAAC;IACrC,IAAI,CAACF,SAAS,CAACpB,MAAM,EAAE;MACrB;IACF;IACA,IAAI,CAAC3D,OAAO,CAACC,IAAI,CAAC,GAAG8E,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACpC,OAASA,CAAC,CACP9E,SAAS,CAACjC,cAAc,CAACmH,aAAa,EAAE,MAAM;QAC7C3G,cAAc,CAAC4G,IAAI,CAAC;UAClBC,OAAO,EAAE/H,GAAG,CAACyH,CAAC,EAAE,uBAAuB,CAAC;UACxCO,OAAO,EAAE,IAAI,CAAC/F,GAAG,CAACC,SAAS,CAAC8F;QAC9B,CAAC,CAAC;MACJ,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IACH,IAAI,CAACvF,OAAO,CAACC,IAAI,CAAC,GAAG8E,SAAS,CAACI,GAAG,CAACH,CAAC,IAAI;MACtC,OAASA,CAAC,CACP9E,SAAS,CAACjC,cAAc,CAACuH,YAAY,EAAE,MAAM;QAC5C/G,cAAc,CAACgH,IAAI,EAAE;MACvB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;EACL;EAEAC,eAAe,GAAG;IAChB,IAAI,CAAC1F,OAAO,CAACC,IAAI,CAAC,GAAGJ,MAAM,CAACmE,MAAM,CAAC;MAAC,GAAG,IAAI,CAACjE,SAAS;MAAE,GAAG,IAAI,CAACH;IAAO,CAAC,CAAC,CAACuF,GAAG,CAACH,CAAC,IAAI;MAChF,OAASA,CAAC,CACP9E,SAAS,CAACjC,cAAc,CAACuH,YAAY,EAAE,MAAM,IAAI,CAAChG,GAAG,CAAC+B,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,IAAI,CAACuD,mBAAmB,EAAE;IAC1B,IAAI,CAACa,0BAA0B,CAAC1F,IAAI,CAAC,GAAGJ,MAAM,CAACmE,MAAM,CAAC;MAAC,GAAG,IAAI,CAAC4B,iBAAiB;MAAE,GAAG,IAAI,CAACC;IAAe,CAAC,CAAsB,CAAC;IACjI,IAAI,CAACC,cAAc,CAACX,GAAG,CAACY,CAAC,IAAI,IAAI,CAACnG,OAAO,CAACmG,CAAC,CAAC,IAAI,IAAI,CAACnG,OAAO,CAACmG,CAAC,CAAC,CAACC,MAAM,EAAE,CAAC;IACzE,OAAOC,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAACrG,SAAS,CAACqG,CAAC,CAAC,IAAI,IAAI,CAACrG,SAAS,CAACqG,CAAC,CAAC,CAACJ,MAAM,EAAE,CAAC,CAAC,CAClGK,KAAK,CAAC,MAAM;MACX;IAAA,CACD,CAAC,CACDC,IAAI,CAAC,MAAM;MACV,IAAI,CAACC,sBAAsB,GAAG,IAAI;MAClC,IAAI,CAACC,WAAW,GAAG,IAAI;MACvB,IAAI,CAAC/G,SAAS,CAAC8B,OAAO,EAAE;IAC1B,CAAC,CAAC;EACJ;EAEAkF,QAAQ,GAAG;IAAA;IACT,IAAI,CAACnG,UAAU,GAAG,KAAK;IACvB,IAAI,CAACoG,OAAO,CAACC,QAAQ,GAAG,IAAI;IAC5B,IAAI,CAAC9C,cAAc,EAAE;IACrBhE,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACxB,SAAS,CAAC,CAACN,OAAO,CAAE+B,CAAM,IAAKA,CAAC,CAACwC,QAAQ,EAAE,CAAC;IAC/D,IAAI,CAACd,0BAA0B,CAACzD,OAAO,CAAE8C,CAAM,IAAKA,CAAC,CAAC4B,MAAM,IAAI5B,CAAC,CAAC4B,MAAM,EAAE,CAAC;IAC3E,0BAAI,CAACrG,YAAY,uDAAjB,mBAAmBC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtE,IAAI,IAAI,CAACoG,mBAAmB,EAAE;MAC5BZ,OAAO,CAACC,GAAG,CAAC,IAAI,CAACC,gBAAgB,CAAChB,GAAG,CAACiB,CAAC,IAAI,IAAI,CAACrG,SAAS,CAACqG,CAAC,CAAC,IAAI,IAAI,CAACrG,SAAS,CAACqG,CAAC,CAAC,CAACJ,MAAM,EAAE,CAAC,CAAC;IAC9F;IACAnG,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACnC,OAAO,CAAC,CAACK,OAAO,CAAET,CAAM,IAAK;MAC9CA,CAAC,CAACqF,mBAAmB,IAAIrF,CAAC,CAACqF,mBAAmB,EAAE;IAClD,CAAC,CAAC;EACJ;EAEAC,QAAQ,GAAG;IAAA;IACT,IAAI,CAACzG,UAAU,GAAG,IAAI;IACtB,IAAI,CAACoG,OAAO,CAACC,QAAQ,GAAG,KAAK;IAC7B9G,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACxB,SAAS,CAAC,CAACN,OAAO,CAAE+B,CAAM,IAAKA,CAAC,CAAC8C,QAAQ,EAAE,CAAC;IAC/D,IAAI,CAACpB,0BAA0B,CAACzD,OAAO,CAAE8C,CAAM,IAAKA,CAAC,CAACgC,IAAI,IAAIhC,CAAC,CAACgC,IAAI,EAAE,CAAC;IACvE,2BAAI,CAACzG,YAAY,wDAAjB,oBAAmBC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACtEZ,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACnC,OAAO,CAAC,CAACK,OAAO,CAAET,CAAM,IAAK;MAC9CA,CAAC,CAACwF,mBAAmB,IAAIxF,CAAC,CAACwF,mBAAmB,EAAE;IAClD,CAAC,CAAC;EACJ;EAEA7F,SAAS,GAAG;IACV,IAAI,CAACuE,0BAA0B,CAACzD,OAAO,CAAE8C,CAAM,IAAKA,CAAC,CAAChE,OAAO,EAAE,CAAC;IAChE,IAAI,CAAC0F,OAAO,CAAC1F,OAAO,EAAE;EACxB;EAEAO,OAAO,GAAG;IACP7D,QAAQ,CAACH,GAAG,CAAC,WAAW,CAAC,CAAegE,OAAO,EAAE;EACpD;EAEA2F,WAAW,GAAG;IACZ,KAAK,CAACA,WAAW,EAAE;IACnBrH,MAAM,CAACmE,MAAM,CAAC,IAAI,CAACxB,SAAS,CAAC,CAACN,OAAO,CAAE+B,CAAM,IAAMA,CAAC,CAA4BiD,WAAW,EAAE,CAAC;EAChG;EAEAC,MAAM,GAAG;IACP,IAAI,CAACC,mBAAmB,CAAClF,OAAO,CAACmF,KAAK;MAAA;MAAA,gCAAI,IAAI,CAACtH,SAAS,CAACsH,KAAK,CAAC,0DAArB,sBAAuBC,mBAAmB,EAAE;IAAA,EAAC;IACvF,oBAAQ,oBAAC,aAAa;MAAC,KAAK,EAAE,IAAI,CAACvG;IAAM,gBACvC,oBAAC,aAAa,QACRwG,YAA0B,IAAK;MAC/B,IAAI,CAACC,OAAO,GAAGD,YAAY;MAC3B,OAAO,IAAI,CAACE,YAAY,CAAC,IAAI,CAAC3I,KAAK,CAAC;IACtC,CAAC,CACa,CAEJ;EAClB;AACJ"}
|
|
1
|
+
{"version":3,"names":["React","Text","get","filter","isNil","injector","toBoolean","toNumber","BaseComponent","BaseProps","BASE_THEME","ThemeProvider","VariableEvents","default","_viewPort","EVENTS","viewportEvents","WmFormField","WmForm","ToastConsumer","spinnerService","AppI18nService","FragmentProps","BaseFragment","constructor","props","defaultProps","createElement","text","title","okButtonText","cancelButtonText","onOk","onCancel","onClose","App","appConfig","app","formatters","Actions","Object","assign","Variables","cleanup","push","subscribe","ORIENTATION_CHANGE","$new","$old","isDetached","targetWidget","invokeEventCallback","proxy","screenWidth","width","screenHeight","height","SIZE_CHANGE","theme","destroy","baseUrl","url","resourceBaseUrl","onDestroy","onContentReady","onReady","refresh","onComponentChange","w","onComponentInit","id","name","Widgets","formWidgets","formFields","parentFormRef","pid","forEach","ff","formKey","registerFormFields","formfield","formRef","fragments","onComponentDestroy","formfields","handleUrl","startsWith","getDateFormat","fmt","dateFormat","replace","getTimeFormat","timeFormat","getDateTimeFormat","dateTimeFormat","getCurrencySymbol","currencyCode","getStyle","classes","inlineStyles","trim","length","mergeStyle","resetAppLocale","appLocale","messages","values","f","eval","fn","failOnError","call","e","val","componentWillUnmount","componentDidMount","memoize","key","o","_memoize","initVariableSpinner","variables","v","actions","concat","map","BEFORE_INVOKE","show","message","spinner","AFTER_INVOKE","hide","onFragmentReady","cleanUpVariablesandActions","fragmentVariables","fragmentActions","startUpActions","a","invoke","Promise","all","startUpVariables","s","catch","then","startUpVariablesLoaded","showContent","onAttach","watcher","isActive","unmute","refreshdataonattach","componentWillAttach","onDetach","mute","componentWillDetach","forceUpdate","render","autoUpdateVariables","value","invokeOnParamChange","toastService","toaster","renderWidget"],"sources":["base-fragment.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { get, filter, isNil } from 'lodash';\n\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { Formatter } from '@wavemaker/app-rn-runtime/core/formatters';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { toBoolean, toNumber } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState, BaseStyles, BaseProps, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BASE_THEME, { Theme, ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseVariable, VariableEvents } from '@wavemaker/app-rn-runtime/variables/base-variable';\nimport { default as _viewPort, EVENTS as viewportEvents } from '@wavemaker/app-rn-runtime/core/viewport';\nimport App from './App';\nimport WmFormField from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmForm from '@wavemaker/app-rn-runtime/components/data/form/form.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport spinnerService from '@wavemaker/app-rn-runtime/runtime/services/app-spinner.service';\n\nimport AppI18nService from './services/app-i18n.service';\nimport { Watcher } from './watcher';\n\nexport class FragmentProps extends BaseProps {\n\n}\n\nexport interface FragmentState<T extends FragmentProps> extends BaseComponentState<T> {}\n\nexport type FragmentStyles = BaseStyles & {};\nexport default abstract class BaseFragment<P extends FragmentProps, S extends FragmentState<P>> extends BaseComponent<P, S, FragmentStyles> implements LifecycleListener {\n public App: App;\n public onReady: Function = () => {};\n public baseUrl = '';\n public resourceBaseUrl = '';\n public targetWidget = null as unknown as BaseComponent<any, any, any>;\n public Widgets: any = {};\n public Variables: any = {};\n public theme: Theme = BASE_THEME;\n public appLocale: any = {};\n private startUpVariables: string[] = [];\n private startUpVariablesLoaded = false;\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private cleanUpVariablesandActions: BaseVariable<any>[] = [];\n public fragmentVariables: any = {};\n public fragmentActions: any = {};\n public Actions: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n public cache = false;\n public refreshdataonattach= true;\n public isReactNativeApp = true;\n public fragments: any = {};\n public isDetached = false;\n public _memoize = {} as any;\n public toaster: any;\n public formatters: Map<string, Formatter>;\n public serviceDefinitions = {} as any;\n public Viewport = _viewPort;\n public loadingMessage = React.createElement(Text, [] as any, ['loading...']);\n public showContent = false;\n public notification = {\n text: '',\n title: '',\n okButtonText: '',\n cancelButtonText: '',\n onOk: () => {},\n onCancel: () => {},\n onClose: () => {}\n };\n public watcher: Watcher = null as any;\n constructor(props: P, defaultProps?: P) {\n super(props, null as any, defaultProps);\n this.App = this.appConfig.app;\n this.formatters = this.App.formatters;\n this.Actions = Object.assign({}, this.App.Actions);\n this.Variables = Object.assign({}, this.App.Variables);\n this.cleanup.push(_viewPort.subscribe(viewportEvents.ORIENTATION_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onOrientationchange', [null, this.proxy,\n {screenWidth: _viewPort.width,\n screenHeight: _viewPort.height}]);\n }));\n this.cleanup.push(_viewPort.subscribe(viewportEvents.SIZE_CHANGE, ($new: any, $old: any) => {\n !this.isDetached && this.targetWidget && this.targetWidget.invokeEventCallback('onResize', [null, this.proxy,\n {screenWidth: $new.width,\n screenHeight: $new.height}]);\n }));\n this.cleanup.push(() => this.theme?.destroy());\n this.baseUrl = this.appConfig.url;\n this.resourceBaseUrl = this.appConfig.url;\n this.cleanup.push(() => this.onDestroy());\n }\n\n onContentReady() {\n this.onReady();\n this.appConfig.refresh();\n this.targetWidget && this.targetWidget.invokeEventCallback('onLoad', [null, this.proxy]);\n this.onContentReady = () => {};\n }\n\n onComponentChange(w: BaseComponent<any, any, any>) {\n this.refresh();\n }\n\n onComponentInit(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n\n if (w instanceof WmForm) {\n if (!this.Widgets[id]) {\n this.Widgets[id] = w;\n }\n const formWidgets = this.Widgets[id].formWidgets;\n const formFields = this.Widgets[id].formFields;\n this.Widgets[id] = w;\n if (w.parentFormRef) {\n let pid = w.parentFormRef.props.id || w.parentFormRef.props.name;\n formFields.forEach((ff: any) => {\n const formKey = ff.props.formKey || ff.props.name;\n this.Widgets[pid].formFields.push(ff);\n this.Widgets[pid].formWidgets[formKey] = formWidgets[ff.props.name];\n });\n }\n w.registerFormFields(formFields, formWidgets);\n return;\n }\n if (w.props.formfield) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {formFields: [], formWidgets: {}};\n } else if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets[w.props.name] = w;\n return;\n }\n if (w instanceof WmFormField) {\n if (!this.Widgets[w.props.formRef]) {\n this.Widgets[w.props.formRef] = {};\n }\n if (!this.Widgets[w.props.formRef].formFields) {\n this.Widgets[w.props.formRef].formFields = [];\n }\n this.Widgets[w.props.formRef].formWidgets = this.Widgets[w.props.formRef].formWidgets || {};\n this.Widgets[w.props.formRef].formFields.push(w);\n return;\n }\n this.Widgets[id] = w;\n if (w instanceof BaseFragment && w !== this) {\n this.fragments[id] = w;\n }\n }\n\n onComponentDestroy(w: BaseComponent<any, any, any>) {\n const id = w.props.id || w.props.name;\n delete this.Widgets[id];\n if (w instanceof BaseFragment) {\n delete this.fragments[id];\n }\n if (w instanceof WmForm) {\n w.formWidgets = {};\n w.formFields = [];\n w.formfields = {};\n }\n }\n\n handleUrl(url: string) {\n if (!url.startsWith('http') && !url.startsWith('file:')) {\n return this.appConfig.url + (url.startsWith('/') ? '' : '/') + url;\n }\n return url;\n }\n\n getDateFormat(fmt?: string) {\n // getting formats from appLocale when app locale is loaded locally.\n return (fmt || AppI18nService.dateFormat || get(this.appConfig, 'appLocale.formats.date')).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getTimeFormat(fmt?: string) {\n return fmt || AppI18nService.timeFormat || get(this.appConfig, 'appLocale.formats.time');\n }\n\n getDateTimeFormat(fmt?: string) {\n return (fmt || AppI18nService.dateTimeFormat || (get(this.appConfig, 'appLocale.formats.date') + ' ' + get(this.appConfig, 'appLocale.formats.time'))).replace(/d/g, 'D').replace(/E/g, 'd').replace(/y/g, 'Y');\n }\n\n getCurrencySymbol(fmt?: string) {\n return (fmt || AppI18nService.currencyCode || 'USD');\n }\n\n getStyle(classes: string, inlineStyles:any = {}) {\n if (classes && classes.trim().length > 0) {\n return this.theme.mergeStyle({}, this.theme.getStyle(classes), inlineStyles);\n }\n return inlineStyles;\n }\n\n resetAppLocale() {\n this.appLocale = this.appConfig.appLocale.messages;\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).resetAppLocale());\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 toBoolean(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toBoolean(val);\n }\n\n toNumber(val: any) {\n if (isNil(val)) {\n return val;\n }\n return toNumber(val);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.targetWidget && this.targetWidget.invokeEventCallback('onDestroy', [null, this.proxy]);\n }\n\n componentDidMount(): void {\n this.resetAppLocale();\n super.componentDidMount();\n }\n\n memoize(key: string, o: any) {\n if (!this._memoize[key]) {\n this._memoize[key] = o;\n }\n return this._memoize[key];\n }\n\n initVariableSpinner() {\n let variables = filter(this.Variables, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n const actions = filter(this.Actions, (v: BaseVariable<any>) => !!get(v, 'config.spinnerContext'));\n variables = variables.concat(actions);\n if (!variables.length) {\n return;\n }\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.BEFORE_INVOKE, () => {\n spinnerService.show({\n message: get(v, 'config.spinnerMessage'),\n spinner: this.App.appConfig.spinner\n });\n }))\n }));\n this.cleanup.push(...variables.map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => {\n spinnerService.hide();\n }));\n }));\n }\n\n onFragmentReady() {\n this.cleanup.push(...Object.values({...this.Variables, ...this.Actions}).map(v => {\n return ((v as BaseVariable<any>)\n .subscribe(VariableEvents.AFTER_INVOKE, () => this.App.refresh()));\n }));\n this.initVariableSpinner();\n this.cleanUpVariablesandActions.push(...Object.values({...this.fragmentVariables, ...this.fragmentActions} as BaseVariable<any>));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {\n // catch errors and show content\n })\n .then(() => {\n this.startUpVariablesLoaded = true;\n this.showContent = true;\n this.appConfig.refresh();\n });\n }\n\n onAttach() {\n this.isDetached = false;\n this.watcher.isActive = true;\n this.resetAppLocale();\n Object.values(this.fragments).forEach((f: any) => f.onAttach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.unmute && v.unmute());\n this.targetWidget?.invokeEventCallback('onAttach', [null, this.proxy]);\n if (this.refreshdataonattach) {\n Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()));\n }\n Object.values(this.Widgets).forEach((w: any) => { \n w.componentWillAttach && w.componentWillAttach();\n });\n }\n\n onDetach() {\n this.isDetached = true;\n this.watcher.isActive = false;\n Object.values(this.fragments).forEach((f: any) => f.onDetach());\n this.cleanUpVariablesandActions.forEach((v: any) => v.mute && v.mute());\n this.targetWidget?.invokeEventCallback('onDetach', [null, this.proxy]);\n Object.values(this.Widgets).forEach((w: any) => { \n w.componentWillDetach && w.componentWillDetach();\n });\n }\n\n onDestroy() {\n this.cleanUpVariablesandActions.forEach((v: any) => v.destroy());\n this.watcher.destroy();\n }\n\n refresh() {\n (injector.get('AppConfig') as AppConfig).refresh();\n }\n\n forceUpdate() {\n super.forceUpdate();\n Object.values(this.fragments).forEach((f: any) => (f as BaseFragment<any, any>).forceUpdate());\n }\n\n render() {\n if (this.startUpVariablesLoaded) {\n this.autoUpdateVariables\n .forEach(value => this.Variables[value]?.invokeOnParamChange());\n }\n return (<ThemeProvider value={this.theme}>\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return this.renderWidget(this.props);\n }}\n </ToastConsumer>\n\n </ThemeProvider>);\n }\n}\n\n\n"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { createDrawerNavigator } from '@react-navigation/drawer';
|
|
3
|
+
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
3
4
|
const Drawer = createDrawerNavigator();
|
|
4
5
|
class AppDrawerNavigator extends React.Component {
|
|
5
6
|
constructor(props) {
|
|
@@ -14,6 +15,9 @@ class AppDrawerNavigator extends React.Component {
|
|
|
14
15
|
headerShown: false,
|
|
15
16
|
gestureHandlerProps: {
|
|
16
17
|
enabled: !this.props.hide
|
|
18
|
+
},
|
|
19
|
+
drawerStyle: {
|
|
20
|
+
backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
}, /*#__PURE__*/React.createElement(Drawer.Screen, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createDrawerNavigator","Drawer","AppDrawerNavigator","Component","constructor","props","render","content","drawerType","type","headerShown","gestureHandlerProps","enabled","hide","_props","rootComponent"],"sources":["drawer.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { createDrawerNavigator } from '@react-navigation/drawer';\nconst Drawer = createDrawerNavigator();\n\ninterface AppDrawerNavigatorProps {\n content: (props: any) => ReactNode;\n hide: boolean,\n type: any;\n rootComponent: React.ReactNode;\n}\n\nclass AppDrawerNavigator extends React.Component<AppDrawerNavigatorProps, any, any> {\n\n constructor(props: AppDrawerNavigatorProps) {\n super(props);\n }\n\n render(){\n return (<Drawer.Navigator\n initialRouteName=\"pages\"\n drawerContent={this.props.content}\n screenOptions={{\n drawerType: this.props.type,\n headerShown: false,\n gestureHandlerProps: { enabled: !this.props.hide },\n }}>\n <Drawer.Screen name=\"pages\">\n {(_props) => this.props.rootComponent}\n </Drawer.Screen>\n </Drawer.Navigator>);\n }\n}\n\nexport default AppDrawerNavigator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,MAAMC,MAAM,
|
|
1
|
+
{"version":3,"names":["React","createDrawerNavigator","ThemeVariables","Drawer","AppDrawerNavigator","Component","constructor","props","render","content","drawerType","type","headerShown","gestureHandlerProps","enabled","hide","drawerStyle","backgroundColor","INSTANCE","pageContentBgColor","_props","rootComponent"],"sources":["drawer.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { createDrawerNavigator } from '@react-navigation/drawer';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nconst Drawer = createDrawerNavigator();\n\ninterface AppDrawerNavigatorProps {\n content: (props: any) => ReactNode;\n hide: boolean,\n type: any;\n rootComponent: React.ReactNode;\n}\n\nclass AppDrawerNavigator extends React.Component<AppDrawerNavigatorProps, any, any> {\n\n constructor(props: AppDrawerNavigatorProps) {\n super(props);\n }\n\n render(){\n return (<Drawer.Navigator\n initialRouteName=\"pages\"\n drawerContent={this.props.content}\n screenOptions={{\n drawerType: this.props.type,\n headerShown: false,\n gestureHandlerProps: { enabled: !this.props.hide },\n drawerStyle: { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor }\n }}>\n <Drawer.Screen name=\"pages\">\n {(_props) => this.props.rootComponent}\n </Drawer.Screen>\n </Drawer.Navigator>);\n }\n}\n\nexport default AppDrawerNavigator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,qBAAqB,QAAQ,0BAA0B;AAChE,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,MAAMC,MAAM,GAAGF,qBAAqB,EAAE;AAStC,MAAMG,kBAAkB,SAASJ,KAAK,CAACK,SAAS,CAAoC;EAElFC,WAAW,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAM,GAAE;IACN,oBAAQ,oBAAC,MAAM,CAAC,SAAS;MACvB,gBAAgB,EAAC,OAAO;MACxB,aAAa,EAAE,IAAI,CAACD,KAAK,CAACE,OAAQ;MAClC,aAAa,EAAE;QACXC,UAAU,EAAE,IAAI,CAACH,KAAK,CAACI,IAAI;QAC3BC,WAAW,EAAE,KAAK;QAClBC,mBAAmB,EAAE;UAAEC,OAAO,EAAE,CAAC,IAAI,CAACP,KAAK,CAACQ;QAAK,CAAC;QAClDC,WAAW,EAAE;UAAEC,eAAe,EAAGf,cAAc,CAACgB,QAAQ,CAACC;QAAmB;MAChF;IAAE,gBACF,oBAAC,MAAM,CAAC,MAAM;MAAC,IAAI,EAAC;IAAO,GACvBC,MAAM,IAAK,IAAI,CAACb,KAAK,CAACc,aAAa,CACvB,CACC;EACrB;AACF;AAEA,eAAejB,kBAAkB"}
|
|
@@ -4,6 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { View } from 'react-native';
|
|
6
6
|
import { createStackNavigator } from '@react-navigation/stack';
|
|
7
|
+
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
7
8
|
const Stack = createStackNavigator();
|
|
8
9
|
const pages = {};
|
|
9
10
|
class Screen extends React.Component {
|
|
@@ -67,7 +68,10 @@ const AppStackNavigator = props => {
|
|
|
67
68
|
return getPageId(p.name, params);
|
|
68
69
|
},
|
|
69
70
|
options: {
|
|
70
|
-
headerShown: false
|
|
71
|
+
headerShown: false,
|
|
72
|
+
cardStyle: {
|
|
73
|
+
backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor
|
|
74
|
+
}
|
|
71
75
|
}
|
|
72
76
|
});
|
|
73
77
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","createStackNavigator","Stack","pages","Screen","Component","constructor","props","state","renew","page","createPage","navigation","cleanUp","push","addListener","setState","createElement","route","name","component","destroyMe","setTimeout","componentWillUnmount","forEach","fn","render","getPageId","pageName","pageParams","pageParamsStr","Object","keys","sort","map","k","join","AppStackNavigator","landingPage","p","params","headerShown"],"sources":["stack.navigator.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { createStackNavigator } from '@react-navigation/stack';\n\nconst Stack = createStackNavigator();\n\ninterface AppStackNavigatorProps {\n pages: any[];\n landingPage: string; \n}\n\nconst pages = {} as any;\n\nclass Screen extends React.Component {\n\n private cleanUp = [] as Function[];\n\n constructor(props: any) {\n super(props);\n this.state = {\n renew: false,\n page: this.createPage()\n };\n const navigation = (this.props as any).navigation as any;\n this.cleanUp.push(navigation.addListener('focus', () => {\n const state = (this.state as any);\n if (state.renew) {\n state.page = this.createPage();\n this.setState(() => ({\n renew: false,\n page: state.page\n }));\n }\n }));\n }\n\n private createPage() {\n const props = this.props as any;\n return React.createElement(pages[props.route.name].component, {...props, destroyMe: () => {\n setTimeout(() => {\n this.setState(() => ({renew: true, page: null}));\n }, 100);\n }});\n }\n\n componentWillUnmount() {\n this.cleanUp.forEach(fn => fn && fn());\n }\n\n render() {\n return (this.state as any).page || (<View/>);\n }\n}\n\nconst getPageId = (pageName: string, pageParams: any) => {\n const pageParamsStr = pageParams ? Object.keys(pageParams)\n .sort()\n .map((k: string) => `${k}=${pageParams[k]}`)\n .join('&') : '';\n return `${pageName}?${pageParamsStr}`;\n}\n\nconst AppStackNavigator = (props: AppStackNavigatorProps) => {\n return (<Stack.Navigator initialRouteName={props.landingPage}>\n {props.pages.map(p => {\n pages[p.name] = p;\n return (\n <Stack.Screen key={p.name}\n name={p.name}\n component={Screen}\n getId={({params}) => getPageId(p.name, params)}\n options={{\n headerShown: false\n }}\n />);\n })}\n </Stack.Navigator>);\n};\n\nexport default AppStackNavigator;"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,oBAAoB,QAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"names":["React","View","createStackNavigator","ThemeVariables","Stack","pages","Screen","Component","constructor","props","state","renew","page","createPage","navigation","cleanUp","push","addListener","setState","createElement","route","name","component","destroyMe","setTimeout","componentWillUnmount","forEach","fn","render","getPageId","pageName","pageParams","pageParamsStr","Object","keys","sort","map","k","join","AppStackNavigator","landingPage","p","params","headerShown","cardStyle","backgroundColor","INSTANCE","pageContentBgColor"],"sources":["stack.navigator.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { createStackNavigator } from '@react-navigation/stack';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nconst Stack = createStackNavigator();\n\ninterface AppStackNavigatorProps {\n pages: any[];\n landingPage: string; \n}\n\nconst pages = {} as any;\n\nclass Screen extends React.Component {\n\n private cleanUp = [] as Function[];\n\n constructor(props: any) {\n super(props);\n this.state = {\n renew: false,\n page: this.createPage()\n };\n const navigation = (this.props as any).navigation as any;\n this.cleanUp.push(navigation.addListener('focus', () => {\n const state = (this.state as any);\n if (state.renew) {\n state.page = this.createPage();\n this.setState(() => ({\n renew: false,\n page: state.page\n }));\n }\n }));\n }\n\n private createPage() {\n const props = this.props as any;\n return React.createElement(pages[props.route.name].component, {...props, destroyMe: () => {\n setTimeout(() => {\n this.setState(() => ({renew: true, page: null}));\n }, 100);\n }});\n }\n\n componentWillUnmount() {\n this.cleanUp.forEach(fn => fn && fn());\n }\n\n render() {\n return (this.state as any).page || (<View/>);\n }\n}\n\nconst getPageId = (pageName: string, pageParams: any) => {\n const pageParamsStr = pageParams ? Object.keys(pageParams)\n .sort()\n .map((k: string) => `${k}=${pageParams[k]}`)\n .join('&') : '';\n return `${pageName}?${pageParamsStr}`;\n}\n\nconst AppStackNavigator = (props: AppStackNavigatorProps) => {\n return (<Stack.Navigator initialRouteName={props.landingPage}>\n {props.pages.map(p => {\n pages[p.name] = p;\n return (\n <Stack.Screen key={p.name}\n name={p.name}\n component={Screen}\n getId={({params}) => getPageId(p.name, params)}\n options={{\n headerShown: false,\n cardStyle: {\n backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor\n }\n }}\n />);\n })}\n </Stack.Navigator>);\n};\n\nexport default AppStackNavigator;"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,oBAAoB,QAAQ,yBAAyB;AAC9D,OAAOC,cAAc,MAAM,kDAAkD;AAE7E,MAAMC,KAAK,GAAGF,oBAAoB,EAAE;AAOpC,MAAMG,KAAK,GAAG,CAAC,CAAQ;AAEvB,MAAMC,MAAM,SAASN,KAAK,CAACO,SAAS,CAAC;EAInCC,WAAW,CAACC,KAAU,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAAC,iCAHG,EAAE;IAIlB,IAAI,CAACC,KAAK,GAAG;MACXC,KAAK,EAAE,KAAK;MACZC,IAAI,EAAE,IAAI,CAACC,UAAU;IACvB,CAAC;IACD,MAAMC,UAAU,GAAI,IAAI,CAACL,KAAK,CAASK,UAAiB;IACxD,IAAI,CAACC,OAAO,CAACC,IAAI,CAACF,UAAU,CAACG,WAAW,CAAC,OAAO,EAAE,MAAM;MACtD,MAAMP,KAAK,GAAI,IAAI,CAACA,KAAa;MACjC,IAAIA,KAAK,CAACC,KAAK,EAAE;QACfD,KAAK,CAACE,IAAI,GAAG,IAAI,CAACC,UAAU,EAAE;QAC9B,IAAI,CAACK,QAAQ,CAAC,OAAO;UACnBP,KAAK,EAAE,KAAK;UACZC,IAAI,EAAEF,KAAK,CAACE;QACd,CAAC,CAAC,CAAC;MACL;IACF,CAAC,CAAC,CAAC;EACL;EAEQC,UAAU,GAAG;IACnB,MAAMJ,KAAK,GAAG,IAAI,CAACA,KAAY;IAC/B,oBAAOT,KAAK,CAACmB,aAAa,CAACd,KAAK,CAACI,KAAK,CAACW,KAAK,CAACC,IAAI,CAAC,CAACC,SAAS,EAAE;MAAC,GAAGb,KAAK;MAAEc,SAAS,EAAE,MAAM;QACxFC,UAAU,CAAC,MAAM;UACf,IAAI,CAACN,QAAQ,CAAC,OAAO;YAACP,KAAK,EAAE,IAAI;YAAEC,IAAI,EAAE;UAAI,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC;MACT;IAAC,CAAC,CAAC;EACL;EAEAa,oBAAoB,GAAG;IACrB,IAAI,CAACV,OAAO,CAACW,OAAO,CAACC,EAAE,IAAIA,EAAE,IAAIA,EAAE,EAAE,CAAC;EACxC;EAEAC,MAAM,GAAG;IACP,OAAQ,IAAI,CAAClB,KAAK,CAASE,IAAI,iBAAK,oBAAC,IAAI,OAAG;EAC9C;AACF;AAEA,MAAMiB,SAAS,GAAG,CAACC,QAAgB,EAAEC,UAAe,KAAK;EACvD,MAAMC,aAAa,GAAGD,UAAU,GAAGE,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CACvDI,IAAI,EAAE,CACNC,GAAG,CAAEC,CAAS,IAAM,GAAEA,CAAE,IAAGN,UAAU,CAACM,CAAC,CAAE,EAAC,CAAC,CAC3CC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;EACjB,OAAQ,GAAER,QAAS,IAAGE,aAAc,EAAC;AACvC,CAAC;AAED,MAAMO,iBAAiB,GAAI9B,KAA6B,IAAK;EAC3D,oBAAQ,oBAAC,KAAK,CAAC,SAAS;IAAC,gBAAgB,EAAEA,KAAK,CAAC+B;EAAY,GAC1D/B,KAAK,CAACJ,KAAK,CAAC+B,GAAG,CAACK,CAAC,IAAI;IACpBpC,KAAK,CAACoC,CAAC,CAACpB,IAAI,CAAC,GAAGoB,CAAC;IACjB,oBACE,oBAAC,KAAK,CAAC,MAAM;MAAC,GAAG,EAAEA,CAAC,CAACpB,IAAK;MACxB,IAAI,EAAEoB,CAAC,CAACpB,IAAK;MACb,SAAS,EAAEf,MAAO;MAClB,KAAK,EAAE;QAAA,IAAC;UAACoC;QAAM,CAAC;QAAA,OAAKb,SAAS,CAACY,CAAC,CAACpB,IAAI,EAAEqB,MAAM,CAAC;MAAA,CAAC;MAC/C,OAAO,EAAE;QACPC,WAAW,EAAE,KAAK;QAClBC,SAAS,EAAE;UACTC,eAAe,EAAE1C,cAAc,CAAC2C,QAAQ,CAACC;QAC3C;MACF;IAAE,EACF;EACJ,CAAC,CAAC,CACY;AACpB,CAAC;AAED,eAAeR,iBAAiB"}
|