@wavemaker/app-rn-runtime 11.11.7-rc.218 → 11.12.0-next.28180
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/carousel/carousel.component.js +4 -2
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/basic/anchor/anchor.component.js +11 -5
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/anchor/anchor.props.js +1 -0
- package/components/basic/anchor/anchor.props.js.map +1 -1
- package/components/basic/audio/audio.component.js +52 -47
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
- package/components/basic/button/button.component.js +2 -1
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/button/button.props.js +1 -0
- package/components/basic/button/button.props.js.map +1 -1
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/label/label.props.js +1 -0
- package/components/basic/label/label.props.js.map +1 -1
- package/components/basic/message/message.component.js +15 -7
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +2 -2
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/video/video.component.js +69 -42
- package/components/basic/video/video.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/container/container.component.js +107 -27
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +3 -1
- package/components/container/container.props.js.map +1 -1
- package/components/container/container.styles.js +1 -3
- package/components/container/container.styles.js.map +1 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +11 -2
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.props.js +1 -0
- package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.props.js +3 -0
- package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- package/components/container/tabs/tabs.component.js +11 -2
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -0
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/data/list/list.component.js +23 -13
- package/components/data/list/list.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +33 -18
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.props.js +2 -1
- package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
- package/components/device/camera/camera.component.js +35 -22
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/device/camera/camera.props.js +2 -1
- package/components/device/camera/camera.props.js.map +1 -1
- package/components/input/basedataset/basedataset.props.js +1 -0
- package/components/input/basedataset/basedataset.props.js.map +1 -1
- package/components/input/calendar/calendar.component.js +12 -4
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +9 -2
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +5 -5
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +15 -11
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/chips/chips.component.js +25 -12
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/currency/currency.component.js +5 -2
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +9 -9
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/datetime/datetime.props.js +1 -0
- package/components/input/epoch/datetime/datetime.props.js.map +1 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
- package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +23 -14
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/fileupload/fileupload.props.js +2 -0
- package/components/input/fileupload/fileupload.props.js.map +1 -1
- package/components/input/radioset/radioset.component.js +15 -5
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/rating/rating.component.js +11 -3
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/rating/rating.props.js +4 -0
- package/components/input/rating/rating.props.js.map +1 -1
- package/components/input/select/select.component.js +7 -5
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/slider/slider.component.js +2 -1
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/switch/switch.component.js +11 -9
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +8 -4
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +1 -0
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +19 -61
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/navitem/navitem.component.js +3 -1
- package/components/navigation/navitem/navitem.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +2 -1
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +2 -1
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/page/page-content/page-content.component.js +74 -20
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +1 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page.component.js +29 -44
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +4 -2
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +24 -13
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +51 -32
- package/core/accessibility.js.map +1 -1
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +140 -0
- package/core/components/error-fallback/error-fallback.component.js.map +1 -0
- package/core/components/error-fallback/error-fallback.styles.js +224 -0
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
- package/core/components/sticky-base.component.js +54 -0
- package/core/components/sticky-base.component.js.map +1 -0
- package/core/components/sticky-container.component.js +34 -0
- package/core/components/sticky-container.component.js.map +1 -0
- package/core/components/sticky-container.styles.js +98 -0
- package/core/components/sticky-container.styles.js.map +1 -0
- package/core/components/sticky-nav.component.js +28 -0
- package/core/components/sticky-nav.component.js.map +1 -0
- package/core/device/av-service.js +8 -0
- package/core/device/av-service.js.map +1 -0
- package/core/device/calendar-service.js +7 -1
- package/core/device/calendar-service.js.map +1 -1
- package/core/device/camera-service.js +6 -0
- package/core/device/camera-service.js.map +1 -1
- package/core/device/contacts-service.js +7 -1
- package/core/device/contacts-service.js.map +1 -1
- package/core/device/fileupload-service.js +8 -0
- package/core/device/fileupload-service.js.map +1 -0
- package/core/device/location-service.js +7 -1
- package/core/device/location-service.js.map +1 -1
- package/core/device/scan-service.js +6 -0
- package/core/device/scan-service.js.map +1 -1
- package/core/error-boundary.component.js +1 -1
- package/core/error-boundary.component.js.map +1 -1
- package/core/event-notifier.js +4 -3
- package/core/event-notifier.js.map +1 -1
- package/core/fixed-view.component.js +2 -1
- package/core/fixed-view.component.js.map +1 -1
- package/core/responsive.utils.js +8 -5
- package/core/responsive.utils.js.map +1 -1
- package/core/sticky-view.component.js +50 -0
- package/core/sticky-view.component.js.map +1 -0
- package/core/sticky-wrapper.js +129 -0
- package/core/sticky-wrapper.js.map +1 -0
- package/core/utils.js +0 -6
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +5 -5
- package/package-lock.json +5 -5
- package/package.json +2 -2
- package/runtime/App.js +3 -5
- package/runtime/App.js.map +1 -1
- package/runtime/services/device/calendar-service.js +9 -5
- package/runtime/services/device/calendar-service.js.map +1 -1
- package/runtime/services/device/camera-service.js +39 -22
- package/runtime/services/device/camera-service.js.map +1 -1
- package/runtime/services/device/contacts-service.js +6 -5
- package/runtime/services/device/contacts-service.js.map +1 -1
- package/runtime/services/device/location-service.js +4 -4
- package/runtime/services/device/location-service.js.map +1 -1
- package/runtime/services/device/permission-service.js +5 -0
- package/runtime/services/device/permission-service.js.map +1 -0
- package/runtime/services/device/permissions.js +34 -39
- package/runtime/services/device/permissions.js.map +1 -1
- package/runtime/services/device/scan-service.js +4 -3
- package/runtime/services/device/scan-service.js.map +1 -1
- package/styles/theme.js +24 -18
- package/styles/theme.js.map +1 -1
- package/variables/device/calendar/create-event.operation.js +12 -1
- package/variables/device/calendar/create-event.operation.js.map +1 -1
- package/variables/device/calendar/delete-event.operation.js +12 -1
- package/variables/device/calendar/delete-event.operation.js.map +1 -1
- package/variables/device/calendar/get-events.operation.js +12 -1
- package/variables/device/calendar/get-events.operation.js.map +1 -1
- package/variables/device/camera/capture-image.operation.js +8 -1
- package/variables/device/camera/capture-image.operation.js.map +1 -1
- package/variables/device/camera/capture-video.operation.js +7 -1
- package/variables/device/camera/capture-video.operation.js.map +1 -1
- package/variables/device/contacts/get-contacts.operation.js +12 -1
- package/variables/device/contacts/get-contacts.operation.js.map +1 -1
- package/variables/device/device/current-geo-position.operation.js +12 -1
- package/variables/device/device/current-geo-position.operation.js.map +1 -1
- package/variables/device/file/upload-file.operation.js +17 -3
- package/variables/device/file/upload-file.operation.js.map +1 -1
- package/variables/device/scan/scan.operation.js +12 -1
- package/variables/device/scan/scan.operation.js.map +1 -1
- package/variables/http.service.js +6 -1
- package/variables/http.service.js.map +1 -1
- package/core/components/error-fallback.component.js +0 -264
- package/core/components/error-fallback.component.js.map +0 -1
- package/core/sticky-container.component.js +0 -175
- package/core/sticky-container.component.js.map +0 -1
@@ -10,6 +10,7 @@ export default class WmToggleProps extends BaseProps {
|
|
10
10
|
_defineProperty(this, "datavalue", void 0);
|
11
11
|
_defineProperty(this, "readonly", false);
|
12
12
|
_defineProperty(this, "onFieldChange", void 0);
|
13
|
+
_defineProperty(this, "accessible", true);
|
13
14
|
_defineProperty(this, "accessibilitylabel", undefined);
|
14
15
|
_defineProperty(this, "hint", undefined);
|
15
16
|
_defineProperty(this, "accessibilityrole", "togglebutton");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,
|
1
|
+
{"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,qBAEM,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,yBAElB,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;AAC/B","ignoreList":[]}
|
@@ -3,7 +3,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
3
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import React from 'react';
|
6
|
-
import { Text, View, BackHandler
|
6
|
+
import { Text, View, BackHandler } from 'react-native';
|
7
7
|
import { Badge } from 'react-native-paper';
|
8
8
|
import { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
9
9
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
@@ -13,7 +13,8 @@ import WmAppNavbarProps from './appnavbar.props';
|
|
13
13
|
import { DEFAULT_CLASS } from './appnavbar.styles';
|
14
14
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
15
15
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
16
|
-
import {
|
16
|
+
import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
|
17
|
+
import { StickyNav } from '@wavemaker/app-rn-runtime/core/components/sticky-nav.component';
|
17
18
|
export class WmAppNavbarState extends BaseComponentState {}
|
18
19
|
export default class WmAppNavbar extends BaseComponent {
|
19
20
|
constructor(props) {
|
@@ -22,10 +23,6 @@ export default class WmAppNavbar extends BaseComponent {
|
|
22
23
|
_defineProperty(this, "onBackBtnPress", void 0);
|
23
24
|
_defineProperty(this, "onSearchBtnPress", void 0);
|
24
25
|
_defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
|
25
|
-
_defineProperty(this, "insets", null);
|
26
|
-
_defineProperty(this, "destroyScrollListner", null);
|
27
|
-
_defineProperty(this, "scrollY", new Animated.Value(0));
|
28
|
-
_defineProperty(this, "translateY", new Animated.Value(0));
|
29
26
|
this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);
|
30
27
|
this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);
|
31
28
|
this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);
|
@@ -37,44 +34,15 @@ export default class WmAppNavbar extends BaseComponent {
|
|
37
34
|
this.cleanup.push(() => subscription.remove());
|
38
35
|
}
|
39
36
|
}
|
40
|
-
onPropertyChange(name, $new, $old) {
|
41
|
-
super.onPropertyChange(name, $new, $old);
|
42
|
-
switch (name) {
|
43
|
-
case 'hideonscroll':
|
44
|
-
this.destroyScrollListner && this.destroyScrollListner();
|
45
|
-
if ($new) {
|
46
|
-
this.subscribeToPageScroll();
|
47
|
-
}
|
48
|
-
break;
|
49
|
-
}
|
50
|
-
}
|
51
|
-
subscribeToPageScroll() {
|
52
|
-
this.destroyScrollListner = this.subscribe('scroll', e => {
|
53
|
-
const {
|
54
|
-
contentOffset
|
55
|
-
} = e.nativeEvent;
|
56
|
-
this.scrollY.setValue(contentOffset.y);
|
57
|
-
});
|
58
|
-
}
|
59
|
-
updateTranslateY(insets) {
|
60
|
-
var _this$getLayout;
|
61
|
-
const navbarHeight = (_this$getLayout = this.getLayout()) === null || _this$getLayout === void 0 ? void 0 : _this$getLayout.height;
|
62
|
-
const topInsets = (insets === null || insets === void 0 ? void 0 : insets.top) || 0;
|
63
|
-
if (navbarHeight) {
|
64
|
-
const navbarRange = navbarHeight + topInsets;
|
65
|
-
this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({
|
66
|
-
inputRange: [0, navbarRange],
|
67
|
-
outputRange: [0, -1 * navbarRange],
|
68
|
-
extrapolate: 'clamp'
|
69
|
-
});
|
70
|
-
this.forceUpdate();
|
71
|
-
}
|
72
|
-
}
|
73
37
|
renderContent(props) {
|
74
38
|
//@ts-ignore
|
75
39
|
const badge = props.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
|
76
40
|
style: this.styles.badge
|
77
41
|
}, this.getTestProps('badge')), props.badgevalue) : null;
|
42
|
+
const {
|
43
|
+
navHeight
|
44
|
+
} = this.context;
|
45
|
+
let navHeightValue;
|
78
46
|
return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
79
47
|
top: 0,
|
80
48
|
bottom: 0,
|
@@ -94,8 +62,14 @@ export default class WmAppNavbar extends BaseComponent {
|
|
94
62
|
this.baseView = ref;
|
95
63
|
},
|
96
64
|
onLayout: event => {
|
65
|
+
if (navHeight) {
|
66
|
+
if (isEdgeToEdgeApp && insets !== null && insets !== void 0 && insets.top || !isEdgeToEdgeApp || isWebPreviewMode()) {
|
67
|
+
navHeightValue = event.nativeEvent.layout.height || 0;
|
68
|
+
navHeight.value = navHeightValue;
|
69
|
+
this.notify('updateNavHeight', [navHeightValue], true);
|
70
|
+
}
|
71
|
+
}
|
97
72
|
this.handleLayout(event);
|
98
|
-
this.updateTranslateY(insets);
|
99
73
|
}
|
100
74
|
}, this._background, /*#__PURE__*/React.createElement(View, {
|
101
75
|
style: this.styles.leftSection
|
@@ -133,27 +107,11 @@ export default class WmAppNavbar extends BaseComponent {
|
|
133
107
|
});
|
134
108
|
}
|
135
109
|
renderWidget(props) {
|
136
|
-
this.
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
}]
|
141
|
-
} : {};
|
142
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FixedView, {
|
143
|
-
style: {
|
144
|
-
...{
|
145
|
-
top: 0,
|
146
|
-
width: '100%'
|
147
|
-
},
|
148
|
-
...animateStyle
|
149
|
-
},
|
150
|
-
theme: this.theme,
|
151
|
-
animated: props.hideonscroll || false
|
152
|
-
}, this.renderContent(props)), /*#__PURE__*/React.createElement(View, {
|
153
|
-
style: {
|
154
|
-
opacity: 0
|
155
|
-
}
|
156
|
-
}, this.renderContent(props)));
|
110
|
+
return this.props.hideonscroll ? /*#__PURE__*/React.createElement(StickyNav, {
|
111
|
+
component: this,
|
112
|
+
theme: this.theme
|
113
|
+
}, this.renderContent(props)) : this.renderContent(props);
|
157
114
|
}
|
158
115
|
}
|
116
|
+
_defineProperty(WmAppNavbar, "contextType", StickyWrapperContext);
|
159
117
|
//# sourceMappingURL=appnavbar.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BackHandler","Animated","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","Value","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","subscribe","e","contentOffset","nativeEvent","scrollY","setValue","y","updateTranslateY","insets","_this$getLayout","navbarHeight","getLayout","height","topInsets","top","navbarRange","translateY","diffClamp","interpolate","inputRange","outputRange","extrapolate","forceUpdate","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","ref","baseView","onLayout","event","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isFixed","animateStyle","hideonscroll","transform","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler, Animated } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private insets: EdgeInsets | null = null;\n private destroyScrollListner: Function = null as any;\n private scrollY: Animated.Value = new Animated.Value(0);\n private translateY: Animated.AnimatedInterpolation<number> = new Animated.Value(0);\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n \n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset } = e.nativeEvent ;\n this.scrollY.setValue(contentOffset.y);\n })\n }\n\n updateTranslateY(insets: any):void {\n const navbarHeight = this.getLayout()?.height ;\n const topInsets = insets?.top || 0\n if(navbarHeight){\n const navbarRange = navbarHeight + topInsets;\n this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({\n inputRange: [0, navbarRange],\n outputRange: [0, -1 * navbarRange],\n extrapolate: 'clamp',\n });\n this.forceUpdate();\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updateTranslateY(insets);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n\n return <>\n <FixedView \n style={{...{top: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AAChE,SAASC,KAAK,QAAQ,oBAAoB;AAE1C,SAASC,SAAS,EAAEC,gBAAgB,QAAQ,sCAAsC;AAClF,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,SAAS,MAAM,sEAAsE;AAE5F,OAAOC,gBAAgB,MAAM,mBAAmB;AAChD,SAASC,aAAa,QAA2B,oBAAoB;AAErE,SAAqBC,qBAAqB,QAAQ,gCAAgC;AAClF,OAAOC,QAAQ,MAAM,yCAAyC;AAE9D,SAASC,SAAS,QAAQ,qDAAqD;AAE/E,OAAO,MAAMC,gBAAgB,SAASR,kBAAkB,CAAmB;AAE3E,eAAe,MAAMS,WAAW,SAASV,aAAa,CAAwD;EAW5GW,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;IAACS,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAPlCN,QAAQ,CAACO,GAAG,CAAY,YAAY,CAAC;IAAAD,eAAA,iBACrB,IAAI;IAAAA,eAAA,+BACC,IAAI;IAAAA,eAAA,kBACX,IAAIjB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;IAAAF,eAAA,qBACM,IAAIjB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;IAIhF,IAAI,CAACC,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAACC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,IAAI,CAAC;IACxG,IAAI,CAACC,cAAc,GAAG,CAAC,MAAM,IAAI,CAACF,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,IAAI,CAAC;IACjG,IAAI,CAACE,gBAAgB,GAAG,CAAC,MAAM,IAAI,CAACH,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAEC,IAAI,CAAC,IAAI,CAAC;IACxG,IAAIpB,SAAS,CAAC,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACtC,MAAMsB,YAAY,GAAG1B,WAAW,CAAC2B,gBAAgB,CAAC,mBAAmB,EAAE,MAAM;QAC3E,IAAI,CAACH,cAAc,CAAC,CAAC;QACrB,OAAO,IAAI;MACb,CAAC,CAAC;MACF,IAAI,CAACI,OAAO,CAACC,IAAI,CAAC,MAAMH,YAAY,CAACI,MAAM,CAAC,CAAC,CAAC;IAChD;EACF;EAECC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IACxD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAOF,IAAI;MACT,KAAK,cAAc;QACjB,IAAI,CAACG,oBAAoB,IAAI,IAAI,CAACA,oBAAoB,CAAC,CAAC;QACxD,IAAGF,IAAI,EAAE;UACP,IAAI,CAACG,qBAAqB,CAAC,CAAC;QAC9B;QACA;IACJ;EACJ;EAEAA,qBAAqBA,CAAA,EAAE;IACrB,IAAI,CAACD,oBAAoB,GAAG,IAAI,CAACE,SAAS,CAAC,QAAQ,EAAGC,CAAM,IAAG;MAC7D,MAAM;QAAEC;MAAc,CAAC,GAAGD,CAAC,CAACE,WAAW;MACvC,IAAI,CAACC,OAAO,CAACC,QAAQ,CAACH,aAAa,CAACI,CAAC,CAAC;IACxC,CAAC,CAAC;EACJ;EAEAC,gBAAgBA,CAACC,MAAW,EAAO;IAAA,IAAAC,eAAA;IACjC,MAAMC,YAAY,IAAAD,eAAA,GAAG,IAAI,CAACE,SAAS,CAAC,CAAC,cAAAF,eAAA,uBAAhBA,eAAA,CAAkBG,MAAM;IAC7C,MAAMC,SAAS,GAAG,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,GAAG,KAAI,CAAC;IAClC,IAAGJ,YAAY,EAAC;MACd,MAAMK,WAAW,GAAGL,YAAY,GAAGG,SAAS;MAC5C,IAAI,CAACG,UAAU,GAAGpD,QAAQ,CAACqD,SAAS,CAAC,IAAI,CAACb,OAAO,EAAE,CAAC,EAAEW,WAAW,CAAC,CAACG,WAAW,CAAC;QAC7EC,UAAU,EAAE,CAAC,CAAC,EAAEJ,WAAW,CAAC;QAC5BK,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGL,WAAW,CAAC;QAClCM,WAAW,EAAE;MACf,CAAC,CAAC;MACF,IAAI,CAACC,WAAW,CAAC,CAAC;IACpB;EACF;EAEAC,aAAaA,CAAC3C,KAAuB,EAAE;IACrC;IACA,MAAM4C,KAAK,GAAG5C,KAAK,CAAC6C,UAAU,IAAIC,SAAS,gBAAIlE,KAAA,CAAAmE,aAAA,CAAC9D,KAAK,EAAA+D,QAAA;MAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACN;IAAM,GAAK,IAAI,CAACO,YAAY,CAAC,OAAO,CAAC,GAAGnD,KAAK,CAAC6C,UAAkB,CAAC,GAAG,IAAI;IACjJ,oBACEjE,KAAA,CAAAmE,aAAA,CAACrD,qBAAqB,CAAC0D,QAAQ,QAC5B,CAACxB,MAAM,GAAG;MAAEM,GAAG,EAAE,CAAC;MAAEmB,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MAAA,IAAAC,eAAA;MACtD,MAAMC,aAAa,GAAG,IAAI,CAACP,MAAM,CAACQ,IAAI,CAACC,UAAU,IAAI,IAAI,CAACT,MAAM,CAACQ,IAAI,CAACE,OAAO;MAC7E,MAAMC,eAAe,GAAG,CAAC,GAAAL,eAAA,GAAC,IAAI,CAACM,SAAS,cAAAN,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBO,gBAAgB,cAAAP,eAAA,eAAhCA,eAAA,CAAkCK,eAAe;MAC3E,MAAMG,YAAY,GAAGH,eAAe,GAAI;QAAC7B,MAAM,EAAE,IAAI,CAACkB,MAAM,CAACQ,IAAI,CAAC1B,MAAM,IAAc,CAAAJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,GAAG,KAAI,CAAC,CAAW;QACjHyB,UAAU,EAAE,CAACF,aAAa,IAAI,CAAC,KAAe,CAAA7B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEM,GAAG,KAAI,CAAC;MAAW,CAAC,GAAG,CAAC,CAAC;MAC/E,oBACAtD,KAAA,CAAAmE,aAAA,CAACjE,IAAI;QAACmE,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACQ,IAAI,EAAEM,YAAY,CAAE;QAACC,GAAG,EAAEA,GAAG,IAAI;UAAC,IAAI,CAACC,QAAQ,GAAGD,GAAW;QAAA,CAAE;QAACE,QAAQ,EAAGC,KAAK,IAAK;UAC7G,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;UACxB,IAAI,CAACzC,gBAAgB,CAACC,MAAM,CAAC;QAC/B;MAAE,GACC,IAAI,CAAC0C,WAAW,eACjB1F,KAAA,CAAAmE,aAAA,CAACjE,IAAI;QAACmE,KAAK,EAAE,IAAI,CAACC,MAAM,CAACqB;MAAY,GACpCvE,KAAK,CAACwE,gBAAgB,iBAAK5F,KAAA,CAAAmE,aAAA,CAACzD,MAAM;QACjCmF,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;QACjCC,IAAI,EAAE,MAAO;QACbzB,MAAM,EAAE,IAAI,CAAC0B,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC3B,MAAM,CAAC4B,MAAM,EAAE,IAAI,CAAC5B,MAAM,CAAC6B,WAAW,CAAE;QAC/EC,SAAS,EAAEhF,KAAK,CAACiF,qBAAsB;QACvCC,KAAK,EAAE,IAAI,CAAC9E;MAAiB,CAC5B,CAAE,EACJJ,KAAK,CAACmF,UAAU,iBAAKvG,KAAA,CAAAmE,aAAA,CAACzD,MAAM;QAC3BmF,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;QAC9BC,IAAI,EAAE,MAAO;QACbzB,MAAM,EAAE,IAAI,CAAC0B,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC3B,MAAM,CAAC4B,MAAM,EAAE,IAAI,CAAC5B,MAAM,CAACkC,QAAQ,CAAE;QAC5EJ,SAAS,EAAEhF,KAAK,CAACqF,mBAAoB;QACrCC,OAAO,EAAEtF,KAAK,CAACuF,eAAgB;QAC/BL,KAAK,EAAE,IAAI,CAAC3E;MAAe,CAAC,CACxB,CAAC,eACP3B,KAAA,CAAAmE,aAAA,CAACjE,IAAI;QAACmE,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsC;MAAc,GACpCxF,KAAK,CAACyF,MAAM,iBACb7G,KAAA,CAAAmE,aAAA,CAACxD,SAAS;QACRkF,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;QAC9BxB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACwC,KAAM;QAC1BC,aAAa,EAAE3F,KAAK,CAACyF;MAAO,CAAE,CAAE,eAClC7G,KAAA,CAAAmE,aAAA,CAAClE,IAAI,EAAAmE,QAAA;QAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC0C;MAAQ,GAAK,IAAI,CAACC,oBAAoB,CAAC,OAAO,CAAC;QAAEC,iBAAiB,EAAC;MAAQ,IAAE9F,KAAK,CAAC+F,KAAY,CAAC,EACxHnD,KACG,CAAC,eACPhE,KAAA,CAAAmE,aAAA,CAACjE,IAAI;QAACmE,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC8C;MAAa,GACnChG,KAAK,CAACiG,YAAY,iBAAKrH,KAAA,CAAAmE,aAAA,CAACzD,MAAM;QAC7BmF,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;QAChCxB,MAAM,EAAE,IAAI,CAAC0B,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC3B,MAAM,CAAC4B,MAAM,EAAE,IAAI,CAAC5B,MAAM,CAAC6B,WAAW,CAAE;QAC/EC,SAAS,EAAEhF,KAAK,CAACkG,qBAAsB;QACvChB,KAAK,EAAE,IAAI,CAAC1E;MAAiB,CAC5B,CAAE,EACJR,KAAK,CAACmG,QACH,CACF,CAAC;IACN,CAC2B,CAAC;EAErC;EAEAC,YAAYA,CAACpG,KAAuB,EAAC;IACnC,IAAI,CAACqG,OAAO,GAAG,IAAI;IACnB,MAAMC,YAAY,GAAGtG,KAAK,CAACuG,YAAY,GAAG;MAACC,SAAS,EAAE,CAAC;QAACpE,UAAU,EAAE,IAAI,CAACA;MAAU,CAAC;IAAC,CAAC,GAAG,CAAC,CAAC;IAE3F,oBAAOxD,KAAA,CAAAmE,aAAA,CAAAnE,KAAA,CAAA6H,QAAA,qBACH7H,KAAA,CAAAmE,aAAA,CAACnD,SAAS;MACRqD,KAAK,EAAE;QAAC,GAAG;UAACf,GAAG,EAAE,CAAC;UAAEwE,KAAK,EAAC;QAAM,CAAC;QAAE,GAAGJ;MAAY,CAAE;MACpD1B,KAAK,EAAE,IAAI,CAACA,KAAM;MAClB+B,QAAQ,EAAE3G,KAAK,CAACuG,YAAY,IAAI;IAAM,GACrC,IAAI,CAAC5D,aAAa,CAAC3C,KAAK,CAChB,CAAC,eACZpB,KAAA,CAAAmE,aAAA,CAACjE,IAAI;MAACmE,KAAK,EAAE;QAAE2D,OAAO,EAAE;MAAC;IAAE,GACxB,IAAI,CAACjE,aAAa,CAAC3C,KAAK,CACrB,CACR,CAAC;EACL;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","StickyWrapperContext","StickyNav","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","navHeight","context","navHeightValue","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","height","ref","baseView","onLayout","event","nativeEvent","layout","value","notify","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","hideonscroll","component"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { StickyNav } from '@wavemaker/app-rn-runtime/core/components/sticky-nav.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n static contextType = StickyWrapperContext;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n const { navHeight } = this.context as StickyWrapperContextType;\n let navHeightValue;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n if(navHeight) {\n if((isEdgeToEdgeApp && insets?.top) || !isEdgeToEdgeApp || isWebPreviewMode()){\n navHeightValue = event.nativeEvent.layout.height || 0;\n navHeight.value = navHeightValue;\n this.notify('updateNavHeight', [navHeightValue], true);\n }\n }\n this.handleLayout(event);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n return this.props.hideonscroll ? (\n <StickyNav\n component={this}\n theme={this.theme}\n >\n {this.renderContent(props)}\n </StickyNav>\n ) : this.renderContent(props)\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -56,7 +56,9 @@ export default class WmNavItem extends BaseComponent {
|
|
56
56
|
}, getAccessibilityProps(AccessibilityWidgetType.NAV, props))), /*#__PURE__*/React.createElement(WmIcon, {
|
57
57
|
id: this.getTestId('icon'),
|
58
58
|
styles: this.styles.caretIcon,
|
59
|
-
iconclass: this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'
|
59
|
+
iconclass: this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up',
|
60
|
+
accessibilitylabel: this.state.collapsed ? 'Expand' : 'Collapse',
|
61
|
+
accessibilityrole: "button"
|
60
62
|
}))), !this.state.collapsed && props.children);
|
61
63
|
}
|
62
64
|
return /*#__PURE__*/React.createElement(View, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","args","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","getTestPropsForAction","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","onLayout","event","handleLayout","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { SyntheticEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: SyntheticEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n {...this.getTestPropsForAction('navitem')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'}></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","args","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","getTestPropsForAction","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","accessibilitylabel","accessibilityrole","root","onLayout","event","handleLayout","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { SyntheticEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: SyntheticEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n {...this.getTestPropsForAction('navitem')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'} accessibilitylabel={this.state.collapsed ? 'Expand' : 'Collapse'} accessibilityrole='button'></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -180,7 +180,8 @@ export default class WmPopover extends BaseComponent {
|
|
180
180
|
iconmargin: props.iconmargin,
|
181
181
|
iconurl: props.iconurl,
|
182
182
|
styles: styles.link,
|
183
|
-
onTap: this.showPopover
|
183
|
+
onTap: this.showPopover,
|
184
|
+
accessible: false
|
184
185
|
}), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
|
185
186
|
modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? /*#__PURE__*/React.createElement(Animated.View, _extends({
|
186
187
|
style: [styles.popover, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","isRTL","right","left","top","updateState","handleLayout","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n\n this.handleLayout(e)\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","isRTL","right","left","top","updateState","handleLayout","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n\n this.handleLayout(e)\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}\n accessible={false}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAA4BC,gBAAgB,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,cAAc;AAClH,SAASC,aAAa,EAAEC,kBAAkB,QAAmB,+CAA+C;AAG5G,SAASC,aAAa,QAAoC,8CAA8C;AACxG,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,UAAU,EAAEC,sBAAsB,QAAQ,8BAA8B;AAEjF,OAAO,MAAMC,cAAc,SAASV,kBAAkB,CAAiB;EAAAW,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,KAAK;IAAAA,eAAA,uBACV,CAAC,CAAC;IAAAA,eAAA,mBACN,CAAC,CAAC;IAAAA,eAAA,0BACK,KAAK;EAAA;AACzB;AASA,eAAe,MAAMC,SAAS,SAASf,aAAa,CAAkD;EAKpGY,WAAWA,CAACI,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,EAAE,IAAIO,cAAc,CAAC,CAAC,CAAC;IAACG,eAAA,eAJ7D,IAAI;IAAAA,eAAA,gBACT,IAAIhB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;IAAAH,eAAA,uBAUPf,YAAY,CAACmB,MAAM,CAAC;MACxCC,4BAA4B,EAAEA,CAAA,KAAM,IAAI;MACxCC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;MACvCC,kBAAkB,EAAEA,CAACC,CAAC,EAAEC,YAAY,KAAK;QACvC,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,IAAID,YAAY,CAACC,EAAE,GAAGC,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC,EAAE;UAClF,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC,GAAGL,YAAY,CAACC,EAAE,CAAC;QAC9E;MACF,CAAC;MACDO,qBAAqB,EAAEA,CAACT,CAAC,EAAEC,YAAY,KAAK;QAC1C,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,EAAE,EAAE;UACzB1B,QAAQ,CAACkC,MAAM,CAAC,IAAI,CAACH,KAAK,EAAE;YAC1BI,OAAO,EAAER,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACO,SAAS,CAAC;YAC9CC,QAAQ,EAAE,GAAG;YACbC,eAAe,EAAE;UACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QACZ,CAAC,MAAM;UACLvC,QAAQ,CAACkC,MAAM,CAAC,IAAI,CAACH,KAAK,EAAE;YAC1BI,OAAO,EAAER,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC;YAC9CO,QAAQ,EAAE,GAAG;YACbC,eAAe,EAAE;UACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QACZ;MACF;IACF,CAAC,CAAC;IAAAvB,eAAA,0BAOyBwB,CAAoB,IAAK;MAClD,MAAMC,QAAQ,GAAG,CAAC,CAAoB;MACtC,IAAI,IAAI,CAACC,KAAK,CAACxB,KAAK,CAACyB,IAAI,KAAK,UAAU,EAAE;QACxC,MAAMC,gBAAgB,GAAG7C,UAAU,CAAC8C,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,KAAK;UACjD,IAAIC,YAAY,GAAG,IAAI,CAACZ,KAAK,CAACxB,KAAK,CAACoC,YAAmB;UACvD,IAAIA,YAAY,IAAI3D,QAAQ,CAAC2D,YAAY,CAAC,EAAE;YAC1CA,YAAY,GAAGC,QAAQ,CAACD,YAAY,CAAC;UACvC;UACA,IAAI,CAACE,KAAK,GAAGf,QAAQ,CAACgB,KAAK,GAAGL,EAAE,GAAGX,QAAQ,CAACiB,IAAI,GAAGN,EAAE;UAErD,IAAIA,EAAE,GAAGE,YAAY,GAAGV,gBAAgB,CAACM,KAAK,EAAE;YAC9C,IAAI,CAACM,KAAK,GACLf,QAAQ,CAACgB,KAAK,GAAGL,EAAE,GAAGF,KAAK,GAAGI,YAAY,GAC1Cb,QAAQ,CAACiB,IAAI,GAAGN,EAAE,GAAGF,KAAK,GAAGI,YAAa;UACjD;UACAb,QAAQ,CAACkB,GAAG,GAAGN,EAAE,GAAGF,MAAM;UAC1B,IAAI,CAACS,WAAW,CAAC;YAACnB,QAAQ,EAAEA;UAAQ,CAAmB,CAAC;QAC1D,CAAC,CAAC;MACJ;MAEA,IAAI,CAACoB,YAAY,CAACrB,CAAC,CAAC;IACtB,CAAC;IAAAxB,eAAA,sBA4BqBwB,CAAkB,IAAK;MAC3C,IAAI,CAACoB,WAAW,CAAC;QAAEE,QAAQ,EAAE;MAAK,CAAmB,CAAC;MACtD,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAACvB,CAAC,EAAE,IAAI,CAAC,CAAC;MAC7CA,CAAC,aAADA,CAAC,eAADA,CAAC,CAAEwB,eAAe,CAAC,CAAC;IACtB,CAAC;IAAAhD,eAAA,eAgBa,MAAM,CAAC,CAAC;IAzGpB,IAAI,IAAI,CAAC0B,KAAK,CAACxB,KAAK,CAAC+C,QAAQ,EAAE;MAC7B,IAAI,CAACC,WAAW,CAAC,CAAC;IACpB;EACF;EA2BAC,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,aAAa,GAAG,IAAI,CAAC1B,KAAK,CAACxB,KAAK,CAACyB,IAAI,KAAK,cAAc;IAC9D,OAAO,IAAI,CAAC0B,KAAK,CAACC,QAAQ,CAAC,GAAG,IAAI,CAACC,YAAY,IAAIH,aAAa,GAAG,0BAA0B,GAAG,EAAE,EAAE,CAAC;EACvG;EA0BOI,oBAAoBA,CAAEtD,KAAsB,EAAGU,MAAwB,EAAE6C,UAAe,EAAE;IAC/F,oBACE/E,KAAA,CAAAgF,aAAA,CAAC/D,UAAU;MAACgE,KAAK,EAAEzD,KAAK,CAACyB,IAAI,KAAK,cAAc,GAAG;QAAC8B;MAAU,CAAC,GAAG,IAAI,CAACJ,KAAK,CAACO,UAAU,CAAChD,MAAM,CAACC,OAAO,EAAE4C,UAAU,CAAE;MACpHI,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,UAAU,EAAE/D,KAAK,CAACyB,IAAI,KAAK,UAAW;MAACuC,wBAAwB;IAAA,GAC9DhE,KAAK,CAACiE,KAAK,gBAAIzF,KAAA,CAAAgF,aAAA,CAAC7E,IAAI;MAAC8E,KAAK,EAAE/C,MAAM,CAACuD;IAAM,GAAEjE,KAAK,CAACiE,KAAY,CAAC,GAAG,IAAI,eACtEzF,KAAA,CAAAgF,aAAA,CAAC9E,gBAAgB,EAAAwF,QAAA,KACb,IAAI,CAACC,qBAAqB,CAAC,cAAc,CAAC;MAC9CC,aAAa,EAAE,CAAE;MAACC,OAAO,EAAEA,CAAA,KAAM;QAC/BrE,KAAK,CAACsE,SAAS,KAAK,QAAQ,IAAI,IAAI,CAACC,IAAI,CAAC,CAAC;MAC7C,CAAE;MAACd,KAAK,EAAE/C,MAAM,CAAC8D,cAAc,CAACC;IAAK,iBACnCjG,KAAA,CAAAgF,aAAA,CAAClE,WAAW,EAAA4E,QAAA;MACRxD,MAAM,EAAEA,MAAM,CAAC8D,cAAe;MAC9BE,MAAM,EAAEA,CAAA,KAAM,IAAI,CAAC7B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IAAE,GACrD7C,KAAK,CAAC2E,aAAa,GAAG;MACxBA,aAAa,EAAEA,CAACC,CAAM,EAAEF,MAAgB,KAAK;QAC3C,OAAO1E,KAAK,CAAC2E,aAAa,IAAI3E,KAAK,CAAC2E,aAAa,CAAC3E,KAAK,EAAE0E,MAAM,CAAC;MAClE;IACF,CAAC,GAAG,CAAC,CAAC,GACL1E,KAAK,CAAC2E,aAAa,GAAG,IAAI,GAAG3E,KAAK,CAAC6E,QAC3B,CACG,CACR,CAAC;EACZ;EAQIC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IAChE,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAOF,IAAI;MACT,KAAK,UAAU;QACb,IAAGC,IAAI,EAAC;UACN,IAAI,CAAChC,WAAW,IAAI,IAAI,CAACA,WAAW,CAAC,CAAC;QACxC,CAAC,MACG;UACF,IAAI,CAACuB,IAAI,IAAI,IAAI,CAACA,IAAI,CAAC,CAAC;QAC5B;IACF;EACF;EAKAW,mBAAmBA,CAACC,OAAwB,EAAEzE,MAAuB,EAAE0E,YAA0B,EAAE;IACjG,MAAMC,CAAC,GAAG,IAAI,CAAC7D,KAAK,CAAC8D,YAAY;IACjCD,CAAC,CAACE,UAAU,GAAG7E,MAAM,CAAC8E,KAAK;IAC3BH,CAAC,CAACI,YAAY,GAAG;MAAC,GAAG/E,MAAM,CAACgF,YAAY;MAAE,GAAG,IAAI,CAAClE,KAAK,CAACD;IAAQ,CAAC;IACjE8D,CAAC,CAACF,OAAO,GAAGA,OAAO;IACnBE,CAAC,CAACM,OAAO,GAAG,IAAI,CAACnE,KAAK,CAACxB,KAAK,CAACsE,SAAS,KAAK,UAAU;IACrDe,CAAC,CAACO,QAAQ,GAAG,IAAI;IACjBP,CAAC,CAACQ,SAAS,GAAG,IAAI,CAACrE,KAAK,CAACxB,KAAK,CAAC8F,gBAAgB,IAAI,WAAW;IAC9DT,CAAC,CAACU,OAAO,GAAG,MAAM;MAChB,IAAI,CAACxB,IAAI,GAAG,MAAM,CAAC,CAAC;MACpB,IAAI,CAACyB,QAAQ,CAAC;QAAEpD,QAAQ,EAAE,KAAK;QAAEqD,eAAe,EAAE,KAAK;QAAEX,YAAY,EAAE,CAAC;MAAkB,CAAC,CAAC;MAC5F,IAAI,CAACzC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC0B,IAAI,GAAG,MAAMa,YAAY,CAACc,SAAS,CAAC,IAAI,CAAC1E,KAAK,CAAC8D,YAAY,CAAC;IACjE,OAAOD,CAAC;EACV;EAEAc,YAAYA,CAACnG,KAAqB,EAAE;IAClC,IAAIuD,UAAU,GAAG,CAAC,CAAQ;IAC1B,MAAM7C,MAAM,GAAG,IAAI,CAACyC,KAAK,CAACO,UAAU,CAAC,IAAI,CAACP,KAAK,CAACC,QAAQ,CAAC,UAAU,GAAGpD,KAAK,CAACyB,IAAI,CAAC,EAAE,IAAI,CAACf,MAAM,CAAC;IAC/F,IAAIV,KAAK,CAACyB,IAAI,KAAK,UAAU,EAAE;MAC7B,IAAIzB,KAAK,CAACoC,YAAY,EAAE;QACtBmB,UAAU,CAACvB,KAAK,GAAGhC,KAAK,CAACoC,YAAY;QACrC1B,MAAM,CAACgF,YAAY,CAAC1D,KAAK,GAAGhC,KAAK,CAACoC,YAAY;MAChD;MACA,IAAIpC,KAAK,CAACoG,aAAa,EAAE;QACvB7C,UAAU,CAACtB,MAAM,GAAGjC,KAAK,CAACoG,aAAa;MACzC;IACF;IACA,oBACE5H,KAAA,CAAAgF,aAAA,CAAC5E,IAAI,EAAAsF,QAAA;MAACT,KAAK,EAAE/C,MAAM,CAAC+D,IAAK;MAAC4B,QAAQ,EAAE,IAAI,CAACC,eAAgB;MAACC,GAAG,EAAEA,GAAG,IAAI;QAAC,IAAI,CAAC3E,IAAI,GAAG2E,GAAW;MAAA;IAAE,GAAK/G,qBAAqB,CAACD,uBAAuB,CAACiH,OAAO,EAAExG,KAAK,CAAC,GAC/J,IAAI,CAACyG,WAAW,eACjBjI,KAAA,CAAAgF,aAAA,CAACrE,QAAQ;MACPuH,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC9Bd,SAAS,EAAE7F,KAAK,CAAC6F,SAAU;MAC3Be,OAAO,EAAE5G,KAAK,CAAC4G,OAAQ;MACvBC,UAAU,EAAE7G,KAAK,CAAC6G,UAAW;MAC7BC,SAAS,EAAE9G,KAAK,CAAC8G,SAAU;MAC3BC,YAAY,EAAE/G,KAAK,CAAC+G,YAAa;MACjCC,UAAU,EAAEhH,KAAK,CAACgH,UAAW;MAC7BC,SAAS,EAAEjH,KAAK,CAACiH,SAAU;MAC3BC,UAAU,EAAElH,KAAK,CAACkH,UAAW;MAC7BC,OAAO,EAAEnH,KAAK,CAACmH,OAAQ;MACvBzG,MAAM,EAAEA,MAAM,CAAC0G,IAAK;MACpBC,KAAK,EAAE,IAAI,CAACrE,WAAY;MACxBe,UAAU,EAAE;IAAM,CAAC,CAAC,EACrB,IAAI,CAACvC,KAAK,CAACoB,QAAQ,gBAClBpE,KAAA,CAAAgF,aAAA,CAACtE,aAAa,QACVkG,YAA0B,IAAK;MAC/BA,YAAY,CAACkC,SAAS,CAAC,IAAI,CAACpC,mBAAmB,CAAClF,KAAK,CAACyB,IAAI,KAAK,cAAc,gBAC3EjD,KAAA,CAAAgF,aAAA,CAAC1E,QAAQ,CAACF,IAAI,EAAAsF,QAAA;QAACT,KAAK,EAAG,CAAC/C,MAAM,CAACC,OAAO,EAAC;UAAEsB,MAAM,EAAE,IAAI,CAACpB;QAAM,CAAC;MAAE,GAAK,IAAI,CAAC0G,YAAY,CAACC,WAAW,gBAC/FhJ,KAAA,CAAAgF,aAAA,CAAC9D,sBAAsB,QACvB,IAAI,CAAC4D,oBAAoB,CAACtD,KAAK,EAAEU,MAAM,EAAE6C,UAAU,CAC5B,CACR,CAAC,GAChB,IAAI,CAACD,oBAAoB,CAACtD,KAAK,EAAEU,MAAM,EAAE6C,UAAU,CAAE,EAAE7C,MAAM,EAAE0E,YAAY,CAAC,CAAC;MACjF,OAAO,IAAI;IACb,CACa,CAAC,GAAI,IAClB,CAAC;EACX;AACF","ignoreList":[]}
|
@@ -23,9 +23,10 @@ export default class WmPopoverProps extends BaseProps {
|
|
23
23
|
_defineProperty(this, "iconheight", null);
|
24
24
|
_defineProperty(this, "iconwidth", null);
|
25
25
|
_defineProperty(this, "iconmargin", null);
|
26
|
+
_defineProperty(this, "accessible", true);
|
26
27
|
_defineProperty(this, "accessibilitylabel", undefined);
|
27
28
|
_defineProperty(this, "hint", undefined);
|
28
|
-
_defineProperty(this, "accessibilityrole",
|
29
|
+
_defineProperty(this, "accessibilityrole", 'button');
|
29
30
|
}
|
30
31
|
}
|
31
32
|
//# sourceMappingURL=popover.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,
|
1
|
+
{"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'button';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;EAAA;AAClD","ignoreList":[]}
|
@@ -8,48 +8,86 @@ import { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';
|
|
8
8
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
9
9
|
import WmPageContentProps from './page-content.props';
|
10
10
|
import { DEFAULT_CLASS } from './page-content.styles';
|
11
|
-
import { ScrollView } from 'react-native-gesture-handler';
|
12
11
|
import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
|
13
12
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
14
|
-
|
13
|
+
import Animated from 'react-native-reanimated';
|
14
|
+
import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
|
15
|
+
import { isNumber } from 'lodash-es';
|
16
|
+
export class WmPageContentState extends BaseComponentState {
|
17
|
+
constructor(...args) {
|
18
|
+
super(...args);
|
19
|
+
_defineProperty(this, "navHeightForRender", 0);
|
20
|
+
}
|
21
|
+
}
|
15
22
|
export default class WmPageContent extends BaseComponent {
|
16
23
|
constructor(props) {
|
17
24
|
super(props, DEFAULT_CLASS, new WmPageContentProps());
|
18
25
|
_defineProperty(this, "scrollRef", void 0);
|
19
|
-
_defineProperty(this, "
|
20
|
-
_defineProperty(this, "
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
+
_defineProperty(this, "_unsubscribeNavHeight", void 0);
|
27
|
+
_defineProperty(this, "handleOnScrollEndDrag", event => {
|
28
|
+
var _event$nativeEvent;
|
29
|
+
const {
|
30
|
+
onScrollEndDrag,
|
31
|
+
scrollDirection
|
32
|
+
} = this.context;
|
33
|
+
const scrollPosition = event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 || (_event$nativeEvent = _event$nativeEvent.contentOffset) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.y;
|
34
|
+
if (scrollPosition >= 0) {
|
35
|
+
if (scrollDirection.value > 0) {
|
26
36
|
this.invokeEventCallback('onSwipeup', [null, this.proxy]);
|
27
|
-
} else if (scrollPosition === this.previousScrollPosition) {
|
28
|
-
e.scrollDirection = 0;
|
29
37
|
} else {
|
30
|
-
e.scrollDirection = -1;
|
31
38
|
this.invokeEventCallback('onSwipedown', [null, this.proxy]);
|
32
39
|
}
|
33
|
-
this.
|
34
|
-
this.notify('scroll', [e]);
|
40
|
+
onScrollEndDrag(this.scrollRef);
|
35
41
|
}
|
36
42
|
});
|
43
|
+
_defineProperty(this, "handleScrollViewLayout", () => {
|
44
|
+
requestAnimationFrame(() => {
|
45
|
+
this.notify('updateStickyHeaders', []);
|
46
|
+
});
|
47
|
+
});
|
37
48
|
this.hideMode = HideMode.DONOT_ADD_TO_DOM;
|
38
49
|
this.scrollRef = /*#__PURE__*/createRef();
|
50
|
+
this.state = {
|
51
|
+
...this.state,
|
52
|
+
navHeightForRender: 0
|
53
|
+
};
|
39
54
|
this.subscribe('scrollToPosition', args => {
|
40
55
|
this.scrollTo(args);
|
41
56
|
});
|
42
57
|
this.subscribe('scrollToEnd', () => {
|
43
58
|
var _this$scrollRef;
|
44
|
-
(_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || _this$scrollRef.current.scrollToEnd();
|
59
|
+
(_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || (_this$scrollRef = _this$scrollRef.current) === null || _this$scrollRef === void 0 || _this$scrollRef.scrollToEnd();
|
45
60
|
});
|
46
61
|
}
|
62
|
+
componentDidMount() {
|
63
|
+
super.componentDidMount();
|
64
|
+
const {
|
65
|
+
navHeight
|
66
|
+
} = this.context;
|
67
|
+
this._unsubscribeNavHeight = this.subscribe('updateNavHeight', navHeightValue => {
|
68
|
+
if (this.state.navHeightForRender !== navHeightValue) {
|
69
|
+
this.setState({
|
70
|
+
navHeightForRender: navHeightValue
|
71
|
+
});
|
72
|
+
}
|
73
|
+
return null;
|
74
|
+
});
|
75
|
+
if (navHeight) {
|
76
|
+
this.setState({
|
77
|
+
navHeightForRender: navHeight.value
|
78
|
+
});
|
79
|
+
}
|
80
|
+
}
|
81
|
+
componentWillUnmount() {
|
82
|
+
super.componentWillUnmount();
|
83
|
+
if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();
|
84
|
+
}
|
47
85
|
scrollTo(position) {
|
48
86
|
var _this$scrollRef2;
|
49
87
|
(_this$scrollRef2 = this.scrollRef) === null || _this$scrollRef2 === void 0 || (_this$scrollRef2 = _this$scrollRef2.current) === null || _this$scrollRef2 === void 0 || _this$scrollRef2.scrollTo({
|
50
88
|
x: position.x,
|
51
89
|
y: position.y,
|
52
|
-
|
90
|
+
animated: true
|
53
91
|
});
|
54
92
|
}
|
55
93
|
renderSkeleton(props) {
|
@@ -75,6 +113,10 @@ export default class WmPageContent extends BaseComponent {
|
|
75
113
|
}
|
76
114
|
renderWidget(props) {
|
77
115
|
const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
|
116
|
+
const {
|
117
|
+
bottomTabHeight,
|
118
|
+
onScroll
|
119
|
+
} = this.context;
|
78
120
|
const borderRadiusStyles = {
|
79
121
|
borderRadius: this.styles.root.borderRadius,
|
80
122
|
borderTopLeftRadius: this.styles.root.borderTopLeftRadius,
|
@@ -95,27 +137,38 @@ export default class WmPageContent extends BaseComponent {
|
|
95
137
|
left: 0,
|
96
138
|
right: 0
|
97
139
|
}) => {
|
140
|
+
var _this$styles, _this$styles2, _this$styles3, _this$styles4;
|
98
141
|
const keyboardOffset = props.consumenotch ? (insets === null || insets === void 0 ? void 0 : insets.bottom) || 0 : 0;
|
99
142
|
const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;
|
143
|
+
const paddingTop = ((_this$styles = this.styles) === null || _this$styles === void 0 || (_this$styles = _this$styles.root) === null || _this$styles === void 0 ? void 0 : _this$styles.paddingTop) || ((_this$styles2 = this.styles) === null || _this$styles2 === void 0 || (_this$styles2 = _this$styles2.root) === null || _this$styles2 === void 0 ? void 0 : _this$styles2.padding);
|
144
|
+
const paddingBottom = ((_this$styles3 = this.styles) === null || _this$styles3 === void 0 || (_this$styles3 = _this$styles3.root) === null || _this$styles3 === void 0 ? void 0 : _this$styles3.paddingBottom) || ((_this$styles4 = this.styles) === null || _this$styles4 === void 0 || (_this$styles4 = _this$styles4.root) === null || _this$styles4 === void 0 ? void 0 : _this$styles4.padding);
|
145
|
+
const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;
|
146
|
+
const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
|
147
|
+
const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
|
100
148
|
return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
101
149
|
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
102
150
|
keyboardVerticalOffset: verticalOffset,
|
103
151
|
style: {
|
104
152
|
flex: 1
|
105
153
|
}
|
106
|
-
}, /*#__PURE__*/React.createElement(ScrollView, {
|
154
|
+
}, /*#__PURE__*/React.createElement(Animated.ScrollView, {
|
107
155
|
keyboardShouldPersistTaps: props.keyboardpersisttaps,
|
108
156
|
testID: this.getTestId("page_content_scrollview"),
|
109
157
|
ref: this.scrollRef,
|
110
158
|
contentContainerStyle: [this.styles.root, {
|
111
|
-
backgroundColor: 'transparent'
|
159
|
+
backgroundColor: 'transparent',
|
160
|
+
paddingTop: navHeightVal + paddingTopVal,
|
161
|
+
paddingBottom: bottomTabHeight.value + paddingBottomVal
|
112
162
|
}],
|
163
|
+
onLayout: this.handleScrollViewLayout,
|
113
164
|
showsVerticalScrollIndicator: showScrollbar,
|
114
|
-
onScroll:
|
165
|
+
onScroll: onScroll,
|
115
166
|
alwaysBounceVertical: false,
|
116
167
|
alwaysBounceHorizontal: false,
|
117
168
|
bounces: false,
|
118
|
-
|
169
|
+
overScrollMode: "never",
|
170
|
+
removeClippedSubviews: Platform.OS == 'android',
|
171
|
+
onScrollEndDrag: this.handleOnScrollEndDrag
|
119
172
|
}, props.children));
|
120
173
|
})) : /*#__PURE__*/React.createElement(View, {
|
121
174
|
style: [this.styles.root, {
|
@@ -139,4 +192,5 @@ export default class WmPageContent extends BaseComponent {
|
|
139
192
|
}));
|
140
193
|
}
|
141
194
|
}
|
195
|
+
_defineProperty(WmPageContent, "contextType", StickyWrapperContext);
|
142
196
|
//# sourceMappingURL=page-content.component.js.map
|