@wavemaker/app-rn-runtime 11.10.4-rc.6083 → 11.10.5-next.27872
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 +3 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +4 -4
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +3 -1
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +3 -1
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +5 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/core/formatters.js +4 -2
- package/core/formatters.js.map +1 -1
- package/gestures/swipe.animation.js +9 -9
- package/gestures/swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +5 -5
- package/package-lock.json +5 -5
- package/package.json +2 -2
@@ -134,7 +134,9 @@ export default class WmWebview extends BaseComponent {
|
|
134
134
|
}) : /*#__PURE__*/React.createElement(WebView, _extends({
|
135
135
|
ref: ref => this.webview = ref,
|
136
136
|
nestedScrollEnabled: true,
|
137
|
-
|
137
|
+
containerStyle: this.styles.webview
|
138
|
+
// style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.
|
139
|
+
,
|
138
140
|
source: {
|
139
141
|
uri: props.src
|
140
142
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n style={this.styles.webview}\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","BackHandler","Platform","View","WebView","HideMode","BaseComponent","BaseComponentState","WmWebviewProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","isAndroid","isWebPreviewMode","WmWebViewState","constructor","args","_defineProperty","title","src","WmWebview","props","webview","webViewState","canGoBack","goBack","event","_event$nativeEvent","data","nativeEvent","startsWith","id","match","callback","invokeJSCallbacks","result","substring","indexOf","parseResult","invokeEventCallback","hideMode","DONOT_ADD_TO_DOM","addEventListener","handleBackButtonPress","componentWillUnmount","removeEventListener","_this$state$currentTa","state","currentTarget","currentsrc","_this$state$currentTa2","executeScript","fn","Promise","resolve","reject","Date","now","injectJavaScript","insertCSS","style","replace","JSON","parse","e","getTitle","iframe","contentWindow","document","onLoad","updateState","renderWidget","createElement","styles","root","onLayout","handleLayout","_background","OS","width","height","_extends","ref","nestedScrollEnabled","containerStyle","source","uri","testID","getTestId","WEBVIEW","incognito","onMessage","sharedCookiesEnabled","onNavigationStateChange","scrollEnabled","onLoadEnd","url","allowsFullscreenVideo","allowsInlineMediaPlayback"],"sources":["webview.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BackHandler, Platform, View } from 'react-native';\nimport { WebView, WebViewNavigation, WebViewMessageEvent } from 'react-native-webview';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWebviewProps from './webview.props';\nimport { DEFAULT_CLASS, WebviewStyles } from './webview.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nclass WmWebViewState extends BaseComponentState<WmWebviewProps> {\n currentTarget = {\n title: '',\n src: ''\n };\n\n}\n\nexport default class WmWebview extends BaseComponent<WmWebviewProps, WmWebViewState, WebviewStyles> {\n\n private webview: WebView | null = null as any;\n private webViewState: WebViewNavigation = null as any;\n private invokeJSCallbacks = {} as any;\n\n constructor(props: WmWebviewProps) {\n super(props, DEFAULT_CLASS, new WmWebviewProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (isAndroid() && !isWebPreviewMode()) {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonPress);\n }\n }\n\n handleBackButtonPress = (): boolean => {\n if (this.webview && this.webViewState && this.webViewState.canGoBack) {\n this.webview.goBack();\n return true;\n }\n return false;\n }\n\n get title() {\n return this.state.currentTarget?.title;\n }\n\n get currentsrc() {\n return this.state.currentTarget?.src;\n }\n\n executeScript(fn: string) {\n return new Promise((resolve, reject) => {\n if (this.webview) {\n const id = '' + Date.now();\n this.invokeJSCallbacks[id] = resolve;\n fn = `\n (function(){\n try{\n return (${fn});\n } catch(e) {\n return e.getMessage();\n }\n }())\n `;\n this.webview.injectJavaScript(\n `window.ReactNativeWebView.postMessage('afterInjectJavaScript:' + ${id} + ':' + JSON.stringify(${fn}))`\n );\n } else {\n reject();\n }\n });\n }\n\n insertCSS(style = '') {\n style = style.replace(/[\\n\\t\\r]/g, '');\n return this.executeScript(`\n function() {\n const style = document.createElement('style');\n style.innerHTML = '${style}';\n document.head.appendChild(style);\n return 'SUCCESS';\n }()\n `);\n }\n\n parseResult(result: string) {\n try {\n return JSON.parse(result);\n } catch(e) {\n if (result === 'undefined' || result === 'null') {\n return null;\n }\n return result;\n }\n }\n\n onMessage = (event: WebViewMessageEvent) => {\n const data: string = event.nativeEvent?.data;\n if (data && data.startsWith('afterInjectJavaScript')) {\n const id = data?.match(/\\:([0-9]+)\\:/);\n const callback = id && this.invokeJSCallbacks[id[1]];\n const result = data.substring(data.indexOf(':', data.indexOf(':') + 1) + 1);\n callback && callback(this.parseResult(result));\n } else {\n this.invokeEventCallback('onMessage', [event, this]);\n }\n }\n\n getTitle(iframe: any) {\n try {\n return iframe.currentTarget.contentWindow.document.title;\n } catch(e) {\n // browser blocks cross origin access to iframe content.\n }\n }\n\n public onLoad(e: any, title: string, src: string) {\n this.updateState({\n currentTarget: {\n title: title,\n src: src\n }\n } as WmWebViewState, () => {\n this.invokeEventCallback('onLoad', [e, this]);\n });\n }\n\n protected renderWidget(props: WmWebviewProps) {\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {Platform.OS === 'web' ?\n (<iframe src={props.src} width={'100%'} height={'100%'}\n onLoad={(e) => this.onLoad(e, this.getTitle(e.currentTarget), (e.currentTarget as any).src)}></iframe>) :\n (<WebView\n ref={(ref) => this.webview = ref}\n nestedScrollEnabled={true}\n containerStyle = {this.styles.webview}\n // style={this.styles.webview} // when using style, there are some inconsistencies observed in Android. containerStyle gives us a uniformity in IOS and Android.\n source={{\n uri: props.src\n }}\n testID={this.getTestId('web_view')}\n {...getAccessibilityProps(AccessibilityWidgetType.WEBVIEW, props)}\n incognito={props.incognito}\n onMessage={this.onMessage}\n sharedCookiesEnabled={true}\n onNavigationStateChange={(state) => {\n this.webViewState = state;\n }}\n scrollEnabled={true}\n onLoadEnd={(e) => this.onLoad(e, e.nativeEvent.title, e.nativeEvent.url)}\n allowsFullscreenVideo={true}\n allowsInlineMediaPlayback={true}\n >\n </WebView>)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -43,18 +43,18 @@ export default class WmTabheader extends BaseComponent {
|
|
43
43
|
}
|
44
44
|
}
|
45
45
|
scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition) {
|
46
|
-
var _this$headerPanelLayo;
|
46
|
+
var _this$headersLayout$s, _this$headersLayout$s2, _this$headerPanelLayo;
|
47
47
|
const initialPosition = this.isRTL ? totalWidth : 0;
|
48
48
|
const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;
|
49
|
-
const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width / 2) : this.headersLayout[selectedTabIndex].width / 2;
|
49
|
+
const elementWidth = this.isRTL ? -1 * (((_this$headersLayout$s = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s === void 0 ? void 0 : _this$headersLayout$s.width) / 2) : ((_this$headersLayout$s2 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s2 === void 0 ? void 0 : _this$headersLayout$s2.width) / 2;
|
50
50
|
const positionX = selectedTabIndex === 0 ? initialPosition : baseWidth + elementWidth - (((_this$headerPanelLayo = this.headerPanelLayout) === null || _this$headerPanelLayo === void 0 ? void 0 : _this$headerPanelLayo.width) || 0) / 2;
|
51
51
|
return positionX;
|
52
52
|
}
|
53
53
|
setPosition() {
|
54
|
-
var _this$headersLayout$
|
54
|
+
var _this$headersLayout$s3, _this$headerPanelLayo2, _this$headerPanelLayo3, _this$listRef$current;
|
55
55
|
const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0;
|
56
56
|
let toIndicatorPosition = 0;
|
57
|
-
let toIndicatorWidth = ((_this$headersLayout$
|
57
|
+
let toIndicatorWidth = ((_this$headersLayout$s3 = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s3 === void 0 ? void 0 : _this$headersLayout$s3.width) || 0;
|
58
58
|
let toHeaderScrollPosition = this.headerScrollPositionValue;
|
59
59
|
let totalWidth = 0;
|
60
60
|
if (this.state.props.data.length !== this.headersLayout.length) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width/2) : this.headersLayout[selectedTabIndex].width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headersLayout$s","_this$headersLayout$s2","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s3","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","disableTouchEffect","disabletoucheffect","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","event","handleLayout","ref","horizontal","showsHorizontalScrollIndicator","scrollEnabled","shouldScroll","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex]?.width/2) : this.headersLayout[selectedTabIndex]?.width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n scrollEnabled={props.shouldScroll}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -140,7 +140,9 @@ export class BaseInputComponent extends BaseComponent {
|
|
140
140
|
}).then(() => {
|
141
141
|
!this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);
|
142
142
|
if (source === 'blur') {
|
143
|
-
|
143
|
+
setTimeout(() => {
|
144
|
+
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
145
|
+
}, 10);
|
144
146
|
}
|
145
147
|
});
|
146
148
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -182,7 +182,9 @@ export class BaseNumberComponent extends BaseComponent {
|
|
182
182
|
}).then(() => {
|
183
183
|
!this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);
|
184
184
|
if (source === 'blur') {
|
185
|
-
|
185
|
+
setTimeout(() => {
|
186
|
+
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
187
|
+
}, 10);
|
186
188
|
}
|
187
189
|
});
|
188
190
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","setTimeout","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -90,8 +90,12 @@ export default class BaseDatetime extends BaseComponent {
|
|
90
90
|
return null;
|
91
91
|
}
|
92
92
|
}
|
93
|
+
rtlSanityCheck(text) {
|
94
|
+
return text === null || text === void 0 ? void 0 : text.replace(/[\u200E\u200F\u202B\u202C]/g, '');
|
95
|
+
}
|
93
96
|
momentPattern(pattern) {
|
94
|
-
|
97
|
+
const removeSpecialMarks = this.rtlSanityCheck(pattern);
|
98
|
+
return removeSpecialMarks === null || removeSpecialMarks === void 0 ? void 0 : removeSpecialMarks.replaceAll('y', 'Y').replaceAll('d', 'D');
|
95
99
|
}
|
96
100
|
onPropertyChange(name, $new, $old) {
|
97
101
|
super.onPropertyChange(name, $new, $old);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","handleLayout","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onLayout","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","invalid","focused","_background","moveUp","label","floatingLabel","activeFloatingLabel","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue, LayoutChangeEvent } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any, handleLayout?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n onLayout={handleLayout}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ? \n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n \n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ), {} , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","rtlSanityCheck","text","replace","momentPattern","pattern","removeSpecialMarks","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","handleLayout","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onLayout","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","invalid","focused","_background","moveUp","label","floatingLabel","activeFloatingLabel","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue, LayoutChangeEvent } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n\n rtlSanityCheck(text: any) {\n return text?.replace(/[\\u200E\\u200F\\u202B\\u202C]/g, '');\n }\n \n momentPattern(pattern : String) {\n const removeSpecialMarks = this.rtlSanityCheck(pattern);\n return removeSpecialMarks?.replaceAll('y', 'Y').replaceAll('d', 'D');\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any, handleLayout?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n onLayout={handleLayout}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ? \n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n \n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ), {} , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
package/core/formatters.js
CHANGED
@@ -4,12 +4,14 @@ import { CURRENCY_INFO } from './constants/currency-constants';
|
|
4
4
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
5
5
|
export class DateToStringFormatter {
|
6
6
|
format(input, format) {
|
7
|
+
var _get;
|
7
8
|
if (!input) return '';
|
8
9
|
format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E', 'd');
|
9
|
-
let _moment = moment(input, [moment.ISO_8601, "YYYY", "YYYY-MM", "YYYYMMDD", "YYYY-MM-DD", "YYYY-MM-DDTHH", "YYYY-MM-DDTHH:mm", "YYYY-MM-DDTHH:mm:ss", "YYYY-MM-DDTHH:mm:ss.SSS", "YYYY-MM-DD HH:mm:ss", "MM/DD/YYYY", "MM-DD-YYYY", "YYYY/MM/DD", "YYYY/MM", "D MMM YYYY", "MMM D YYYY", "MMMM D YYYY", "D MMMM YYYY", "D-MMM-YYYY", "D/MMM/YYYY", "YYYY-WWW", "YYYY-WWW-E", "YYYY-DDD", "YYYY-DDDTHH", "YYYY-DDDTHH:mm", "YYYY-DDDTHH:mm:ss", "YYYY-DDDTHH:mm:ss.SSS", "YYYY-DDD HH:mm:ss", "YYYY-MM-DDTHH:mm:ssZ", "YYYY-MM-DDTHH:mm:ss+00:00", "YYYY-MM-DDTHH:mm:ss-00:00", "YYYY-MM-DDTHH:mm:ss.SSSZ", "YYYY-MM-DDTHH:mm:ss.SSS+00:00", "YYYY-MM-DDTHH:mm:ss.SSS-00:00", "ddd, DD MMM YYYY HH:mm:ss ZZ", "DD MMM YYYY HH:mm:ss ZZ"], true);
|
10
|
+
let _moment = moment(input, [moment.ISO_8601, "YYYY", "YYYY-MM", "YYYYMMDD", "YYYY-MM-DD", "YYYY-MM-DDTHH", "YYYY-MM-DDTHH:mm", "YYYY-MM-DDTHH:mm:ss", "YYYY-MM-DDTHH:mm:ss.SSS", "YYYY-MM-DD HH:mm:ss", "MM/DD/YYYY", "MM-DD-YYYY", "YYYY/MM/DD", "YYYY/MM", "D MMM YYYY", "MMM D YYYY", "MMMM D YYYY", "D MMMM YYYY", "D-MMM-YYYY", "D/MMM/YYYY", "YYYY-WWW", "YYYY-WWW-E", "YYYY-DDD", "YYYY-DDDTHH", "YYYY-DDDTHH:mm", "YYYY-DDDTHH:mm:ss", "YYYY-DDDTHH:mm:ss.SSS", "YYYY-DDD HH:mm:ss", "YYYY-MM-DDTHH:mm:ssZ", "YYYY-MM-DDTHH:mm:ss+00:00", "YYYY-MM-DDTHH:mm:ss-00:00", "YYYY-MM-DDTHH:mm:ss.SSSZ", "YYYY-MM-DDTHH:mm:ss.SSS+00:00", "YYYY-MM-DDTHH:mm:ss.SSS-00:00", "ddd, DD MMM YYYY HH:mm:ss ZZ", "DD MMM YYYY HH:mm:ss ZZ", 'x'], true);
|
10
11
|
if (format === 'timestamp') return Math.floor(_moment.valueOf() / 1000).toString();
|
11
12
|
if (format === 'UTC') return moment.utc(input).toString();
|
12
|
-
|
13
|
+
const defaultLanguage = ((_get = injector.get('APP_CONFIG')) === null || _get === void 0 || (_get = _get.appProperties) === null || _get === void 0 ? void 0 : _get.defaultLanguage) || 'en';
|
14
|
+
return _moment.isValid() ? _moment.locale(defaultLanguage).format(format) : input.toString();
|
13
15
|
}
|
14
16
|
}
|
15
17
|
export class PrependFormatter {
|
package/core/formatters.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","replaceAll","_moment","ISO_8601","Math","floor","valueOf","toString","utc","isValid","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","get","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","replace","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","createFormatter","key","defaultFormatter","params","output","customFormatter","formatters","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n public format(input: Date, format: string): string {\n \n if (!input) return '';\n\n format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E','d');\n let _moment = moment(input, [\n moment.ISO_8601,\n \"YYYY\",\n \"YYYY-MM\",\n \"YYYYMMDD\",\n \"YYYY-MM-DD\",\n \"YYYY-MM-DDTHH\",\n \"YYYY-MM-DDTHH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSS\",\n \"YYYY-MM-DD HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"MM-DD-YYYY\",\n \"YYYY/MM/DD\",\n \"YYYY/MM\",\n \"D MMM YYYY\",\n \"MMM D YYYY\",\n \"MMMM D YYYY\",\n \"D MMMM YYYY\",\n \"D-MMM-YYYY\",\n \"D/MMM/YYYY\",\n \"YYYY-WWW\", \n \"YYYY-WWW-E\",\n \"YYYY-DDD\",\n \"YYYY-DDDTHH\",\n \"YYYY-DDDTHH:mm\",\n \"YYYY-DDDTHH:mm:ss\",\n \"YYYY-DDDTHH:mm:ss.SSS\",\n \"YYYY-DDD HH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ssZ\",\n \"YYYY-MM-DDTHH:mm:ss+00:00\",\n \"YYYY-MM-DDTHH:mm:ss-00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSS+00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSS-00:00\",\n \"ddd, DD MMM YYYY HH:mm:ss ZZ\",\n \"DD MMM YYYY HH:mm:ss ZZ\",\n ], true);\n\n if (format === 'timestamp')\n return Math.floor(_moment.valueOf() / 1000).toString();\n\n if (format === 'UTC')\n return moment.utc(input).toString();\n\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nconst createFormatter = (key: string, defaultFormatter: Formatter) => {\n return {\n format: (input: any, ...params: any) => {\n const output = defaultFormatter.format(input, ...params);\n const customFormatter = formatters.get(`custom.${key}`);\n return customFormatter ? customFormatter.format(output, ...params): output;\n }\n };\n};\n\nconst formatters = new Map<string, Formatter>([\n ['numberToString', createFormatter('numberToString' , new NumberToStringFormatter())],\n ['prefix', createFormatter('prefix', new PrependFormatter())],\n ['suffix', createFormatter('suffix', new AppendFormatter())],\n ['stringToNumber', createFormatter('stringToNumber',new StringToNumberFormatter())],\n ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())],\n ['toDate', createFormatter('toDate', new DateToStringFormatter())],\n ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]\n]);\n\nexport default formatters;"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,aAAa,QAAkB,gCAAgC;AAExE,OAAOC,QAAQ,MAAM,yCAAyC;AAM9D,OAAO,MAAMC,qBAAqB,CAA0B;EACjDC,MAAMA,CAACC,KAAW,EAAED,MAAc,EAAU;IAE/C,IAAI,CAACC,KAAK,EAAE,OAAO,EAAE;IAErBD,MAAM,GAAGA,MAAM,CAACE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAC,GAAG,CAAC;IAC7E,IAAIC,OAAO,GAAGP,MAAM,CAACK,KAAK,EAAE,CACxBL,MAAM,CAACQ,QAAQ,EACf,MAAM,EACN,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,CAC5B,EAAE,IAAI,CAAC;IAER,IAAIJ,MAAM,KAAK,WAAW,EACtB,OAAOK,IAAI,CAACC,KAAK,CAACH,OAAO,CAACI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAACC,QAAQ,CAAC,CAAC;IAE1D,IAAIR,MAAM,KAAK,KAAK,EAChB,OAAOJ,MAAM,CAACa,GAAG,CAACR,KAAK,CAAC,CAACO,QAAQ,CAAC,CAAC;IAEvC,OAAOL,OAAO,CAACO,OAAO,CAAC,CAAC,GAAGP,OAAO,CAACH,MAAM,CAACA,MAAM,CAAC,GAAGC,KAAK,CAACO,QAAQ,CAAC,CAAC;EACxE;AACJ;AAEA,OAAO,MAAMG,gBAAgB,CAAsB;EAExCX,MAAMA,CAACC,KAAU,EAAEW,MAAc,EAAU;IAC9C,OAAO,CAACA,MAAM,IAAI,EAAE,KAAKX,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIY,SAAS,GAAGZ,KAAK,GAAG,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMa,eAAe,CAAsB;EAEvCd,MAAMA,CAACC,KAAU,EAAEc,MAAc,EAAU;IAC9C,OAAO,CAACd,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIY,SAAS,GAAGZ,KAAK,GAAG,EAAE,KAAKc,MAAM,IAAI,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMC,uBAAuB,CAAsB;EAE/ChB,MAAMA,CAACC,KAAa,EAAEgB,YAAoB,EAAU;IACvD,MAAMC,WAAW,GAAGpB,QAAQ,CAACqB,WAAW,CAACC,GAAG,CAAC,CAAC;IAC9C,MAAMC,cAAc,GAAGH,WAAW,CAACI,iBAAiB,CAAC,CAAC;IACtD,IAAIC,cAAc,GAAG,IAAIC,IAAI,CAACC,YAAY,CAACJ,cAAc,EAAC;MACtDK,qBAAqB,EAAET,YAAY;MACnCU,qBAAqB,EAAEV;IAC3B,CAAC,CAAC;IACF,OAAOW,KAAK,CAAC3B,KAAK,CAAC,GAAG,EAAE,GAAEsB,cAAc,CAACvB,MAAM,CAACC,KAAK,CAAC;EAC1D;AACJ;AAEA,OAAO,MAAM4B,iBAAiB,CAAsB;EAEzC7B,MAAMA,CAAC8B,IAAY,EAAEC,cAAsB,EAAEC,QAAgB,EAAE;IAClE,MAAMC,eAAe,GAAG,CAAIpC,aAAa,CAASkC,cAAc,CAAC,IAAK,CAAC,CAAC,EAAgBG,MAAM,IAAIH,cAAc,IAAI,EAAE;IACtH,IAAII,IAAI,GAAG,IAAInB,uBAAuB,CAAC,CAAC,CAAChB,MAAM,CAAC8B,IAAI,EAAEE,QAAQ,CAAC;IAC/D,MAAMI,gBAAgB,GAAGD,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC;IAC7C,IAAID,gBAAgB,EAAE;MAClBD,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC;IAC/B;IACA,OAAOH,IAAI,GAAGC,gBAAgB,GAAG,GAAG,GAAEH,eAAe,GAAEE,IAAI,GAAEF,eAAe,GAAGE,IAAI,GAAG,EAAE;EAC5F;AACJ;AAEA,OAAO,MAAMI,oBAAoB,CAAsB;EAC5CvC,MAAMA,CAACwC,SAAe,EAAE;IAC3B,OAAOA,SAAS,GAAG5C,MAAM,CAAC4C,SAAS,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG5B,SAAS;EAC9D;AACJ;AAEA,OAAO,MAAM6B,uBAAuB,CAAsB;EAC/C1C,MAAMA,CAACC,KAAa,EAAE;IACzB,OAAON,QAAQ,CAACM,KAAK,CAAC;EAC1B;AACJ;AAEA,MAAM0C,eAAe,GAAGA,CAACC,GAAW,EAAEC,gBAA2B,KAAK;EAClE,OAAO;IACH7C,MAAM,EAAEA,CAACC,KAAU,EAAE,GAAG6C,MAAW,KAAK;MACpC,MAAMC,MAAM,GAAGF,gBAAgB,CAAC7C,MAAM,CAACC,KAAK,EAAE,GAAG6C,MAAM,CAAC;MACxD,MAAME,eAAe,GAAGC,UAAU,CAAC7B,GAAG,CAAC,UAAUwB,GAAG,EAAE,CAAC;MACvD,OAAOI,eAAe,GAAGA,eAAe,CAAChD,MAAM,CAAC+C,MAAM,EAAE,GAAGD,MAAM,CAAC,GAAEC,MAAM;IAC9E;EACJ,CAAC;AACL,CAAC;AAED,MAAME,UAAU,GAAG,IAAIC,GAAG,CAAoB,CAC1C,CAAC,gBAAgB,EAAEP,eAAe,CAAC,gBAAgB,EAAG,IAAI3B,uBAAuB,CAAC,CAAC,CAAC,CAAC,EACrF,CAAC,QAAQ,EAAE2B,eAAe,CAAC,QAAQ,EAAE,IAAIhC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC7D,CAAC,QAAQ,EAAEgC,eAAe,CAAC,QAAQ,EAAE,IAAI7B,eAAe,CAAC,CAAC,CAAC,CAAC,EAC5D,CAAC,gBAAgB,EAAE6B,eAAe,CAAC,gBAAgB,EAAC,IAAID,uBAAuB,CAAC,CAAC,CAAC,CAAC,EACnF,CAAC,aAAa,EAAEC,eAAe,CAAC,aAAa,EAAE,IAAIJ,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC3E,CAAC,QAAQ,EAAEI,eAAe,CAAC,QAAQ,EAAE,IAAI5C,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAClE,CAAC,YAAY,EAAE4C,eAAe,CAAC,YAAY,EAAE,IAAId,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF,eAAeoB,UAAU","ignoreList":[]}
|
1
|
+
{"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","_get","replaceAll","_moment","ISO_8601","Math","floor","valueOf","toString","utc","defaultLanguage","get","appProperties","isValid","locale","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","replace","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","createFormatter","key","defaultFormatter","params","output","customFormatter","formatters","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n public format(input: Date, format: string): string {\n \n if (!input) return '';\n\n format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E','d');\n let _moment = moment(input, [\n moment.ISO_8601,\n \"YYYY\",\n \"YYYY-MM\",\n \"YYYYMMDD\",\n \"YYYY-MM-DD\",\n \"YYYY-MM-DDTHH\",\n \"YYYY-MM-DDTHH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSS\",\n \"YYYY-MM-DD HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"MM-DD-YYYY\",\n \"YYYY/MM/DD\",\n \"YYYY/MM\",\n \"D MMM YYYY\",\n \"MMM D YYYY\",\n \"MMMM D YYYY\",\n \"D MMMM YYYY\",\n \"D-MMM-YYYY\",\n \"D/MMM/YYYY\",\n \"YYYY-WWW\", \n \"YYYY-WWW-E\",\n \"YYYY-DDD\",\n \"YYYY-DDDTHH\",\n \"YYYY-DDDTHH:mm\",\n \"YYYY-DDDTHH:mm:ss\",\n \"YYYY-DDDTHH:mm:ss.SSS\",\n \"YYYY-DDD HH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ssZ\",\n \"YYYY-MM-DDTHH:mm:ss+00:00\",\n \"YYYY-MM-DDTHH:mm:ss-00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSS+00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSS-00:00\",\n \"ddd, DD MMM YYYY HH:mm:ss ZZ\",\n \"DD MMM YYYY HH:mm:ss ZZ\",\n 'x'\n ], true);\n\n if (format === 'timestamp')\n return Math.floor(_moment.valueOf() / 1000).toString();\n\n if (format === 'UTC')\n return moment.utc(input).toString();\n\n const defaultLanguage = (injector as any).get('APP_CONFIG')?.appProperties?.defaultLanguage || 'en';\n\n return _moment.isValid() ? _moment.locale(defaultLanguage).format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nconst createFormatter = (key: string, defaultFormatter: Formatter) => {\n return {\n format: (input: any, ...params: any) => {\n const output = defaultFormatter.format(input, ...params);\n const customFormatter = formatters.get(`custom.${key}`);\n return customFormatter ? customFormatter.format(output, ...params): output;\n }\n };\n};\n\nconst formatters = new Map<string, Formatter>([\n ['numberToString', createFormatter('numberToString' , new NumberToStringFormatter())],\n ['prefix', createFormatter('prefix', new PrependFormatter())],\n ['suffix', createFormatter('suffix', new AppendFormatter())],\n ['stringToNumber', createFormatter('stringToNumber',new StringToNumberFormatter())],\n ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())],\n ['toDate', createFormatter('toDate', new DateToStringFormatter())],\n ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]\n]);\n\nexport default formatters;"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,aAAa,QAAkB,gCAAgC;AAExE,OAAOC,QAAQ,MAAM,yCAAyC;AAM9D,OAAO,MAAMC,qBAAqB,CAA0B;EACjDC,MAAMA,CAACC,KAAW,EAAED,MAAc,EAAU;IAAA,IAAAE,IAAA;IAE/C,IAAI,CAACD,KAAK,EAAE,OAAO,EAAE;IAErBD,MAAM,GAAGA,MAAM,CAACG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAC,GAAG,CAAC;IAC7E,IAAIC,OAAO,GAAGR,MAAM,CAACK,KAAK,EAAE,CACxBL,MAAM,CAACS,QAAQ,EACf,MAAM,EACN,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,GAAG,CACN,EAAE,IAAI,CAAC;IAER,IAAIL,MAAM,KAAK,WAAW,EACtB,OAAOM,IAAI,CAACC,KAAK,CAACH,OAAO,CAACI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAACC,QAAQ,CAAC,CAAC;IAE1D,IAAIT,MAAM,KAAK,KAAK,EAChB,OAAOJ,MAAM,CAACc,GAAG,CAACT,KAAK,CAAC,CAACQ,QAAQ,CAAC,CAAC;IAEvC,MAAME,eAAe,GAAG,EAAAT,IAAA,GAACJ,QAAQ,CAASc,GAAG,CAAC,YAAY,CAAC,cAAAV,IAAA,gBAAAA,IAAA,GAAnCA,IAAA,CAAqCW,aAAa,cAAAX,IAAA,uBAAlDA,IAAA,CAAoDS,eAAe,KAAI,IAAI;IAEnG,OAAOP,OAAO,CAACU,OAAO,CAAC,CAAC,GAAGV,OAAO,CAACW,MAAM,CAACJ,eAAe,CAAC,CAACX,MAAM,CAACA,MAAM,CAAC,GAAGC,KAAK,CAACQ,QAAQ,CAAC,CAAC;EAChG;AACJ;AAEA,OAAO,MAAMO,gBAAgB,CAAsB;EAExChB,MAAMA,CAACC,KAAU,EAAEgB,MAAc,EAAU;IAC9C,OAAO,CAACA,MAAM,IAAI,EAAE,KAAKhB,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIiB,SAAS,GAAGjB,KAAK,GAAG,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMkB,eAAe,CAAsB;EAEvCnB,MAAMA,CAACC,KAAU,EAAEmB,MAAc,EAAU;IAC9C,OAAO,CAACnB,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIiB,SAAS,GAAGjB,KAAK,GAAG,EAAE,KAAKmB,MAAM,IAAI,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMC,uBAAuB,CAAsB;EAE/CrB,MAAMA,CAACC,KAAa,EAAEqB,YAAoB,EAAU;IACvD,MAAMC,WAAW,GAAGzB,QAAQ,CAAC0B,WAAW,CAACZ,GAAG,CAAC,CAAC;IAC9C,MAAMa,cAAc,GAAGF,WAAW,CAACG,iBAAiB,CAAC,CAAC;IACtD,IAAIC,cAAc,GAAG,IAAIC,IAAI,CAACC,YAAY,CAACJ,cAAc,EAAC;MACtDK,qBAAqB,EAAER,YAAY;MACnCS,qBAAqB,EAAET;IAC3B,CAAC,CAAC;IACF,OAAOU,KAAK,CAAC/B,KAAK,CAAC,GAAG,EAAE,GAAE0B,cAAc,CAAC3B,MAAM,CAACC,KAAK,CAAC;EAC1D;AACJ;AAEA,OAAO,MAAMgC,iBAAiB,CAAsB;EAEzCjC,MAAMA,CAACkC,IAAY,EAAEC,cAAsB,EAAEC,QAAgB,EAAE;IAClE,MAAMC,eAAe,GAAG,CAAIxC,aAAa,CAASsC,cAAc,CAAC,IAAK,CAAC,CAAC,EAAgBG,MAAM,IAAIH,cAAc,IAAI,EAAE;IACtH,IAAII,IAAI,GAAG,IAAIlB,uBAAuB,CAAC,CAAC,CAACrB,MAAM,CAACkC,IAAI,EAAEE,QAAQ,CAAC;IAC/D,MAAMI,gBAAgB,GAAGD,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC;IAC7C,IAAID,gBAAgB,EAAE;MAClBD,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC;IAC/B;IACA,OAAOH,IAAI,GAAGC,gBAAgB,GAAG,GAAG,GAAEH,eAAe,GAAEE,IAAI,GAAEF,eAAe,GAAGE,IAAI,GAAG,EAAE;EAC5F;AACJ;AAEA,OAAO,MAAMI,oBAAoB,CAAsB;EAC5C3C,MAAMA,CAAC4C,SAAe,EAAE;IAC3B,OAAOA,SAAS,GAAGhD,MAAM,CAACgD,SAAS,CAAC,CAACC,OAAO,CAAC,CAAC,GAAG3B,SAAS;EAC9D;AACJ;AAEA,OAAO,MAAM4B,uBAAuB,CAAsB;EAC/C9C,MAAMA,CAACC,KAAa,EAAE;IACzB,OAAON,QAAQ,CAACM,KAAK,CAAC;EAC1B;AACJ;AAEA,MAAM8C,eAAe,GAAGA,CAACC,GAAW,EAAEC,gBAA2B,KAAK;EAClE,OAAO;IACHjD,MAAM,EAAEA,CAACC,KAAU,EAAE,GAAGiD,MAAW,KAAK;MACpC,MAAMC,MAAM,GAAGF,gBAAgB,CAACjD,MAAM,CAACC,KAAK,EAAE,GAAGiD,MAAM,CAAC;MACxD,MAAME,eAAe,GAAGC,UAAU,CAACzC,GAAG,CAAC,UAAUoC,GAAG,EAAE,CAAC;MACvD,OAAOI,eAAe,GAAGA,eAAe,CAACpD,MAAM,CAACmD,MAAM,EAAE,GAAGD,MAAM,CAAC,GAAEC,MAAM;IAC9E;EACJ,CAAC;AACL,CAAC;AAED,MAAME,UAAU,GAAG,IAAIC,GAAG,CAAoB,CAC1C,CAAC,gBAAgB,EAAEP,eAAe,CAAC,gBAAgB,EAAG,IAAI1B,uBAAuB,CAAC,CAAC,CAAC,CAAC,EACrF,CAAC,QAAQ,EAAE0B,eAAe,CAAC,QAAQ,EAAE,IAAI/B,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC7D,CAAC,QAAQ,EAAE+B,eAAe,CAAC,QAAQ,EAAE,IAAI5B,eAAe,CAAC,CAAC,CAAC,CAAC,EAC5D,CAAC,gBAAgB,EAAE4B,eAAe,CAAC,gBAAgB,EAAC,IAAID,uBAAuB,CAAC,CAAC,CAAC,CAAC,EACnF,CAAC,aAAa,EAAEC,eAAe,CAAC,aAAa,EAAE,IAAIJ,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAC3E,CAAC,QAAQ,EAAEI,eAAe,CAAC,QAAQ,EAAE,IAAIhD,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAClE,CAAC,YAAY,EAAEgD,eAAe,CAAC,YAAY,EAAE,IAAId,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACzE,CAAC;AAEF,eAAeoB,UAAU","ignoreList":[]}
|
@@ -3,7 +3,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
3
3
|
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
4
|
import { isNil } from 'lodash-es';
|
5
5
|
import React from 'react';
|
6
|
-
import { Animated, Easing
|
6
|
+
import { Animated, Easing } from 'react-native';
|
7
7
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
8
8
|
import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
|
9
9
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
@@ -191,23 +191,23 @@ export class View extends React.Component {
|
|
191
191
|
flexDirection: 'row',
|
192
192
|
flexWrap: 'nowrap',
|
193
193
|
alignItems: 'center'
|
194
|
-
} : null, this.props.style,
|
195
|
-
transform: this.state.isHorizontal ? [{
|
196
|
-
translateX: this.position
|
197
|
-
}] : [{
|
198
|
-
translateY: this.position
|
199
|
-
}]
|
200
|
-
}],
|
194
|
+
} : null, this.props.style],
|
201
195
|
onLayout: this.setViewLayout.bind(this)
|
202
196
|
}, this.props.children.map((c, i) => {
|
203
197
|
var _this$props$style;
|
204
|
-
return /*#__PURE__*/React.createElement(
|
198
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
205
199
|
onLayout: e => this.setChildrenLayout(e, i),
|
206
200
|
key: c.key,
|
207
201
|
style: [this.props.slideMinWidth ? {
|
208
202
|
minWidth: this.props.slideMinWidth
|
209
203
|
} : {
|
210
204
|
width: this.props.slideWidth
|
205
|
+
}, {
|
206
|
+
transform: this.state.isHorizontal ? [{
|
207
|
+
translateX: this.position
|
208
|
+
}] : [{
|
209
|
+
translateY: this.position
|
210
|
+
}]
|
211
211
|
}, ((_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.height) === '100%' ? {
|
212
212
|
height: '100%'
|
213
213
|
} : null]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["isNil","React","Animated","Easing","View","RNView","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","touchStart","x","y","active","swipeDirection","gesture","minPointers","minDistance","enabled","enableGestures","onTouchesDown","e","s","changedTouches","onTouchesMove","translationX","allTouches","translationY","Math","abs","d","od","activeOffsetX","failOffsetY","onChange","_this$props$handlers","_this$props$handlers2","handlers","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","transform","translateX","translateY","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 5;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%';\n slideMinWidth?: DimensionValue = undefined;\n}\n\nexport class State {\n threshold = 5;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 5,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n var swipeDirection :'horizontal' | 'vertical' = 'horizontal';\n this.gesture\n .minPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onTouchesDown((e, s) => {\n touchStart = {\n x: e.changedTouches[0].x,\n y: e.changedTouches[0].y,\n active: false\n };\n })\n .onTouchesMove((e, s) => {\n if (touchStart.active) {\n return;\n }\n const translationX = e.allTouches[0].x - touchStart.x;\n const translationY = e.allTouches[0].y - touchStart.y;\n swipeDirection = (Math.abs(translationX) > Math.abs(translationY)) ? 'horizontal' : 'vertical';\n const d = (this.state.isHorizontal ? translationX : translationY);\n const od = (this.state.isHorizontal ? translationY : translationX);\n if(swipeDirection == this.props.direction && Math.abs(d) >= this.state.threshold){\n touchStart.active = true;\n }\n this.gesture\n .activeOffsetX([-this.state.threshold, this.state.threshold])\n .failOffsetY([-this.state.threshold, this.state.threshold]);\n })\n .onChange(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style,\n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }]} onLayout={this.setViewLayout.bind(this)}>\n {this.props.children.map((c: any, i: number) => {\n return (<RNView onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key}\n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </RNView>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["isNil","React","Animated","Easing","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","View","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","touchStart","x","y","active","swipeDirection","gesture","minPointers","minDistance","enabled","enableGestures","onTouchesDown","e","s","changedTouches","onTouchesMove","translationX","allTouches","translationY","Math","abs","d","od","activeOffsetX","failOffsetY","onChange","_this$props$handlers","_this$props$handlers2","handlers","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth","transform","translateX","translateY"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 5;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%';\n slideMinWidth?: DimensionValue = undefined;\n}\n\nexport class State {\n threshold = 5;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 5,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n var swipeDirection :'horizontal' | 'vertical' = 'horizontal';\n this.gesture\n .minPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onTouchesDown((e, s) => {\n touchStart = {\n x: e.changedTouches[0].x,\n y: e.changedTouches[0].y,\n active: false\n };\n })\n .onTouchesMove((e, s) => {\n if (touchStart.active) {\n return;\n }\n const translationX = e.allTouches[0].x - touchStart.x;\n const translationY = e.allTouches[0].y - touchStart.y;\n swipeDirection = (Math.abs(translationX) > Math.abs(translationY)) ? 'horizontal' : 'vertical';\n const d = (this.state.isHorizontal ? translationX : translationY);\n const od = (this.state.isHorizontal ? translationY : translationX);\n if(swipeDirection == this.props.direction && Math.abs(d) >= this.state.threshold){\n touchStart.active = true;\n }\n this.gesture\n .activeOffsetX([-this.state.threshold, this.state.threshold])\n .failOffsetY([-this.state.threshold, this.state.threshold]);\n })\n .onChange(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style,\n ]} onLayout={this.setViewLayout.bind(this)}>\n {this.props.children.map((c: any, i: number) => {\n return (<Animated.View onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key}\n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </Animated.View>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}\n"],"mappings":";;;AAAA,SAASA,KAAK,QAAQ,WAAW;AACjC,OAAOC,KAAK,MAAO,OAAO;AAC1B,SAASC,QAAQ,EAAEC,MAAM,QAAuF,cAAc;AAC9H,SAASC,OAAO,EAAEC,eAAe,QAA4B,8BAA8B;AAC3F,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,OAAOC,QAAQ,MAAM,yCAAyC;AAE9D,OAAO,MAAMC,QAAQ,CAAC;EAAAC,YAAA;IAAAC,eAAA,iBACgC,IAAI;IAAAA,eAAA,sBACF,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACX,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,uBACd,IAAI;EAAA;AACnD;AAQA,OAAO,MAAMC,KAAK,CAAC;EAAAF,YAAA;IAAAC,eAAA,oBACM,CAAC;IAAAA,eAAA,oBACkB,YAAY;IAAAA,eAAA,mBAC9B,CAAC,CAAC;IAAAA,eAAA,gBACJ,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAGQ,MAAM;IAAAA,eAAA,wBACHE,SAAS;EAAA;AAC9C;AAEA,OAAO,MAAMC,KAAK,CAAC;EAAAJ,YAAA;IAAAC,eAAA,oBACH,CAAC;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,iBACH,CAAC,CAAC;IAAAA,eAAA,sBACLI,MAAM,CAACC,SAAS;EAAA;AAClC;AAEA,OAAO,MAAMC,IAAI,SAASf,KAAK,CAACgB,SAAS,CAAe;EAWpDR,WAAWA,CAACS,KAAY,EAAE;IACtB,KAAK,CAACA,KAAK,CAAC;IAACR,eAAA,kBARCN,OAAO,CAACe,GAAG,CAAC,CAAC;IAAAT,eAAA,mBACZ,IAAIR,QAAQ,CAACkB,KAAK,CAAC,CAAC,CAAC;IAAAV,eAAA,yBAChB,IAAIR,QAAQ,CAACkB,KAAK,CAAC,CAAC,CAAC;IAAAV,eAAA,sBACvBH,QAAQ,CAACc,WAAW,CAACC,GAAG,CAAC,CAAC;IAAAZ,eAAA,yBACJ,EAAE;IAAAA,eAAA,qBACR,IAAI;IAItC,IAAI,CAACa,KAAK,GAAG;MACTC,YAAY,EAAGN,KAAK,CAACO,SAAS,KAAK,YAAY;MAC/CC,SAAS,EAAER,KAAK,CAACQ,SAAS,IAAI,CAAC;MAC/BC,MAAM,EAAE,CAAC;IACb,CAAU;IACV,IAAIC,UAAU,GAAG;MACbC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,MAAM,EAAE;IACZ,CAAC;IACD,IAAIC,cAAyC,GAAG,YAAY;IAC5D,IAAI,CAACC,OAAO,CACPC,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC,IAAI,CAACZ,KAAK,CAACG,SAAS,CAAC,CACjCU,OAAO,CAAC,IAAI,CAAClB,KAAK,CAACmB,cAAc,IAAI,CAAC/B,gBAAgB,CAAC,CAAC,CAAC,CACzDgC,aAAa,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACrBZ,UAAU,GAAG;QACTC,CAAC,EAAEU,CAAC,CAACE,cAAc,CAAC,CAAC,CAAC,CAACZ,CAAC;QACxBC,CAAC,EAAES,CAAC,CAACE,cAAc,CAAC,CAAC,CAAC,CAACX,CAAC;QACxBC,MAAM,EAAE;MACV,CAAC;IACP,CAAC,CAAC,CACDW,aAAa,CAAC,CAACH,CAAC,EAAEC,CAAC,KAAK;MACrB,IAAIZ,UAAU,CAACG,MAAM,EAAE;QACnB;MACJ;MACA,MAAMY,YAAY,GAAGJ,CAAC,CAACK,UAAU,CAAC,CAAC,CAAC,CAACf,CAAC,GAAGD,UAAU,CAACC,CAAC;MACrD,MAAMgB,YAAY,GAAGN,CAAC,CAACK,UAAU,CAAC,CAAC,CAAC,CAACd,CAAC,GAAGF,UAAU,CAACE,CAAC;MACrDE,cAAc,GAAIc,IAAI,CAACC,GAAG,CAACJ,YAAY,CAAC,GAAGG,IAAI,CAACC,GAAG,CAACF,YAAY,CAAC,GAAI,YAAY,GAAG,UAAU;MAC9F,MAAMG,CAAC,GAAI,IAAI,CAACzB,KAAK,CAACC,YAAY,GAAGmB,YAAY,GAAGE,YAAa;MACjE,MAAMI,EAAE,GAAI,IAAI,CAAC1B,KAAK,CAACC,YAAY,GAAGqB,YAAY,GAAGF,YAAa;MAClE,IAAGX,cAAc,IAAI,IAAI,CAACd,KAAK,CAACO,SAAS,IAAIqB,IAAI,CAACC,GAAG,CAACC,CAAC,CAAC,IAAI,IAAI,CAACzB,KAAK,CAACG,SAAS,EAAC;QAC7EE,UAAU,CAACG,MAAM,GAAG,IAAI;MAC5B;MACA,IAAI,CAACE,OAAO,CACTiB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC3B,KAAK,CAACG,SAAS,EAAE,IAAI,CAACH,KAAK,CAACG,SAAS,CAAC,CAAC,CAC5DyB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC5B,KAAK,CAACG,SAAS,EAAE,IAAI,CAACH,KAAK,CAACG,SAAS,CAAC,CAAC;IACjE,CAAC,CAAC,CACD0B,QAAQ,CAACb,CAAC,IAAI;MAAA,IAAAc,oBAAA,EAAAC,qBAAA;MACb,IAAI,CAAC1B,UAAU,CAACG,MAAM,IAAIC,cAAc,IAAI,IAAI,CAACd,KAAK,CAACO,SAAS,EAAE;QAC5D;MACJ;MACA,MAAME,MAAM,GAAI,EAAA0B,oBAAA,OAAI,CAACnC,KAAK,CAACqC,QAAQ,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqB1B,MAAM,OAAA2B,qBAAA,GAAI,IAAI,CAACpC,KAAK,CAACqC,QAAQ,cAAAD,qBAAA,uBAAnBA,qBAAA,CAAqB3B,MAAM,CAACY,CAAC,CAAC,KAAK,CAAC,CAAC;MACpF,MAAMS,CAAC,GAAI,IAAI,CAACzB,KAAK,CAACC,YAAY,GAAGe,CAAC,CAACI,YAAY,GAAGJ,CAAC,CAACM,YAAa;MACrE,IAAIW,KAAK,GAAG,IAAI,CAACC,YAAY,CAAC,CAAA9B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE+B,MAAM,KAAI,CAAC,CAAC;MAClD,IAAIV,CAAC,IAAIA,CAAC,GAAG,CAAC,IAAI,CAAChD,KAAK,CAAC2B,MAAM,CAAC+B,MAAM,CAAC,IAAI,CAAC1D,KAAK,CAAC2B,MAAM,CAACgC,KAAK,CAAC,IACxDhC,MAAM,CAAC+B,MAAM,KAAK/B,MAAM,CAACgC,KAAK,EAAE;QACnCH,KAAK,IAAKR,CAAC,IAAIrB,MAAM,CAAC+B,MAAM,GAAG/B,MAAM,CAACgC,KAAK,CAAC,IAAK,CAAC;MACtD,CAAC,MAAM,IAAIX,CAAC,IAAIA,CAAC,GAAG,CAAC,IAAI,CAAChD,KAAK,CAAC2B,MAAM,CAAC+B,MAAM,CAAC,IAAI,CAAC1D,KAAK,CAAC2B,MAAM,CAACiC,KAAK,CAAC,IAC/DjC,MAAM,CAAC+B,MAAM,KAAK/B,MAAM,CAACiC,KAAK,EAAE;QACnCJ,KAAK,IAAKR,CAAC,IAAIrB,MAAM,CAACiC,KAAK,GAAGjC,MAAM,CAAC+B,MAAM,CAAC,IAAK,CAAC;MACtD;MACA,IAAI,CAACG,cAAc,CAACC,QAAQ,CAACN,KAAK,CAAC;MACnC,IAAI,CAACO,QAAQ,CAACD,QAAQ,CAClB,CAAC,IAAI,CAACE,KAAK,CAAC,CAAC,GAAC,EAACrC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE+B,MAAM,CAAC,GAAE,CAAA/B,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE+B,MAAM,KAAI,CAAC,IAAIV,CAAC,CAAC;IACjE,CAAC,CAAC,CACDiB,KAAK,CAAC1B,CAAC,IAAI;MAAA,IAAA2B,qBAAA,EAAAC,qBAAA;MACR,IAAI,CAACvC,UAAU,CAACG,MAAM,IAAIC,cAAc,IAAI,IAAI,CAACd,KAAK,CAACO,SAAS,EAAE;QAC9D;MACJ;MACAG,UAAU,GAAI;QACVC,CAAC,EAAE,CAAC;QACJC,CAAC,EAAE,CAAC;QACJC,MAAM,EAAE;MACZ,CAAC;MACD,EAAAmC,qBAAA,OAAI,CAAChD,KAAK,CAACqC,QAAQ,cAAAW,qBAAA,uBAAnBA,qBAAA,CAAqBE,WAAW,OAAAD,qBAAA,GAChC,IAAI,CAACjD,KAAK,CAACqC,QAAQ,cAAAY,qBAAA,uBAAnBA,qBAAA,CAAqBC,WAAW,CAAC7B,CAAC,CAAC;MACnC,IAAIA,CAAC,CAACI,YAAY,GAAG,CAAC,EAAE;QACpB,IAAI,CAACqB,KAAK,CAAC,CAAC,GAAC,IAAI,CAACK,SAAS,CAAC9B,CAAC,CAAC,GAAC,IAAI,CAAC+B,SAAS,CAAC/B,CAAC,CAAC;MACpD,CAAC,MAAM,IAAIA,CAAC,CAACI,YAAY,GAAG,CAAC,EAAE;QAC3B,IAAI,CAACqB,KAAK,CAAC,CAAC,GAAC,IAAI,CAACM,SAAS,CAAC/B,CAAC,CAAC,GAAC,IAAI,CAAC8B,SAAS,CAAC9B,CAAC,CAAC;MACpD;IACJ,CAAC,CAAC;EAEV;EAEAgC,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,iBAAA;IACf,IAAIC,GAAG,GAAG3D,MAAM,CAACC,SAAS;IAC1B,MAAM2D,aAAa,GAAG,IAAI,CAACC,cAAc,CAACC,MAAM,CAAC,CAACpC,CAAC,EAAEqC,CAAC,KAAKrC,CAAC,GAAGqC,CAAC,CAACC,KAAK,EAAE,CAAC,CAAC;IAC1E,MAAMC,cAAc,GAAG,IAAI,CAACJ,cAAc,CAACC,MAAM,CAAC,CAACpC,CAAC,EAAEqC,CAAC,KAAKrC,CAAC,GAAGqC,CAAC,CAACG,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC9D,KAAK,CAACO,SAAS,KAAK,YAAY,EAAE;MAAA,IAAAwD,gBAAA;MACvC,IAAIP,aAAa,KAAAO,gBAAA,GAAI,IAAI,CAACC,UAAU,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBH,KAAK,EAAE;QACzCL,GAAG,GAAGC,aAAa,GAAG,IAAI,CAACQ,UAAU,CAACJ,KAAK;MAC/C;IACJ,CAAC,MAAM,IAAIC,cAAc,KAAAP,iBAAA,GAAI,IAAI,CAACU,UAAU,cAAAV,iBAAA,eAAfA,iBAAA,CAAiBQ,MAAM,EAAE;MAClDP,GAAG,GAAGM,cAAc,GAAG,IAAI,CAACG,UAAU,CAACF,MAAM;IACjD;IACA,IAAI,CAACG,QAAQ,CAAC;MAACC,WAAW,EAAE,CAAC,CAAC,GAAGX;IAAG,CAAC,CAAC;EAC1C;EAEAY,iBAAiBA,CAACC,KAAwB,EAAEC,KAAa,EAAE;IACzD,IAAI,CAACZ,cAAc,CAACY,KAAK,CAAC,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM;IACrD,IAAI,CAAClB,gBAAgB,CAAC,CAAC;EACzB;EAEAmB,aAAaA,CAACJ,KAAwB,EAAE;IACpC,IAAI,CAACJ,UAAU,GAAGI,KAAK,CAACE,WAAW,CAACC,MAAM;IAC1C,IAAI,CAAClB,gBAAgB,CAAC,CAAC;EAC3B;EAEAd,YAAYA,CAACkC,KAAa,EAAE;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACxB,OAAQ,EAAAD,qBAAA,OAAI,CAAC1E,KAAK,CAACqC,QAAQ,cAAAqC,qBAAA,uBAAnBA,qBAAA,CAAqBnC,YAAY,OAAAoC,qBAAA,GACrC,IAAI,CAAC3E,KAAK,CAACqC,QAAQ,cAAAsC,qBAAA,uBAAnBA,qBAAA,CAAqBpC,YAAY,CAACkC,KAAK,CAAC,KAAK,CAAC;EACtD;EAEA3B,KAAKA,CAAA,EAAE;IACH,OAAO,IAAI,CAAC8B,WAAW,CAACC,WAAW,CAAC,CAAC;EACzC;EAEA1B,SAASA,CAAC9B,CAAO,EAAE;IAAA,IAAAyD,qBAAA,EAAAC,qBAAA;IACf,MAAMtE,MAAM,GAAI,EAAAqE,qBAAA,OAAI,CAAC9E,KAAK,CAACqC,QAAQ,cAAAyC,qBAAA,uBAAnBA,qBAAA,CAAqBrE,MAAM,OAAAsE,qBAAA,GAAI,IAAI,CAAC/E,KAAK,CAACqC,QAAQ,cAAA0C,qBAAA,uBAAnBA,qBAAA,CAAqBtE,MAAM,CAACY,CAAC,CAAC,KAAK,CAAC,CAAC;IACpF,IAAI,CAAC2D,WAAW,CAACvE,MAAM,CAACgC,KAAK,CAAC,CACzBwC,IAAI,CAAC,MAAM;MACR,IAAI,CAACnG,KAAK,CAAC2B,MAAM,CAACgC,KAAK,CAAC,IAAIhC,MAAM,CAAC+B,MAAM,KAAK/B,MAAM,CAACgC,KAAK,EAAE;QAAA,IAAAyC,qBAAA,EAAAC,sBAAA;QACxD,EAAAD,qBAAA,OAAI,CAAClF,KAAK,CAACqC,QAAQ,cAAA6C,qBAAA,uBAAnBA,qBAAA,CAAqBE,OAAO,OAAAD,sBAAA,GAC5B,IAAI,CAACnF,KAAK,CAACqC,QAAQ,cAAA8C,sBAAA,uBAAnBA,sBAAA,CAAqBC,OAAO,CAAC/D,CAAC,CAAC;MACnC;IACJ,CAAC,CAAC;EACV;EAEA+B,SAASA,CAAC/B,CAAO,EAAE;IAAA,IAAAgE,sBAAA,EAAAC,sBAAA;IACf,MAAM7E,MAAM,GAAI,EAAA4E,sBAAA,OAAI,CAACrF,KAAK,CAACqC,QAAQ,cAAAgD,sBAAA,uBAAnBA,sBAAA,CAAqB5E,MAAM,OAAA6E,sBAAA,GAAI,IAAI,CAACtF,KAAK,CAACqC,QAAQ,cAAAiD,sBAAA,uBAAnBA,sBAAA,CAAqB7E,MAAM,CAACY,CAAC,CAAC,KAAK,CAAC,CAAC;IACpF,IAAI,CAAC2D,WAAW,CAACvE,MAAM,CAACiC,KAAK,CAAC,CACzBuC,IAAI,CAAC,MAAM;MACR,IAAI,CAACnG,KAAK,CAAC2B,MAAM,CAACiC,KAAK,CAAC,IAAIjC,MAAM,CAAC+B,MAAM,KAAK/B,MAAM,CAACiC,KAAK,EAAE;QAAA,IAAA6C,sBAAA,EAAAC,sBAAA;QACxD,EAAAD,sBAAA,OAAI,CAACvF,KAAK,CAACqC,QAAQ,cAAAkD,sBAAA,uBAAnBA,sBAAA,CAAqBE,OAAO,OAAAD,sBAAA,GAC5B,IAAI,CAACxF,KAAK,CAACqC,QAAQ,cAAAmD,sBAAA,uBAAnBA,sBAAA,CAAqBC,OAAO,CAACpE,CAAC,CAAC;MACnC;IACJ,CAAC,CAAC;EACV;EAEA2D,WAAWA,CAACP,KAAyB,EAAE;IACnC,IAAI3F,KAAK,CAAC2F,KAAK,CAAC,EAAE;MACd,OAAOiB,OAAO,CAACC,MAAM,CAAC,CAAC;IAC3B;IACA,IAAI9C,QAAQ,GAAG+C,KAAK,CAAC,IAAI,CAACvF,KAAK,CAAC6D,WAAW,CAAC,GAAGO,KAAK,GAAG7C,IAAI,CAAC2B,GAAG,CAAC,IAAI,CAAClD,KAAK,CAAC6D,WAAW,EAAEO,KAAK,CAAC;IAC9F,OAAO,IAAIiB,OAAO,CAAEG,OAAO,IAAK;MAC5B7G,QAAQ,CAAC8G,QAAQ,CAAC,CACd9G,QAAQ,CAAC+G,MAAM,CAAC,IAAI,CAACpD,cAAc,EAAE;QACjCqD,eAAe,EAAE,IAAI;QACrBC,OAAO,EAAG,IAAI,CAAC1D,YAAY,CAACkC,KAAK,CAAC;QAClCyB,QAAQ,EAAE,GAAG;QACbC,MAAM,EAAElH,MAAM,CAACmH,GAAG,CAACnH,MAAM,CAACoH,MAAM;MACpC,CAAC,CAAC,EACFrH,QAAQ,CAAC+G,MAAM,CAAC,IAAI,CAAClD,QAAQ,EAAE;QAC3BmD,eAAe,EAAE,IAAI;QACrBC,OAAO,EAAG,CAAC,IAAI,CAACnD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAE,CAAC,IAAID,QAAQ;QAC3CqD,QAAQ,EAAE,GAAG;QACbC,MAAM,EAAElH,MAAM,CAACmH,GAAG,CAACnH,MAAM,CAACoH,MAAM;MACpC,CAAC,CAAC,CACL,CAAC,CAACC,KAAK,CAACT,OAAO,CAAC;IACrB,CAAC,CAAC;EACN;EAEOU,MAAMA,CAAA,EAAG;IACZ,MAAMjG,YAAY,GAAG,IAAI,CAACN,KAAK,CAACO,SAAS,KAAK,YAAY;IAC1D;MAAA;MACI;MACAxB,KAAA,CAAAyH,aAAA,CAACrH,eAAe;QAAC4B,OAAO,EAAE,IAAI,CAACA;MAAQ,gBACnChC,KAAA,CAAAyH,aAAA,CAACxH,QAAQ,CAACc,IAAI;QAAC2G,KAAK,EAAE,CAClBnG,YAAY,GAAG;UACXoG,aAAa,EAAE,KAAK;UACpBC,QAAQ,EAAE,QAAQ;UAClBC,UAAU,EAAE;QAChB,CAAC,GAAG,IAAI,EACR,IAAI,CAAC5G,KAAK,CAACyG,KAAK,CACd;QAACI,QAAQ,EAAE,IAAI,CAACrC,aAAa,CAACsC,IAAI,CAAC,IAAI;MAAE,GAC1C,IAAI,CAAC9G,KAAK,CAAC+G,QAAQ,CAACC,GAAG,CAAC,CAACC,CAAM,EAAEC,CAAS,KAAK;QAAA,IAAAC,iBAAA;QAC5C,oBAAQpI,KAAA,CAAAyH,aAAA,CAACxH,QAAQ,CAACc,IAAI;UAAC+G,QAAQ,EAAGxF,CAAC,IAAK,IAAI,CAAC8C,iBAAiB,CAAC9C,CAAC,EAAE6F,CAAC,CAAE;UAACE,GAAG,EAAEH,CAAC,CAACG,GAAI;UAC7EX,KAAK,EAAE,CAAC,IAAI,CAACzG,KAAK,CAACqH,aAAa,GAAG;YAC/BC,QAAQ,EAAE,IAAI,CAACtH,KAAK,CAACqH;UACzB,CAAC,GAAG;YACAzD,KAAK,EAAE,IAAI,CAAC5D,KAAK,CAACuH;UACtB,CAAC,EACD;YACIC,SAAS,EAAE,IAAI,CAACnH,KAAK,CAACC,YAAY,GAAG,CAAC;cAClCmH,UAAU,EAAE,IAAI,CAAC5E;YACrB,CAAC,CAAC,GAAG,CAAC;cACF6E,UAAU,EAAE,IAAI,CAAC7E;YACrB,CAAC;UACL,CAAC,EACD,EAAAsE,iBAAA,OAAI,CAACnH,KAAK,CAACyG,KAAK,cAAAU,iBAAA,uBAAhBA,iBAAA,CAAkBrD,MAAM,MAAK,MAAM,GAAG;YAClCA,MAAM,EAAE;UACZ,CAAC,GAAG,IAAI;QACV,GACGmD,CACU,CAAC;MACpB,CAAC,CACU,CACF;IAAC;EAE1B;AAEJ;AAACzH,eAAA,CA9MYM,IAAI,kBAES,IAAIL,KAAK,CAAC,CAAC","ignoreList":[]}
|
package/npm-shrinkwrap.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.10.
|
3
|
+
"version": "11.10.5-next.27872",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "@wavemaker/app-rn-runtime",
|
9
|
-
"version": "11.10.
|
9
|
+
"version": "11.10.5-next.27872",
|
10
10
|
"license": "MIT",
|
11
11
|
"dependencies": {
|
12
12
|
"@expo/vector-icons": "14.0.2",
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"@react-navigation/drawer": "6.6.3",
|
21
21
|
"@react-navigation/native": "6.1.7",
|
22
22
|
"@react-navigation/stack": "6.3.29",
|
23
|
-
"@wavemaker/variables": "11.10.
|
23
|
+
"@wavemaker/variables": "11.10.5-next.27872",
|
24
24
|
"axios": "1.6.8",
|
25
25
|
"color": "4.2.3",
|
26
26
|
"cross-env": "7.0.3",
|
@@ -6673,8 +6673,8 @@
|
|
6673
6673
|
}
|
6674
6674
|
},
|
6675
6675
|
"node_modules/@wavemaker/variables": {
|
6676
|
-
"version": "11.10.
|
6677
|
-
"integrity": "sha512-
|
6676
|
+
"version": "11.10.5-next.27872",
|
6677
|
+
"integrity": "sha512-oNxySFWKtB3VMBuRUUWsPJJbthwpjcK3CqgpHscYsSNCCydJdt+UYLQCLTi1mnzkc+1uFANFfvrK7joFdaiH9Q==",
|
6678
6678
|
"license": "ISC",
|
6679
6679
|
"dependencies": {
|
6680
6680
|
"@metrichor/jmespath": "^0.3.1",
|
package/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.10.
|
3
|
+
"version": "11.10.5-next.27872",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "@wavemaker/app-rn-runtime",
|
9
|
-
"version": "11.10.
|
9
|
+
"version": "11.10.5-next.27872",
|
10
10
|
"license": "MIT",
|
11
11
|
"dependencies": {
|
12
12
|
"@expo/vector-icons": "14.0.2",
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"@react-navigation/drawer": "6.6.3",
|
21
21
|
"@react-navigation/native": "6.1.7",
|
22
22
|
"@react-navigation/stack": "6.3.29",
|
23
|
-
"@wavemaker/variables": "11.10.
|
23
|
+
"@wavemaker/variables": "11.10.5-next.27872",
|
24
24
|
"axios": "1.6.8",
|
25
25
|
"color": "4.2.3",
|
26
26
|
"cross-env": "7.0.3",
|
@@ -6673,8 +6673,8 @@
|
|
6673
6673
|
}
|
6674
6674
|
},
|
6675
6675
|
"node_modules/@wavemaker/variables": {
|
6676
|
-
"version": "11.10.
|
6677
|
-
"integrity": "sha512-
|
6676
|
+
"version": "11.10.5-next.27872",
|
6677
|
+
"integrity": "sha512-oNxySFWKtB3VMBuRUUWsPJJbthwpjcK3CqgpHscYsSNCCydJdt+UYLQCLTi1mnzkc+1uFANFfvrK7joFdaiH9Q==",
|
6678
6678
|
"license": "ISC",
|
6679
6679
|
"dependencies": {
|
6680
6680
|
"@metrichor/jmespath": "^0.3.1",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.10.
|
3
|
+
"version": "11.10.5-next.27872",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -49,7 +49,7 @@
|
|
49
49
|
"@react-navigation/drawer": "6.6.3",
|
50
50
|
"@react-navigation/native": "6.1.7",
|
51
51
|
"@react-navigation/stack": "6.3.29",
|
52
|
-
"@wavemaker/variables": "11.10.
|
52
|
+
"@wavemaker/variables": "11.10.5-next.27872",
|
53
53
|
"axios": "1.6.8",
|
54
54
|
"color": "4.2.3",
|
55
55
|
"cross-env": "7.0.3",
|