@wavemaker/app-rn-runtime 11.8.5-patch.7 → 11.8.5-patch.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/carousel/carousel.component.js +1 -0
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/basic/lottie/lottie.component.js +3 -1
- package/components/basic/lottie/lottie.component.js.map +1 -1
- package/components/container/accordion/accordionpane/accordionpane.component.js +3 -1
- package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.props.js +1 -0
- package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +10 -3
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +11 -3
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +2 -2
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkbox/checkbox.styles.js +3 -1
- package/components/input/checkbox/checkbox.styles.js.map +1 -1
- package/components/input/currency/currency.component.js +3 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +3 -0
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +4 -2
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/number/number.component.js +3 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/number/number.styles.js +3 -0
- package/components/input/number/number.styles.js.map +1 -1
- package/components/input/text/text.component.js +5 -2
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +1 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +3 -0
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +3 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/textarea/textarea.styles.js +3 -0
- package/components/input/textarea/textarea.styles.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +4 -1
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +1 -0
- package/core/base.component.js.map +1 -1
- package/core/components/textinput.component.js +9 -7
- package/core/components/textinput.component.js.map +1 -1
- package/core/props.provider.js +0 -1
- package/core/props.provider.js.map +1 -1
- package/core/tappable.component.js +10 -4
- package/core/tappable.component.js.map +1 -1
- package/package.json +2 -2
- package/runtime/App.navigator.js +1 -0
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +16 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/navigator/drawer.navigator.js +19 -10
- package/runtime/navigator/drawer.navigator.js.map +1 -1
- package/runtime/services/app-security.service.js +9 -4
- package/runtime/services/app-security.service.js.map +1 -1
- package/styles/theme.variables.js +1 -1
- package/styles/theme.variables.js.map +1 -1
- package/variables/live-variable.js +14 -0
- package/variables/live-variable.js.map +1 -1
@@ -289,6 +289,7 @@ export default class WmCarousel extends BaseComponent {
|
|
289
289
|
return /*#__PURE__*/React.createElement(Animated.View, {
|
290
290
|
key: this.generateItemKey(item, index, props),
|
291
291
|
onLayout: this.addSlideLayout.bind(this, index),
|
292
|
+
testID: `carousel_item_${index}`,
|
292
293
|
style: [{
|
293
294
|
height: props.type === 'dynamic' ? undefined : '100%'
|
294
295
|
}, this.styles.slide, index === 0 ? this.styles.firstSlide : null, index === data.length - 1 ? this.styles.lastSlide : null, isActive ? this.styles.activeSlide : null, translateX && scale ? {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","isArray","isUndefined","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","_this$animationView","animationView","setPosition","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","children","data","dataset","length","_this$animationView2","_this$animationView3","goToUpper","_this$animationView4","goToLower","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","initialized","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView5","stopAnimation","startAnimation","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","margin","styles","dotStyle","marginLeft","marginRight","size","position","max","scale","options","useNativeDriver","duration","easing","out","linear","sequence","timing","dotScale","toValue","parallel","dotPosition","isRTL","start","renderPagination","maxNoOfDots","maxnoofdots","minIndex","maxIndex","dotSkeleton","root","createElement","style","dotsWrapperStyle","flexDirection","map","_extends","key","getTestPropsForAction","activeDotStyle","undefined","height","transform","translateX","right","left","renderSkeleton","skeleton","renderItem","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","_background","enableGestures","enablegestures","flex","direction","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView6","_this$animationView7","isActive","animationPhase","interpolate","inputRange","outputRange","onLayout","bind","firstSlide","lastSlide","activeSlide","onTap","_this$animationView8","rippleColor","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotScale = new Animated.Value(0);\n private dotPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n else{\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n if(!this.initialized){\n return;\n }\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n stopAnimation(){ \n this.stopPlay();\n }\n startAnimation() {\n this.autoPlay();\n }\n \n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const position = Math.max(index - 1, 0) * size;\n const scale = Math.abs(index - prevIndex) * size;\n const options = {\n useNativeDriver: true,\n duration: 200,\n easing: Easing.out(Easing.linear)\n };\n if (prevIndex < index) {\n Animated.sequence([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ])\n ]).start();\n } else if (prevIndex > index) {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ]),\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n ]).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n return props.children[index];\n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = this.state.props.maxnoofdots;\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n const dotStyle = this._showSkeleton ? {\n ...this.styles.dotStyle,\n ...this.styles.dotSkeleton.root\n } : this.styles.dotStyle\n return (<View style={this.styles.dotsWrapperStyle}>\n <View style={{flexDirection: this.isRTL ? 'row-reverse' : 'row'}}>\n {\n data.map((item: any, index: number) => {\n return index >= minIndex && index <= maxIndex ? (\n <View key={'dots_' + this.generateItemKey(item, index, this.state.props)} {...this.getTestPropsForAction('indicator'+index)}\n style={[dotStyle]}>\n </View>) : null;\n })\n }\n {\n this._showSkeleton ? null : <Animated.View style={[\n this.styles.dotStyle,\n this.styles.activeDotStyle, {\n width: undefined,\n height: undefined,\n transform: [{\n translateX: this.dotPosition\n }]\n }, this.isRTL ? { right: 0 } : { left: 0}]}>\n <Animated.View style={[{\n width: 1,\n height: 1\n }, {\n // This is failing in Android\n // minWidth: this.dotScale\n }]}>\n </Animated.View>\n </Animated.View>\n }\n </View>\n </View>);\n }\n\n public renderSkeleton(props: WmCarouselProps): React.ReactNode | null {\n return <View style={[this.styles.root, {...this.styles.skeleton.root}]}>\n {this.renderItem({}, 0)}\n {this.renderPagination([{}, {}, {}])}\n </View>\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.autoPlay();\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = isArray(data) ? data : [];\n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View style={styles.root}>\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","isArray","isUndefined","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","_this$animationView","animationView","setPosition","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","children","data","dataset","length","_this$animationView2","_this$animationView3","goToUpper","_this$animationView4","goToLower","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","initialized","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView5","stopAnimation","startAnimation","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","margin","styles","dotStyle","marginLeft","marginRight","size","position","max","scale","options","useNativeDriver","duration","easing","out","linear","sequence","timing","dotScale","toValue","parallel","dotPosition","isRTL","start","renderPagination","maxNoOfDots","maxnoofdots","minIndex","maxIndex","dotSkeleton","root","createElement","style","dotsWrapperStyle","flexDirection","map","_extends","key","getTestPropsForAction","activeDotStyle","undefined","height","transform","translateX","right","left","renderSkeleton","skeleton","renderItem","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","_background","enableGestures","enablegestures","flex","direction","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView6","_this$animationView7","isActive","animationPhase","interpolate","inputRange","outputRange","onLayout","bind","testID","firstSlide","lastSlide","activeSlide","onTap","_this$animationView8","rippleColor","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotScale = new Animated.Value(0);\n private dotPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n else{\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n if(!this.initialized){\n return;\n }\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n stopAnimation(){ \n this.stopPlay();\n }\n startAnimation() {\n this.autoPlay();\n }\n \n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const position = Math.max(index - 1, 0) * size;\n const scale = Math.abs(index - prevIndex) * size;\n const options = {\n useNativeDriver: true,\n duration: 200,\n easing: Easing.out(Easing.linear)\n };\n if (prevIndex < index) {\n Animated.sequence([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ])\n ]).start();\n } else if (prevIndex > index) {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(this.dotScale, {\n toValue: scale,\n ...options\n }),\n Animated.timing(this.dotPosition, {\n toValue: (this.isRTL ? -1: 1) * position,\n ...options\n })\n ]),\n Animated.timing(this.dotScale, {\n toValue: 0,\n ...options\n }),\n ]).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n return props.children[index];\n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = this.state.props.maxnoofdots;\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n const dotStyle = this._showSkeleton ? {\n ...this.styles.dotStyle,\n ...this.styles.dotSkeleton.root\n } : this.styles.dotStyle\n return (<View style={this.styles.dotsWrapperStyle}>\n <View style={{flexDirection: this.isRTL ? 'row-reverse' : 'row'}}>\n {\n data.map((item: any, index: number) => {\n return index >= minIndex && index <= maxIndex ? (\n <View key={'dots_' + this.generateItemKey(item, index, this.state.props)} {...this.getTestPropsForAction('indicator'+index)}\n style={[dotStyle]}>\n </View>) : null;\n })\n }\n {\n this._showSkeleton ? null : <Animated.View style={[\n this.styles.dotStyle,\n this.styles.activeDotStyle, {\n width: undefined,\n height: undefined,\n transform: [{\n translateX: this.dotPosition\n }]\n }, this.isRTL ? { right: 0 } : { left: 0}]}>\n <Animated.View style={[{\n width: 1,\n height: 1\n }, {\n // This is failing in Android\n // minWidth: this.dotScale\n }]}>\n </Animated.View>\n </Animated.View>\n }\n </View>\n </View>);\n }\n\n public renderSkeleton(props: WmCarouselProps): React.ReactNode | null {\n return <View style={[this.styles.root, {...this.styles.skeleton.root}]}>\n {this.renderItem({}, 0)}\n {this.renderPagination([{}, {}, {}])}\n </View>\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.autoPlay();\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = isArray(data) ? data : [];\n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View style={styles.root}>\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n testID={`carousel_item_${index}`}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -94,7 +94,9 @@ export default class WmLottie extends BaseComponent {
|
|
94
94
|
this.loadAnimationData();
|
95
95
|
}
|
96
96
|
renderWebLottie(props) {
|
97
|
-
|
97
|
+
var _Lottie;
|
98
|
+
let Lottie = Platform.OS == 'web' ? require('react-lottie-player') : null;
|
99
|
+
Lottie = ((_Lottie = Lottie) === null || _Lottie === void 0 ? void 0 : _Lottie.default) || Lottie;
|
98
100
|
return /*#__PURE__*/React.createElement(Lottie, {
|
99
101
|
animationData: this.state.animationData,
|
100
102
|
ref: this.lottie,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","View","LottieView","BaseComponent","BaseComponentState","WmLottieProps","DEFAULT_CLASS","WmLottieState","constructor","args","_defineProperty","WmLottie","props","createRef","play","lottie","current","state","isCompleted","reset","invokeEventCallback","proxy","pause","goToAndPlay","updateState","onReady","autoplay","loadAnimationData","animationData","loadAsset","OS","url","source","get","then","data","onPropertyChange","name","$new","$old","initialized","setTimeout","componentDidMount","renderWebLottie","Lottie","require","createElement","ref","loop","speed","style","styles","content","onComplete","renderNativeLottie","autoPlay","onAnimationFinish","renderWidget","root","_background"],"sources":["lottie.component.tsx"],"sourcesContent":["import React from 'react';\nimport axios from 'axios';\nimport { Platform, View } from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLottieProps from './lottie.props';\nimport { DEFAULT_CLASS, WmLottieStyles } from './lottie.styles';\n\nexport class WmLottieState extends BaseComponentState<WmLottieProps> {\n animationData: any;\n isCompleted = false;\n}\n\nexport default class WmLottie extends BaseComponent<WmLottieProps, WmLottieState, WmLottieStyles> {\n\n private lottie = React.createRef<LottieView>();\n\n constructor(props: WmLottieProps) {\n super(props, DEFAULT_CLASS, new WmLottieProps(), new WmLottieState());\n }\n \n play() {\n if (this.lottie.current) {\n if (this.state.isCompleted) {\n this.reset();\n } else {\n this.lottie.current.play();\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n }\n\n pause() {\n if (this.lottie.current) {\n this.lottie.current.pause();\n this.invokeEventCallback('onPause', [null, this.proxy]);\n }\n }\n\n reset() {\n if (this.lottie.current) {\n if (this.lottie.current.reset) {\n this.lottie.current.reset();\n this.lottie.current.play();\n } else if((this.lottie.current as any).goToAndPlay) {\n (this.lottie.current as any).goToAndPlay(0);\n } else {\n return;\n }\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n this.updateState({\n isCompleted: false\n } as WmLottieState);\n }\n \n }\n\n private onReady() {\n this.invokeEventCallback('onReady', [null, this.proxy]);\n if (this.state.props.autoplay) {\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n\n private loadAnimationData() {\n if (this.state.animationData || ! this.loadAsset) {\n return;\n }\n if (Platform.OS == 'web') {\n const url = this.loadAsset(this.state.props.source) as string;\n axios.get(url).then(({data}) => {\n this.updateState({\n animationData: data\n } as WmLottieState, () => this.onReady());\n });\n } else {\n this.updateState({\n animationData: this.loadAsset(this.state.props.source)\n } as WmLottieState, () => this.onReady());\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'src':\n this.loadAnimationData();\n break;\n case 'loop':\n if (this.initialized && \n !this.state.isCompleted && \n ($new || this.state.props.autoplay)) {\n setTimeout(() => this.reset(), 200);\n }\n break;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.loadAnimationData();\n }\n\n private renderWebLottie(props: WmLottieProps) {\n
|
1
|
+
{"version":3,"names":["React","axios","Platform","View","LottieView","BaseComponent","BaseComponentState","WmLottieProps","DEFAULT_CLASS","WmLottieState","constructor","args","_defineProperty","WmLottie","props","createRef","play","lottie","current","state","isCompleted","reset","invokeEventCallback","proxy","pause","goToAndPlay","updateState","onReady","autoplay","loadAnimationData","animationData","loadAsset","OS","url","source","get","then","data","onPropertyChange","name","$new","$old","initialized","setTimeout","componentDidMount","renderWebLottie","_Lottie","Lottie","require","default","createElement","ref","loop","speed","style","styles","content","onComplete","renderNativeLottie","autoPlay","onAnimationFinish","renderWidget","root","_background"],"sources":["lottie.component.tsx"],"sourcesContent":["import React from 'react';\nimport axios from 'axios';\nimport { Platform, View } from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLottieProps from './lottie.props';\nimport { DEFAULT_CLASS, WmLottieStyles } from './lottie.styles';\n\nexport class WmLottieState extends BaseComponentState<WmLottieProps> {\n animationData: any;\n isCompleted = false;\n}\n\nexport default class WmLottie extends BaseComponent<WmLottieProps, WmLottieState, WmLottieStyles> {\n\n private lottie = React.createRef<LottieView>();\n\n constructor(props: WmLottieProps) {\n super(props, DEFAULT_CLASS, new WmLottieProps(), new WmLottieState());\n }\n \n play() {\n if (this.lottie.current) {\n if (this.state.isCompleted) {\n this.reset();\n } else {\n this.lottie.current.play();\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n }\n\n pause() {\n if (this.lottie.current) {\n this.lottie.current.pause();\n this.invokeEventCallback('onPause', [null, this.proxy]);\n }\n }\n\n reset() {\n if (this.lottie.current) {\n if (this.lottie.current.reset) {\n this.lottie.current.reset();\n this.lottie.current.play();\n } else if((this.lottie.current as any).goToAndPlay) {\n (this.lottie.current as any).goToAndPlay(0);\n } else {\n return;\n }\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n this.updateState({\n isCompleted: false\n } as WmLottieState);\n }\n \n }\n\n private onReady() {\n this.invokeEventCallback('onReady', [null, this.proxy]);\n if (this.state.props.autoplay) {\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n\n private loadAnimationData() {\n if (this.state.animationData || ! this.loadAsset) {\n return;\n }\n if (Platform.OS == 'web') {\n const url = this.loadAsset(this.state.props.source) as string;\n axios.get(url).then(({data}) => {\n this.updateState({\n animationData: data\n } as WmLottieState, () => this.onReady());\n });\n } else {\n this.updateState({\n animationData: this.loadAsset(this.state.props.source)\n } as WmLottieState, () => this.onReady());\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'src':\n this.loadAnimationData();\n break;\n case 'loop':\n if (this.initialized && \n !this.state.isCompleted && \n ($new || this.state.props.autoplay)) {\n setTimeout(() => this.reset(), 200);\n }\n break;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.loadAnimationData();\n }\n\n private renderWebLottie(props: WmLottieProps) {\n let Lottie = Platform.OS == 'web' ? require('react-lottie-player') : null;\n Lottie = Lottie?.default || Lottie;\n return (<Lottie \n animationData={this.state.animationData}\n ref= {this.lottie}\n loop={props.loop}\n play={props.autoplay}\n speed={props.speed}\n style={this.styles.content}\n onComplete={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}/>);\n }\n\n private renderNativeLottie(props: WmLottieProps) {\n return (\n <LottieView\n source={this.state.animationData}\n ref= {this.lottie}\n autoPlay={props.autoplay}\n speed={props.speed}\n loop={props.loop}\n style={this.styles.content}\n onAnimationFinish={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}\n />\n );\n }\n\n renderWidget(props: WmLottieProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n {this.state.animationData ? \n (Platform.OS == 'web' ? this.renderWebLottie(props) : this.renderNativeLottie(props)) \n : null \n }\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -51,7 +51,9 @@ export default class WmAccordionpane extends BaseComponent {
|
|
51
51
|
}
|
52
52
|
componentWillUnmount() {
|
53
53
|
const accordion = this.parent;
|
54
|
-
accordion.removeAccordionPane
|
54
|
+
if (accordion.removeAccordionPane) {
|
55
|
+
accordion.removeAccordionPane(this);
|
56
|
+
}
|
55
57
|
}
|
56
58
|
onPartialLoad() {
|
57
59
|
this.invokeEventCallback('onLoad', [this]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmAccordionpaneProps","DEFAULT_CLASS","View","isWebPreviewMode","CollapsiblePane","WmAccordionpaneState","constructor","args","_defineProperty","WmAccordionpane","props","isCollapsed","state","collapsed","show","updateState","invokeEventCallback","proxy","hide","expand","parent","name","collapse","componentDidMount","accordion","addAccordionPane","componentWillUnmount","removeAccordionPane","onPartialLoad","renderContent","renderPartial","isPartialLoaded","setTimeout","bind","children","renderWidget","createElement","style","maxHeight","overflow","_background","close"],"sources":["accordionpane.component.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmAccordionpaneProps from './accordionpane.props';\nimport { DEFAULT_CLASS, WmAccordionpaneStyles } from './accordionpane.styles';\nimport WmAccordion from '../accordion.component';\nimport { View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from '../../panel/collapsible-pane.component';\n\nexport class WmAccordionpaneState extends BaseComponentState<WmAccordionpaneProps> {\n isPartialLoaded = false;\n collapsed = true;\n}\n\nexport default class WmAccordionpane extends BaseComponent<WmAccordionpaneProps, WmAccordionpaneState, WmAccordionpaneStyles> {\n public paneId: string = \"\";\n constructor(props: WmAccordionpaneProps) {\n super(props, DEFAULT_CLASS, new WmAccordionpaneProps(), new WmAccordionpaneState());\n }\n\n isCollapsed() {\n return this.state.collapsed;\n }\n \n show() {\n this.updateState({\n collapsed: false\n } as WmAccordionpaneState);\n this.invokeEventCallback('onExpand', [null, this.proxy]);\n }\n\n hide() {\n this.updateState({\n collapsed: true\n } as WmAccordionpaneState);\n this.invokeEventCallback('onCollapse', [null, this.proxy]);\n }\n\n expand() {\n (this.parent as WmAccordion).expand(this.props.name || '');\n }\n\n collapse() {\n (this.parent as WmAccordion).expand(this.props.name || '');\n }\n\n componentDidMount() {\n const accordion = (this.parent) as WmAccordion;\n // When skeleton is enabled in the accordion component, the parent would be WMSkeleton which doesnot have addAccordionPane function\n if(accordion.addAccordionPane) {\n accordion.addAccordionPane(this);\n }\n super.componentDidMount();\n }\n\n componentWillUnmount() {\n const accordion = (this.parent) as WmAccordion;\n accordion.removeAccordionPane(this);\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmAccordionpaneProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmAccordionpaneState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n renderWidget(props: WmAccordionpaneProps) {\n return isWebPreviewMode() ? \n (<View style={this.state.collapsed ? {maxHeight: 0, overflow: 'hidden'} : {}}>\n {this._background}\n {this.renderContent(props)}\n </View>) :\n (<CollapsiblePane close={this.state.collapsed}>\n {this._background}\n {this.renderContent(props)}\n </CollapsiblePane>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAA0C,OAAO;AAC7D,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,eAAe,QAAQ,wCAAwC;AAExE,OAAO,MAAMC,oBAAoB,SAASN,kBAAkB,CAAuB;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BAC/D,KAAK;IAAAA,eAAA,oBACX,IAAI;EAAA;AAClB;AAEA,eAAe,MAAMC,eAAe,SAASX,aAAa,CAAoE;EAE5HQ,WAAWA,CAACI,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,EAAE,IAAIK,oBAAoB,CAAC,CAAC,CAAC;IAACG,eAAA,iBAF9D,EAAE;EAG1B;EAEAG,WAAWA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,KAAK,CAACC,SAAS;EAC7B;EAEAC,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,WAAW,CAAC;MACfF,SAAS,EAAE;IACb,CAAyB,CAAC;IAC1B,IAAI,CAACG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC1D;EAEAC,IAAIA,CAAA,EAAG;IACL,IAAI,CAACH,WAAW,CAAC;MACfF,SAAS,EAAE;IACb,CAAyB,CAAC;IAC1B,IAAI,CAACG,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC5D;EAEAE,MAAMA,CAAA,EAAG;IACN,IAAI,CAACC,MAAM,CAAiBD,MAAM,CAAC,IAAI,CAACT,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC;EAC5D;EAEAC,QAAQA,CAAA,EAAG;IACR,IAAI,CAACF,MAAM,CAAiBD,MAAM,CAAC,IAAI,CAACT,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC;EAC5D;EAEAE,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,SAAS,GAAI,IAAI,CAACJ,MAAsB;IAC9C;IACA,IAAGI,SAAS,CAACC,gBAAgB,EAAE;MAC7BD,SAAS,CAACC,gBAAgB,CAAC,IAAI,CAAC;IAClC;IACA,KAAK,CAACF,iBAAiB,CAAC,CAAC;EAC3B;EAEAG,oBAAoBA,CAAA,EAAG;IACrB,MAAMF,SAAS,GAAI,IAAI,CAACJ,MAAsB;
|
1
|
+
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmAccordionpaneProps","DEFAULT_CLASS","View","isWebPreviewMode","CollapsiblePane","WmAccordionpaneState","constructor","args","_defineProperty","WmAccordionpane","props","isCollapsed","state","collapsed","show","updateState","invokeEventCallback","proxy","hide","expand","parent","name","collapse","componentDidMount","accordion","addAccordionPane","componentWillUnmount","removeAccordionPane","onPartialLoad","renderContent","renderPartial","isPartialLoaded","setTimeout","bind","children","renderWidget","createElement","style","maxHeight","overflow","_background","close"],"sources":["accordionpane.component.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmAccordionpaneProps from './accordionpane.props';\nimport { DEFAULT_CLASS, WmAccordionpaneStyles } from './accordionpane.styles';\nimport WmAccordion from '../accordion.component';\nimport { View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from '../../panel/collapsible-pane.component';\n\nexport class WmAccordionpaneState extends BaseComponentState<WmAccordionpaneProps> {\n isPartialLoaded = false;\n collapsed = true;\n}\n\nexport default class WmAccordionpane extends BaseComponent<WmAccordionpaneProps, WmAccordionpaneState, WmAccordionpaneStyles> {\n public paneId: string = \"\";\n constructor(props: WmAccordionpaneProps) {\n super(props, DEFAULT_CLASS, new WmAccordionpaneProps(), new WmAccordionpaneState());\n }\n\n isCollapsed() {\n return this.state.collapsed;\n }\n \n show() {\n this.updateState({\n collapsed: false\n } as WmAccordionpaneState);\n this.invokeEventCallback('onExpand', [null, this.proxy]);\n }\n\n hide() {\n this.updateState({\n collapsed: true\n } as WmAccordionpaneState);\n this.invokeEventCallback('onCollapse', [null, this.proxy]);\n }\n\n expand() {\n (this.parent as WmAccordion).expand(this.props.name || '');\n }\n\n collapse() {\n (this.parent as WmAccordion).expand(this.props.name || '');\n }\n\n componentDidMount() {\n const accordion = (this.parent) as WmAccordion;\n // When skeleton is enabled in the accordion component, the parent would be WMSkeleton which doesnot have addAccordionPane function\n if(accordion.addAccordionPane) {\n accordion.addAccordionPane(this);\n }\n super.componentDidMount();\n }\n\n componentWillUnmount() {\n const accordion = (this.parent) as WmAccordion;\n if(accordion.removeAccordionPane) {\n accordion.removeAccordionPane(this);\n }\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmAccordionpaneProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmAccordionpaneState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n renderWidget(props: WmAccordionpaneProps) {\n return isWebPreviewMode() ? \n (<View style={this.state.collapsed ? {maxHeight: 0, overflow: 'hidden'} : {}}>\n {this._background}\n {this.renderContent(props)}\n </View>) :\n (<CollapsiblePane close={this.state.collapsed}>\n {this._background}\n {this.renderContent(props)}\n </CollapsiblePane>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -8,6 +8,7 @@ export default class WmTabpaneProps extends BaseProps {
|
|
8
8
|
_defineProperty(this, "paneicon", null);
|
9
9
|
_defineProperty(this, "title", 'Tab Title');
|
10
10
|
_defineProperty(this, "isPartialLoaded", false);
|
11
|
+
_defineProperty(this, "invokeVariables", true);
|
11
12
|
}
|
12
13
|
}
|
13
14
|
//# sourceMappingURL=tabpane.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children?: any;\n paneicon?: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded? = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAEhC,IAAI;IAAAA,eAAA,gBACR,WAAW;IAAAA,eAAA,0BAER,KAAK;EAAA;
|
1
|
+
{"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children?: any;\n paneicon?: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded? = false;\n invokeVariables = true;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAEhC,IAAI;IAAAA,eAAA,gBACR,WAAW;IAAAA,eAAA,0BAER,KAAK;IAAAA,eAAA,0BACN,IAAI;EAAA;AACxB","ignoreList":[]}
|
@@ -12,6 +12,7 @@ export class BaseInputState extends BaseComponentState {
|
|
12
12
|
super(...args);
|
13
13
|
_defineProperty(this, "keyboardType", 'default');
|
14
14
|
_defineProperty(this, "isValid", true);
|
15
|
+
_defineProperty(this, "isInputFocused", false);
|
15
16
|
_defineProperty(this, "textValue", '');
|
16
17
|
_defineProperty(this, "isDefault", false);
|
17
18
|
_defineProperty(this, "errorType", '');
|
@@ -117,7 +118,7 @@ export class BaseInputComponent extends BaseComponent {
|
|
117
118
|
onBlur(event) {
|
118
119
|
Injector.FOCUSED_ELEMENT.remove();
|
119
120
|
this.isTouched = true;
|
120
|
-
let newVal = this.state.textValue;
|
121
|
+
let newVal = this.state.textValue || '';
|
121
122
|
let oldVal = this.state.props.datavalue || '';
|
122
123
|
this.validate(newVal);
|
123
124
|
if (newVal === '' || newVal == undefined) {
|
@@ -125,12 +126,15 @@ export class BaseInputComponent extends BaseComponent {
|
|
125
126
|
this.props.triggerValidation && this.props.triggerValidation();
|
126
127
|
}, 10);
|
127
128
|
}
|
128
|
-
if (this.state.props.updateon === 'blur') {
|
129
|
-
if (oldVal !== newVal) {
|
129
|
+
if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
|
130
|
+
if (oldVal !== newVal && this.state.props.updateon === 'blur') {
|
130
131
|
this.updateDatavalue(newVal, event, 'blur');
|
131
132
|
} else {
|
132
133
|
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
133
134
|
}
|
135
|
+
this.setState({
|
136
|
+
isInputFocused: false
|
137
|
+
});
|
134
138
|
}
|
135
139
|
}
|
136
140
|
validate(value) {
|
@@ -149,6 +153,9 @@ export class BaseInputComponent extends BaseComponent {
|
|
149
153
|
this.invokeEventCallback('onFocus', [event, this.proxy]);
|
150
154
|
(_this$closestTappable = this.closestTappable) === null || _this$closestTappable === void 0 || _this$closestTappable.triggerTap();
|
151
155
|
}, 250);
|
156
|
+
this.setState({
|
157
|
+
isInputFocused: true
|
158
|
+
});
|
152
159
|
}
|
153
160
|
onKeyPress(event) {
|
154
161
|
this.invokeEventCallback('onKeypress', [event, this.proxy]);
|
@@ -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","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","setTimeout","triggerValidation","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 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 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 }\n }\n\n onChangeText(value: any) {\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 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 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') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\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\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","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","setTimeout","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 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 }\n }\n\n onChangeText(value: any) {\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 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 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":[]}
|
@@ -10,6 +10,7 @@ export class BaseNumberState extends BaseComponentState {
|
|
10
10
|
constructor(...args) {
|
11
11
|
super(...args);
|
12
12
|
_defineProperty(this, "isValid", true);
|
13
|
+
_defineProperty(this, "isInputFocused", false);
|
13
14
|
_defineProperty(this, "textValue", '');
|
14
15
|
_defineProperty(this, "isDefault", false);
|
15
16
|
_defineProperty(this, "errorType", '');
|
@@ -173,24 +174,31 @@ export class BaseNumberComponent extends BaseComponent {
|
|
173
174
|
});
|
174
175
|
}
|
175
176
|
onBlur(event, isDisplayValuePresent) {
|
176
|
-
|
177
|
+
const textVal = this.state.textValue || '';
|
178
|
+
let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;
|
177
179
|
this.validate(newVal);
|
178
180
|
if (newVal === '' || newVal == undefined) {
|
179
181
|
setTimeout(() => {
|
180
182
|
this.props.triggerValidation && this.props.triggerValidation();
|
181
183
|
}, 10);
|
182
184
|
}
|
183
|
-
if (this.state.props.updateon === 'blur') {
|
185
|
+
if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
|
184
186
|
let oldVal = this.state.props.datavalue || '';
|
185
|
-
if (oldVal !== newVal) {
|
187
|
+
if (oldVal !== newVal && this.state.props.updateon === 'blur') {
|
186
188
|
this.updateDatavalue(newVal, event, 'blur');
|
187
189
|
} else {
|
188
190
|
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
189
191
|
}
|
192
|
+
this.setState({
|
193
|
+
isInputFocused: false
|
194
|
+
});
|
190
195
|
}
|
191
196
|
}
|
192
197
|
onFocus(event) {
|
193
198
|
this.invokeEventCallback('onFocus', [event, this.proxy]);
|
199
|
+
this.setState({
|
200
|
+
isInputFocused: true
|
201
|
+
});
|
194
202
|
}
|
195
203
|
|
196
204
|
/**
|
@@ -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","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","newVal","undefined","setTimeout","triggerValidation","oldVal","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 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 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 let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;\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') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\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 (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!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","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 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 (!isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (!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":[]}
|
@@ -80,7 +80,7 @@ export default class WmCheckbox extends BaseComponent {
|
|
80
80
|
}
|
81
81
|
renderWidget(props) {
|
82
82
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(), {
|
83
|
-
style: this.styles.root,
|
83
|
+
style: [this.styles.root, this.state.isChecked ? this.styles.checkedItem : null],
|
84
84
|
onPress: this.onPress.bind(this)
|
85
85
|
}, getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {
|
86
86
|
hint: props === null || props === void 0 ? void 0 : props.hint,
|
@@ -94,7 +94,7 @@ export default class WmCheckbox extends BaseComponent {
|
|
94
94
|
disabled: props.readonly || props.disabled,
|
95
95
|
id: this.getTestId('checkbox')
|
96
96
|
}), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(), {
|
97
|
-
style: this.styles.text
|
97
|
+
style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null]
|
98
98
|
}), props.caption));
|
99
99
|
}
|
100
100
|
}
|