@wavemaker/app-rn-runtime 11.10.5-rc.6096 → 11.11.0-1.6137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/notification-action.js +3 -1
- package/actions/notification-action.js.map +1 -1
- package/components/basic/animatedview.component.js +3 -2
- package/components/basic/animatedview.component.js.map +1 -1
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/label/label.component.js +78 -33
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +20 -13
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/picture/picture.styles.js.map +1 -1
- package/components/basic/search/search.component.js +49 -28
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +1 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/basic/skeleton/skeleton.component.js.map +1 -1
- package/components/basic/skeleton/skeleton.styles.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +4 -2
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +9 -2
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +3 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/container/container.component.js +10 -2
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +1 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/container.styles.js +3 -0
- package/components/container/container.styles.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +1 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/list/list.component.js +58 -15
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +3 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +4 -2
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +123 -38
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js +1 -0
- package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +3 -2
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +13 -25
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page.component.js +51 -4
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +11 -1
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +140 -40
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/components/page/tabbar/tabbar.props.js +1 -0
- package/components/page/tabbar/tabbar.props.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +39 -5
- package/core/base.component.js.map +1 -1
- package/core/components/floatinglabel.component.js.map +1 -1
- package/core/components/textinput.component.js +18 -2
- package/core/components/textinput.component.js.map +1 -1
- package/core/fixed-view.component.js +5 -3
- package/core/fixed-view.component.js.map +1 -1
- package/core/sticky-container.component.js +175 -0
- package/core/sticky-container.component.js.map +1 -0
- package/core/toast.service.js.map +1 -1
- package/core/utils.js +51 -5
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +1428 -1839
- package/package-lock.json +1428 -1839
- package/package.json +6 -3
- package/runtime/App.js +61 -10
- package/runtime/App.js.map +1 -1
- package/runtime/base-fragment.component.js +2 -1
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/base-prefab.component.js +4 -0
- package/runtime/base-prefab.component.js.map +1 -1
- package/runtime/services/app-toast.service.js +4 -0
- package/runtime/services/app-toast.service.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","_this$styles","_this$styles2","_this$styles3","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","aspectratio","parseFloat","naturalImageHeight","naturalImageWidth","updateState","originalContainerWidth","originalContainerHeight","imageElement","fastload","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","picturesource","_cleanupTracker","push","componentDidUpdate","prevProps","prevState","snapshot","forEach","func","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","getTestProps","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","calculateBasedOnaspectratio","calculateBasedOnNaturalDimensions","widthAndHeightExistsInProps","renderWidget","_shapeStyles$picture4","aspectDimensions","naturalDimensions","dimensions","pictureplaceholder","isSvg","onLayout","event","handleLayout","_background","overflow","onViewLayoutChange","disableTouchEffect","disabletoucheffect","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay","showImage"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n originalContainerWidth: number = 0;\n originalContainerHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n // The below property will be used to track and remove the calculateImageSize listenrs of individual picturesource\n private _cleanupTracker = {} as any\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if(this.state.props.aspectratio) {\n return imageSrc;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n if(this.props.picturesource && this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource].push(cancel)\n } else if(this.props.picturesource && !this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource] = [];\n this._cleanupTracker[this.props.picturesource].push(cancel)\n }\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n // Check if the image source prop is changed from previous update to remove all listeners\n componentDidUpdate(prevProps: Readonly<WmPictureProps>, prevState: Readonly<WmPictureState>, snapshot?: any): void {\n if(this.state.props.picturesource !== prevProps.picturesource) {\n if(prevProps.picturesource && this._cleanupTracker[prevProps.picturesource]) {\n this._cleanupTracker[prevProps.picturesource].forEach((func: any) => {\n func();\n }); \n this._cleanupTracker[prevProps.picturesource] = []\n delete this._cleanupTracker[prevProps.picturesource] \n }\n }\n super.componentDidUpdate(prevProps, prevState)\n }\n\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles?.root.height\n || (typeof this.styles?.root.height === 'string'\n && !this.styles?.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if(this.state.props.aspectratio && !imageHeight && imageWidth) {\n imageHeight = imageWidth / parseFloat(this.state.props.aspectratio as string)\n } else if (this.state.props.aspectratio && !imageWidth && imageHeight) {\n imageWidth = imageWidth * parseFloat(this.state.props.aspectratio as string)\n } else if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight,\n originalContainerWidth: this.styles.root.width ? e.nativeEvent.layout.width : 0,\n originalContainerHeight: this.styles.root.height ? e.nativeEvent.layout.height: 0\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth || this.state.props.aspectratio) {\n elementToshow = (\n <Image\n {...this.getTestProps('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\n }\n return elementToshow;\n }\n\n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n showImage = (imageElement: any, props: WmPictureProps) => {\n if(props.fastload){\n return imageElement;\n }\n return this.state.imageWidth ? imageElement : null\n }\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnaspectratio(): {imageWidth: number, imageHeight: number} | null {\n if(this.state.props.aspectratio) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth / parseFloat(this.state.props.aspectratio as string),\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * parseFloat(this.state.props.aspectratio as string),\n }\n }\n }\n return null\n }\n \n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnNaturalDimensions(): {imageWidth: number, imageHeight: number} | null {\n // No need to calculate width & height if the user already passign them explicitly from props. \n const widthAndHeightExistsInProps = this.styles.root.width && this.styles.root.height\n if(!this.state.props.aspectratio && !widthAndHeightExistsInProps) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth * this.state.naturalImageHeight / this.state.naturalImageWidth,\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * this.state.naturalImageWidth / this.state.naturalImageHeight\n }\n }\n }\n return null\n }\n \n\n renderWidget(props: WmPictureProps) {\n let imageWidth = this.state.imageWidth;\n let imageHeight = this.state.imageHeight;\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n const aspectDimensions = this.calculateBasedOnaspectratio();\n const naturalDimensions = this.calculateBasedOnNaturalDimensions();\n if(aspectDimensions) {\n const dimensions = aspectDimensions as {imageWidth: number, imageHeight: number}\n imageWidth = dimensions.imageWidth;\n imageHeight = dimensions.imageHeight\n } else if(naturalDimensions) {\n const dimensions = naturalDimensions as {imageWidth: number, imageHeight: number}\n imageHeight = dimensions.imageHeight\n imageWidth = dimensions.imageWidth\n }\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = props.fastload ? \n (this._pictureSource || this._picturePlaceHolder || this.loadImage(props.pictureplaceholder)) :\n (this._picturePlaceHolder || this.loadImage(props.pictureplaceholder));\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg || props.aspectratio) ? (\n <View \n style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.showImage(elementToshow, props)}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Image","View","EXPOImage","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","_this$styles","_this$styles2","_this$styles3","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","aspectratio","parseFloat","naturalImageHeight","naturalImageWidth","updateState","originalContainerWidth","originalContainerHeight","imageElement","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","picturesource","_cleanupTracker","push","componentDidUpdate","prevProps","prevState","snapshot","forEach","func","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","cachePolicy","getTestProps","style","fastload","opacity","contentFit","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","calculateBasedOnaspectratio","calculateBasedOnNaturalDimensions","widthAndHeightExistsInProps","renderWidget","_shapeStyles$picture4","aspectDimensions","naturalDimensions","dimensions","pictureplaceholder","isSvg","onLayout","event","handleLayout","_background","overflow","onViewLayoutChange","disableTouchEffect","disabletoucheffect","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay","showImage"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\nimport {Image as EXPOImage} from 'expo-image';\nimport { isNumber } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n originalContainerWidth: number = 0;\n originalContainerHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n // The below property will be used to track and remove the calculateImageSize listenrs of individual picturesource\n private _cleanupTracker = {} as any\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n // if(this.state.props.aspectratio) {\n // return imageSrc;\n // }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n if(this.props.picturesource && this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource].push(cancel)\n } else if(this.props.picturesource && !this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource] = [];\n this._cleanupTracker[this.props.picturesource].push(cancel)\n }\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n // Check if the image source prop is changed from previous update to remove all listeners\n componentDidUpdate(prevProps: Readonly<WmPictureProps>, prevState: Readonly<WmPictureState>, snapshot?: any): void {\n if(this.state.props.picturesource !== prevProps.picturesource) {\n if(prevProps.picturesource && this._cleanupTracker[prevProps.picturesource]) {\n this._cleanupTracker[prevProps.picturesource].forEach((func: any) => {\n func();\n }); \n this._cleanupTracker[prevProps.picturesource] = []\n delete this._cleanupTracker[prevProps.picturesource] \n }\n }\n super.componentDidUpdate(prevProps, prevState)\n }\n\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles?.root.height\n || (typeof this.styles?.root.height === 'string'\n && !this.styles?.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if(this.state.props.aspectratio && !imageHeight && imageWidth) {\n imageHeight = imageWidth / parseFloat(this.state.props.aspectratio as string)\n } else if (this.state.props.aspectratio && !imageWidth && imageHeight) {\n imageWidth = imageWidth * parseFloat(this.state.props.aspectratio as string)\n } else if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight,\n originalContainerWidth: this.styles.root.width ? e.nativeEvent.layout.width : 0,\n originalContainerHeight: this.styles.root.height ? e.nativeEvent.layout.height: 0\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth || this.state.props.aspectratio) {\n elementToshow = (\n // * INFO: if any issue arises like freezing of application because of \n // * rendering large number of images, check the cache policy.\n <EXPOImage\n cachePolicy='memory-disk' \n {...this.getTestProps('picture')}\n style={[this.styles.picture, shapeStyles.picture, (props.fastload || this.state.imageWidth) ? {opacity: 1} : {opacity: 0} ]}\n contentFit={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\n }\n return elementToshow;\n }\n\n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n showImage = (imageElement: any, props: WmPictureProps) => {\n return imageElement;\n }\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnaspectratio(): {imageWidth: number, imageHeight: number} | null {\n if(this.state.props.aspectratio) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth / parseFloat(this.state.props.aspectratio as string),\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * parseFloat(this.state.props.aspectratio as string),\n }\n }\n }\n return null\n }\n \n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnNaturalDimensions(): {imageWidth: number, imageHeight: number} | null {\n // No need to calculate width & height if the user already passign them explicitly from props. \n const widthAndHeightExistsInProps = this.styles.root.width && this.styles.root.height\n if(!this.state.props.aspectratio && !widthAndHeightExistsInProps) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth * this.state.naturalImageHeight / this.state.naturalImageWidth,\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * this.state.naturalImageWidth / this.state.naturalImageHeight\n }\n }\n }\n return null\n }\n \n\n renderWidget(props: WmPictureProps) {\n let imageWidth = this.state.imageWidth;\n let imageHeight = this.state.imageHeight;\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n const aspectDimensions = this.calculateBasedOnaspectratio();\n const naturalDimensions = this.calculateBasedOnNaturalDimensions();\n if(aspectDimensions) {\n const dimensions = aspectDimensions as {imageWidth: number, imageHeight: number}\n imageWidth = dimensions.imageWidth;\n imageHeight = dimensions.imageHeight\n } else if(naturalDimensions) {\n const dimensions = naturalDimensions as {imageWidth: number, imageHeight: number}\n imageHeight = dimensions.imageHeight\n imageWidth = dimensions.imageWidth\n }\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = props.fastload ? \n (this._pictureSource || this._picturePlaceHolder || this.loadImage(props.pictureplaceholder)) :\n (this._picturePlaceHolder || this.loadImage(props.pictureplaceholder));\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg || props.aspectratio) ? (\n <View \n style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.showImage(elementToshow, props)}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","overflow","width","rippleColor","transparent","text","picture","height","skeleton","borderRadius","backgroundColor","pictureThumbBgColor","borderWidth","borderStyle","borderColor","pictureThumbBorderColor","paddingTop","paddingBottom","paddingLeft","paddingRight"],"sources":["picture.styles.ts"],"sourcesContent":["import { ImageStyle } from 'react-native';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport type WmPictureStyles = BaseStyles & {\n picture: ImageStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-picture';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPictureStyles = defineStyles({\n root: {\n overflow: 'hidden',\n width: 270,\n rippleColor: themeVariables.transparent\n },\n text: {},\n picture: {\n width: '100%',\n height: '100%'\n },\n skeleton: {\n root: {\n width: '100%',\n height: 128\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('rounded-image', '', {\n picture: {\n borderRadius: 6\n }\n } as WmPictureStyles);\n addStyle('thumbnail-image', '', {\n root: {\n backgroundColor: themeVariables.pictureThumbBgColor,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.pictureThumbBorderColor,\n borderRadius: 6,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 8,\n paddingRight: 8\n }\n } as WmPictureStyles);\n});\n"],"mappings":"AACA,OAAOA,UAAU,MAAO,wCAAwC;AAChE,SAAqBC,YAAY,QAAQ,+CAA+C;AAQxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAClDM,IAAI,EAAE;MACJC,QAAQ,EAAE,QAAQ;MAClBC,KAAK,EAAE,GAAG;MACVC,WAAW,EAAEN,cAAc,CAACO;IAC9B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAE;MACPJ,KAAK,EAAE,MAAM;MACbK,MAAM,EAAE;IACV,CAAC;IACDC,QAAQ,EAAE;MACRR,IAAI,EAAE;QACJE,KAAK,EAAE,MAAM;QACbK,MAAM,EAAE;MACV;IACF;EACF,CAAC,CAAC;EAEFT,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAE;IAC5BQ,OAAO,EAAE;MACPG,YAAY,EAAE;IAChB;EACF,CAAoB,CAAC;EACrBX,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE;IAC9BE,IAAI,EAAE;MACJU,eAAe,EAAEb,cAAc,CAACc,mBAAmB;MACnDC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEjB,cAAc,CAACkB,uBAAuB;MACnDN,YAAY,EAAE,CAAC;MACfO,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE;IAChB;EACF,CAAoB,CAAC;AACvB,CAAC,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","overflow","width","rippleColor","transparent","text","picture","height","skeleton","borderRadius","backgroundColor","pictureThumbBgColor","borderWidth","borderStyle","borderColor","pictureThumbBorderColor","paddingTop","paddingBottom","paddingLeft","paddingRight"],"sources":["picture.styles.ts"],"sourcesContent":["import { ImageStyle, ViewStyle } from 'react-native';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport type WmPictureStyles = BaseStyles & {\n picture: ImageStyle & ViewStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-picture';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPictureStyles = defineStyles({\n root: {\n overflow: 'hidden',\n width: 270,\n rippleColor: themeVariables.transparent\n },\n text: {},\n picture: {\n width: '100%',\n height: '100%'\n },\n skeleton: {\n root: {\n width: '100%',\n height: 128\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('rounded-image', '', {\n picture: {\n borderRadius: 6\n }\n } as WmPictureStyles);\n addStyle('thumbnail-image', '', {\n root: {\n backgroundColor: themeVariables.pictureThumbBgColor,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.pictureThumbBorderColor,\n borderRadius: 6,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 8,\n paddingRight: 8\n }\n } as WmPictureStyles);\n});\n"],"mappings":"AACA,OAAOA,UAAU,MAAO,wCAAwC;AAChE,SAAqBC,YAAY,QAAQ,+CAA+C;AAQxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAClDM,IAAI,EAAE;MACJC,QAAQ,EAAE,QAAQ;MAClBC,KAAK,EAAE,GAAG;MACVC,WAAW,EAAEN,cAAc,CAACO;IAC9B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAE;MACPJ,KAAK,EAAE,MAAM;MACbK,MAAM,EAAE;IACV,CAAC;IACDC,QAAQ,EAAE;MACRR,IAAI,EAAE;QACJE,KAAK,EAAE,MAAM;QACbK,MAAM,EAAE;MACV;IACF;EACF,CAAC,CAAC;EAEFT,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAE;IAC5BQ,OAAO,EAAE;MACPG,YAAY,EAAE;IAChB;EACF,CAAoB,CAAC;EACrBX,QAAQ,CAAC,iBAAiB,EAAE,EAAE,EAAE;IAC9BE,IAAI,EAAE;MACJU,eAAe,EAAEb,cAAc,CAACc,mBAAmB;MACnDC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEjB,cAAc,CAACkB,uBAAuB;MACnDN,YAAY,EAAE,CAAC;MACfO,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE;IAChB;EACF,CAAoB,CAAC;AACvB,CAAC,CAAC","ignoreList":[]}
|
@@ -45,6 +45,7 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
45
45
|
_defineProperty(this, "cursor", 0);
|
46
46
|
_defineProperty(this, "isFocused", false);
|
47
47
|
_defineProperty(this, "updateRequired", void 0);
|
48
|
+
_defineProperty(this, "timer", null);
|
48
49
|
_defineProperty(this, "computePosition", () => {
|
49
50
|
return new Promise(resolve => {
|
50
51
|
const position = {};
|
@@ -57,6 +58,38 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
57
58
|
});
|
58
59
|
});
|
59
60
|
});
|
61
|
+
_defineProperty(this, "handleChange", value => {
|
62
|
+
this.isDefaultQuery = false;
|
63
|
+
const prevQuery = this.state.props.query;
|
64
|
+
if (this.state.props.searchon === 'onsearchiconclick') {
|
65
|
+
this.updateState({
|
66
|
+
props: {
|
67
|
+
result: [],
|
68
|
+
query: value
|
69
|
+
},
|
70
|
+
data: []
|
71
|
+
});
|
72
|
+
} else {
|
73
|
+
this.updateFilteredData(value);
|
74
|
+
}
|
75
|
+
if (value === '') {
|
76
|
+
this.validate(value);
|
77
|
+
this.updateState({
|
78
|
+
props: {
|
79
|
+
datavalue: ''
|
80
|
+
}
|
81
|
+
});
|
82
|
+
if (value === prevQuery) {
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
setTimeout(() => {
|
87
|
+
if (this.props.invokeEvent) {
|
88
|
+
this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);
|
89
|
+
}
|
90
|
+
this.invokeEventCallback('onChange', [undefined, this.proxy, value, prevQuery]);
|
91
|
+
}, 300);
|
92
|
+
});
|
60
93
|
_defineProperty(this, "showPopover", () => {
|
61
94
|
this.computePosition().then(() => {
|
62
95
|
this.updateState({
|
@@ -146,36 +179,17 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
146
179
|
this === null || this === void 0 || (_this$widgetRef = this.widgetRef) === null || _this$widgetRef === void 0 || _this$widgetRef.focus();
|
147
180
|
}
|
148
181
|
onChange(value) {
|
149
|
-
this.
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
props: {
|
154
|
-
result: [],
|
155
|
-
query: value
|
156
|
-
},
|
157
|
-
data: []
|
158
|
-
});
|
159
|
-
} else {
|
160
|
-
this.updateFilteredData(value);
|
161
|
-
}
|
162
|
-
if (value === '') {
|
163
|
-
this.validate(value);
|
164
|
-
this.updateState({
|
165
|
-
props: {
|
166
|
-
datavalue: ''
|
167
|
-
}
|
168
|
-
});
|
169
|
-
if (value === prevQuery) {
|
170
|
-
return;
|
182
|
+
if (this.state.props.debouncetime && this.state.props.debouncetime > 0) {
|
183
|
+
if (this.timer !== null) {
|
184
|
+
clearTimeout(this.timer);
|
185
|
+
this.timer = null;
|
171
186
|
}
|
187
|
+
this.timer = setTimeout(() => {
|
188
|
+
this.handleChange(value);
|
189
|
+
}, this.state.props.debouncetime);
|
190
|
+
} else {
|
191
|
+
this.handleChange(value);
|
172
192
|
}
|
173
|
-
setTimeout(() => {
|
174
|
-
if (this.props.invokeEvent) {
|
175
|
-
this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);
|
176
|
-
}
|
177
|
-
this.invokeEventCallback('onChange', [undefined, this.proxy, value, prevQuery]);
|
178
|
-
}, 300);
|
179
193
|
}
|
180
194
|
invokeChange(e) {
|
181
195
|
if (Platform.OS === 'web') {
|
@@ -250,6 +264,13 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
250
264
|
} else {
|
251
265
|
this.onItemSelect(this.state.data[0]);
|
252
266
|
}
|
267
|
+
if (get(this.props, 'formfield')) {
|
268
|
+
// @ts-ignore
|
269
|
+
// @ts-ignore
|
270
|
+
this.props.invokeEvent('onSubmit', [null, this]);
|
271
|
+
} else {
|
272
|
+
this.invokeEventCallback('onSubmit', [null, this]);
|
273
|
+
}
|
253
274
|
}
|
254
275
|
onItemSelect(item) {
|
255
276
|
this.isFocused = false;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","clearsearchiconclass","showSearchIcon","searchButton","searchiconclass","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","event","handleLayout","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {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 {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {(props.showclear && !(this.state.props.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={props.clearsearchiconclass || 'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={props.searchiconclass || props.iconclass} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","value","isDefaultQuery","prevQuery","state","query","searchon","result","data","updateFilteredData","validate","datavalue","setTimeout","invokeEvent","undefined","proxy","invokeEventCallback","computePosition","then","isOpened","dataProvider","clearSearch","hide","dataItems","map","item","selected","type","queryText","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","init","invokeVariable","response","dataSet","setDataItems","filter","dataObject","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","debouncetime","timer","clearTimeout","handleChange","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","clearsearchiconclass","showSearchIcon","searchButton","searchiconclass","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","event","handleLayout","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n private timer: ReturnType<typeof setTimeout> | null = null;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n handleChange = (value: any) => {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }, 300);\n }\n\n onChange(value: any) {\n if(this.state.props.debouncetime && this.state.props.debouncetime > 0) {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.handleChange(value)\n }, this.state.props.debouncetime)\n } else {\n this.handleChange(value);\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {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 {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {(props.showclear && !(this.state.props.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\n styles={this.styles.clearButton} iconclass={props.clearsearchiconclass || 'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n id={this.getTestId('search')}\n iconclass={props.searchiconclass || props.iconclass} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -33,6 +33,7 @@ export default class WmSearchProps extends BaseDatasetProps {
|
|
33
33
|
_defineProperty(this, "iconclass", 'wm-sl-l sl-search');
|
34
34
|
_defineProperty(this, "clearsearchiconclass", 'wi wi-clear');
|
35
35
|
_defineProperty(this, "searchiconclass", undefined);
|
36
|
+
_defineProperty(this, "debouncetime", 0);
|
36
37
|
}
|
37
38
|
}
|
38
39
|
//# sourceMappingURL=search.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n iconclass?: string = 'wm-sl-l sl-search';\n clearsearchiconclass?: string = 'wi wi-clear';\n searchiconclass?: string = undefined;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAIvG,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACrC,KAAK;IAAAA,eAAA,gBACT,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEe,QAAQ;IAAAA,eAAA,0BACf,sBAAsB;IAAAA,eAAA,sBAC1B,QAAQ;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,mBACD,IAAI;IAAAA,eAAA,qBACL,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,mBACF,QAAQ;IAAAA,eAAA;IAAAA,eAAA,mBAEN,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEL,KAAK;IAAAA,eAAA,yBACA,IAAI;IAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGFC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;IAAAA,eAAA;IAAAA,eAAA,yBAEtB,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,oBACR,mBAAmB;IAAAA,eAAA,+BACR,aAAa;IAAAA,eAAA,0BAClBC,SAAS;EAAA;
|
1
|
+
{"version":3,"names":["BaseDatasetProps","WmSearchProps","constructor","args","_defineProperty","undefined"],"sources":["search.props.ts"],"sourcesContent":["import BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport {BaseComponent} from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmSearchProps extends BaseDatasetProps {\n autofocus: boolean = false;\n query?: string = '';\n searchkey?: any;\n type: 'search' | 'autocomplete' = 'search';\n datacompletemsg?: string = 'No more data to load';\n placeholder?: string = 'Search';\n limit?: number = null as any;\n minchars?: number = null as any;\n imagewidth?: any = 32;\n imageheight?: any = 32;\n searchon?: string = 'typing';\n onSubmit?: any;\n onChange?: Function = null as any;\n result?: any;\n showclear: boolean = false;\n showSearchIcon: boolean = true; // internal property\n invokeEvent?: Function;\n formFieldInstance?: BaseComponent<any, any, any>;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'search';\n renderitempartial?: (item: any, index: number, partialName: string)=> React.ReactNode;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n iconclass?: string = 'wm-sl-l sl-search';\n clearsearchiconclass?: string = 'wi wi-clear';\n searchiconclass?: string = undefined;\n debouncetime?: number = 0;\n}\n"],"mappings":";;;AAAA,OAAOA,gBAAgB,MAAM,0EAA0E;AAIvG,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACrC,KAAK;IAAAA,eAAA,gBACT,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEe,QAAQ;IAAAA,eAAA,0BACf,sBAAsB;IAAAA,eAAA,sBAC1B,QAAQ;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,mBACD,IAAI;IAAAA,eAAA,qBACL,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,mBACF,QAAQ;IAAAA,eAAA;IAAAA,eAAA,mBAEN,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEL,KAAK;IAAAA,eAAA,yBACA,IAAI;IAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAGFC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;IAAAA,eAAA;IAAAA,eAAA,yBAEtB,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,oBACR,mBAAmB;IAAAA,eAAA,+BACR,aAAa;IAAAA,eAAA,0BAClBC,SAAS;IAAAD,eAAA,uBACZ,CAAC;EAAA;AAC3B","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Animated","Easing","StyleSheet","LinearGradient","BaseComponent","BaseComponentState","WmSkeletonProps","DEFAULT_CLASS","isUndefined","WmSkeletonState","constructor","args","_defineProperty","left","top","width","height","AnimationRunner","Value","run","counter","timing","animationValue","duration","time","speed","toValue","useNativeDriver","easing","linear","start","event","finished","setValue","stop","Math","max","getValue","WmSkeleton","props","_this$skeletonloaderR","skeletonloaderRef","measure","x","y","px","py","layout","setState","animate","componentDidMount","animationRunner","componentWillUnmount","renderWidget","_this$styles$gradient","_this$styles$gradient2","_this$styles$gradient3","outpuRange","state","deg","translateX","interpolate","inputRange","outputRange","createElement","ref","onLayout","onLayoutChange","style","styles","root","children","absoluteFill","animatedView","transform","rotate","end","colors","gradientForeground","backgroundColor","toString","gradient","locations","createSkeleton","theme","skeletonStyles","wrapper","addStyleProp","propName","mergeStyle"],"sources":["skeleton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Animated, Easing, StyleSheet, LayoutChangeEvent, ColorValue, ViewStyle } from 'react-native';\nimport { LinearGradient } from 'expo-linear-gradient';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Theme } from '@wavemaker/app-rn-runtime/styles/theme';\n\nimport WmSkeletonProps from './skeleton.props';\nimport { DEFAULT_CLASS, WmSkeletonStyles } from './skeleton.styles';\nimport { isUndefined } from 'lodash-es';\n\nexport class WmSkeletonState extends BaseComponentState<WmSkeletonProps> {\n layout = {\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n };\n animate = false;\n}\n\nclass AnimationRunner {\n private time: number = 1000;\n public speed = 1;\n private counter = 0;\n private animationValue = new Animated.Value(0.2);\n\n public run() {\n if (this.counter == 0) {\n return;\n }\n Animated.timing(this.animationValue, {\n duration: this.time * this.speed,\n toValue: 1,\n useNativeDriver: true,\n easing: Easing.linear,\n }).start((event) => {\n if (event.finished) {\n this.animationValue.setValue(0)\n this.run();\n }\n });\n }\n\n public start() {\n this.counter++;\n if (this.counter == 1) {\n this.run();\n }\n }\n\n public stop() {\n this.counter = Math.max(--this.counter, 0);\n }\n\n public getValue() {\n return this.animationValue;\n }\n}\n\nexport default class WmSkeleton extends BaseComponent<WmSkeletonProps, WmSkeletonState, WmSkeletonStyles> {\n\n private skeletonloaderRef: any = null;\n private animationRunner = new AnimationRunner();\n\n constructor(props: WmSkeletonProps) {\n super(props, DEFAULT_CLASS, new WmSkeletonProps(), new WmSkeletonState());\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.animationRunner.start();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.animationRunner.stop();\n }\n\n onLayoutChange = (event: LayoutChangeEvent) => {\n this.skeletonloaderRef?.measure((x: number, y: number, width: number, height: number, px: number, py: number) => {\n let layout = {\n left: px,\n top: py,\n width: width,\n height: height,\n };\n this.setState({\n layout: {\n ...layout as any\n }, animate: true\n });\n });\n }\n\n renderWidget(props: WmSkeletonProps) {\n let outpuRange = [-this.state.layout.width-this.state.layout.left, this.state.layout.width + this.state.layout.height];\n let deg = -20;\n let translateX = this.animationRunner.getValue().interpolate({\n inputRange: [0, 1],\n outputRange: [-50, 400]\n });\n return (\n <View ref={(ref) => { this.skeletonloaderRef = ref; }} onLayout={this.onLayoutChange}\n style={this.styles.root} >\n {props.children}\n {this.state.animate ?\n <Animated.View\n style={[\n StyleSheet.absoluteFill,\n this.styles.animatedView,\n { \n transform: [\n { translateX },\n { rotate: deg + 'deg' }\n ]\n }]}>\n <LinearGradient\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n colors={[this.styles.gradientForeground.backgroundColor?.toString() as string,\n this.styles.gradient.backgroundColor?.toString() as string,\n this.styles.gradientForeground.backgroundColor?.toString() as string]}\n locations={[0, 0.5, 1]}\n style={[this.styles.gradient, {backgroundColor: this.styles.animatedView.backgroundColor}]} />\n </Animated.View> : null}\n </View>);\n }\n}\n\nexport const createSkeleton = (theme: Theme, skeletonStyles: WmSkeletonStyles, wrapper: ViewStyle, children?: React.ReactNode) => {\n const style = {} as ViewStyle;\n const addStyleProp = (propName: any) => {\n if (!isUndefined((wrapper as any)[propName])) {\n (style as any)[propName] = (wrapper as any)[propName];\n }\n };\n addStyleProp('width');\n addStyleProp('height');\n addStyleProp('borderRadius');\n addStyleProp('borderRadius');\n addStyleProp('marginTop');\n addStyleProp('marginBottom');\n addStyleProp('marginLeft');\n addStyleProp('marginRight');\n return(<WmSkeleton styles={theme.mergeStyle(skeletonStyles, {root: style})} children={children}/>);\n};\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Animated","Easing","StyleSheet","LinearGradient","BaseComponent","BaseComponentState","WmSkeletonProps","DEFAULT_CLASS","isUndefined","WmSkeletonState","constructor","args","_defineProperty","left","top","width","height","AnimationRunner","Value","run","counter","timing","animationValue","duration","time","speed","toValue","useNativeDriver","easing","linear","start","event","finished","setValue","stop","Math","max","getValue","WmSkeleton","props","_this$skeletonloaderR","skeletonloaderRef","measure","x","y","px","py","layout","setState","animate","componentDidMount","animationRunner","componentWillUnmount","renderWidget","_this$styles$gradient","_this$styles$gradient2","_this$styles$gradient3","outpuRange","state","deg","translateX","interpolate","inputRange","outputRange","createElement","ref","onLayout","onLayoutChange","style","styles","root","children","absoluteFill","animatedView","transform","rotate","end","colors","gradientForeground","backgroundColor","toString","gradient","locations","createSkeleton","theme","skeletonStyles","wrapper","addStyleProp","propName","mergeStyle"],"sources":["skeleton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Animated, Easing, StyleSheet, LayoutChangeEvent, ColorValue, ViewStyle } from 'react-native';\nimport { LinearGradient } from 'expo-linear-gradient';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AllStyle, Theme } from '@wavemaker/app-rn-runtime/styles/theme';\n\nimport WmSkeletonProps from './skeleton.props';\nimport { DEFAULT_CLASS, WmSkeletonStyles } from './skeleton.styles';\nimport { isUndefined } from 'lodash-es';\n\nexport class WmSkeletonState extends BaseComponentState<WmSkeletonProps> {\n layout = {\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n };\n animate = false;\n}\n\ntype WrapperStyle = AllStyle | any\n\nclass AnimationRunner {\n private time: number = 1000;\n public speed = 1;\n private counter = 0;\n private animationValue = new Animated.Value(0.2);\n\n public run() {\n if (this.counter == 0) {\n return;\n }\n Animated.timing(this.animationValue, {\n duration: this.time * this.speed,\n toValue: 1,\n useNativeDriver: true,\n easing: Easing.linear,\n }).start((event) => {\n if (event.finished) {\n this.animationValue.setValue(0)\n this.run();\n }\n });\n }\n\n public start() {\n this.counter++;\n if (this.counter == 1) {\n this.run();\n }\n }\n\n public stop() {\n this.counter = Math.max(--this.counter, 0);\n }\n\n public getValue() {\n return this.animationValue;\n }\n}\n\nexport default class WmSkeleton extends BaseComponent<WmSkeletonProps, WmSkeletonState, WmSkeletonStyles> {\n\n private skeletonloaderRef: any = null;\n private animationRunner = new AnimationRunner();\n\n constructor(props: WmSkeletonProps) {\n super(props, DEFAULT_CLASS, new WmSkeletonProps(), new WmSkeletonState());\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.animationRunner.start();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.animationRunner.stop();\n }\n\n onLayoutChange = (event: LayoutChangeEvent) => {\n this.skeletonloaderRef?.measure((x: number, y: number, width: number, height: number, px: number, py: number) => {\n let layout = {\n left: px,\n top: py,\n width: width,\n height: height,\n };\n this.setState({\n layout: {\n ...layout as any\n }, animate: true\n });\n });\n }\n\n renderWidget(props: WmSkeletonProps) {\n let outpuRange = [-this.state.layout.width-this.state.layout.left, this.state.layout.width + this.state.layout.height];\n let deg = -20;\n let translateX = this.animationRunner.getValue().interpolate({\n inputRange: [0, 1],\n outputRange: [-50, 400]\n });\n return (\n <View ref={(ref) => { this.skeletonloaderRef = ref; }} onLayout={this.onLayoutChange}\n style={this.styles.root} >\n {props.children}\n {this.state.animate ?\n <Animated.View\n style={[\n StyleSheet.absoluteFill,\n this.styles.animatedView,\n { \n transform: [\n { translateX },\n { rotate: deg + 'deg' }\n ]\n }]}>\n <LinearGradient\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n colors={[this.styles.gradientForeground.backgroundColor?.toString() as string,\n this.styles.gradient.backgroundColor?.toString() as string,\n this.styles.gradientForeground.backgroundColor?.toString() as string]}\n locations={[0, 0.5, 1]}\n style={[this.styles.gradient, {backgroundColor: this.styles.animatedView.backgroundColor}]} />\n </Animated.View> : null}\n </View>);\n }\n}\n\nexport const createSkeleton = (theme: Theme, skeletonStyles: WmSkeletonStyles, wrapper: WrapperStyle, children?: React.ReactNode) => {\n const style = {} as ViewStyle;\n const addStyleProp = (propName: any) => {\n if (!isUndefined((wrapper as any)[propName])) {\n (style as any)[propName] = (wrapper as any)[propName];\n }\n };\n addStyleProp('width');\n addStyleProp('height');\n addStyleProp('borderRadius');\n addStyleProp('borderRadius');\n addStyleProp('marginTop');\n addStyleProp('marginBottom');\n addStyleProp('marginLeft');\n addStyleProp('marginRight');\n return(<WmSkeleton styles={theme.mergeStyle(skeletonStyles, {root: style})} children={children}/>);\n};\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,QAAkD,cAAc;AAC3G,SAASC,cAAc,QAAQ,sBAAsB;AAErD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,QAA0B,mBAAmB;AACnE,SAASC,WAAW,QAAQ,WAAW;AAEvC,OAAO,MAAMC,eAAe,SAASJ,kBAAkB,CAAkB;EAAAK,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,iBAC9D;MACPC,IAAI,EAAE,CAAC;MACPC,GAAG,EAAE,CAAC;MACNC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC;IAAAJ,eAAA,kBACS,KAAK;EAAA;AACjB;AAIA,MAAMK,eAAe,CAAC;EAAAP,YAAA;IAAAE,eAAA,eACG,IAAI;IAAAA,eAAA,gBACZ,CAAC;IAAAA,eAAA,kBACE,CAAC;IAAAA,eAAA,yBACM,IAAIZ,QAAQ,CAACkB,KAAK,CAAC,GAAG,CAAC;EAAA;EAEzCC,GAAGA,CAAA,EAAG;IACX,IAAI,IAAI,CAACC,OAAO,IAAI,CAAC,EAAE;MACrB;IACF;IACApB,QAAQ,CAACqB,MAAM,CAAC,IAAI,CAACC,cAAc,EAAE;MACnCC,QAAQ,EAAE,IAAI,CAACC,IAAI,GAAG,IAAI,CAACC,KAAK;MAChCC,OAAO,EAAE,CAAC;MACVC,eAAe,EAAE,IAAI;MACrBC,MAAM,EAAE3B,MAAM,CAAC4B;IACjB,CAAC,CAAC,CAACC,KAAK,CAAEC,KAAK,IAAK;MAClB,IAAIA,KAAK,CAACC,QAAQ,EAAE;QAClB,IAAI,CAACV,cAAc,CAACW,QAAQ,CAAC,CAAC,CAAC;QAC/B,IAAI,CAACd,GAAG,CAAC,CAAC;MACZ;IACF,CAAC,CAAC;EACJ;EAEOW,KAAKA,CAAA,EAAG;IACb,IAAI,CAACV,OAAO,EAAE;IACd,IAAI,IAAI,CAACA,OAAO,IAAI,CAAC,EAAE;MACrB,IAAI,CAACD,GAAG,CAAC,CAAC;IACZ;EACF;EAEOe,IAAIA,CAAA,EAAG;IACZ,IAAI,CAACd,OAAO,GAAGe,IAAI,CAACC,GAAG,CAAC,EAAE,IAAI,CAAChB,OAAO,EAAE,CAAC,CAAC;EAC5C;EAEOiB,QAAQA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACf,cAAc;EAC5B;AACF;AAEA,eAAe,MAAMgB,UAAU,SAASlC,aAAa,CAAqD;EAKxGM,WAAWA,CAAC6B,KAAsB,EAAE;IAClC,KAAK,CAACA,KAAK,EAAEhC,aAAa,EAAE,IAAID,eAAe,CAAC,CAAC,EAAE,IAAIG,eAAe,CAAC,CAAC,CAAC;IAACG,eAAA,4BAJ3C,IAAI;IAAAA,eAAA,0BACX,IAAIK,eAAe,CAAC,CAAC;IAAAL,eAAA,yBAgB7BmB,KAAwB,IAAK;MAAA,IAAAS,qBAAA;MAC7C,CAAAA,qBAAA,OAAI,CAACC,iBAAiB,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBE,OAAO,CAAC,CAACC,CAAS,EAAEC,CAAS,EAAE7B,KAAa,EAAEC,MAAc,EAAE6B,EAAU,EAAEC,EAAU,KAAK;QAC/G,IAAIC,MAAM,GAAG;UACXlC,IAAI,EAAEgC,EAAE;UACR/B,GAAG,EAAEgC,EAAE;UACP/B,KAAK,EAAEA,KAAK;UACZC,MAAM,EAAEA;QACV,CAAC;QACD,IAAI,CAACgC,QAAQ,CAAC;UACZD,MAAM,EAAE;YACN,GAAGA;UACL,CAAC;UAAEE,OAAO,EAAE;QACd,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;EA1BD;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACC,eAAe,CAACrB,KAAK,CAAC,CAAC;EAC9B;EAEAsB,oBAAoBA,CAAA,EAAS;IAC3B,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAACD,eAAe,CAACjB,IAAI,CAAC,CAAC;EAC7B;EAkBAmB,YAAYA,CAACd,KAAsB,EAAE;IAAA,IAAAe,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACnC,IAAIC,UAAU,GAAG,CAAC,CAAC,IAAI,CAACC,KAAK,CAACX,MAAM,CAAChC,KAAK,GAAC,IAAI,CAAC2C,KAAK,CAACX,MAAM,CAAClC,IAAI,EAAE,IAAI,CAAC6C,KAAK,CAACX,MAAM,CAAChC,KAAK,GAAG,IAAI,CAAC2C,KAAK,CAACX,MAAM,CAAC/B,MAAM,CAAC;IACtH,IAAI2C,GAAG,GAAG,CAAC,EAAE;IACb,IAAIC,UAAU,GAAG,IAAI,CAACT,eAAe,CAACd,QAAQ,CAAC,CAAC,CAACwB,WAAW,CAAC;MAC3DC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;MAClBC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG;IACxB,CAAC,CAAC;IACF,oBACEjE,KAAA,CAAAkE,aAAA,CAACjE,IAAI;MAACkE,GAAG,EAAGA,GAAG,IAAK;QAAE,IAAI,CAACxB,iBAAiB,GAAGwB,GAAG;MAAE,CAAE;MAACC,QAAQ,EAAE,IAAI,CAACC,cAAe;MACnFC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACvB/B,KAAK,CAACgC,QAAQ,EACd,IAAI,CAACb,KAAK,CAACT,OAAO,gBACjBnD,KAAA,CAAAkE,aAAA,CAAChE,QAAQ,CAACD,IAAI;MACZqE,KAAK,EAAE,CACLlE,UAAU,CAACsE,YAAY,EACvB,IAAI,CAACH,MAAM,CAACI,YAAY,EACxB;QACEC,SAAS,EAAE,CACT;UAAEd;QAAW,CAAC,EACd;UAAEe,MAAM,EAAEhB,GAAG,GAAG;QAAM,CAAC;MAE3B,CAAC;IAAE,gBACL7D,KAAA,CAAAkE,aAAA,CAAC7D,cAAc;MACb2B,KAAK,EAAE;QAAEa,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAE;MACtBgC,GAAG,EAAE;QAAEjC,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAE;MACpBiC,MAAM,EAAE,EAAAvB,qBAAA,GAAC,IAAI,CAACe,MAAM,CAACS,kBAAkB,CAACC,eAAe,cAAAzB,qBAAA,uBAA9CA,qBAAA,CAAgD0B,QAAQ,CAAC,CAAC,GAAAzB,sBAAA,GACnE,IAAI,CAACc,MAAM,CAACY,QAAQ,CAACF,eAAe,cAAAxB,sBAAA,uBAApCA,sBAAA,CAAsCyB,QAAQ,CAAC,CAAC,GAAAxB,sBAAA,GAChD,IAAI,CAACa,MAAM,CAACS,kBAAkB,CAACC,eAAe,cAAAvB,sBAAA,uBAA9CA,sBAAA,CAAgDwB,QAAQ,CAAC,CAAC,CAAY;MACtEE,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAE;MACvBd,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACY,QAAQ,EAAE;QAACF,eAAe,EAAE,IAAI,CAACV,MAAM,CAACI,YAAY,CAACM;MAAe,CAAC;IAAE,CAAE,CAClF,CAAC,GAAG,IACjB,CAAC;EACX;AACF;AAEA,OAAO,MAAMI,cAAc,GAAGA,CAACC,KAAY,EAAEC,cAAgC,EAAEC,OAAqB,EAAEf,QAA0B,KAAK;EACnI,MAAMH,KAAK,GAAG,CAAC,CAAc;EAC7B,MAAMmB,YAAY,GAAIC,QAAa,IAAK;IACtC,IAAI,CAAChF,WAAW,CAAE8E,OAAO,CAASE,QAAQ,CAAC,CAAC,EAAE;MAC3CpB,KAAK,CAASoB,QAAQ,CAAC,GAAIF,OAAO,CAASE,QAAQ,CAAC;IACvD;EACF,CAAC;EACDD,YAAY,CAAC,OAAO,CAAC;EACrBA,YAAY,CAAC,QAAQ,CAAC;EACtBA,YAAY,CAAC,cAAc,CAAC;EAC5BA,YAAY,CAAC,cAAc,CAAC;EAC5BA,YAAY,CAAC,WAAW,CAAC;EACzBA,YAAY,CAAC,cAAc,CAAC;EAC5BA,YAAY,CAAC,YAAY,CAAC;EAC1BA,YAAY,CAAC,aAAa,CAAC;EAC3B,oBAAOzF,KAAA,CAAAkE,aAAA,CAAC1B,UAAU;IAAC+B,MAAM,EAAEe,KAAK,CAACK,UAAU,CAACJ,cAAc,EAAE;MAACf,IAAI,EAAEF;IAAK,CAAC,CAAE;IAACG,QAAQ,EAAEA;EAAS,CAAC,CAAC;AACnG,CAAC","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","backgroundColor","skeletonBgColor","overflow","text","animatedView","flex","width","skeletonAnimatedBgColor","height","marginTop","marginBottom","padding","gradient","margin","shadowColor","skeletonGradientShadowColor","shadowOffset","elevation","shadowOpacity","opacity","skeletonGradientBgColor","gradientForeground","skeletonGradientForegroundColor"],"sources":["skeleton.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { ViewStyle } from 'react-native';\n\nexport type WmSkeletonStyles = BaseStyles & {\n animatedView: AllStyle;\n gradient: AllStyle;\n gradientForeground: ViewStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-skeleton';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = defineStyles<WmSkeletonStyles>({\n root: {\n backgroundColor: themeVariables.skeletonBgColor,\n overflow: 'hidden',\n },\n text: {},\n animatedView: {\n flex: 1,\n width: 60,\n backgroundColor: themeVariables.skeletonAnimatedBgColor,\n height: '100%',\n marginTop: -10,\n marginBottom: -10,\n padding: 0\n },\n gradient: {\n width: '100%',\n padding: 0,\n margin: 0,\n height: '100%',\n shadowColor: themeVariables.skeletonGradientShadowColor,\n shadowOffset: { width: 0, height: 10 },\n elevation: 5,\n shadowOpacity: 0.4,\n opacity: 0.6,\n backgroundColor: themeVariables.skeletonGradientBgColor\n },\n gradientForeground: {\n backgroundColor: themeVariables.skeletonGradientForegroundColor\n },\n\n });\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","backgroundColor","skeletonBgColor","overflow","text","animatedView","flex","width","skeletonAnimatedBgColor","height","marginTop","marginBottom","padding","gradient","margin","shadowColor","skeletonGradientShadowColor","shadowOffset","elevation","shadowOpacity","opacity","skeletonGradientBgColor","gradientForeground","skeletonGradientForegroundColor"],"sources":["skeleton.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\n\nexport type WmSkeletonStyles = BaseStyles & {\n animatedView: AllStyle;\n gradient: AllStyle;\n gradientForeground: ViewStyle;\n text: TextStyle\n};\n\nexport const DEFAULT_CLASS = 'app-skeleton';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = defineStyles<WmSkeletonStyles>({\n root: {\n backgroundColor: themeVariables.skeletonBgColor,\n overflow: 'hidden',\n },\n text: {},\n animatedView: {\n flex: 1,\n width: 60,\n backgroundColor: themeVariables.skeletonAnimatedBgColor,\n height: '100%',\n marginTop: -10,\n marginBottom: -10,\n padding: 0\n },\n gradient: {\n width: '100%',\n padding: 0,\n margin: 0,\n height: '100%',\n shadowColor: themeVariables.skeletonGradientShadowColor,\n shadowOffset: { width: 0, height: 10 },\n elevation: 5,\n shadowOpacity: 0.4,\n opacity: 0.6,\n backgroundColor: themeVariables.skeletonGradientBgColor\n },\n gradientForeground: {\n backgroundColor: themeVariables.skeletonGradientForegroundColor\n },\n\n });\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAUxF,OAAO,MAAMC,aAAa,GAAG,cAAc;AAC3CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAa,GAAGL,YAAY,CAAmB;IACjDM,IAAI,EAAE;MACFC,eAAe,EAAEJ,cAAc,CAACK,eAAe;MAC/CC,QAAQ,EAAE;IACd,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,YAAY,EAAE;MACVC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,EAAE;MACTN,eAAe,EAAEJ,cAAc,CAACW,uBAAuB;MACvDC,MAAM,EAAE,MAAM;MACdC,SAAS,EAAE,CAAC,EAAE;MACdC,YAAY,EAAE,CAAC,EAAE;MACjBC,OAAO,EAAE;IACb,CAAC;IACDC,QAAQ,EAAE;MACNN,KAAK,EAAE,MAAM;MACbK,OAAO,EAAE,CAAC;MACVE,MAAM,EAAE,CAAC;MACTL,MAAM,EAAE,MAAM;MACdM,WAAW,EAAElB,cAAc,CAACmB,2BAA2B;MACvDC,YAAY,EAAE;QAAEV,KAAK,EAAE,CAAC;QAAEE,MAAM,EAAE;MAAG,CAAC;MACtCS,SAAS,EAAE,CAAC;MACZC,aAAa,EAAE,GAAG;MAClBC,OAAO,EAAE,GAAG;MACZnB,eAAe,EAAEJ,cAAc,CAACwB;IACpC,CAAC;IACDC,kBAAkB,EAAE;MAChBrB,eAAe,EAAEJ,cAAc,CAAC0B;IACpC;EAEJ,CAAC,CAAC;EACFzB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
|
@@ -17,7 +17,7 @@ export default class WmBarChart extends BaseChartComponent {
|
|
17
17
|
}
|
18
18
|
getBarChart(props) {
|
19
19
|
return this.state.data.map((d, i) => {
|
20
|
-
return /*#__PURE__*/React.createElement(VictoryBar, {
|
20
|
+
return /*#__PURE__*/React.createElement(VictoryBar, _extends({
|
21
21
|
key: props.name + '_' + i,
|
22
22
|
horizontal: props.horizontal,
|
23
23
|
labels: props.showvalues ? this.labelFn.bind(this) : undefined,
|
@@ -48,7 +48,9 @@ export default class WmBarChart extends BaseChartComponent {
|
|
48
48
|
onPress: this.onSelect.bind(this)
|
49
49
|
}
|
50
50
|
}]
|
51
|
-
}
|
51
|
+
}, props.barwidth ? {
|
52
|
+
barWidth: props.barwidth
|
53
|
+
} : {}));
|
52
54
|
});
|
53
55
|
}
|
54
56
|
onSelect(event, data) {
|