@wavemaker/app-rn-runtime 11.8.3-next.27383 → 11.8.3-next.27386
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.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +13 -0
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +37 -11
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +9 -8
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +4 -2
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/core/base.component.js +1 -0
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/props.provider.js +4 -1
- app-rn-runtime/core/props.provider.js.map +1 -1
- app-rn-runtime/package.json +3 -3
@@ -110,6 +110,9 @@ export default class WmCarousel extends BaseComponent {
|
|
110
110
|
return 'list_item_' + this.keyExtractor.getKey(item, true);
|
111
111
|
}
|
112
112
|
autoPlay() {
|
113
|
+
if (!this.initialized) {
|
114
|
+
return;
|
115
|
+
}
|
113
116
|
const props = this.state.props;
|
114
117
|
this.stopPlay && this.stopPlay();
|
115
118
|
if (props.animation === 'auto' && props.animationinterval) {
|
@@ -125,6 +128,12 @@ export default class WmCarousel extends BaseComponent {
|
|
125
128
|
}, 1000);
|
126
129
|
}
|
127
130
|
}
|
131
|
+
stopAnimation() {
|
132
|
+
this.stopPlay();
|
133
|
+
}
|
134
|
+
startAnimation() {
|
135
|
+
this.autoPlay();
|
136
|
+
}
|
128
137
|
onPropertyChange(name, $new, $old) {
|
129
138
|
super.onPropertyChange(name, $new, $old);
|
130
139
|
switch (name) {
|
@@ -222,6 +231,10 @@ export default class WmCarousel extends BaseComponent {
|
|
222
231
|
}]
|
223
232
|
}))));
|
224
233
|
}
|
234
|
+
componentDidMount() {
|
235
|
+
super.componentDidMount();
|
236
|
+
this.autoPlay();
|
237
|
+
}
|
225
238
|
renderWidget(props) {
|
226
239
|
var _data, _this$styles$slide;
|
227
240
|
const hasNavs = props.controls === 'both' || props.controls === 'navs';
|
@@ -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","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView5","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","createElement","style","dotsWrapperStyle","flexDirection","map","_extends","key","getTestPropsForAction","activeDotStyle","undefined","height","transform","translateX","right","left","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","root","_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","renderItem","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';\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 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 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 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={[this.styles.dotStyle]}>\n </View>) : null;\n })\n }\n <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 </View>\n </View>);\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","createElement","style","dotsWrapperStyle","flexDirection","map","_extends","key","getTestPropsForAction","activeDotStyle","undefined","height","transform","translateX","right","left","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","root","_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","renderItem","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';\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 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={[this.styles.dotStyle]}>\n </View>) : null;\n })\n }\n <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 </View>\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":[]}
|
@@ -131,24 +131,42 @@ export default class WmStackChart extends BaseChartComponent {
|
|
131
131
|
}
|
132
132
|
getArcChart(props) {
|
133
133
|
if (this.state.data.length > 0) {
|
134
|
-
let data =
|
135
|
-
|
136
|
-
|
137
|
-
|
134
|
+
let data = this.getData();
|
135
|
+
let negativeValues = cloneDeep(this.getNegativeValuesArray());
|
136
|
+
let currentValue = 0;
|
137
|
+
let prevValue = 0;
|
138
|
+
data = data.map((d, i) => {
|
139
|
+
d.y = d.y - currentValue;
|
140
|
+
prevValue = d.y;
|
141
|
+
d.y = Math.abs(d.y);
|
142
|
+
d.index = d.x;
|
143
|
+
currentValue = prevValue < 0 && i === negativeValues.length - 1 ? 0 : prevValue + currentValue;
|
144
|
+
return d;
|
145
|
+
});
|
146
|
+
data.reverse();
|
147
|
+
if (negativeValues.length > 1) {
|
148
|
+
const portionToReverse = data.slice(-negativeValues.length);
|
149
|
+
const reversedPortion = portionToReverse.reverse();
|
150
|
+
data = [...data.slice(0, -negativeValues.length), ...reversedPortion];
|
151
|
+
}
|
138
152
|
const radius = Math.min(this.state.chartWidth / 2, this.state.chartHeight - 50);
|
153
|
+
const angles = data.map((d, i) => {
|
154
|
+
let total = data.reduce((sum, item) => sum + item.y, 0);
|
155
|
+
return Math.round(d.y / total * 160);
|
156
|
+
});
|
157
|
+
let startAngle = 80;
|
139
158
|
return data.map((d, i) => {
|
140
159
|
let d1 = [];
|
141
160
|
d1.push(d);
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
});
|
161
|
+
if (i != 0) {
|
162
|
+
startAngle = startAngle - angles[i - 1] + angles[i - 1] / 10;
|
163
|
+
}
|
146
164
|
return /*#__PURE__*/React.createElement(VictoryPie, {
|
147
165
|
key: props.name + '_' + i,
|
148
166
|
radius: radius,
|
149
|
-
colorScale: [
|
150
|
-
startAngle: -80,
|
151
|
-
endAngle: 80,
|
167
|
+
colorScale: [this.state.colors[d.index], '#fff0'],
|
168
|
+
startAngle: angles ? startAngle : -80,
|
169
|
+
endAngle: -80,
|
152
170
|
cornerRadius: 100,
|
153
171
|
standalone: false,
|
154
172
|
origin: {
|
@@ -157,6 +175,14 @@ export default class WmStackChart extends BaseChartComponent {
|
|
157
175
|
},
|
158
176
|
innerRadius: radius - this.state.props.thickness,
|
159
177
|
labels: [],
|
178
|
+
events: [{
|
179
|
+
target: 'data',
|
180
|
+
eventHandlers: Platform.OS == "web" ? {
|
181
|
+
onClick: this.onSelect.bind(this)
|
182
|
+
} : {
|
183
|
+
onPress: this.onSelect.bind(this)
|
184
|
+
}
|
185
|
+
}],
|
160
186
|
data: d1
|
161
187
|
});
|
162
188
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Platform","Svg","VictoryStack","VictoryBar","VictoryChart","VictoryPie","VictoryLegend","VictoryAxis","Axis","Scale","orderBy","cloneDeep","findIndex","isString","AccessibilityWidgetType","getAccessibilityProps","WmStackChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmStackChartState","constructor","args","_defineProperty","WmStackChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","componentDidMount","setHeightWidthOnChart","getNegativeValuesArray","negativeValuesArray","state","data","filter","d","y","getPositiveValuesArray","positiveValuesArray","getData","negativeValues","concat","updateColors","colors","length","colorCodes","orderedData","map","i","index","getLegendColors","getBarChart","currentValue","yValues","minValue","Math","min","maxValue","max","cornerRadius","bottom","top","d1","x","push","createElement","key","name","barWidth","thickness","events","target","eventHandlers","OS","onClick","onSelect","bind","onPress","getColorCodes","reverse","getArcChart","colorScaleArray","o","radius","chartHeight","colorScale","startAngle","endAngle","standalone","origin","innerRadius","labels","getArcAxis","ticks","getTickValues","axisData","forEach","yunits","style","fontSize","paddingLeft","paddingRight","labelRadius","scale","getBaseScale","domain","getTicks","unshift","minvalue","event","datum","yaxisKey","yaxisdatakey","label","xaxisDatakeyArr","value","dataset","selectedItem","selectedChartItem","series","_dataObj","setTooltipPosition","tooltipXaxis","tooltipYaxis","isTooltipOpen","invokeEventCallback","proxy","renderWidget","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","_extends","LINECHART","styles","root","onLayout","onViewLayoutChange","getTooltip","viewtype","theme","minDomain","height","padding","offsettop","offsetbottom","left","offsetleft","right","offsetright","containerComponent","title","fontFamily","subheading","orientation","gutter","getLegendView","crossAxis","tickLabels","fill","showyaxis","axisLabel","grid","stroke","axis","tickValues","tickFormat","t","abbreviateNumber","dependentAxis","horizontal"],"sources":["stack-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { VictoryStack, VictoryBar, VictoryChart, VictoryPie, VictoryLegend, VictoryAxis } from 'victory-native';\nimport { Axis, Scale } from 'victory-core';\nimport { orderBy, cloneDeep, findIndex, isString} from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport WmStackChartProps from './stack-chart.props';\nimport { DEFAULT_CLASS, WmStackChartStyles } from './stack-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\n\nexport class WmStackChartState extends BaseChartComponentState<WmStackChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmStackChart extends BaseChartComponent<WmStackChartProps, WmStackChartState, WmStackChartStyles> {\n constructor(props: WmStackChartProps) {\n super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setHeightWidthOnChart();\n }\n\n getNegativeValuesArray() {\n let negativeValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y < 0);\n negativeValuesArray = orderBy(negativeValuesArray, 'y', 'desc');\n return negativeValuesArray;\n }\n\n getPositiveValuesArray() {\n let positiveValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y > 0);\n positiveValuesArray = orderBy(positiveValuesArray, 'y', 'asc');\n return positiveValuesArray;\n }\n\n getData() {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n return negativeValues.concat(cloneDeep(this.getPositiveValuesArray()));\n }\n\n updateColors() {\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = this.getData();\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getLegendColors(){\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = orderBy(this.state.data[0], 'y', 'asc');;\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getBarChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n const data = this.getData();\n let currentValue = 0;\n const yValues = data.map((d: any) => d.y);\n const minValue = Math.min(...yValues);\n const maxValue = Math.max(...yValues);\n\n return data.map((d: any, i: number) => {\n let cornerRadius: any;\n if (d.y === minValue) {\n cornerRadius = d.y > 0 ? { bottom: 10 } : { top: 10 };\n } else if (d.y === maxValue) {\n cornerRadius = d.y > 0 ? { top: 10 } : { bottom: 10 };\n } else {\n cornerRadius = 0;\n } \n let d1: any = [];\n d.index = d.x;\n d.x = 0;\n d.y = d.y - currentValue;\n d1.push(d);\n currentValue = d.y < 0 && i === negativeValues.length -1 ? 0 : d.y + currentValue;\n return <VictoryBar key={props.name + '_' + i}\n cornerRadius={cornerRadius}\n barWidth={this.state.props.thickness}\n data={d1}\n events={[\n {\n target: 'data',\n eventHandlers: Platform.OS === 'web'\n ? { onClick: this.onSelect.bind(this) }\n : { onPress: this.onSelect.bind(this) }\n }\n ]}/>\n });\n }\n }\n\n private getColorCodes() {\n const colors = cloneDeep(this.updateColors());\n return isString(colors) ? [colors] : colors.reverse();\n }\n\n getArcChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n let data = cloneDeep(this.state.data[0]);\n const colorScaleArray = this.getColorCodes();\n const maxValue = Math.max(...data.map((o: any) => o.y));\n data = orderBy(data, 'y', 'desc');\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight - 50);\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d1.push(d);\n d1.push({x: d.x, y: maxValue - d.y})\n return <VictoryPie key={props.name + '_' + i}\n radius={radius}\n colorScale={[colorScaleArray[i], '#fff0']}\n startAngle={-80}\n endAngle={80}\n cornerRadius={100}\n standalone={false}\n origin={{x: (this.state.chartWidth/2), y: (this.state.chartHeight - 50)}}\n innerRadius={radius - this.state.props.thickness}\n labels={[]}\n data={d1}/>\n });\n }\n }\n\n getArcAxis() {\n const ticks = this.getTickValues();\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight-50);\n const axisData: any = [];\n ticks.forEach((d: any, i: any) => {\n axisData.push({x: `${this.state.props.yunits}${d}`, y: 1})\n });\n return <VictoryPie\n style={{\n labels: {\n fontSize: 12, paddingLeft: 50, paddingRight: 80\n }}\n }\n startAngle={-90}\n endAngle={90}\n standalone={false}\n colorScale={['#fff0']}\n origin={{x: (this.state.chartWidth/2 - 5), y: (this.state.chartHeight - 50)}}\n labelRadius={radius - this.state.props.thickness - 20}\n data={axisData}\n />\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth\n } as WmStackChartState);\n }\n\n getTickValues() {\n let ticks: any = [];\n if (this.state.data[0].length) {\n let data = cloneDeep(this.state.data[0]);\n const maxValue = Math.max(...data.map((o: any) => o.y ? o.y : 0));\n const minValue = Math.min(...data.map((o: any) => o.y ? o.y : 0));\n const scale = Scale.getBaseScale({}, 'x');\n scale.domain([minValue > 0 ? 0 : minValue, maxValue]);\n ticks = Axis.getTicks({}, scale);\n ticks[ticks.length -1] = maxValue;\n if ( minValue < 0 ) {\n if (ticks[0] === 0) {\n ticks.unshift(minValue);\n } else {\n ticks[0] = minValue;\n }\n } else {\n ticks[0] = this.state.props.minvalue;\n }\n }\n return ticks;\n }\n\n onSelect(event: any, data: any){\n let props = this.state.props\n let index = data.datum.index\n let yaxisKey = props.yaxisdatakey;\n let label = this.state.xaxisDatakeyArr[index];\n let value = props.dataset[index][yaxisKey];\n let selectedItem = props.dataset[index];\n let selectedChartItem = [{series: 0, x: index, y: value,_dataObj: selectedItem}, index];\n const nativeEvent = event.nativeEvent;\n this.setTooltipPosition(nativeEvent);\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: index},\n } as WmStackChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n }\n\n renderWidget(props: WmStackChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n }\n let mindomain={x: this.props.xdomain === 'Min' ? this.state.chartMinX: undefined, y: this.props.ydomain === 'Min' ? this.state.chartMinY: undefined};\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={this.styles.root} onLayout={this.onViewLayoutChange}\n >\n {this.getTooltip()}{\n props.viewtype === 'Bar' ?\n <VictoryChart\n theme={this.state.theme}\n minDomain={mindomain}\n height={this.styles.root.height as number}\n width={this.styles.root.width as number || this.state.chartWidth || 200}\n padding={{\n top: props.offsettop,\n bottom: props.offsetbottom,\n left: props.offsetleft,\n right: props.offsetright\n }}\n >\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n style={{title: {\n fontFamily: \"'Helvetica Neue', 'Helvetica', sans-serif\",\n fontSize: 18\n }\n }}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView(this.getLegendColors())}\n <VictoryAxis crossAxis\n style={{\n tickLabels: { fill: this.state.props.showyaxis === false ? 'transparent' : '#000000', fontSize: 12, padding: this.state.props.thickness/2 + 5},\n axisLabel: { padding: (15 + this.state.props.thickness/2) },\n grid: {stroke: 'none'},\n axis: {stroke: 'none'},\n ticks: {stroke: 'none'}\n }}\n theme={this.state.theme}\n tickValues={this.getTickValues()}\n tickFormat={(t: any) => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`} dependentAxis />\n <VictoryStack\n colorScale={this.updateColors()}\n horizontal={true}\n >\n {\n this.getBarChart(props)\n }\n </VictoryStack>\n </VictoryChart> :\n <Svg width={this.state.chartWidth} height={this.state.chartHeight}>\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getArcChart(props)}\n {this.getArcAxis()}\n </Svg>\n }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Platform","Svg","VictoryStack","VictoryBar","VictoryChart","VictoryPie","VictoryLegend","VictoryAxis","Axis","Scale","orderBy","cloneDeep","findIndex","isString","AccessibilityWidgetType","getAccessibilityProps","WmStackChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmStackChartState","constructor","args","_defineProperty","WmStackChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","componentDidMount","setHeightWidthOnChart","getNegativeValuesArray","negativeValuesArray","state","data","filter","d","y","getPositiveValuesArray","positiveValuesArray","getData","negativeValues","concat","updateColors","colors","length","colorCodes","orderedData","map","i","index","getLegendColors","getBarChart","currentValue","yValues","minValue","Math","min","maxValue","max","cornerRadius","bottom","top","d1","x","push","createElement","key","name","barWidth","thickness","events","target","eventHandlers","OS","onClick","onSelect","bind","onPress","getColorCodes","reverse","getArcChart","prevValue","abs","portionToReverse","slice","reversedPortion","radius","chartHeight","angles","total","reduce","sum","item","round","startAngle","colorScale","endAngle","standalone","origin","innerRadius","labels","getArcAxis","ticks","getTickValues","axisData","forEach","yunits","style","fontSize","paddingLeft","paddingRight","labelRadius","o","scale","getBaseScale","domain","getTicks","unshift","minvalue","event","datum","yaxisKey","yaxisdatakey","label","xaxisDatakeyArr","value","dataset","selectedItem","selectedChartItem","series","_dataObj","setTooltipPosition","tooltipXaxis","tooltipYaxis","isTooltipOpen","invokeEventCallback","proxy","renderWidget","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","_extends","LINECHART","styles","root","onLayout","onViewLayoutChange","getTooltip","viewtype","theme","minDomain","height","padding","offsettop","offsetbottom","left","offsetleft","right","offsetright","containerComponent","title","fontFamily","subheading","orientation","gutter","getLegendView","crossAxis","tickLabels","fill","showyaxis","axisLabel","grid","stroke","axis","tickValues","tickFormat","t","abbreviateNumber","dependentAxis","horizontal"],"sources":["stack-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { VictoryStack, VictoryBar, VictoryChart, VictoryPie, VictoryLegend, VictoryAxis } from 'victory-native';\nimport { Axis, Scale } from 'victory-core';\nimport { orderBy, cloneDeep, findIndex, isString} from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport WmStackChartProps from './stack-chart.props';\nimport { DEFAULT_CLASS, WmStackChartStyles } from './stack-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\n\nexport class WmStackChartState extends BaseChartComponentState<WmStackChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmStackChart extends BaseChartComponent<WmStackChartProps, WmStackChartState, WmStackChartStyles> {\n constructor(props: WmStackChartProps) {\n super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setHeightWidthOnChart();\n }\n\n getNegativeValuesArray() {\n let negativeValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y < 0);\n negativeValuesArray = orderBy(negativeValuesArray, 'y', 'desc');\n return negativeValuesArray;\n }\n\n getPositiveValuesArray() {\n let positiveValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y > 0);\n positiveValuesArray = orderBy(positiveValuesArray, 'y', 'asc');\n return positiveValuesArray;\n }\n\n getData() {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n return negativeValues.concat(cloneDeep(this.getPositiveValuesArray()));\n }\n\n updateColors() {\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = this.getData();\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getLegendColors(){\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = orderBy(this.state.data[0], 'y', 'asc');;\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getBarChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n const data = this.getData();\n let currentValue = 0;\n const yValues = data.map((d: any) => d.y);\n const minValue = Math.min(...yValues);\n const maxValue = Math.max(...yValues);\n\n return data.map((d: any, i: number) => {\n let cornerRadius: any;\n if (d.y === minValue) {\n cornerRadius = d.y > 0 ? { bottom: 10 } : { top: 10 };\n } else if (d.y === maxValue) {\n cornerRadius = d.y > 0 ? { top: 10 } : { bottom: 10 };\n } else {\n cornerRadius = 0;\n } \n let d1: any = [];\n d.index = d.x;\n d.x = 0;\n d.y = d.y - currentValue;\n d1.push(d);\n currentValue = d.y < 0 && i === negativeValues.length -1 ? 0 : d.y + currentValue;\n return <VictoryBar key={props.name + '_' + i}\n cornerRadius={cornerRadius}\n barWidth={this.state.props.thickness}\n data={d1}\n events={[\n {\n target: 'data',\n eventHandlers: Platform.OS === 'web'\n ? { onClick: this.onSelect.bind(this) }\n : { onPress: this.onSelect.bind(this) }\n }\n ]}/>\n });\n }\n }\n\n private getColorCodes() {\n const colors = cloneDeep(this.updateColors());\n return isString(colors) ? [colors] : colors.reverse();\n }\n\n getArcChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n let data = this.getData()\n let negativeValues = cloneDeep(this.getNegativeValuesArray());\n let currentValue = 0;\n let prevValue = 0\n data = data.map((d: any, i: number) => {\n d.y = d.y - currentValue\n prevValue = d.y\n d.y = Math.abs(d.y)\n d.index = d.x\n currentValue = prevValue < 0 && i === negativeValues.length -1 ? 0 : prevValue + currentValue;\n return d\n })\n data.reverse()\n if(negativeValues.length > 1){\n const portionToReverse = data.slice(-(negativeValues.length));\n const reversedPortion = portionToReverse.reverse();\n data = [...data.slice(0, -(negativeValues.length)), ...reversedPortion];\n }\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight - 50);\n const angles = data.map((d: any, i: number) => {\n let total = data.reduce((sum: number, item: any) => sum + item.y, 0);\n return Math.round((d.y / total) * 160);\n });\n let startAngle = 80\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d1.push(d);\n if (i != 0) {\n startAngle = startAngle - angles[i - 1] + (angles[i - 1] / 10)\n }\n return <VictoryPie key={props.name + '_' + i}\n radius={radius}\n colorScale={[this.state.colors[d.index], '#fff0']}\n startAngle={angles ? startAngle : -80}\n endAngle={-80}\n cornerRadius={100}\n standalone={false}\n origin={{x: (this.state.chartWidth/2), y: (this.state.chartHeight - 50)}}\n innerRadius={radius - this.state.props.thickness}\n labels={[]}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n data={d1}/>\n });\n }\n }\n\n getArcAxis() {\n const ticks = this.getTickValues();\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight-50);\n const axisData: any = [];\n ticks.forEach((d: any, i: any) => {\n axisData.push({x: `${this.state.props.yunits}${d}`, y: 1})\n });\n return <VictoryPie\n style={{\n labels: {\n fontSize: 12, paddingLeft: 50, paddingRight: 80\n }}\n }\n startAngle={-90}\n endAngle={90}\n standalone={false}\n colorScale={['#fff0']}\n origin={{x: (this.state.chartWidth/2 - 5), y: (this.state.chartHeight - 50)}}\n labelRadius={radius - this.state.props.thickness - 20}\n data={axisData}\n />\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth\n } as WmStackChartState);\n }\n\n getTickValues() {\n let ticks: any = [];\n if (this.state.data[0].length) {\n let data = cloneDeep(this.state.data[0]);\n const maxValue = Math.max(...data.map((o: any) => o.y ? o.y : 0));\n const minValue = Math.min(...data.map((o: any) => o.y ? o.y : 0));\n const scale = Scale.getBaseScale({}, 'x');\n scale.domain([minValue > 0 ? 0 : minValue, maxValue]);\n ticks = Axis.getTicks({}, scale);\n ticks[ticks.length -1] = maxValue;\n if ( minValue < 0 ) {\n if (ticks[0] === 0) {\n ticks.unshift(minValue);\n } else {\n ticks[0] = minValue;\n }\n } else {\n ticks[0] = this.state.props.minvalue;\n }\n }\n return ticks;\n }\n\n onSelect(event: any, data: any){\n let props = this.state.props\n let index = data.datum.index\n let yaxisKey = props.yaxisdatakey;\n let label = this.state.xaxisDatakeyArr[index];\n let value = props.dataset[index][yaxisKey];\n let selectedItem = props.dataset[index];\n let selectedChartItem = [{series: 0, x: index, y: value,_dataObj: selectedItem}, index];\n const nativeEvent = event.nativeEvent;\n this.setTooltipPosition(nativeEvent);\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: index},\n } as WmStackChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n }\n\n renderWidget(props: WmStackChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n }\n let mindomain={x: this.props.xdomain === 'Min' ? this.state.chartMinX: undefined, y: this.props.ydomain === 'Min' ? this.state.chartMinY: undefined};\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={this.styles.root} onLayout={this.onViewLayoutChange}\n >\n {this.getTooltip()}{\n props.viewtype === 'Bar' ?\n <VictoryChart\n theme={this.state.theme}\n minDomain={mindomain}\n height={this.styles.root.height as number}\n width={this.styles.root.width as number || this.state.chartWidth || 200}\n padding={{\n top: props.offsettop,\n bottom: props.offsetbottom,\n left: props.offsetleft,\n right: props.offsetright\n }}\n >\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n style={{title: {\n fontFamily: \"'Helvetica Neue', 'Helvetica', sans-serif\",\n fontSize: 18\n }\n }}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView(this.getLegendColors())}\n <VictoryAxis crossAxis\n style={{\n tickLabels: { fill: this.state.props.showyaxis === false ? 'transparent' : '#000000', fontSize: 12, padding: this.state.props.thickness/2 + 5},\n axisLabel: { padding: (15 + this.state.props.thickness/2) },\n grid: {stroke: 'none'},\n axis: {stroke: 'none'},\n ticks: {stroke: 'none'}\n }}\n theme={this.state.theme}\n tickValues={this.getTickValues()}\n tickFormat={(t: any) => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`} dependentAxis />\n <VictoryStack\n colorScale={this.updateColors()}\n horizontal={true}\n >\n {\n this.getBarChart(props)\n }\n </VictoryStack>\n </VictoryChart> :\n <Svg width={this.state.chartWidth} height={this.state.chartHeight}>\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getArcChart(props)}\n {this.getArcAxis()}\n </Svg>\n }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -66,21 +66,22 @@ export class BaseNumberComponent extends BaseComponent {
|
|
66
66
|
}
|
67
67
|
return isValidText;
|
68
68
|
}
|
69
|
-
onChangeText(value, type) {
|
70
|
-
const
|
69
|
+
onChangeText(value, type, shouldFormateToNumber) {
|
70
|
+
const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;
|
71
|
+
const isValidTextOnDevice = this.validateOnDevice(newValue, type);
|
71
72
|
if (!isValidTextOnDevice) {
|
72
73
|
return;
|
73
74
|
}
|
74
|
-
const decimalPlacesInNumber = countDecimalDigits(
|
75
|
+
const decimalPlacesInNumber = countDecimalDigits(newValue);
|
75
76
|
if (this.props.decimalPlaces < decimalPlacesInNumber) {
|
76
77
|
return;
|
77
78
|
}
|
78
79
|
this.updateState({
|
79
|
-
textValue:
|
80
|
+
textValue: newValue
|
80
81
|
}, () => {
|
81
82
|
if (this.state.props.updateon === 'default') {
|
82
|
-
this.validate(
|
83
|
-
this.updateDatavalue(
|
83
|
+
this.validate(newValue);
|
84
|
+
this.updateDatavalue(newValue, null);
|
84
85
|
}
|
85
86
|
});
|
86
87
|
}
|
@@ -173,8 +174,8 @@ export class BaseNumberComponent extends BaseComponent {
|
|
173
174
|
}
|
174
175
|
});
|
175
176
|
}
|
176
|
-
onBlur(event) {
|
177
|
-
let newVal = event.target.value || this.state.textValue;
|
177
|
+
onBlur(event, isDisplayValuePresent) {
|
178
|
+
let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;
|
178
179
|
this.validate(newVal);
|
179
180
|
if (newVal === '' || newVal == undefined) {
|
180
181
|
setTimeout(() => {
|
@@ -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","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","parseNumber","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","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') {\n const isValidTextOnDevice = this.validateOnDevice(value, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(value);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\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 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) {\n let newVal = 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","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":[]}
|
@@ -52,11 +52,13 @@ export default class WmNumber extends BaseNumberComponent {
|
|
52
52
|
autoFocus: props.autofocus,
|
53
53
|
editable: props.disabled || props.readonly ? false : true,
|
54
54
|
placeholder: props.placeholder,
|
55
|
-
onBlur:
|
55
|
+
onBlur: event => {
|
56
|
+
this.onBlur.bind(this)(event, !!props.displayValue);
|
57
|
+
},
|
56
58
|
onFocus: this.onFocus.bind(this),
|
57
59
|
onKeyPress: this.validateInputEntry.bind(this),
|
58
60
|
onChangeText: text => {
|
59
|
-
this.onChangeText.bind(this)(text, 'number');
|
61
|
+
this.onChangeText.bind(this)(text, 'number', !!props.displayValue);
|
60
62
|
},
|
61
63
|
onChange: this.invokeChange.bind(this),
|
62
64
|
allowContentSelection: this.styles.text.userSelect === 'text',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","style","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue"
|
1
|
+
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","style","root","isValid","invalid","keyboardType","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n />);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -122,6 +122,7 @@ export class BaseComponent extends React.Component {
|
|
122
122
|
if (this.propertyProvider.has(propName)) {
|
123
123
|
// @ts-ignore
|
124
124
|
const props = {};
|
125
|
+
this.propertyProvider.overrideProps(propName, value);
|
125
126
|
props[propName] = value;
|
126
127
|
this.updateState({
|
127
128
|
props: props
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProps","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProps(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -22,7 +22,7 @@ export class PropsProvider {
|
|
22
22
|
let value = this.defaultProps[propName];
|
23
23
|
if (this.overriddenProps.hasOwnProperty(propName)) {
|
24
24
|
value = this.overriddenProps[propName];
|
25
|
-
} else if (this.oldProps.hasOwnProperty(propName)) {
|
25
|
+
} else if (this.oldProps.hasOwnProperty(propName) && this.oldProps[propName] !== null) {
|
26
26
|
value = this.oldProps[propName];
|
27
27
|
}
|
28
28
|
return value;
|
@@ -46,6 +46,9 @@ export class PropsProvider {
|
|
46
46
|
setDefault(propName, value) {
|
47
47
|
this.defaultProps[propName] = value;
|
48
48
|
}
|
49
|
+
overrideProps(propName, value) {
|
50
|
+
this.defaultProps[propName] = value;
|
51
|
+
}
|
49
52
|
check(nextProps) {
|
50
53
|
if (!nextProps) {
|
51
54
|
nextProps = assign({}, this.defaultProps, this.initprops);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":";;;AAAA,SAASA,MAAM,EAAEC,KAAK,QAAQ,WAAW;AAGzC,OAAO,MAAMC,aAAa,CAAsB;EAO5CC,WAAWA,CAASC,YAAe,EAAUC,SAAY,EAAUC,QAAQ,GAAGA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,KAAK,CAAC,CAAC,EAAE;IAAA,KAAtGL,YAAe,GAAfA,YAAe;IAAA,KAAUC,SAAY,GAAZA,SAAY;IAAA,KAAUC,QAAQ,GAARA,QAAQ;IAAAI,eAAA,mBANnD,CAAC,CAAC;IAAAA,eAAA,0BACK,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA,kBAEf,KAAK;IAAAA,eAAA,wBACC,CAAC,CAAC;IAGtB,IAAI,CAACL,SAAS,GAAG,IAAI,CAACA,SAAS,IAAI,CAAC,CAAC;IACrCM,MAAM,CAACC,IAAI,CAACR,YAAY,CAAC,CAACS,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACpEH,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,OAAO,CAACC,CAAC,IAAI,IAAI,CAACC,aAAa,CAACD,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE;IACA,IAAI,CAACE,UAAU,GAAI,IAAIC,KAAK,CAAC,CAAC,CAAC,EAAE;MAC7BC,GAAG,EAAEA,CAACC,MAAM,EAAEC,IAAI,EAAEC,QAAQ,KAAU;QAClC,MAAMC,QAAQ,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;QAChC,IAAIC,KAAK,GAAI,IAAI,CAACpB,YAAY,CAASkB,QAAQ,CAAC;QAChD,IAAI,IAAI,CAACG,eAAe,CAACC,cAAc,CAACJ,QAAQ,CAAC,EAAE;UAC/CE,KAAK,GAAG,IAAI,CAACC,eAAe,CAACH,QAAQ,CAAC;QAC1C,CAAC,MAAM,IAAI,IAAI,CAACK,QAAQ,CAACD,cAAc,CAACJ,QAAQ,CAAC,EAAE;
|
1
|
+
{"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","overrideProps","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName) && this.oldProps[propName] !== null) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n overrideProps(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
app-rn-runtime/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.8.3-next.
|
3
|
+
"version": "11.8.3-next.27386",
|
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.8.3-next.
|
52
|
+
"@wavemaker/variables": "11.8.3-next.27386",
|
53
53
|
"axios": "1.6.8",
|
54
54
|
"color": "4.2.3",
|
55
55
|
"cross-env": "7.0.3",
|
@@ -139,7 +139,7 @@
|
|
139
139
|
"typescript": "5.1.3",
|
140
140
|
"victory-native": "36.6.11",
|
141
141
|
"yargs": "16.2.0",
|
142
|
-
"@wavemaker/variables": "11.8.3-next.
|
142
|
+
"@wavemaker/variables": "11.8.3-next.27386"
|
143
143
|
},
|
144
144
|
"jest": {
|
145
145
|
"preset": "jest-expo",
|