@wavemaker-ai/app-rn-runtime 12.0.2-rc.344 → 12.1.0-rc.347
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/webview/webview.component.js +1 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -2
- package/components/basic/label/label.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +10 -3
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +12 -8
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +1 -0
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +152 -17
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +5 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +1280 -565
- package/package-lock.json +1280 -565
- package/package.json +3 -3
- package/runtime/App.js +52 -36
- package/runtime/App.js.map +1 -1
- package/runtime/App.navigator.js +4 -1
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-security.service.js +40 -19
- package/runtime/services/app-security.service.js.map +1 -1
- package/runtime/services/browser.constants.js +3 -0
- package/runtime/services/browser.constants.js.map +1 -0
- package/runtime/services/browser.service.js +321 -0
- package/runtime/services/browser.service.js.map +1 -0
- package/runtime/services/external-auth-callback.service.js +44 -0
- package/runtime/services/external-auth-callback.service.js.map +1 -0
- package/runtime/services/webprocess.service.js +8 -3
- package/runtime/services/webprocess.service.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js +52 -11
- package/styles/theme.js.map +1 -1
- package/components-prism/basic/search/search.component.js +0 -208
- package/components-prism/basic/search/search.component.js.map +0 -1
- package/components-prism/basic/search/search.props.js +0 -16
- package/components-prism/basic/search/search.props.js.map +0 -1
- package/components-prism/basic/search/search.styles.js +0 -127
- package/components-prism/basic/search/search.styles.js.map +0 -1
- package/core/outside-press-handler.js +0 -65
- package/core/outside-press-handler.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
1
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
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); }
|
|
4
5
|
import React, { createRef } from 'react';
|
|
5
|
-
import { KeyboardAvoidingView, Platform, View } from 'react-native';
|
|
6
|
+
import { KeyboardAvoidingView, Platform, View, RefreshControl, PanResponder } from 'react-native';
|
|
6
7
|
import { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';
|
|
7
8
|
import { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';
|
|
8
9
|
import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';
|
|
@@ -14,11 +15,15 @@ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
|
14
15
|
import Animated from 'react-native-reanimated';
|
|
15
16
|
import { StickyWrapperContext } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';
|
|
16
17
|
import { isNumber } from 'lodash-es';
|
|
18
|
+
import injector from '@wavemaker-ai/app-rn-runtime/core/injector';
|
|
19
|
+
import { WmPullToRefreshView, WmPullToRefreshScrollView } from './pull-to-refresh.component';
|
|
17
20
|
export class WmPageContentState extends BaseComponentState {
|
|
18
21
|
constructor(...args) {
|
|
19
22
|
super(...args);
|
|
20
23
|
_defineProperty(this, "navHeightForRender", 0);
|
|
21
24
|
_defineProperty(this, "bottomTabHeightForRender", 0);
|
|
25
|
+
_defineProperty(this, "refreshing", false);
|
|
26
|
+
_defineProperty(this, "spinnerAspectRatio", void 0);
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
export default class WmPageContent extends BaseComponent {
|
|
@@ -26,6 +31,19 @@ export default class WmPageContent extends BaseComponent {
|
|
|
26
31
|
super(props, DEFAULT_CLASS, new WmPageContentProps());
|
|
27
32
|
_defineProperty(this, "scrollRef", void 0);
|
|
28
33
|
_defineProperty(this, "_unsubscribeNavHeight", void 0);
|
|
34
|
+
_defineProperty(this, "_refreshTimeout", void 0);
|
|
35
|
+
_defineProperty(this, "isRefreshing", false);
|
|
36
|
+
_defineProperty(this, "handleHorizontalSwipeEnd", dx => {
|
|
37
|
+
if (dx <= -50) {
|
|
38
|
+
this.invokeEventCallback('onSwipeleft', [null, this.proxy]);
|
|
39
|
+
} else if (dx >= 50) {
|
|
40
|
+
this.invokeEventCallback('onSwiperight', [null, this.proxy]);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
_defineProperty(this, "horizontalSwipeResponder", PanResponder.create({
|
|
44
|
+
onMoveShouldSetPanResponder: (e, gestureState) => !!(this.props.onSwipeleft || this.props.onSwiperight) && Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.dx) > 30,
|
|
45
|
+
onPanResponderRelease: (e, gestureState) => this.handleHorizontalSwipeEnd(gestureState.dx)
|
|
46
|
+
}));
|
|
29
47
|
_defineProperty(this, "handleOnScrollEndDrag", event => {
|
|
30
48
|
if (this.context) {
|
|
31
49
|
var _event$nativeEvent;
|
|
@@ -44,6 +62,34 @@ export default class WmPageContent extends BaseComponent {
|
|
|
44
62
|
}
|
|
45
63
|
}
|
|
46
64
|
});
|
|
65
|
+
_defineProperty(this, "handleRefresh", () => {
|
|
66
|
+
if (this.isRefreshing) return;
|
|
67
|
+
this.isRefreshing = true;
|
|
68
|
+
this.setState({
|
|
69
|
+
refreshing: true
|
|
70
|
+
});
|
|
71
|
+
const MIN_DURATION = 500;
|
|
72
|
+
const start = Date.now();
|
|
73
|
+
let result;
|
|
74
|
+
try {
|
|
75
|
+
result = this.invokeEventCallback('onPulltorefresh', [null, this.proxy]);
|
|
76
|
+
} catch (e) {
|
|
77
|
+
this.isRefreshing = false;
|
|
78
|
+
this.updateState({
|
|
79
|
+
refreshing: false
|
|
80
|
+
});
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
83
|
+
Promise.resolve(result).catch(e => console.error(e)).finally(() => {
|
|
84
|
+
const wait = Math.max(0, MIN_DURATION - (Date.now() - start));
|
|
85
|
+
this._refreshTimeout = setTimeout(() => {
|
|
86
|
+
this.isRefreshing = false;
|
|
87
|
+
this.updateState({
|
|
88
|
+
refreshing: false
|
|
89
|
+
});
|
|
90
|
+
}, wait);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
47
93
|
_defineProperty(this, "handleScrollViewLayout", () => {
|
|
48
94
|
requestAnimationFrame(() => {
|
|
49
95
|
this.notify('updateStickyHeaders', []);
|
|
@@ -54,7 +100,8 @@ export default class WmPageContent extends BaseComponent {
|
|
|
54
100
|
this.state = {
|
|
55
101
|
...this.state,
|
|
56
102
|
navHeightForRender: 0,
|
|
57
|
-
bottomTabHeightForRender: 0
|
|
103
|
+
bottomTabHeightForRender: 0,
|
|
104
|
+
refreshing: false
|
|
58
105
|
};
|
|
59
106
|
this.subscribe('scrollToPosition', args => {
|
|
60
107
|
this.scrollTo(args);
|
|
@@ -99,6 +146,7 @@ export default class WmPageContent extends BaseComponent {
|
|
|
99
146
|
componentWillUnmount() {
|
|
100
147
|
super.componentWillUnmount();
|
|
101
148
|
if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();
|
|
149
|
+
if (this._refreshTimeout) clearTimeout(this._refreshTimeout);
|
|
102
150
|
}
|
|
103
151
|
scrollTo(position) {
|
|
104
152
|
var _this$scrollRef2;
|
|
@@ -129,6 +177,14 @@ export default class WmPageContent extends BaseComponent {
|
|
|
129
177
|
}
|
|
130
178
|
return null;
|
|
131
179
|
}
|
|
180
|
+
get pulltorefreshsource() {
|
|
181
|
+
var _injector$get;
|
|
182
|
+
return (_injector$get = injector.get('APP_CONFIG')) === null || _injector$get === void 0 ? void 0 : _injector$get.pulltorefreshsource;
|
|
183
|
+
}
|
|
184
|
+
get pulltorefreshclass() {
|
|
185
|
+
var _injector$get2;
|
|
186
|
+
return ((_injector$get2 = injector.get('APP_CONFIG')) === null || _injector$get2 === void 0 ? void 0 : _injector$get2.pulltorefreshclass) || '';
|
|
187
|
+
}
|
|
132
188
|
renderWidget(props) {
|
|
133
189
|
const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
|
|
134
190
|
const borderRadiusStyles = {
|
|
@@ -141,14 +197,14 @@ export default class WmPageContent extends BaseComponent {
|
|
|
141
197
|
const autoLayoutProps = extractAutoLayoutProps(props);
|
|
142
198
|
const hasAutoLayout = isAutoLayout(autoLayoutProps);
|
|
143
199
|
const autoLayoutStyles = hasAutoLayout ? [getDirectionStyle(autoLayoutProps), getContentContainerStyle(autoLayoutProps), getDimensionStyle(autoLayoutProps, this.styles.root)] : [];
|
|
144
|
-
return props.
|
|
200
|
+
return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, _extends({
|
|
145
201
|
style: {
|
|
146
202
|
height: '100%',
|
|
147
203
|
width: '100%',
|
|
148
204
|
...borderRadiusStyles,
|
|
149
205
|
backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
|
|
150
206
|
}
|
|
151
|
-
}, this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
|
207
|
+
}, this.horizontalSwipeResponder.panHandlers), this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
|
152
208
|
top: 0,
|
|
153
209
|
bottom: 0,
|
|
154
210
|
left: 0,
|
|
@@ -163,16 +219,9 @@ export default class WmPageContent extends BaseComponent {
|
|
|
163
219
|
const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
|
|
164
220
|
const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
|
|
165
221
|
const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;
|
|
166
|
-
|
|
167
|
-
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
168
|
-
keyboardVerticalOffset: verticalOffset,
|
|
169
|
-
style: {
|
|
170
|
-
flex: 1
|
|
171
|
-
}
|
|
172
|
-
}, /*#__PURE__*/React.createElement(Animated.ScrollView, {
|
|
222
|
+
const scrollViewProps = {
|
|
173
223
|
keyboardShouldPersistTaps: props.keyboardpersisttaps,
|
|
174
224
|
testID: this.getTestId("page_content_scrollview"),
|
|
175
|
-
ref: this.scrollRef,
|
|
176
225
|
contentContainerStyle: [this.styles.root, {
|
|
177
226
|
backgroundColor: 'transparent',
|
|
178
227
|
paddingTop: navHeightVal + paddingTopVal,
|
|
@@ -180,19 +229,105 @@ export default class WmPageContent extends BaseComponent {
|
|
|
180
229
|
}, ...autoLayoutStyles],
|
|
181
230
|
onLayout: this.handleScrollViewLayout,
|
|
182
231
|
showsVerticalScrollIndicator: showScrollbar,
|
|
183
|
-
onScroll: this.context && this.context.onScroll ? this.context.onScroll : () => {},
|
|
184
232
|
alwaysBounceVertical: false,
|
|
185
233
|
alwaysBounceHorizontal: false,
|
|
186
234
|
bounces: false,
|
|
187
|
-
overScrollMode:
|
|
235
|
+
overScrollMode: 'never',
|
|
188
236
|
removeClippedSubviews: Platform.OS == 'android',
|
|
189
237
|
onScrollEndDrag: this.handleOnScrollEndDrag
|
|
190
|
-
}
|
|
191
|
-
|
|
238
|
+
};
|
|
239
|
+
const onScroll = this.context && this.context.onScroll ? this.context.onScroll : () => {};
|
|
240
|
+
const withKeyboardAvoidingView = content => /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
|
|
241
|
+
behavior: Platform.OS === 'ios' ? 'padding' : undefined,
|
|
242
|
+
keyboardVerticalOffset: verticalOffset,
|
|
243
|
+
style: {
|
|
244
|
+
flex: 1
|
|
245
|
+
}
|
|
246
|
+
}, content);
|
|
247
|
+
if (!props.pulltorefresh) {
|
|
248
|
+
return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, scrollViewProps, {
|
|
249
|
+
ref: this.scrollRef,
|
|
250
|
+
onScroll: onScroll
|
|
251
|
+
}), props.children));
|
|
252
|
+
}
|
|
253
|
+
const refreshScrollViewProps = {
|
|
254
|
+
...scrollViewProps,
|
|
255
|
+
alwaysBounceVertical: true,
|
|
256
|
+
bounces: true,
|
|
257
|
+
overScrollMode: 'auto'
|
|
258
|
+
};
|
|
259
|
+
const useLottieSpinner = !!this.pulltorefreshsource && (Platform.OS === 'ios' || Platform.OS === 'android');
|
|
260
|
+
if (!useLottieSpinner) {
|
|
261
|
+
const isIOS = Platform.OS === 'ios';
|
|
262
|
+
return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, refreshScrollViewProps, {
|
|
263
|
+
ref: this.scrollRef,
|
|
264
|
+
onScroll: onScroll,
|
|
265
|
+
contentContainerStyle: [scrollViewProps.contentContainerStyle, isIOS && {
|
|
266
|
+
paddingTop: paddingTopVal
|
|
267
|
+
}],
|
|
268
|
+
contentInset: isIOS ? {
|
|
269
|
+
top: navHeightVal
|
|
270
|
+
} : undefined,
|
|
271
|
+
contentOffset: isIOS ? {
|
|
272
|
+
x: 0,
|
|
273
|
+
y: -navHeightVal
|
|
274
|
+
} : undefined,
|
|
275
|
+
refreshControl: /*#__PURE__*/React.createElement(RefreshControl, {
|
|
276
|
+
refreshing: this.state.refreshing,
|
|
277
|
+
onRefresh: this.handleRefresh,
|
|
278
|
+
progressViewOffset: Platform.OS === 'android' ? navHeightVal : undefined
|
|
279
|
+
})
|
|
280
|
+
}), props.children));
|
|
281
|
+
}
|
|
282
|
+
const lottieScrollViewProps = {
|
|
283
|
+
...refreshScrollViewProps,
|
|
284
|
+
style: {
|
|
285
|
+
flex: 1,
|
|
286
|
+
width: '100%'
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
const topOffset = navHeightVal + paddingTopVal;
|
|
290
|
+
const spinner = /*#__PURE__*/React.createElement(WmLottie, {
|
|
291
|
+
show: true,
|
|
292
|
+
source: this.pulltorefreshsource,
|
|
293
|
+
loop: true,
|
|
294
|
+
speed: 1,
|
|
295
|
+
autoplay: true,
|
|
296
|
+
classname: this.pulltorefreshclass
|
|
297
|
+
});
|
|
298
|
+
if (Platform.OS === 'ios') {
|
|
299
|
+
var _this$context;
|
|
300
|
+
return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshScrollView, {
|
|
301
|
+
ref: this.scrollRef,
|
|
302
|
+
scrollViewProps: lottieScrollViewProps,
|
|
303
|
+
refreshing: this.state.refreshing,
|
|
304
|
+
onRefresh: this.handleRefresh,
|
|
305
|
+
stickyOnScrollWorklet: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.onScrollWorklet,
|
|
306
|
+
topOffset: topOffset,
|
|
307
|
+
spinner: spinner,
|
|
308
|
+
spinnerAspectRatio: this.state.spinnerAspectRatio
|
|
309
|
+
}, props.children));
|
|
310
|
+
}
|
|
311
|
+
return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshView, {
|
|
312
|
+
style: {
|
|
313
|
+
flex: 1,
|
|
314
|
+
flexDirection: 'column',
|
|
315
|
+
width: '100%'
|
|
316
|
+
},
|
|
317
|
+
spinner: spinner,
|
|
318
|
+
refreshing: this.state.refreshing,
|
|
319
|
+
onRefresh: this.handleRefresh,
|
|
320
|
+
topOffset: topOffset,
|
|
321
|
+
spinnerAspectRatio: this.state.spinnerAspectRatio
|
|
322
|
+
}, /*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, lottieScrollViewProps, {
|
|
323
|
+
ref: this.scrollRef,
|
|
324
|
+
onScroll: onScroll
|
|
325
|
+
}), props.children)));
|
|
326
|
+
})) : /*#__PURE__*/React.createElement(View, _extends({
|
|
192
327
|
style: [this.styles.root, {
|
|
193
328
|
backgroundColor: this._showSkeleton ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
|
|
194
329
|
}, ...autoLayoutStyles]
|
|
195
|
-
}, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
|
330
|
+
}, this.horizontalSwipeResponder.panHandlers), /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
|
196
331
|
top: 0,
|
|
197
332
|
bottom: 0,
|
|
198
333
|
left: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","invokeEventCallback","proxy","scrollRef","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","bottomTabHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","setState","navHeight","bottomTabHeightValue","bottomTabHeight","hasOwnFillHugResolution","componentWillUnmount","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","autoLayoutProps","hasAutoLayout","autoLayoutStyles","overflow","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","bottomTabHeightVal","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","onScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker-ai/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\nimport WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n bottomTabHeightForRender = 0;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : 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 navHeightForRender: 0,\n bottomTabHeightForRender: 0,\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 componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n\n this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', (bottomTabHeightValue: number) => {\n if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {\n this.setState({ bottomTabHeightForRender: bottomTabHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n this.setState({ bottomTabHeightForRender: (this.context as StickyWrapperContextType).bottomTabHeight.value });\n }\n }\n\n protected hasOwnFillHugResolution(): boolean {\n return isAutoLayout(extractAutoLayoutProps(this.state.props));\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\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 handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\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 private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n\n const autoLayoutProps = extractAutoLayoutProps(props);\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const autoLayoutStyles = hasAutoLayout ? [\n getDirectionStyle(autoLayoutProps),\n getContentContainerStyle(autoLayoutProps),\n getDimensionStyle(autoLayoutProps, this.styles.root),\n ] : [];\n\n return (props.overflow == \"scroll\" || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n\n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <Animated.ScrollView\n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[\n this.styles.root, {backgroundColor: 'transparent', \n paddingTop: navHeightVal + paddingTopVal, \n paddingBottom: bottomTabHeightVal + paddingBottomVal\n },\n ...autoLayoutStyles,\n ]}\n onLayout={this.handleScrollViewLayout}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.context && (this.context as StickyWrapperContextType).onScroll ?\n (this.context as StickyWrapperContextType).onScroll\n : ()=>{}\n }\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n overScrollMode=\"never\"\n removeClippedSubviews={Platform.OS == 'android'}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n >\n {props.children}\n </Animated.ScrollView>\n </KeyboardAvoidingView>\n )\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 ...autoLayoutStyles,\n ]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 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}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","RefreshControl","PanResponder","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","injector","WmPullToRefreshView","WmPullToRefreshScrollView","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","dx","invokeEventCallback","proxy","create","onMoveShouldSetPanResponder","e","gestureState","onSwipeleft","onSwiperight","Math","abs","dy","onPanResponderRelease","handleHorizontalSwipeEnd","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","scrollRef","isRefreshing","setState","refreshing","MIN_DURATION","start","Date","now","result","updateState","Promise","resolve","catch","console","error","finally","wait","max","_refreshTimeout","setTimeout","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","bottomTabHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","navHeight","bottomTabHeightValue","bottomTabHeight","hasOwnFillHugResolution","componentWillUnmount","clearTimeout","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","pulltorefreshsource","_injector$get","get","pulltorefreshclass","_injector$get2","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","autoLayoutProps","hasAutoLayout","autoLayoutStyles","scrollable","_extends","height","backgroundColor","_showSkeleton","horizontalSwipeResponder","panHandlers","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","bottomTabHeightVal","scrollViewProps","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","onScroll","withKeyboardAvoidingView","behavior","undefined","keyboardVerticalOffset","flex","pulltorefresh","ScrollView","ref","children","refreshScrollViewProps","useLottieSpinner","isIOS","contentInset","refreshControl","onRefresh","handleRefresh","progressViewOffset","lottieScrollViewProps","topOffset","spinner","show","classname","_this$context","stickyOnScrollWorklet","onScrollWorklet","spinnerAspectRatio","flexDirection"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View, RefreshControl, PanResponder } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker-ai/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\nimport WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport { WmPullToRefreshView, WmPullToRefreshScrollView, getSpinnerAspectRatio } from './pull-to-refresh.component';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n bottomTabHeightForRender = 0;\n refreshing = false;\n spinnerAspectRatio?: number;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n private _refreshTimeout: any;\n private isRefreshing = false;\n\n private handleHorizontalSwipeEnd = (dx: number) => {\n if (dx <= -50) {\n this.invokeEventCallback('onSwipeleft', [null, this.proxy]);\n } else if (dx >= 50) {\n this.invokeEventCallback('onSwiperight', [null, this.proxy]);\n }\n };\n\n private horizontalSwipeResponder = PanResponder.create({\n onMoveShouldSetPanResponder: (e, gestureState) =>\n !!(this.props.onSwipeleft || this.props.onSwiperight) &&\n Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.dx) > 30,\n onPanResponderRelease: (e, gestureState) => this.handleHorizontalSwipeEnd(gestureState.dx)\n });\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 navHeightForRender: 0,\n bottomTabHeightForRender: 0,\n refreshing: false,\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 componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n\n this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', (bottomTabHeightValue: number) => {\n if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {\n this.setState({ bottomTabHeightForRender: bottomTabHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n this.setState({ bottomTabHeightForRender: (this.context as StickyWrapperContextType).bottomTabHeight.value });\n }\n }\n\n protected hasOwnFillHugResolution(): boolean {\n return isAutoLayout(extractAutoLayoutProps(this.state.props));\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n if (this._refreshTimeout) clearTimeout(this._refreshTimeout);\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 handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\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 private handleRefresh = () => {\n if (this.isRefreshing) return;\n this.isRefreshing = true;\n this.setState({ refreshing: true });\n const MIN_DURATION = 500;\n const start = Date.now();\n let result;\n try {\n result = this.invokeEventCallback('onPulltorefresh', [null, this.proxy]);\n } catch (e) {\n this.isRefreshing = false;\n this.updateState({ refreshing: false } as WmPageContentState);\n throw e;\n }\n Promise.resolve(result)\n .catch((e) => console.error(e))\n .finally(() => {\n const wait = Math.max(0, MIN_DURATION - (Date.now() - start));\n this._refreshTimeout = setTimeout(() => {\n this.isRefreshing = false;\n this.updateState({ refreshing: false } as WmPageContentState);\n }, wait);\n });\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n private get pulltorefreshsource(): string {\n return injector.get<AppConfig>('APP_CONFIG')?.pulltorefreshsource;\n }\n\n private get pulltorefreshclass(): string {\n return injector.get<AppConfig>('APP_CONFIG')?.pulltorefreshclass || '';\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n\n const autoLayoutProps = extractAutoLayoutProps(props);\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const autoLayoutStyles = hasAutoLayout ? [\n getDirectionStyle(autoLayoutProps),\n getContentContainerStyle(autoLayoutProps),\n getDimensionStyle(autoLayoutProps, this.styles.root),\n ] : [];\n\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n\n }}\n {...this.horizontalSwipeResponder.panHandlers}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;\n const scrollViewProps = {\n keyboardShouldPersistTaps: props.keyboardpersisttaps,\n testID: this.getTestId(\"page_content_scrollview\"),\n contentContainerStyle: [\n this.styles.root, {backgroundColor: 'transparent',\n paddingTop: navHeightVal + paddingTopVal,\n paddingBottom: bottomTabHeightVal + paddingBottomVal\n },\n ...autoLayoutStyles,\n ],\n onLayout: this.handleScrollViewLayout,\n showsVerticalScrollIndicator: showScrollbar,\n alwaysBounceVertical: false,\n alwaysBounceHorizontal: false,\n bounces: false,\n overScrollMode: 'never' as 'auto' | 'never',\n removeClippedSubviews: Platform.OS == 'android',\n onScrollEndDrag: this.handleOnScrollEndDrag,\n };\n const onScroll = this.context && (this.context as StickyWrapperContextType).onScroll ?\n (this.context as StickyWrapperContextType).onScroll\n : ()=>{};\n const withKeyboardAvoidingView = (content: React.ReactNode) => (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {content}\n </KeyboardAvoidingView>\n );\n\n if (!props.pulltorefresh) {\n return withKeyboardAvoidingView(\n <Animated.ScrollView {...scrollViewProps} ref={this.scrollRef} onScroll={onScroll}>\n {props.children}\n </Animated.ScrollView>\n );\n }\n\n const refreshScrollViewProps = { ...scrollViewProps, alwaysBounceVertical: true, bounces: true, overScrollMode: 'auto' as const };\n const useLottieSpinner = !!this.pulltorefreshsource && (Platform.OS === 'ios' || Platform.OS === 'android');\n\n if (!useLottieSpinner) {\n const isIOS = Platform.OS === 'ios';\n return withKeyboardAvoidingView(\n <Animated.ScrollView\n {...refreshScrollViewProps}\n ref={this.scrollRef}\n onScroll={onScroll}\n contentContainerStyle={[scrollViewProps.contentContainerStyle, isIOS && { paddingTop: paddingTopVal }]}\n contentInset={isIOS ? { top: navHeightVal } : undefined}\n contentOffset={isIOS ? { x: 0, y: -navHeightVal } : undefined}\n refreshControl={\n <RefreshControl\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n progressViewOffset={Platform.OS === 'android' ? navHeightVal : undefined}\n />\n }\n >\n {props.children}\n </Animated.ScrollView>\n );\n }\n\n const lottieScrollViewProps = { ...refreshScrollViewProps, style: { flex: 1, width: '100%' as const } };\n const topOffset = navHeightVal + paddingTopVal;\n const spinner = (\n <WmLottie show={true} source={this.pulltorefreshsource} loop={true} speed={1} autoplay={true} classname={this.pulltorefreshclass} />\n );\n\n if (Platform.OS === 'ios') {\n return withKeyboardAvoidingView(\n <WmPullToRefreshScrollView\n ref={this.scrollRef}\n scrollViewProps={lottieScrollViewProps}\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n stickyOnScrollWorklet={(this.context as StickyWrapperContextType)?.onScrollWorklet}\n topOffset={topOffset}\n spinner={spinner}\n spinnerAspectRatio={this.state.spinnerAspectRatio}\n >\n {props.children}\n </WmPullToRefreshScrollView>\n );\n }\n\n return withKeyboardAvoidingView(\n <WmPullToRefreshView\n style={{ flex: 1, flexDirection: 'column', width: '100%' }}\n spinner={spinner}\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n topOffset={topOffset}\n spinnerAspectRatio={this.state.spinnerAspectRatio}\n >\n <Animated.ScrollView {...lottieScrollViewProps} ref={this.scrollRef} onScroll={onScroll}>\n {props.children}\n </Animated.ScrollView>\n </WmPullToRefreshView>\n );\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}, ...autoLayoutStyles]}\n {...this.horizontalSwipeResponder.panHandlers}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 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}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ class WmPageContentProps extends SkeletonAnimationProps {
|
|
|
6
6
|
constructor(...args) {
|
|
7
7
|
super(...args);
|
|
8
8
|
_defineProperty(this, "children", null);
|
|
9
|
+
_defineProperty(this, "scrollable", true);
|
|
9
10
|
_defineProperty(this, "onSwipeup", null);
|
|
10
11
|
_defineProperty(this, "onSwipedown", null);
|
|
11
12
|
_defineProperty(this, "keyboardverticaloffset", 100);
|
|
@@ -16,6 +17,10 @@ class WmPageContentProps extends SkeletonAnimationProps {
|
|
|
16
17
|
_defineProperty(this, "overflow", 'scroll');
|
|
17
18
|
/** Network connectivity state passed from parent fragment */
|
|
18
19
|
_defineProperty(this, "isconnected", true);
|
|
20
|
+
_defineProperty(this, "pulltorefresh", false);
|
|
21
|
+
_defineProperty(this, "onPulltorefresh", void 0);
|
|
22
|
+
_defineProperty(this, "onSwipeleft", void 0);
|
|
23
|
+
_defineProperty(this, "onSwiperight", void 0);
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
26
|
export default WmPageContentProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\ninterface WmPageContentProps extends AutoLayoutProps {}\n\nclass WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n onSwipeup?: Function = null as any;\n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n onscroll: string = '';\n clipcontent = true;\n overflow: AutoLayoutProps['overflow'] = 'scroll';\n /** Network connectivity state passed from parent fragment */\n isconnected?: boolean = true;\n}\nexport default WmPageContentProps
|
|
1
|
+
{"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\nimport WmPageContent from './page-content.component';\n\ninterface WmPageContentProps extends AutoLayoutProps {}\n\nclass WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any;\n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n onscroll: string = '';\n clipcontent = true;\n overflow: AutoLayoutProps['overflow'] = 'scroll';\n /** Network connectivity state passed from parent fragment */\n isconnected?: boolean = true;\n pulltorefresh?: boolean = false;\n onPulltorefresh?: ($event: any, instance: WmPageContent) => any;\n onSwipeleft?: ($event: any, instance: WmPageContent) => any;\n onSwiperight?: ($event: any, instance: WmPageContent) => any;\n}\nexport default WmPageContentProps;\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,8DAA8D;AAMrG,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAClC,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;IAAAA,eAAA,mBACT,EAAE;IAAAA,eAAA,sBACP,IAAI;IAAAA,eAAA,mBACsB,QAAQ;IAChD;IAAAA,eAAA,sBACwB,IAAI;IAAAA,eAAA,wBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAInC;AACA,eAAeH,kBAAkB","ignoreList":[]}
|