@wavemaker/app-rn-runtime 11.10.5-rc.6100 → 11.11.0-rc.209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/actions/notification-action.js +3 -1
  2. package/actions/notification-action.js.map +1 -1
  3. package/components/basic/animatedview.component.js +3 -2
  4. package/components/basic/animatedview.component.js.map +1 -1
  5. package/components/basic/audio/audio.component.js.map +1 -1
  6. package/components/basic/label/label.component.js +78 -33
  7. package/components/basic/label/label.component.js.map +1 -1
  8. package/components/basic/message/message.component.js +1 -1
  9. package/components/basic/message/message.component.js.map +1 -1
  10. package/components/basic/message/message.props.js +1 -0
  11. package/components/basic/message/message.props.js.map +1 -1
  12. package/components/basic/picture/picture.component.js +20 -13
  13. package/components/basic/picture/picture.component.js.map +1 -1
  14. package/components/basic/picture/picture.styles.js.map +1 -1
  15. package/components/basic/search/search.component.js +49 -28
  16. package/components/basic/search/search.component.js.map +1 -1
  17. package/components/basic/search/search.props.js +1 -0
  18. package/components/basic/search/search.props.js.map +1 -1
  19. package/components/basic/skeleton/skeleton.component.js.map +1 -1
  20. package/components/basic/skeleton/skeleton.styles.js.map +1 -1
  21. package/components/chart/bar-chart/bar-chart.component.js +4 -2
  22. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  23. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  24. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  25. package/components/chart/basechart.component.js +9 -2
  26. package/components/chart/basechart.component.js.map +1 -1
  27. package/components/chart/basechart.props.js +3 -1
  28. package/components/chart/basechart.props.js.map +1 -1
  29. package/components/container/container.component.js +10 -2
  30. package/components/container/container.component.js.map +1 -1
  31. package/components/container/container.props.js +1 -0
  32. package/components/container/container.props.js.map +1 -1
  33. package/components/container/container.styles.js +3 -0
  34. package/components/container/container.styles.js.map +1 -1
  35. package/components/data/list/list.component.js +58 -15
  36. package/components/data/list/list.component.js.map +1 -1
  37. package/components/data/list/list.props.js +3 -0
  38. package/components/data/list/list.props.js.map +1 -1
  39. package/components/input/calendar/views/month-view.js.map +1 -1
  40. package/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  41. package/components/navigation/appnavbar/appnavbar.component.js +123 -38
  42. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  43. package/components/navigation/appnavbar/appnavbar.props.js +1 -0
  44. package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  45. package/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
  46. package/components/page/left-panel/left-panel.component.js +3 -2
  47. package/components/page/left-panel/left-panel.component.js.map +1 -1
  48. package/components/page/page-content/page-content.component.js +13 -25
  49. package/components/page/page-content/page-content.component.js.map +1 -1
  50. package/components/page/page.component.js +51 -4
  51. package/components/page/page.component.js.map +1 -1
  52. package/components/page/page.props.js +11 -1
  53. package/components/page/page.props.js.map +1 -1
  54. package/components/page/tabbar/tabbar.component.js +140 -40
  55. package/components/page/tabbar/tabbar.component.js.map +1 -1
  56. package/components/page/tabbar/tabbar.props.js +1 -0
  57. package/components/page/tabbar/tabbar.props.js.map +1 -1
  58. package/core/AppConfig.js.map +1 -1
  59. package/core/base.component.js +38 -5
  60. package/core/base.component.js.map +1 -1
  61. package/core/components/floatinglabel.component.js.map +1 -1
  62. package/core/components/textinput.component.js +18 -2
  63. package/core/components/textinput.component.js.map +1 -1
  64. package/core/fixed-view.component.js +5 -3
  65. package/core/fixed-view.component.js.map +1 -1
  66. package/core/sticky-container.component.js +175 -0
  67. package/core/sticky-container.component.js.map +1 -0
  68. package/core/toast.service.js.map +1 -1
  69. package/core/utils.js +51 -5
  70. package/core/utils.js.map +1 -1
  71. package/npm-shrinkwrap.json +145 -128
  72. package/package-lock.json +145 -128
  73. package/package.json +6 -3
  74. package/runtime/App.js +61 -10
  75. package/runtime/App.js.map +1 -1
  76. package/runtime/base-fragment.component.js +2 -1
  77. package/runtime/base-fragment.component.js.map +1 -1
  78. package/runtime/services/app-toast.service.js +4 -0
  79. package/runtime/services/app-toast.service.js.map +1 -1
@@ -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 } from 'react-native';
6
+ import { Text, View, BackHandler, Animated } 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';
@@ -11,6 +11,9 @@ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.compone
11
11
  import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
12
12
  import WmAppNavbarProps from './appnavbar.props';
13
13
  import { DEFAULT_CLASS } from './appnavbar.styles';
14
+ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
15
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
16
+ import { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
14
17
  export class WmAppNavbarState extends BaseComponentState {}
15
18
  export default class WmAppNavbar extends BaseComponent {
16
19
  constructor(props) {
@@ -18,6 +21,11 @@ export default class WmAppNavbar extends BaseComponent {
18
21
  _defineProperty(this, "onDrawerBtnPress", void 0);
19
22
  _defineProperty(this, "onBackBtnPress", void 0);
20
23
  _defineProperty(this, "onSearchBtnPress", void 0);
24
+ _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));
21
29
  this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);
22
30
  this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);
23
31
  this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);
@@ -29,47 +37,124 @@ export default class WmAppNavbar extends BaseComponent {
29
37
  this.cleanup.push(() => subscription.remove());
30
38
  }
31
39
  }
32
- renderWidget(props) {
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
+ renderContent(props) {
33
74
  //@ts-ignore
34
75
  const badge = props.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
35
76
  style: this.styles.badge
36
77
  }, this.getTestProps('badge')), props.badgevalue) : null;
37
- return /*#__PURE__*/React.createElement(View, {
38
- style: this.styles.root,
39
- onLayout: event => this.handleLayout(event)
40
- }, this._background, /*#__PURE__*/React.createElement(View, {
41
- style: this.styles.leftSection
42
- }, props.showDrawerButton && /*#__PURE__*/React.createElement(WmIcon, {
43
- id: this.getTestId('leftnavbtn'),
44
- hint: 'menu',
45
- styles: this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon),
46
- iconclass: props.leftnavpaneliconclass,
47
- onTap: this.onDrawerBtnPress
48
- }), props.backbutton && /*#__PURE__*/React.createElement(WmIcon, {
49
- id: this.getTestId('backbtn'),
50
- hint: 'back',
51
- styles: this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon),
52
- iconclass: props.backbuttoniconclass,
53
- caption: props.backbuttonlabel,
54
- onTap: this.onBackBtnPress
55
- })), /*#__PURE__*/React.createElement(View, {
56
- style: this.styles.middleSection
57
- }, props.imgsrc && /*#__PURE__*/React.createElement(WmPicture, {
58
- id: this.getTestId('picture'),
59
- styles: this.styles.image,
60
- picturesource: props.imgsrc
61
- }), /*#__PURE__*/React.createElement(Text, _extends({
62
- style: this.styles.content
63
- }, this.getTestPropsForLabel('title'), {
64
- accessibilityRole: "header"
65
- }), props.title), badge), /*#__PURE__*/React.createElement(View, {
66
- style: this.styles.rightSection
67
- }, props.searchbutton && /*#__PURE__*/React.createElement(WmIcon, {
68
- id: this.getTestId('searchbtn'),
69
- styles: this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon),
70
- iconclass: props.searchbuttoniconclass,
71
- onTap: this.onSearchBtnPress
72
- }), props.children));
78
+ return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
79
+ top: 0,
80
+ bottom: 0,
81
+ left: 0,
82
+ right: 0
83
+ }) => {
84
+ var _this$appConfig;
85
+ const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;
86
+ const statusBarCustomisation = (_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 || (_this$appConfig = _this$appConfig.preferences) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.statusbarStyles;
87
+ const isFullScreenMode = !!(statusBarCustomisation !== null && statusBarCustomisation !== void 0 && statusBarCustomisation.translucent);
88
+ const stylesWithFs = isFullScreenMode ? {
89
+ height: this.styles.root.height + ((insets === null || insets === void 0 ? void 0 : insets.top) || 0),
90
+ paddingTop: (paddingTopVal || 0) + ((insets === null || insets === void 0 ? void 0 : insets.top) || 0)
91
+ } : {};
92
+ return /*#__PURE__*/React.createElement(View, {
93
+ style: [this.styles.root, stylesWithFs],
94
+ ref: ref => {
95
+ this.baseView = ref;
96
+ },
97
+ onLayout: event => {
98
+ this.handleLayout(event);
99
+ this.updateTranslateY(insets);
100
+ }
101
+ }, this._background, /*#__PURE__*/React.createElement(View, {
102
+ style: this.styles.leftSection
103
+ }, props.showDrawerButton && /*#__PURE__*/React.createElement(WmIcon, {
104
+ id: this.getTestId('leftnavbtn'),
105
+ hint: 'menu',
106
+ styles: this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon),
107
+ iconclass: props.leftnavpaneliconclass,
108
+ onTap: this.onDrawerBtnPress
109
+ }), props.backbutton && /*#__PURE__*/React.createElement(WmIcon, {
110
+ id: this.getTestId('backbtn'),
111
+ hint: 'back',
112
+ styles: this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon),
113
+ iconclass: props.backbuttoniconclass,
114
+ caption: props.backbuttonlabel,
115
+ onTap: this.onBackBtnPress
116
+ })), /*#__PURE__*/React.createElement(View, {
117
+ style: this.styles.middleSection
118
+ }, props.imgsrc && /*#__PURE__*/React.createElement(WmPicture, {
119
+ id: this.getTestId('picture'),
120
+ styles: this.styles.image,
121
+ picturesource: props.imgsrc
122
+ }), /*#__PURE__*/React.createElement(Text, _extends({
123
+ style: this.styles.content
124
+ }, this.getTestPropsForLabel('title'), {
125
+ accessibilityRole: "header"
126
+ }), props.title), badge), /*#__PURE__*/React.createElement(View, {
127
+ style: this.styles.rightSection
128
+ }, props.searchbutton && /*#__PURE__*/React.createElement(WmIcon, {
129
+ id: this.getTestId('searchbtn'),
130
+ styles: this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon),
131
+ iconclass: props.searchbuttoniconclass,
132
+ onTap: this.onSearchBtnPress
133
+ }), props.children));
134
+ });
135
+ }
136
+ renderWidget(props) {
137
+ this.isFixed = true;
138
+ const animateStyle = props.hideonscroll ? {
139
+ transform: [{
140
+ translateY: this.translateY
141
+ }]
142
+ } : {};
143
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FixedView, {
144
+ style: {
145
+ ...{
146
+ top: 0,
147
+ width: '100%'
148
+ },
149
+ ...animateStyle
150
+ },
151
+ theme: this.theme,
152
+ animated: props.hideonscroll || false
153
+ }, this.renderContent(props)), /*#__PURE__*/React.createElement(View, {
154
+ style: {
155
+ opacity: 0
156
+ }
157
+ }, this.renderContent(props)));
73
158
  }
74
159
  }
75
160
  //# sourceMappingURL=appnavbar.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderWidget","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","root","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"],"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\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\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 renderWidget(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 <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\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 }\n}\n"],"mappings":"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","ignoreList":[]}
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","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","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 statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n\n const stylesWithFs = isFullScreenMode ? {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":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ export default class WmAppNavbarProps extends BaseProps {
16
16
  _defineProperty(this, "searchbutton", false);
17
17
  _defineProperty(this, "searchbuttoniconclass", 'wm-sl-l sl-search');
18
18
  _defineProperty(this, "badgevalue", void 0);
19
+ _defineProperty(this, "hideonscroll", false);
19
20
  }
20
21
  }
21
22
  //# sourceMappingURL=appnavbar.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;IAAAA,eAAA;EAAA;AAE/C","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n hideonscroll?: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;IAAAA,eAAA;IAAAA,eAAA,uBAElB,KAAK;EAAA;AAClC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","backgroundColor","navitemActiveBackgroundColor","height","padding","paddingHorizontal","alignItems","text","action","leftSection","flex","leftnavIcon","icon","fontSize","navbarIconSize","color","navbarTextColor","backIcon","rippleColor","transparent","navbarFontSize","image","width","navbarImageSize","picture","resizeMode","content","textTransform","fontFamily","baseFont","fontWeight","textAlign","badge","titleBadgeBackgroundColor","titleBadgeTextColor","alignSelf","marginLeft","middleSection","rightSection","justifyContent","paddingRight","overflow","textDecorationStyle","undefined","fade","rgb","toString","link"],"sources":["appnavbar.styles.ts"],"sourcesContent":["import Color from 'color';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmMenuStyles } from '@wavemaker/app-rn-runtime/components/navigation/menu/menu.styles';\nimport { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmPopoverStyles } from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.styles';\nimport { WmPictureStyles } from '@wavemaker/app-rn-runtime/components/basic/picture/picture.styles';\n\nexport type WmAppNavbarStyles = BaseStyles & {\n action: WmIconStyles,\n image: WmPictureStyles,\n leftnavIcon: WmIconStyles,\n backIcon: WmIconStyles,\n leftSection: ViewStyle,\n middleSection: ViewStyle,\n rightSection: ViewStyle,\n content: ViewStyle,\n badge: TextStyle\n};\n\nexport const DEFAULT_CLASS = 'app-appnavbar';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmAppNavbarStyles = defineStyles({\n root: {\n flexDirection: 'row',\n backgroundColor: themeVariables.navitemActiveBackgroundColor,\n height: 80,\n padding: 12,\n paddingHorizontal: 12,\n alignItems: 'center'\n },\n text: {},\n action: {} as WmIconStyles,\n leftSection: {\n flex: 1,\n flexDirection: 'row'\n },\n leftnavIcon: {\n root: {\n alignItems: 'flex-start'\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n backIcon: {\n root: {\n rippleColor: themeVariables.transparent\n },\n text: {\n fontSize: themeVariables.navbarFontSize,\n color: themeVariables.navbarTextColor\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n image: {\n root: {\n width: themeVariables.navbarImageSize,\n height: themeVariables.navbarImageSize,\n },\n picture: {\n resizeMode: 'contain'\n }\n } as WmPictureStyles,\n content: {\n textTransform: 'capitalize',\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n fontFamily: themeVariables.baseFont,\n fontWeight: '500',\n textAlign: 'center'\n },\n badge: {\n backgroundColor: themeVariables.titleBadgeBackgroundColor,\n color: themeVariables.titleBadgeTextColor,\n alignSelf: 'flex-start',\n marginLeft: 4\n },\n middleSection: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n rightSection: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'flex-end'\n },\n } as WmAppNavbarStyles);\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('navbarAnchorItem', '', {\n root: {\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n overflow: 'visible'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n textDecorationStyle: undefined\n },\n badge: {\n backgroundColor: Color(themeVariables.navbarTextColor).fade(0.8).rgb().toString(),\n color: themeVariables.navbarTextColor,\n },\n icon: {\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n },\n icon : {\n color: themeVariables.navbarTextColor\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarButton', '', {\n root: {\n backgroundColor: themeVariables.transparent,\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n },\n icon: {\n root: {\n color: themeVariables.navbarTextColor\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarMenu', '', {\n root: {\n paddingRight: 8,\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmMenuStyles);\n addStyle('navbarPopover', '', {\n root: {\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmPopoverStyles);\n});"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","backgroundColor","navitemActiveBackgroundColor","height","padding","paddingHorizontal","alignItems","text","action","leftSection","flex","leftnavIcon","icon","fontSize","navbarIconSize","color","navbarTextColor","backIcon","rippleColor","transparent","navbarFontSize","image","width","navbarImageSize","picture","resizeMode","content","textTransform","fontFamily","baseFont","fontWeight","textAlign","badge","titleBadgeBackgroundColor","titleBadgeTextColor","alignSelf","marginLeft","middleSection","rightSection","justifyContent","paddingRight","overflow","textDecorationStyle","undefined","fade","rgb","toString","link"],"sources":["appnavbar.styles.ts"],"sourcesContent":["import Color from 'color';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmMenuStyles } from '@wavemaker/app-rn-runtime/components/navigation/menu/menu.styles';\nimport { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmPopoverStyles } from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.styles';\nimport { WmPictureStyles } from '@wavemaker/app-rn-runtime/components/basic/picture/picture.styles';\n\nexport type WmAppNavbarStyles = BaseStyles & {\n action: WmIconStyles,\n image: WmPictureStyles,\n leftnavIcon: WmIconStyles,\n backIcon: WmIconStyles,\n leftSection: ViewStyle,\n middleSection: ViewStyle,\n rightSection: ViewStyle,\n content: TextStyle,\n badge: TextStyle\n};\n\nexport const DEFAULT_CLASS = 'app-appnavbar';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmAppNavbarStyles = defineStyles({\n root: {\n flexDirection: 'row',\n backgroundColor: themeVariables.navitemActiveBackgroundColor,\n height: 80,\n padding: 12,\n paddingHorizontal: 12,\n alignItems: 'center'\n },\n text: {},\n action: {} as WmIconStyles,\n leftSection: {\n flex: 1,\n flexDirection: 'row'\n },\n leftnavIcon: {\n root: {\n alignItems: 'flex-start'\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n backIcon: {\n root: {\n rippleColor: themeVariables.transparent\n },\n text: {\n fontSize: themeVariables.navbarFontSize,\n color: themeVariables.navbarTextColor\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n image: {\n root: {\n width: themeVariables.navbarImageSize,\n height: themeVariables.navbarImageSize,\n },\n picture: {\n resizeMode: 'contain'\n }\n } as WmPictureStyles,\n content: {\n textTransform: 'capitalize',\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n fontFamily: themeVariables.baseFont,\n fontWeight: '500',\n textAlign: 'center'\n },\n badge: {\n backgroundColor: themeVariables.titleBadgeBackgroundColor,\n color: themeVariables.titleBadgeTextColor,\n alignSelf: 'flex-start',\n marginLeft: 4\n },\n middleSection: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n rightSection: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'flex-end'\n },\n } as WmAppNavbarStyles);\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('navbarAnchorItem', '', {\n root: {\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n overflow: 'visible'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n textDecorationStyle: undefined\n },\n badge: {\n backgroundColor: Color(themeVariables.navbarTextColor).fade(0.8).rgb().toString(),\n color: themeVariables.navbarTextColor,\n },\n icon: {\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n },\n icon : {\n color: themeVariables.navbarTextColor\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarButton', '', {\n root: {\n backgroundColor: themeVariables.transparent,\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n },\n icon: {\n root: {\n color: themeVariables.navbarTextColor\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarMenu', '', {\n root: {\n paddingRight: 8,\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmMenuStyles);\n addStyle('navbarPopover', '', {\n root: {\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmPopoverStyles);\n});"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
6
6
  import WmLeftPanelProps from './left-panel.props';
7
7
  import { DEFAULT_CLASS } from './left-panel.styles';
8
8
  import { ScrollView } from 'react-native-gesture-handler';
9
+ import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
9
10
  export class WmLeftPanelState extends BaseComponentState {
10
11
  constructor(...args) {
11
12
  super(...args);
@@ -33,7 +34,7 @@ export default class WmLeftPanel extends BaseComponent {
33
34
  return props.children;
34
35
  }
35
36
  renderWidget(props) {
36
- return /*#__PURE__*/React.createElement(ScrollView, {
37
+ return /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(ScrollView, {
37
38
  onScroll: event => {
38
39
  this.notify('scroll', [event]);
39
40
  },
@@ -42,7 +43,7 @@ export default class WmLeftPanel extends BaseComponent {
42
43
  width: "100%",
43
44
  maxWidth: "100%"
44
45
  }]
45
- }, this._background, this.renderContent(props));
46
+ }, this._background, this.renderContent(props)));
46
47
  }
47
48
  }
48
49
  //# sourceMappingURL=left-panel.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={[this.styles.root, {width: \"100%\", maxWidth: \"100%\"}]}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MACTmB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,KAAK,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAM,CAAC;IAAE,GAC5E,IAAI,CAACC,WAAW,EAChB,IAAI,CAACnB,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","FixedViewContainer","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <FixedViewContainer>\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={[this.styles.root, {width: \"100%\", maxWidth: \"100%\"}]}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n </FixedViewContainer>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,kBAAkB,QAAQ,qDAAqD;AAExF,OAAO,MAAMC,gBAAgB,SAASL,kBAAkB,CAAmB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAASV,aAAa,CAAwD;EAE5GO,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAU,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEZ,KAAA,CAAAwB,aAAA,CAAClB,kBAAkB,qBACjBN,KAAA,CAAAwB,aAAA,CAACnB,UAAU;MACToB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,KAAK,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAM,CAAC;IAAE,GAC5E,IAAI,CAACC,WAAW,EAChB,IAAI,CAACnB,aAAa,CAACH,KAAK,CACf,CACM,CAAC;EAEzB;AACF","ignoreList":[]}
@@ -11,43 +11,31 @@ import { DEFAULT_CLASS } from './page-content.styles';
11
11
  import { ScrollView } from 'react-native-gesture-handler';
12
12
  import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
13
13
  import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
14
- export class WmPageContentState extends BaseComponentState {
15
- constructor(...args) {
16
- super(...args);
17
- _defineProperty(this, "previousScrollY", 0);
18
- _defineProperty(this, "swipeThreshold", 8);
19
- }
20
- }
14
+ export class WmPageContentState extends BaseComponentState {}
21
15
  export default class WmPageContent extends BaseComponent {
22
16
  constructor(props) {
23
17
  super(props, DEFAULT_CLASS, new WmPageContentProps());
24
18
  _defineProperty(this, "scrollRef", void 0);
19
+ _defineProperty(this, "previousScrollPosition", 0);
25
20
  _defineProperty(this, "handleScroll", event => {
26
- const currentScrollY = event.nativeEvent.contentOffset.y;
27
- const {
28
- previousScrollY,
29
- swipeThreshold
30
- } = this.state;
31
- const delta = currentScrollY - previousScrollY;
32
- if (Math.abs(delta) > swipeThreshold) {
33
- if (delta > 0) {
21
+ const scrollPosition = event.nativeEvent.contentOffset.y;
22
+ if (Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >= 0) {
23
+ const e = event;
24
+ if (scrollPosition > this.previousScrollPosition) {
25
+ e.scrollDirection = 1;
34
26
  this.invokeEventCallback('onSwipeup', [null, this.proxy]);
27
+ } else if (scrollPosition === this.previousScrollPosition) {
28
+ e.scrollDirection = 0;
35
29
  } else {
30
+ e.scrollDirection = -1;
36
31
  this.invokeEventCallback('onSwipedown', [null, this.proxy]);
37
32
  }
38
- this.setState({
39
- previousScrollY: currentScrollY
40
- });
33
+ this.previousScrollPosition = scrollPosition;
34
+ this.notify('scroll', [e]);
41
35
  }
42
- this.notify('scroll', [event]);
43
36
  });
44
37
  this.hideMode = HideMode.DONOT_ADD_TO_DOM;
45
38
  this.scrollRef = /*#__PURE__*/createRef();
46
- this.state = {
47
- ...this.state,
48
- previousScrollY: 0,
49
- swipeThreshold: 8
50
- };
51
39
  this.subscribe('scrollToPosition', args => {
52
40
  this.scrollTo(args);
53
41
  });
@@ -58,7 +46,7 @@ export default class WmPageContent extends BaseComponent {
58
46
  }
59
47
  scrollTo(position) {
60
48
  var _this$scrollRef2;
61
- (_this$scrollRef2 = this.scrollRef) === null || _this$scrollRef2 === void 0 || _this$scrollRef2.current.scrollTo({
49
+ (_this$scrollRef2 = this.scrollRef) === null || _this$scrollRef2 === void 0 || (_this$scrollRef2 = _this$scrollRef2.current) === null || _this$scrollRef2 === void 0 || _this$scrollRef2.scrollTo({
62
50
  x: position.x,
63
51
  y: position.y,
64
52
  Animated: true
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","currentScrollY","nativeEvent","contentOffset","y","previousScrollY","swipeThreshold","state","delta","Math","abs","invokeEventCallback","proxy","setState","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","testID","getTestId","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n previousScrollY: number = 0;\n swipeThreshold: number = 8;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n previousScrollY: 0,\n swipeThreshold: 8\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const currentScrollY = event.nativeEvent.contentOffset.y;\n const { previousScrollY, swipeThreshold } = this.state;\n \n const delta = currentScrollY - previousScrollY;\n \n if (Math.abs(delta) > swipeThreshold) {\n if (delta > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n \n } else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.setState({ previousScrollY: currentScrollY });\n }\n this.notify('scroll', [event]);\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n \n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAmB,OAAO;AACnD,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,IAAI,QAAiD,cAAc;AAC5G,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAC1E,SAASC,UAAU,QAAQ,8BAA8B;AACzD,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,OAAO,MAAMC,kBAAkB,SAASN,kBAAkB,CAAqB;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACnD,CAAC;IAAAA,eAAA,yBACF,CAAC;EAAA;AAC5B;AAEA,eAAe,MAAMC,aAAa,SAASX,aAAa,CAA8D;EAGpHQ,WAAWA,CAACI,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;IAACQ,eAAA;IAAAA,eAAA,uBA2BhCG,KAA8C,IAAK;MACzE,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC;MACxD,MAAM;QAAEC,eAAe;QAAEC;MAAe,CAAC,GAAG,IAAI,CAACC,KAAK;MAEtD,MAAMC,KAAK,GAAGP,cAAc,GAAGI,eAAe;MAE9C,IAAII,IAAI,CAACC,GAAG,CAACF,KAAK,CAAC,GAAGF,cAAc,EAAE;QACpC,IAAIE,KAAK,GAAG,CAAC,EAAE;UACb,IAAI,CAACG,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAE3D,CAAC,MAAM;UACL,IAAI,CAACD,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7D;QACA,IAAI,CAACC,QAAQ,CAAC;UAAER,eAAe,EAAEJ;QAAe,CAAC,CAAC;MACpD;MACA,IAAI,CAACa,MAAM,CAAC,QAAQ,EAAE,CAACd,KAAK,CAAC,CAAC;IAChC,CAAC;IA1CC,IAAI,CAACe,QAAQ,GAAG7B,QAAQ,CAAC8B,gBAAgB;IACzC,IAAI,CAACC,SAAS,gBAAGpC,SAAS,CAAC,CAAC;IAE5B,IAAI,CAAC0B,KAAK,GAAG;MACX,GAAG,IAAI,CAACA,KAAK;MACbF,eAAe,EAAE,CAAC;MAClBC,cAAc,EAAE;IAClB,CAAC;IAED,IAAI,CAACY,SAAS,CAAC,kBAAkB,EAAGtB,IAAS,IAAK;MAChD,IAAI,CAACuB,QAAQ,CAACvB,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAACsB,SAAS,CAAC,aAAa,EAAE,MAAM;MAAA,IAAAE,eAAA;MAClC,CAAAA,eAAA,OAAI,CAACH,SAAS,cAAAG,eAAA,eAAdA,eAAA,CAAgBC,OAAO,CAACC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC;EACJ;EAEOH,QAAQA,CAACI,QAAgC,EAAC;IAAA,IAAAC,gBAAA;IAC/C,CAAAA,gBAAA,OAAI,CAACP,SAAS,cAAAO,gBAAA,eAAdA,gBAAA,CAAgBH,OAAO,CAACF,QAAQ,CAAC;MAC/BM,CAAC,EAAEF,QAAQ,CAACE,CAAC;MACbrB,CAAC,EAAEmB,QAAQ,CAACnB,CAAC;MACbsB,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAoBOC,cAAcA,CAAC5B,KAAyB,EAAmB;IAChE,IAAG,IAAI,CAACA,KAAK,CAAC6B,yBAAyB,EAAE;MACvC,oBAAOhD,KAAA,CAAAiD,aAAA,CAAC7C,IAAI;QAAC8C,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,IAAI;MAAE,gBACvDrD,KAAA,CAAAiD,aAAA,CAACrC,QAAQ;QAACwC,MAAM,EAAE;UAAEE,OAAO,EAAE;YAAC,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI;YAAE,GAAG,IAAI,CAACD,MAAM,CAACG,QAAQ,CAACF;UAAI;QAAE,CAAE;QAACG,MAAM,EAAE,IAAI,CAACrC,KAAK,CAAC6B,yBAA0B;QAACS,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAACxC,KAAK,CAACyC;MAAuB,CAAC,CACnM,CAAC;IACT;IACA,OAAO,IAAI;EACb;EAEAC,YAAYA,CAAC1C,KAAyB,EAAE;IACtC,MAAM2C,aAAa,GAAI,IAAI,CAACV,MAAM,CAACC,IAAI,CAASU,cAAc,IAAI,aAAa;IAE/E,OAAQ5C,KAAK,CAAC6C,UAAU,IAAI3D,gBAAgB,CAAC,CAAC,gBAC5CL,KAAA,CAAAiD,aAAA,CAAC7C,IAAI;MAAC8C,KAAK,EAAE;QAACe,MAAM,EAAE,MAAM;QAAEd,KAAK,EAAE,MAAM;QAAEe,eAAe,EAAE,IAAI,CAACC,aAAa,IAAI,IAAI,CAACf,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GAAG,IAAI,CAACd,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GAAG,IAAI,CAACd,MAAM,CAACC,IAAI,CAACa;MAAe;IAAE,GAC3M,IAAI,CAACE,WAAW,eACjBpE,KAAA,CAAAiD,aAAA,CAACpC,qBAAqB,CAACwD,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC;MAC1C,MAAMI,cAAc,GAAGzE,QAAQ,CAAC0E,EAAE,KAAK,KAAK,GAAGF,cAAc,GAAGxD,KAAK,CAAC2D,sBAAsB,GAAGH,cAAc;MAC7G,oBACE3E,KAAA,CAAAiD,aAAA,CAAC/C,oBAAoB;QACnB6E,QAAQ,EAAE5E,QAAQ,CAAC0E,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvC1B,KAAK,EAAE;UAAEgC,IAAI,EAAE;QAAE;MAAE,gBACnBlF,KAAA,CAAAiD,aAAA,CAACtC,UAAU;QACTwE,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,yBAAyB,CAAE;QAClDC,GAAG,EAAE,IAAI,CAAChD,SAAU;QACpBiD,qBAAqB,EAAE,CAAC,IAAI,CAAClC,MAAM,CAACC,IAAI,EAAE;UAACa,eAAe,EAAE;QAAa,CAAC,CAAE;QAC5EqB,4BAA4B,EAAEzB,aAAc;QAC5C0B,QAAQ,EAAE,IAAI,CAACC,YAAa;QAC5BC,oBAAoB,EAAE,KAAM;QAC5BC,sBAAsB,EAAE,KAAM;QAC9BC,OAAO,EAAE,KAAM;QACfC,mBAAmB,EAAE;MAAG,GACvB1E,KAAK,CAAC2E,QACG,CACQ,CAAC;IACxB,CAC2B,CAC5B,CAAC,gBAEP9F,KAAA,CAAAiD,aAAA,CAAC7C,IAAI;MAAC8C,KAAK,EAAE,CAAC,IAAI,CAACE,MAAM,CAACC,IAAI,EAC1B;QAACa,eAAe,EAAE,IAAI,CAACC,aAAa,GAClC,IAAI,CAACf,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GACzC,IAAI,CAACd,MAAM,CAACC,IAAI,CAACa;MAAe,CAAC;IAAE,gBACvClE,KAAA,CAAAiD,aAAA,CAACpC,qBAAqB,CAACwD,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC;MAC1C,MAAMI,cAAc,GAAGzE,QAAQ,CAAC0E,EAAE,KAAK,KAAK,GAAGF,cAAc,GAAGxD,KAAK,CAAC2D,sBAAsB,GAAGH,cAAc;MAC7G,oBACE3E,KAAA,CAAAiD,aAAA,CAAC/C,oBAAoB;QACnB6E,QAAQ,EAAE5E,QAAQ,CAAC0E,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvC1B,KAAK,EAAE;UAAEgC,IAAI,EAAE;QAAE;MAAE,GAClB,IAAI,CAACd,WAAW,EAChBjD,KAAK,CAAC2E,QACa,CAAC;IACxB,CAC2B,CAC5B,CACP;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","WmPageContent","constructor","props","_defineProperty","event","scrollPosition","nativeEvent","contentOffset","y","Math","abs","previousScrollPosition","e","scrollDirection","invokeEventCallback","proxy","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","args","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","testID","getTestId","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {}\n\nexport interface CustomScrollEvent {\n scrollDirection: number;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n private previousScrollPosition: number = 0;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const scrollPosition = event.nativeEvent.contentOffset.y;\n if(Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\n }\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n \n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -3,24 +3,71 @@ 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 { PanResponder, View } from 'react-native';
6
+ import { PanResponder, ScrollView, View } from 'react-native';
7
7
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
8
8
  import { DEFAULT_CLASS } from './page.styles';
9
+ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
10
+ import { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.component';
11
+ import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
9
12
  export class WmPageState extends BaseComponentState {}
10
13
  export default class WmPage extends BaseComponent {
11
14
  constructor(props) {
12
15
  super(props, DEFAULT_CLASS);
16
+ _defineProperty(this, "scrollRef", void 0);
17
+ _defineProperty(this, "previousScrollPosition", 0);
13
18
  _defineProperty(this, "panResponder", PanResponder.create({
14
19
  onStartShouldSetPanResponderCapture: e => {
15
20
  this.notify('globaltouch', [e]);
16
21
  return false;
17
22
  }
18
23
  }));
24
+ _defineProperty(this, "onScroll", event => {
25
+ const scrollPosition = event.nativeEvent.contentOffset.y;
26
+ const scrollDelta = Math.abs(scrollPosition - this.previousScrollPosition);
27
+ if (scrollPosition >= 0) {
28
+ const e = event;
29
+ if (scrollPosition > this.previousScrollPosition) {
30
+ e.scrollDirection = 1;
31
+ } else if (scrollPosition === this.previousScrollPosition) {
32
+ e.scrollDirection = 0;
33
+ } else {
34
+ e.scrollDirection = -1;
35
+ }
36
+ e.scrollDelta = scrollDelta;
37
+ this.previousScrollPosition = scrollPosition;
38
+ this.notify('scroll', [e]);
39
+ }
40
+ });
41
+ this.scrollRef = /*#__PURE__*/React.createRef();
42
+ }
43
+ scrollTo(position) {
44
+ var _this$scrollRef;
45
+ (_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || (_this$scrollRef = _this$scrollRef.current) === null || _this$scrollRef === void 0 || _this$scrollRef.scrollTo({
46
+ x: position.x,
47
+ y: position.y,
48
+ Animated: true
49
+ });
19
50
  }
20
51
  renderWidget(props) {
21
- return /*#__PURE__*/React.createElement(View, _extends({
22
- style: this.styles.root
23
- }, this.panResponder.panHandlers), this._background, props.children);
52
+ return /*#__PURE__*/React.createElement(StickyViewContainer, null, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
53
+ top: 0,
54
+ bottom: 0,
55
+ left: 0,
56
+ right: 0
57
+ }) => {
58
+ return props.scrollable ? /*#__PURE__*/React.createElement(ScrollView, _extends({
59
+ ref: this.scrollRef
60
+ }, this.panResponder.panHandlers, {
61
+ style: [{
62
+ width: '100%',
63
+ height: '100%'
64
+ }, this.styles.root],
65
+ onScroll: this.onScroll,
66
+ scrollEventThrottle: 16
67
+ }), this._background, props.children) : /*#__PURE__*/React.createElement(View, {
68
+ style: this.styles.root
69
+ }, this._background, props.children);
70
+ })));
24
71
  }
25
72
  }
26
73
  //# sourceMappingURL=page.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","PanResponder","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","WmPageState","WmPage","constructor","props","_defineProperty","create","onStartShouldSetPanResponderCapture","e","notify","renderWidget","createElement","_extends","style","styles","root","panResponder","panHandlers","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport WmLottie from '../basic/lottie/lottie.component';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS, );\n }\n renderWidget(props: WmPageProps) {\n return (\n <View style={this.styles.root} {...this.panResponder.panHandlers}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,IAAI,QAAQ,cAAc;AAEjD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAIjG,SAASC,aAAa,QAAsB,eAAe;AAG3D,OAAO,MAAMC,WAAW,SAASF,kBAAkB,CAAc;AAEjE,eAAe,MAAMG,MAAM,SAASJ,aAAa,CAAyC;EAQxFK,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEJ,aAAe,CAAC;IAACK,eAAA,uBAPjBT,YAAY,CAACU,MAAM,CAAC;MACjCC,mCAAmC,EAAGC,CAAC,IAAK;QAC1C,IAAI,CAACC,MAAM,CAAC,aAAa,EAAE,CAACD,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK;MACd;IACF,CAAC,CAAC;EAGF;EACAE,YAAYA,CAACN,KAAkB,EAAE;IAC/B,oBACIT,KAAA,CAAAgB,aAAA,CAACd,IAAI,EAAAe,QAAA;MAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAAK,IAAI,CAACC,YAAY,CAACC,WAAW,GAC7D,IAAI,CAACC,WAAW,EAChBd,KAAK,CAACe,QACH,CAAC;EAEb;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","PanResponder","ScrollView","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewContainer","FixedViewContainer","WmPageState","WmPage","constructor","props","_defineProperty","create","onStartShouldSetPanResponderCapture","e","notify","event","scrollPosition","nativeEvent","contentOffset","y","scrollDelta","Math","abs","previousScrollPosition","scrollDirection","scrollRef","createRef","scrollTo","position","_this$scrollRef","current","x","Animated","renderWidget","createElement","Consumer","insets","top","bottom","left","right","scrollable","_extends","ref","panResponder","panHandlers","style","width","height","styles","root","onScroll","scrollEventThrottle","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private scrollRef: React.RefObject<any>;\n private previousScrollPosition: number = 0;\n\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS, );\n this.scrollRef = React.createRef();\n }\n\n private onScroll = (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const scrollPosition = event.nativeEvent.contentOffset.y;\n const scrollDelta = Math.abs(scrollPosition - this.previousScrollPosition) \n if(scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n }\n e.scrollDelta = scrollDelta;\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\n }\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n renderWidget(props: WmPageProps) {\n return (\n <StickyViewContainer>\n <FixedViewContainer>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return props.scrollable ? \n <ScrollView\n ref={this.scrollRef}\n {...this.panResponder.panHandlers}\n style={[{ width:'100%', height:'100%' }, this.styles.root]}\n onScroll={this.onScroll}\n scrollEventThrottle={16}\n >\n {this._background}\n {props.children}\n </ScrollView> : \n <View style={this.styles.root}> \n {this._background}\n {props.children}\n </View>\n }}\n </SafeAreaInsetsContext.Consumer>\n </FixedViewContainer>\n </StickyViewContainer>\n ); \n }\n}\n"],"mappings":"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","ignoreList":[]}