@wavemaker/app-rn-runtime 11.4.0-next.26251 → 11.4.0-next.28151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js.map +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js +1 -1
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/login/login.component.js +1 -1
- app-rn-runtime/components/advanced/login/login.component.js.map +1 -1
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js +5 -5
- app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +1 -1
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.component.js +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.component.js.map +1 -1
- app-rn-runtime/components/basic/custom/custom.component.js +25 -0
- app-rn-runtime/components/basic/custom/custom.component.js.map +1 -0
- app-rn-runtime/components/basic/custom/custom.props.js +16 -0
- app-rn-runtime/components/basic/custom/custom.props.js.map +1 -0
- app-rn-runtime/components/basic/custom/custom.styles.js +18 -0
- app-rn-runtime/components/basic/custom/custom.styles.js.map +1 -0
- app-rn-runtime/components/basic/icon/icon.component.js +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +1 -1
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/lottie/lottie.component.js +137 -0
- app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -0
- app-rn-runtime/components/basic/lottie/lottie.props.js +14 -0
- app-rn-runtime/components/basic/lottie/lottie.props.js.map +1 -0
- app-rn-runtime/components/basic/lottie/lottie.styles.js +11 -0
- app-rn-runtime/components/basic/lottie/lottie.styles.js.map +1 -0
- app-rn-runtime/components/basic/message/message.component.js +1 -1
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +37 -26
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -2
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +4 -1
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/spinner/spinner.component.js +10 -10
- app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js +56 -0
- app-rn-runtime/components/basic/video/video.component.js.map +1 -0
- app-rn-runtime/components/basic/video/video.props.js +22 -0
- app-rn-runtime/components/basic/video/video.props.js.map +1 -0
- app-rn-runtime/components/basic/video/video.styles.js +11 -0
- app-rn-runtime/components/basic/video/video.styles.js.map +1 -0
- app-rn-runtime/components/container/accordion/accordion.component.js +1 -1
- app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +1 -1
- app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +1 -1
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +1 -1
- app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -1
- app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel-content/panel-content.component.js +1 -1
- app-rn-runtime/components/container/panel/panel-content/panel-content.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js +1 -1
- app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js.map +1 -1
- app-rn-runtime/components/container/panel/panel.component.js +1 -1
- app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +12 -4
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +2 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.component.js +68 -67
- app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.props.js +1 -0
- app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js +1 -1
- app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
- app-rn-runtime/components/container/tile/tile.component.js +1 -1
- app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
- app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
- app-rn-runtime/components/data/card/card-footer/card-footer.component.js +1 -1
- app-rn-runtime/components/data/card/card-footer/card-footer.component.js.map +1 -1
- app-rn-runtime/components/data/card/card.component.js +1 -1
- app-rn-runtime/components/data/card/card.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js +0 -6
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-body/form-body.component.js +1 -1
- app-rn-runtime/components/data/form/form-body/form-body.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-footer/form-footer.component.js +1 -1
- app-rn-runtime/components/data/form/form-footer/form-footer.component.js.map +1 -1
- app-rn-runtime/components/data/form/form.component.js +1 -30
- app-rn-runtime/components/data/form/form.component.js.map +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js +1 -1
- app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +1 -4
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.component.js +3 -0
- app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js +1 -1
- app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js +1 -1
- app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +1 -1
- app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +1 -16
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +0 -38
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.component.js +1 -1
- app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +0 -9
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +0 -40
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/rating/rating.component.js +1 -1
- app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +1 -1
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +19 -22
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.styles.js +7 -7
- app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +1 -10
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +0 -10
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.props.js +1 -0
- app-rn-runtime/components/navigation/basenav/basenav.props.js.map +1 -1
- app-rn-runtime/components/navigation/menu/menu.component.js +2 -1
- app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.component.js +2 -0
- app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +4 -3
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js +1 -0
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/content/content.component.js +1 -1
- app-rn-runtime/components/page/content/content.component.js.map +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.component.js +1 -1
- app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +2 -2
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/page.component.js +1 -1
- app-rn-runtime/components/page/page.component.js.map +1 -1
- app-rn-runtime/components/page/partial/partial.component.js +1 -1
- app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
- app-rn-runtime/components/page/partial-container/partial-container.component.js +1 -1
- app-rn-runtime/components/page/partial-container/partial-container.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js +2 -1
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js +1 -1
- app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
- app-rn-runtime/core/asset.provider.js +5 -0
- app-rn-runtime/core/asset.provider.js.map +1 -0
- app-rn-runtime/core/base.component.js +113 -41
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/imageSizeEstimator.js +1 -0
- app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +105 -0
- app-rn-runtime/gestures/swipe.animation.js.map +1 -0
- app-rn-runtime/package.json +4 -3
- app-rn-runtime/runtime/App.js +11 -2
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +6 -4
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/navigator/drawer.navigator.js +4 -0
- app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js +5 -1
- app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
- app-rn-runtime/runtime/services/app-spinner.service.js +5 -1
- app-rn-runtime/runtime/services/app-spinner.service.js.map +1 -1
- app-rn-runtime/runtime/services/app-toast.service.js +1 -1
- app-rn-runtime/runtime/services/app-toast.service.js.map +1 -1
- app-rn-runtime/styles/background.component.js +259 -0
- app-rn-runtime/styles/background.component.js.map +1 -0
- app-rn-runtime/styles/style-prop.validator.js +38 -8
- app-rn-runtime/styles/style-prop.validator.js.map +1 -1
- app-rn-runtime/styles/style-props.js +93 -0
- app-rn-runtime/styles/style-props.js.map +1 -0
- app-rn-runtime/styles/theme.js +6 -37
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/variables/http.service.js +3 -12
- app-rn-runtime/variables/http.service.js.map +1 -1
- app-rn-runtime/variables/service-variable.js +13 -7
- app-rn-runtime/variables/service-variable.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","Easing","Text","FontAwesome","BaseComponent","BaseComponentState","WmIconProps","DEFAULT_CLASS","WavIcon","StreamlineLightIcon","StreamlineRegularIcon","Tappable","Animatedview","createSkeleton","ICON_SIZES","Map","ICON_ROTATTION","WmIconState","WmIcon","constructor","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","type","startsWith","substring","isWavIcon","indexOf","animation","size","map","get","spin","stopAnimation","spinValue","setValue","timing","toValue","duration","easing","linear","useNativeDriver","start","componentDidMount","componentWillUnmount","onPropertyChange","name","$new","$old","updateState","getCustomIcon","style","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","renderIcon","state","color","text","transform","iconSize","fontSize","show","WMCustomIcon","interpolate","inputRange","outputRange","opacity","renderWidget","iconposition","caption"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, Text } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmIconProps from './icon.props';\nimport { DEFAULT_CLASS, WmIconStyles } from './icon.styles';\nimport WavIcon from './wavicon/wavicon.component';\nimport StreamlineLightIcon from './streamline-light-icon/streamline-light-icon.component';\nimport StreamlineRegularIcon from './streamline-regular-icon/streamline-regular-icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ninterface IconDef {\n isFontAwesome: boolean;\n isWavIcon: boolean;\n isStreamlineLightIcon: boolean;\n isStreamlineRegularIcon: boolean;\n type: string;\n rotate: string;\n size: number;\n animation: string;\n}\n\nconst ICON_SIZES = new Map([\n ['fa-lg', 24],\n ['fa-2x', 36],\n ['fa-3x', 48],\n ['fa-4x', 60],\n ['fa-5x', 72]\n]);\n\nconst ICON_ROTATTION = new Map([\n ['fa-rotate-90', '90deg'],\n ['fa-rotate-180', '180deg'],\n ['fa-rotate-270', '270deg']\n]);\n\nexport class WmIconState extends BaseComponentState<WmIconProps> {\n public iconDef = {} as IconDef;\n}\n\nexport default class WmIcon extends BaseComponent<WmIconProps, WmIconState, WmIconStyles> {\n spinValue = new Animated.Value(0);\n pulseValue = new Animated.Value(0);\n public stopAnimation = true; \n\n constructor(props: WmIconProps) {\n super(props, DEFAULT_CLASS, new WmIconProps());\n }\n\n getIconDef(iconClass: string): IconDef {\n const iconDef = {\n rotate: '0'\n } as IconDef;\n const splits = iconClass.split(' ');\n iconDef.isFontAwesome = !!splits.find(v => v === 'fa');\n iconDef.isStreamlineLightIcon = !!splits.find(v => v === 'wm-sl-l');\n iconDef.isStreamlineRegularIcon = !!splits.find(v => v === 'wm-sl-r');\n if (iconDef.isFontAwesome) {\n iconDef.type = splits.find(v => v.startsWith('fa-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineLightIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineRegularIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else {\n iconDef.isWavIcon = !iconDef.isFontAwesome && !!splits.find(v => v === 'wi');\n iconDef.type = (iconDef.isWavIcon && splits.find(v => v.startsWith('wi-'))?.substring(3)) || '';\n }\n if (iconClass.indexOf('fa-spin') >= 0) {\n iconDef.animation = 'spin';\n } else if (iconClass.indexOf('fa-pulse') >= 0) {\n iconDef.animation = 'pulse';\n }\n iconDef.size = splits.map(v => ICON_SIZES.get(v)).find(v => !!v) || 12;\n iconDef.rotate = splits.map(v => ICON_ROTATTION.get(v)).find(v => !!v) || '0deg';\n return iconDef;\n }\n\n private spin () {\n if (this.stopAnimation) {\n return;\n }\n this.spinValue.setValue(0);\n Animated.timing(\n this.spinValue,\n {\n toValue: 1,\n duration: 1000,\n easing: Easing.linear,\n useNativeDriver: true\n }\n ).start(() => this.spin());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.spin();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stopAnimation = true;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'iconclass':\n $new && this.updateState({iconDef: this.getIconDef($new)} as WmIconState);\n break;\n }\n }\n\n private getCustomIcon(props: WmIconProps, style: any) {\n const customIcon = this.theme.mergeStyle({}, this.theme.getStyle(props?.iconclass || '')?.icon || this.styles.icon);\n const customIconContent = customIcon?.content;\n if (customIconContent) {\n delete customIcon.content;\n return (<Text\n style={[style, customIcon.fontFamily ? {fontFamily: customIcon.fontFamily}: null]}>\n {decodeURIComponent(customIconContent)}\n </Text>);\n }\n return null;\n }\n\n public renderSkeleton(props: WmIconProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.props.iconsize || this.styles.root.width,\n height: this.props.skeletonheight || this.props.iconsize || this.styles.root.height\n });\n }\n\n renderIcon(props: WmIconProps) {\n const iconDef = this.state.iconDef;\n if (!iconDef) {\n return null;\n }\n let icon = null;\n const style = [{\n color: this.styles.root.color || this.styles.text.color\n }, this.styles.icon, {transform: [{rotate: iconDef.rotate}]}];\n const customIcon = this.getCustomIcon(props, style);\n const iconSize = props.iconsize || this.styles.root.fontSize || this.styles.text.fontSize || iconDef.size;\n if (props.show && iconDef && iconDef.isFontAwesome) {\n //@ts-ignore type information is not matching\n icon = (<FontAwesome name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </FontAwesome>);\n } else if (props.show && iconDef) {\n let WMCustomIcon = WavIcon as unknown;\n if (iconDef.isStreamlineLightIcon) {\n WMCustomIcon = StreamlineLightIcon;\n } else if (iconDef.isStreamlineRegularIcon) {\n WMCustomIcon = StreamlineRegularIcon;\n }\n //@ts-ignore type information is not matching\n icon = WMCustomIcon ? (<WMCustomIcon name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </WMCustomIcon>) : null;\n }\n if (icon && iconDef.animation === 'spin') {\n const rotate = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg']});\n const animation = { transform: [{ rotate }] };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{icon}</Animated.View>);\n } else if (icon && iconDef.animation === 'pulse') {\n const opacity = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: [0, 1]});\n const animation = { opacity: opacity };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{icon}</Animated.View>);\n } else {\n this.stopAnimation = true;\n }\n return icon;\n }\n\n renderWidget(props: WmIconProps) {\n let icon = this.renderIcon(props);\n return (\n <Tappable target={this}>\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text style={this.styles.text}>{props.caption}</Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Animated","Easing","Text","FontAwesome","BaseComponent","BaseComponentState","WmIconProps","DEFAULT_CLASS","WavIcon","StreamlineLightIcon","StreamlineRegularIcon","Tappable","Animatedview","createSkeleton","ICON_SIZES","Map","ICON_ROTATTION","WmIconState","WmIcon","constructor","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","type","startsWith","substring","isWavIcon","indexOf","animation","size","map","get","spin","stopAnimation","spinValue","setValue","timing","toValue","duration","easing","linear","useNativeDriver","start","componentDidMount","componentWillUnmount","onPropertyChange","name","$new","$old","updateState","getCustomIcon","style","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","renderIcon","state","color","text","transform","iconSize","fontSize","show","WMCustomIcon","interpolate","inputRange","outputRange","opacity","renderWidget","_background","iconposition","caption"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, Text } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmIconProps from './icon.props';\nimport { DEFAULT_CLASS, WmIconStyles } from './icon.styles';\nimport WavIcon from './wavicon/wavicon.component';\nimport StreamlineLightIcon from './streamline-light-icon/streamline-light-icon.component';\nimport StreamlineRegularIcon from './streamline-regular-icon/streamline-regular-icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ninterface IconDef {\n isFontAwesome: boolean;\n isWavIcon: boolean;\n isStreamlineLightIcon: boolean;\n isStreamlineRegularIcon: boolean;\n type: string;\n rotate: string;\n size: number;\n animation: string;\n}\n\nconst ICON_SIZES = new Map([\n ['fa-lg', 24],\n ['fa-2x', 36],\n ['fa-3x', 48],\n ['fa-4x', 60],\n ['fa-5x', 72]\n]);\n\nconst ICON_ROTATTION = new Map([\n ['fa-rotate-90', '90deg'],\n ['fa-rotate-180', '180deg'],\n ['fa-rotate-270', '270deg']\n]);\n\nexport class WmIconState extends BaseComponentState<WmIconProps> {\n public iconDef = {} as IconDef;\n}\n\nexport default class WmIcon extends BaseComponent<WmIconProps, WmIconState, WmIconStyles> {\n spinValue = new Animated.Value(0);\n pulseValue = new Animated.Value(0);\n public stopAnimation = true; \n\n constructor(props: WmIconProps) {\n super(props, DEFAULT_CLASS, new WmIconProps());\n }\n\n getIconDef(iconClass: string): IconDef {\n const iconDef = {\n rotate: '0'\n } as IconDef;\n const splits = iconClass.split(' ');\n iconDef.isFontAwesome = !!splits.find(v => v === 'fa');\n iconDef.isStreamlineLightIcon = !!splits.find(v => v === 'wm-sl-l');\n iconDef.isStreamlineRegularIcon = !!splits.find(v => v === 'wm-sl-r');\n if (iconDef.isFontAwesome) {\n iconDef.type = splits.find(v => v.startsWith('fa-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineLightIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineRegularIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else {\n iconDef.isWavIcon = !iconDef.isFontAwesome && !!splits.find(v => v === 'wi');\n iconDef.type = (iconDef.isWavIcon && splits.find(v => v.startsWith('wi-'))?.substring(3)) || '';\n }\n if (iconClass.indexOf('fa-spin') >= 0) {\n iconDef.animation = 'spin';\n } else if (iconClass.indexOf('fa-pulse') >= 0) {\n iconDef.animation = 'pulse';\n }\n iconDef.size = splits.map(v => ICON_SIZES.get(v)).find(v => !!v) || 12;\n iconDef.rotate = splits.map(v => ICON_ROTATTION.get(v)).find(v => !!v) || '0deg';\n return iconDef;\n }\n\n private spin () {\n if (this.stopAnimation) {\n return;\n }\n this.spinValue.setValue(0);\n Animated.timing(\n this.spinValue,\n {\n toValue: 1,\n duration: 1000,\n easing: Easing.linear,\n useNativeDriver: true\n }\n ).start(() => this.spin());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.spin();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stopAnimation = true;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'iconclass':\n $new && this.updateState({iconDef: this.getIconDef($new)} as WmIconState);\n break;\n }\n }\n\n private getCustomIcon(props: WmIconProps, style: any) {\n const customIcon = this.theme.mergeStyle({}, this.theme.getStyle(props?.iconclass || '')?.icon || this.styles.icon);\n const customIconContent = customIcon?.content;\n if (customIconContent) {\n delete customIcon.content;\n return (<Text\n style={[style, customIcon.fontFamily ? {fontFamily: customIcon.fontFamily}: null]}>\n {decodeURIComponent(customIconContent)}\n </Text>);\n }\n return null;\n }\n\n public renderSkeleton(props: WmIconProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.props.iconsize || this.styles.root.width,\n height: this.props.skeletonheight || this.props.iconsize || this.styles.root.height\n });\n }\n\n renderIcon(props: WmIconProps) {\n const iconDef = this.state.iconDef;\n if (!iconDef) {\n return null;\n }\n let icon = null;\n const style = [{\n color: this.styles.root.color || this.styles.text.color\n }, this.styles.icon, {transform: [{rotate: iconDef.rotate}]}];\n const customIcon = this.getCustomIcon(props, style);\n const iconSize = props.iconsize || this.styles.root.fontSize || this.styles.text.fontSize || iconDef.size;\n if (props.show && iconDef && iconDef.isFontAwesome) {\n //@ts-ignore type information is not matching\n icon = (<FontAwesome name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </FontAwesome>);\n } else if (props.show && iconDef) {\n let WMCustomIcon = WavIcon as unknown;\n if (iconDef.isStreamlineLightIcon) {\n WMCustomIcon = StreamlineLightIcon;\n } else if (iconDef.isStreamlineRegularIcon) {\n WMCustomIcon = StreamlineRegularIcon;\n }\n //@ts-ignore type information is not matching\n icon = WMCustomIcon ? (<WMCustomIcon name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </WMCustomIcon>) : null;\n }\n if (icon && iconDef.animation === 'spin') {\n const rotate = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg']});\n const animation = { transform: [{ rotate }] };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{icon}</Animated.View>);\n } else if (icon && iconDef.animation === 'pulse') {\n const opacity = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: [0, 1]});\n const animation = { opacity: opacity };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{icon}</Animated.View>);\n } else {\n this.stopAnimation = true;\n }\n return icon;\n }\n\n renderWidget(props: WmIconProps) {\n let icon = this.renderIcon(props);\n return (\n <Tappable target={this}>\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text style={this.styles.text}>{props.caption}</Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ export default class WmLabel extends BaseComponent {
|
|
|
51
51
|
return !isNil(props.caption) ? /*#__PURE__*/React.createElement(Animatedview, {
|
|
52
52
|
entryanimation: props.animation,
|
|
53
53
|
style: this.styles.root
|
|
54
|
-
}, /*#__PURE__*/React.createElement(Tappable, {
|
|
54
|
+
}, this._background, /*#__PURE__*/React.createElement(Tappable, {
|
|
55
55
|
target: this
|
|
56
56
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
57
57
|
style: [this.styles.text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","WmLabel","constructor","props","getAsterisk","styles","asterisk","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","renderSkeleton","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","text","fontSize","multilineskeleton","renderWidget","caption","animation","color","isValid","wrap","undefined","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\nimport { totalMonths } from 'react-native-paper-dates/lib/typescript/Date/dateUtils';\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\n }); \n }\n }\n\n renderWidget(props: WmLabelProps) {\n return !isNil(props.caption)? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n <Tappable target={this}>\n <Text\n style={[this.styles.text, \n {color: props.isValid === false ? 'red' : this.styles.text.color}]}\n numberOfLines={props.wrap ? undefined : 1}>\n {toString(props.caption)}\n {props.required && this.getAsterisk()}\n </Text>\n </Tappable>\n </Animatedview>\n ): null;\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,QAAQ,QAAQ,mDAAmD;AAE5E,OAAOC,YAAY,MAAM,eAAe;AACxC,SAASC,aAAa,QAAuB,gBAAgB;AAC7D,SAASC,KAAK,EAAEC,QAAQ,QAAQ,WAAW;AAC3C,SAASC,YAAY,QAAQ,mEAAmE;AAChG,SAAqBC,cAAc,QAAQ,gCAAgC;AAG3E,OAAO,MAAMC,YAAY,SAASR,kBAAkB,CAAe;AAInE,eAAe,MAAMS,OAAO,SAASV,aAAa,CAA4C;EAE5FW,WAAW,CAACC,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,YAAY,EAAE,CAAC;EACjD;EAEQU,WAAW,GAAI;IACrB,oBAAO,oBAAC,IAAI;MAAC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAS,GAAC,GAAC,CAAO;EACpD;EAEQC,oBAAoB,CAACC,KAAU,EAAEC,MAAW,EAAE;IACpD,MAAMJ,MAAM,GAAG;MACbK,YAAY,EAAC,CAAC;MACdC,YAAY,EAAE,EAAE;MAChBF,MAAM,EAAEA;IACV,CAAC;IACD,OAAOV,cAAc,CAAC,IAAI,CAACa,KAAK,EAAE,IAAI,CAACP,MAAM,CAACQ,QAAQ,EAAE;MACtD,GAAGR,MAAM;MACTG,KAAK,EAAEA,KAAK;MACZC,MAAM,EAAEA;IACV,CAAC,CAAC;EACJ;EAEOK,cAAc,CAACX,KAAmB,EAAC;IAAA;IACxC,MAAMY,aAAa,GAAG,IAAI,CAACZ,KAAK,CAACa,aAAa,0BAAI,IAAI,CAACX,MAAM,CAACY,IAAI,sDAAhB,kBAAkBT,KAAK;IACzE,MAAMU,cAAc,GAAG,IAAI,CAACf,KAAK,CAACgB,cAAc,2BAAI,IAAI,CAACd,MAAM,CAACY,IAAI,uDAAhB,mBAAkBR,MAAM,KAAI,IAAI,CAACJ,MAAM,CAACe,IAAI,CAACC,QAAQ;IACzG,IAAG,IAAI,CAAClB,KAAK,CAACmB,iBAAiB,EAAE;MAC/B,oBAAQ,oBAAC,IAAI;QAAC,KAAK,EAAE;UACnBd,KAAK,EAAEO;QACT;MAAE,GACC,IAAI,CAACR,oBAAoB,CAAC,MAAM,EAAEW,cAAc,CAAC,EACjD,IAAI,CAACX,oBAAoB,CAAC,KAAK,EAAEW,cAAc,CAAC,EAChD,IAAI,CAACX,oBAAoB,CAAC,KAAK,EAAEW,cAAc,CAAC,CAC5C;IACT,CAAC,MACG;MACF,OAAOnB,cAAc,CAAC,IAAI,CAACa,KAAK,EAAE,IAAI,CAACP,MAAM,CAACQ,QAAQ,EAAE;QACtD,GAAG,IAAI,CAACR,MAAM,CAACY,IAAI;QACnBT,KAAK,EAAEO,aAAa;QACpBN,MAAM,EAAES;MACV,CAAC,CAAC;IACJ;EACF;EAEAK,YAAY,CAACpB,KAAmB,EAAE;IAChC,OAAO,CAACP,KAAK,CAACO,KAAK,CAACqB,OAAO,CAAC,gBAC1B,oBAAC,YAAY;MAAC,cAAc,EAAErB,KAAK,CAACsB,SAAU;MAAC,KAAK,EAAE,IAAI,CAACpB,MAAM,CAACY;IAAK,
|
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","WmLabel","constructor","props","getAsterisk","styles","asterisk","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","renderSkeleton","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","text","fontSize","multilineskeleton","renderWidget","caption","animation","_background","color","isValid","wrap","undefined","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\nimport { totalMonths } from 'react-native-paper-dates/lib/typescript/Date/dateUtils';\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\n }); \n }\n }\n\n renderWidget(props: WmLabelProps) {\n return !isNil(props.caption)? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n <Tappable target={this}>\n <Text\n style={[this.styles.text, \n {color: props.isValid === false ? 'red' : this.styles.text.color}]}\n numberOfLines={props.wrap ? undefined : 1}>\n {toString(props.caption)}\n {props.required && this.getAsterisk()}\n </Text>\n </Tappable>\n </Animatedview>\n ): null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import { Platform, View } from 'react-native';
|
|
7
|
+
import LottieView from 'lottie-react-native';
|
|
8
|
+
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
9
|
+
import WmLottieProps from './lottie.props';
|
|
10
|
+
import { DEFAULT_CLASS } from './lottie.styles';
|
|
11
|
+
export class WmLottieState extends BaseComponentState {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
_defineProperty(this, "animationData", void 0);
|
|
15
|
+
_defineProperty(this, "isCompleted", false);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export default class WmLottie extends BaseComponent {
|
|
19
|
+
constructor(props) {
|
|
20
|
+
super(props, DEFAULT_CLASS, new WmLottieProps(), new WmLottieState());
|
|
21
|
+
_defineProperty(this, "lottie", /*#__PURE__*/React.createRef());
|
|
22
|
+
}
|
|
23
|
+
play() {
|
|
24
|
+
if (this.lottie.current) {
|
|
25
|
+
if (this.state.isCompleted) {
|
|
26
|
+
this.reset();
|
|
27
|
+
} else {
|
|
28
|
+
this.lottie.current.play();
|
|
29
|
+
this.invokeEventCallback('onPlay', [null, this.proxy]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
pause() {
|
|
34
|
+
if (this.lottie.current) {
|
|
35
|
+
this.lottie.current.pause();
|
|
36
|
+
this.invokeEventCallback('onPause', [null, this.proxy]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
reset() {
|
|
40
|
+
if (this.lottie.current) {
|
|
41
|
+
if (this.lottie.current.reset) {
|
|
42
|
+
this.lottie.current.reset();
|
|
43
|
+
this.lottie.current.play();
|
|
44
|
+
} else if (this.lottie.current.goToAndPlay) {
|
|
45
|
+
this.lottie.current.goToAndPlay(0);
|
|
46
|
+
} else {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.invokeEventCallback('onPlay', [null, this.proxy]);
|
|
50
|
+
this.updateState({
|
|
51
|
+
isCompleted: false
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
onReady() {
|
|
56
|
+
this.invokeEventCallback('onReady', [null, this.proxy]);
|
|
57
|
+
if (this.state.props.autoplay) {
|
|
58
|
+
this.invokeEventCallback('onPlay', [null, this.proxy]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
loadAnimationData() {
|
|
62
|
+
if (this.state.animationData || !this.loadAsset) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (Platform.OS == 'web') {
|
|
66
|
+
const url = this.loadAsset(this.state.props.source);
|
|
67
|
+
axios.get(url).then(_ref => {
|
|
68
|
+
let {
|
|
69
|
+
data
|
|
70
|
+
} = _ref;
|
|
71
|
+
this.updateState({
|
|
72
|
+
animationData: data
|
|
73
|
+
}, () => this.onReady());
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
this.updateState({
|
|
77
|
+
animationData: this.loadAsset(this.state.props.source)
|
|
78
|
+
}, () => this.onReady());
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
onPropertyChange(name, $new, $old) {
|
|
82
|
+
super.onPropertyChange(name, $new, $old);
|
|
83
|
+
switch (name) {
|
|
84
|
+
case 'src':
|
|
85
|
+
this.loadAnimationData();
|
|
86
|
+
break;
|
|
87
|
+
case 'loop':
|
|
88
|
+
if (this.initialized && !this.state.isCompleted && ($new || this.state.props.autoplay)) {
|
|
89
|
+
setTimeout(() => this.reset(), 200);
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
componentDidMount() {
|
|
95
|
+
super.componentDidMount();
|
|
96
|
+
this.loadAnimationData();
|
|
97
|
+
}
|
|
98
|
+
renderWebLottie(props) {
|
|
99
|
+
const Lottie = require('react-lottie-player');
|
|
100
|
+
return /*#__PURE__*/React.createElement(Lottie, {
|
|
101
|
+
animationData: this.state.animationData,
|
|
102
|
+
ref: this.lottie,
|
|
103
|
+
loop: props.loop,
|
|
104
|
+
play: props.autoplay,
|
|
105
|
+
speed: props.speed,
|
|
106
|
+
style: this.styles.lottie,
|
|
107
|
+
onComplete: () => {
|
|
108
|
+
this.updateState({
|
|
109
|
+
isCompleted: true
|
|
110
|
+
});
|
|
111
|
+
this.invokeEventCallback('onComplete', [null, this.proxy]);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
renderNativeLottie(props) {
|
|
116
|
+
return /*#__PURE__*/React.createElement(LottieView, {
|
|
117
|
+
source: this.state.animationData,
|
|
118
|
+
ref: this.lottie,
|
|
119
|
+
autoPlay: props.autoplay,
|
|
120
|
+
speed: props.speed,
|
|
121
|
+
loop: props.loop,
|
|
122
|
+
style: this.styles.lottie,
|
|
123
|
+
onAnimationFinish: () => {
|
|
124
|
+
this.updateState({
|
|
125
|
+
isCompleted: true
|
|
126
|
+
});
|
|
127
|
+
this.invokeEventCallback('onComplete', [null, this.proxy]);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
renderWidget(props) {
|
|
132
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
133
|
+
style: this.styles.root
|
|
134
|
+
}, this._background, this.state.animationData ? Platform.OS == 'web' ? this.renderWebLottie(props) : this.renderNativeLottie(props) : null);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=lottie.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","axios","Platform","View","LottieView","BaseComponent","BaseComponentState","WmLottieProps","DEFAULT_CLASS","WmLottieState","WmLottie","constructor","props","createRef","play","lottie","current","state","isCompleted","reset","invokeEventCallback","proxy","pause","goToAndPlay","updateState","onReady","autoplay","loadAnimationData","animationData","loadAsset","OS","url","source","get","then","data","onPropertyChange","name","$new","$old","initialized","setTimeout","componentDidMount","renderWebLottie","Lottie","require","loop","speed","styles","renderNativeLottie","renderWidget","root","_background"],"sources":["lottie.component.tsx"],"sourcesContent":["import React from 'react';\nimport axios from 'axios';\nimport { Platform, View } from 'react-native';\nimport LottieView from 'lottie-react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLottieProps from './lottie.props';\nimport { DEFAULT_CLASS, WmLottieStyles } from './lottie.styles';\n\nexport class WmLottieState extends BaseComponentState<WmLottieProps> {\n animationData: any;\n isCompleted = false;\n}\n\nexport default class WmLottie extends BaseComponent<WmLottieProps, WmLottieState, WmLottieStyles> {\n\n private lottie = React.createRef<LottieView>();\n\n constructor(props: WmLottieProps) {\n super(props, DEFAULT_CLASS, new WmLottieProps(), new WmLottieState());\n }\n \n play() {\n if (this.lottie.current) {\n if (this.state.isCompleted) {\n this.reset();\n } else {\n this.lottie.current.play();\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n }\n\n pause() {\n if (this.lottie.current) {\n this.lottie.current.pause();\n this.invokeEventCallback('onPause', [null, this.proxy]);\n }\n }\n\n reset() {\n if (this.lottie.current) {\n if (this.lottie.current.reset) {\n this.lottie.current.reset();\n this.lottie.current.play();\n } else if((this.lottie.current as any).goToAndPlay) {\n (this.lottie.current as any).goToAndPlay(0);\n } else {\n return;\n }\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n this.updateState({\n isCompleted: false\n } as WmLottieState);\n }\n \n }\n\n private onReady() {\n this.invokeEventCallback('onReady', [null, this.proxy]);\n if (this.state.props.autoplay) {\n this.invokeEventCallback('onPlay', [null, this.proxy]);\n }\n }\n\n private loadAnimationData() {\n if (this.state.animationData || ! this.loadAsset) {\n return;\n }\n if (Platform.OS == 'web') {\n const url = this.loadAsset(this.state.props.source) as string;\n axios.get(url).then(({data}) => {\n this.updateState({\n animationData: data\n } as WmLottieState, () => this.onReady());\n });\n } else {\n this.updateState({\n animationData: this.loadAsset(this.state.props.source)\n } as WmLottieState, () => this.onReady());\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'src':\n this.loadAnimationData();\n break;\n case 'loop':\n if (this.initialized && \n !this.state.isCompleted && \n ($new || this.state.props.autoplay)) {\n setTimeout(() => this.reset(), 200);\n }\n break;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.loadAnimationData();\n }\n\n private renderWebLottie(props: WmLottieProps) {\n const Lottie = require('react-lottie-player');\n return (<Lottie \n animationData={this.state.animationData}\n ref= {this.lottie}\n loop={props.loop}\n play={props.autoplay}\n speed={props.speed}\n style={this.styles.lottie}\n onComplete={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}/>);\n }\n\n private renderNativeLottie(props: WmLottieProps) {\n return (\n <LottieView\n source={this.state.animationData}\n ref= {this.lottie}\n autoPlay={props.autoplay}\n speed={props.speed}\n loop={props.loop}\n style={this.styles.lottie} \n onAnimationFinish={() => {\n this.updateState({\n isCompleted: true\n } as WmLottieState);\n this.invokeEventCallback('onComplete', [null, this.proxy]);\n }}\n />\n );\n }\n\n renderWidget(props: WmLottieProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n {this.state.animationData ? \n (Platform.OS == 'web' ? this.renderWebLottie(props) : this.renderNativeLottie(props)) \n : null \n }\n </View>); \n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
5
|
+
export default class WmLottieProps extends BaseProps {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
_defineProperty(this, "speed", 1);
|
|
9
|
+
_defineProperty(this, "autoplay", false);
|
|
10
|
+
_defineProperty(this, "loop", false);
|
|
11
|
+
_defineProperty(this, "source", '');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=lottie.props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseProps","WmLottieProps"],"sources":["lottie.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmLottieProps extends BaseProps {\n speed = 1;\n autoplay = false;\n loop = false;\n source: string = '';\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAA;IAAA;IAAA,+BAC1C,CAAC;IAAA,kCACC,KAAK;IAAA,8BACT,KAAK;IAAA,gCACK,EAAE;EAAA;AACrB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';
|
|
2
|
+
import { defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
3
|
+
export const DEFAULT_CLASS = 'app-lottie';
|
|
4
|
+
BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
5
|
+
const defaultStyles = defineStyles({
|
|
6
|
+
root: {},
|
|
7
|
+
text: {}
|
|
8
|
+
});
|
|
9
|
+
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=lottie.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text"],"sources":["lottie.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport type WmLottieStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-lottie';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = defineStyles<WmLottieStyles>({\n root: {},\n text: {}\n });\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAa,GAAGL,YAAY,CAAiB;IAC/CM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EACFH,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -54,7 +54,7 @@ export default class WmMessage extends BaseComponent {
|
|
|
54
54
|
return /*#__PURE__*/React.createElement(Animatedview, {
|
|
55
55
|
entryanimation: props.animation,
|
|
56
56
|
style: styles.root
|
|
57
|
-
}, /*#__PURE__*/React.createElement(WmIcon, {
|
|
57
|
+
}, this._background, /*#__PURE__*/React.createElement(WmIcon, {
|
|
58
58
|
iconclass: props.type && MESSAGE_ICONS[props.type],
|
|
59
59
|
styles: styles.icon
|
|
60
60
|
}), /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","animation","root","icon","message","title","text","caption","hideclose","closeBtn","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n <WmIcon\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text style={styles.title}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text style={styles.text}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,OAAO,MAAMC,cAAc,SAASN,kBAAkB,CAAiB;AAEvE,MAAMO,aAAa,GAAG;EACpB,SAAS,EAAE,kBAAkB;EAC7B,SAAS,EAAE,uBAAuB;EAClC,OAAO,EAAE,oBAAoB;EAC7B,MAAM,EAAE,YAAY;EACpB,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAAa,GAAG;EACpB,SAAS,EAAE,SAAS;EACpB,SAAS,EAAE,SAAS;EACpB,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAQ;AAER,eAAe,MAAMC,SAAS,SAASV,aAAa,CAAkD;EAEpGW,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,cAAc,EAAE,CAAC;IAAC,+BAmB5C,MAAM;MACZ,IAAI,CAACW,WAAW,CAAC;QAACD,KAAK,EAAE;UACvBE,IAAI,EAAG;QACT;MAAC,CAAC,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;EAtBD;EAEAC,WAAW,GAAG;IACZ,IAAI,CAACH,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAEAG,WAAW,GAAG;IACZ,IAAI,CAACJ,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAQAI,YAAY,CAACN,KAAqB,EAAE;IAClC,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,GAAEV,KAAK,CAACW,IAAK,IAAGX,KAAK,CAACY,OAAQ,UAAS,CAAC,EAAE,IAAI,CAACL,MAAM,CAAC;IAChH,oBAAQ,oBAAC,YAAY;MAAC,cAAc,EAAEP,KAAK,CAACa,SAAU;MAAC,KAAK,EAAEN,MAAM,CAACO;IAAK,
|
|
1
|
+
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","animation","root","_background","icon","message","title","text","caption","hideclose","closeBtn","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n {this._background}\n <WmIcon\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text style={styles.title}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text style={styles.text}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,OAAO,MAAMC,cAAc,SAASN,kBAAkB,CAAiB;AAEvE,MAAMO,aAAa,GAAG;EACpB,SAAS,EAAE,kBAAkB;EAC7B,SAAS,EAAE,uBAAuB;EAClC,OAAO,EAAE,oBAAoB;EAC7B,MAAM,EAAE,YAAY;EACpB,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAAa,GAAG;EACpB,SAAS,EAAE,SAAS;EACpB,SAAS,EAAE,SAAS;EACpB,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAQ;AAER,eAAe,MAAMC,SAAS,SAASV,aAAa,CAAkD;EAEpGW,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,cAAc,EAAE,CAAC;IAAC,+BAmB5C,MAAM;MACZ,IAAI,CAACW,WAAW,CAAC;QAACD,KAAK,EAAE;UACvBE,IAAI,EAAG;QACT;MAAC,CAAC,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;EAtBD;EAEAC,WAAW,GAAG;IACZ,IAAI,CAACH,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAEAG,WAAW,GAAG;IACZ,IAAI,CAACJ,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAQAI,YAAY,CAACN,KAAqB,EAAE;IAClC,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,GAAEV,KAAK,CAACW,IAAK,IAAGX,KAAK,CAACY,OAAQ,UAAS,CAAC,EAAE,IAAI,CAACL,MAAM,CAAC;IAChH,oBAAQ,oBAAC,YAAY;MAAC,cAAc,EAAEP,KAAK,CAACa,SAAU;MAAC,KAAK,EAAEN,MAAM,CAACO;IAAK,GACvE,IAAI,CAACC,WAAW,eACjB,oBAAC,MAAM;MACL,SAAS,EAAEf,KAAK,CAACW,IAAI,IAAIf,aAAa,CAACI,KAAK,CAACW,IAAI,CAAE;MACnD,MAAM,EAAEJ,MAAM,CAACS;IAAK,EAAU,eAChC,oBAAC,IAAI;MAAC,KAAK,EAAET,MAAM,CAACU;IAAQ,gBAC1B,oBAAC,IAAI;MAAC,KAAK,EAAEV,MAAM,CAACW;IAAM,GAAElB,KAAK,CAACkB,KAAK,IAAIrB,aAAa,CAACG,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC,CAAQ,eAClF,oBAAC,IAAI;MAAC,KAAK,EAAEJ,MAAM,CAACY;IAAK,GAAEnB,KAAK,CAACoB,OAAO,CAAQ,CAC3C,EACNpB,KAAK,CAACqB,SAAS,GAAG,IAAI,gBACrB,oBAAC,QAAQ;MACP,SAAS,EAAC,aAAa;MACvB,MAAM,EAAEd,MAAM,CAACe,QAAS;MACxB,KAAK,EAAE,IAAI,CAACC;IAAM,EACrB,CACY;EACjB;AACF"}
|
|
@@ -25,6 +25,8 @@ export class WmPictureState extends BaseComponentState {
|
|
|
25
25
|
export default class WmPicture extends BaseComponent {
|
|
26
26
|
constructor(props) {
|
|
27
27
|
super(props, DEFAULT_CLASS, new WmPictureProps());
|
|
28
|
+
_defineProperty(this, "_pictureSource", null);
|
|
29
|
+
_defineProperty(this, "_picturePlaceHolder", null);
|
|
28
30
|
_defineProperty(this, "onViewLayoutChange", e => {
|
|
29
31
|
let imageWidth = e.nativeEvent.layout.width;
|
|
30
32
|
let imageHeight = e.nativeEvent.layout.height;
|
|
@@ -45,34 +47,41 @@ export default class WmPicture extends BaseComponent {
|
|
|
45
47
|
});
|
|
46
48
|
});
|
|
47
49
|
}
|
|
50
|
+
loadImage(image) {
|
|
51
|
+
if (!image || !this.loadAsset) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
const imageSrc = this.loadAsset(image);
|
|
55
|
+
if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
if (isNumber(imageSrc)) {
|
|
59
|
+
const {
|
|
60
|
+
width,
|
|
61
|
+
height
|
|
62
|
+
} = Image.resolveAssetSource(imageSrc);
|
|
63
|
+
this.updateState({
|
|
64
|
+
naturalImageWidth: width,
|
|
65
|
+
naturalImageHeight: height
|
|
66
|
+
});
|
|
67
|
+
} else if (imageSrc !== null) {
|
|
68
|
+
const cancel = ImageSizeEstimator.getSize(imageSrc, (width, height) => {
|
|
69
|
+
this.updateState({
|
|
70
|
+
naturalImageWidth: width,
|
|
71
|
+
naturalImageHeight: height
|
|
72
|
+
});
|
|
73
|
+
this.cleanup.splice(this.cleanup.indexOf(cancel), 1);
|
|
74
|
+
});
|
|
75
|
+
this.cleanup.push(cancel);
|
|
76
|
+
}
|
|
77
|
+
return imageSrc;
|
|
78
|
+
}
|
|
48
79
|
onPropertyChange(name, $new, $old) {
|
|
49
|
-
let imageSrc;
|
|
50
80
|
switch (name) {
|
|
51
81
|
case 'picturesource':
|
|
82
|
+
this._pictureSource = null;
|
|
52
83
|
case 'pictureplaceholder':
|
|
53
|
-
|
|
54
|
-
if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (isNumber(imageSrc)) {
|
|
58
|
-
const {
|
|
59
|
-
width,
|
|
60
|
-
height
|
|
61
|
-
} = Image.resolveAssetSource(imageSrc);
|
|
62
|
-
this.updateState({
|
|
63
|
-
naturalImageWidth: width,
|
|
64
|
-
naturalImageHeight: height
|
|
65
|
-
});
|
|
66
|
-
} else if (imageSrc !== null) {
|
|
67
|
-
const cancel = ImageSizeEstimator.getSize(imageSrc, (width, height) => {
|
|
68
|
-
this.updateState({
|
|
69
|
-
naturalImageWidth: width,
|
|
70
|
-
naturalImageHeight: height
|
|
71
|
-
});
|
|
72
|
-
this.cleanup.splice(this.cleanup.indexOf(cancel), 1);
|
|
73
|
-
});
|
|
74
|
-
this.cleanup.push(cancel);
|
|
75
|
-
}
|
|
84
|
+
this._picturePlaceHolder = null;
|
|
76
85
|
break;
|
|
77
86
|
}
|
|
78
87
|
}
|
|
@@ -144,7 +153,9 @@ export default class WmPicture extends BaseComponent {
|
|
|
144
153
|
const imageWidth = this.state.imageWidth;
|
|
145
154
|
const imageHeight = this.state.imageHeight;
|
|
146
155
|
const shapeStyles = this.createShape(props.shape, imageWidth);
|
|
147
|
-
|
|
156
|
+
this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);
|
|
157
|
+
this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);
|
|
158
|
+
const imgSrc = this._pictureSource || this._picturePlaceHolder;
|
|
148
159
|
let elementToshow;
|
|
149
160
|
if (imgSrc) {
|
|
150
161
|
elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);
|
|
@@ -154,7 +165,7 @@ export default class WmPicture extends BaseComponent {
|
|
|
154
165
|
width: imageWidth,
|
|
155
166
|
height: imageHeight
|
|
156
167
|
}, this.styles.root, shapeStyles.root, shapeStyles.picture]
|
|
157
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
168
|
+
}, this._background, /*#__PURE__*/React.createElement(View, {
|
|
158
169
|
style: [{
|
|
159
170
|
overflow: 'hidden',
|
|
160
171
|
width: '100%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Image","View","SvgUri","isNumber","isString","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isWebPreviewMode","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","WmPicture","constructor","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","onPropertyChange","name","$new","$old","imageSrc","picturesource","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","isSvg","startsWith","uri","renderSkeleton","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","pictureplaceholder","overflow","onViewLayoutChange","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, LayoutChangeEvent, View } from 'react-native';\nimport { 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 { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\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}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n let imageSrc;\n switch(name) {\n case 'picturesource':\n case 'pictureplaceholder':\n imageSrc = this.state.props.picturesource || $new;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return;\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 this.cleanup.push(cancel);\n }\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 (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 } 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 width={this.styles.root.width} height={this.styles.root.height} uri={imgSrc}/>;\n } else if (isString(imgSrc) && (imgSrc.startsWith('http') || imgSrc.startsWith('file:'))) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = <Image style={[this.styles.picture, shapeStyles.picture]} resizeMode={props.resizemode} source={source}/>;\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,\n height: skeletonHeight\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n const imgSrc: any = props.picturesource || props.pictureplaceholder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Image","View","SvgUri","isNumber","isString","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isWebPreviewMode","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","WmPicture","constructor","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","isSvg","startsWith","uri","renderSkeleton","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","picturesource","pictureplaceholder","_background","overflow","onViewLayoutChange","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, LayoutChangeEvent, View } from 'react-native';\nimport { 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 { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\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}\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 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 (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 this.cleanup.push(cancel);\n }\n return imageSrc;\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 (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 } 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 width={this.styles.root.width} height={this.styles.root.height} uri={imgSrc}/>;\n } else if (isString(imgSrc) && (imgSrc.startsWith('http') || imgSrc.startsWith('file:'))) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = <Image style={[this.styles.picture, shapeStyles.picture]} resizeMode={props.resizemode} source={source}/>;\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,\n height: skeletonHeight\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = 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) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -11,11 +11,12 @@ export default class WmProgressBar extends BaseComponent {
|
|
|
11
11
|
super(props, DEFAULT_CLASS, new WmProgressBarProps());
|
|
12
12
|
}
|
|
13
13
|
renderWidget(props) {
|
|
14
|
-
|
|
14
|
+
let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);
|
|
15
|
+
value = Math.round(isNaN(value) ? 0 : value);
|
|
15
16
|
const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);
|
|
16
17
|
return /*#__PURE__*/React.createElement(View, {
|
|
17
18
|
style: styles.root
|
|
18
|
-
}, /*#__PURE__*/React.createElement(Tappable, {
|
|
19
|
+
}, this._background, /*#__PURE__*/React.createElement(Tappable, {
|
|
19
20
|
target: this,
|
|
20
21
|
styles: {
|
|
21
22
|
root: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","root","width","height","progressValue","color","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n
|
|
1
|
+
{"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","Math","round","isNaN","styles","theme","mergeStyle","getStyle","type","root","_background","width","height","progressValue","color","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n value = Math.round(isNaN(value) ? 0 : value);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAE1E,OAAO,MAAMC,kBAAkB,SAASH,kBAAkB,CAAqB;AAE/E,eAAe,MAAMI,aAAa,SAASL,aAAa,CAA8D;EAEpHM,WAAW,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,EAAE,CAAC;EACvD;EAEAM,YAAY,CAACD,KAAyB,EAAE;IACtC,IAAIE,KAAK,GAAG,CAACF,KAAK,CAACG,SAAS,GAAGH,KAAK,CAACI,QAAQ,KAAKJ,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACI,QAAQ,CAAC;IAClFF,KAAK,GAAGI,IAAI,CAACC,KAAK,CAACC,KAAK,CAACN,KAAK,CAAC,GAAG,CAAC,GAAGA,KAAK,CAAC;IAC5C,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMZ,KAAK,CAACa,IAAK,eAAc,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IACxG,oBACA,oBAAC,IAAI;MAAC,KAAK,EAAEA,MAAM,CAACK;IAAK,GACtB,IAAI,CAACC,WAAW,eACjB,oBAAC,QAAQ;MAAC,MAAM,EAAE,IAAK;MAAC,MAAM,EAAE;QAACD,IAAI,EAAC;UAACE,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAM;MAAC;IAAE,gBACrE,oBAAC,WAAW;MACV,QAAQ,EAAEf,KAAM;MAChB,KAAK,EAAEO,MAAM,CAACS,aAAa,CAACC,KAAM;MAClC,KAAK,EAAE,CAACV,MAAM,CAACW,WAAW,EAAE;QAACH,MAAM,EAAER,MAAM,CAACK,IAAI,CAACG,MAAM,IAAIR,MAAM,CAACW,WAAW,CAACH;MAAM,CAAC;IAAE,EAAe,CAC/F,CACN;EACT;AAEF"}
|
|
@@ -44,7 +44,7 @@ export default class WmProgressCircle extends BaseComponent {
|
|
|
44
44
|
return /*#__PURE__*/React.createElement(View, {
|
|
45
45
|
style: styles.root,
|
|
46
46
|
onLayout: this.onLayout.bind(this)
|
|
47
|
-
}, /*#__PURE__*/React.createElement(Tappable, {
|
|
47
|
+
}, this._background, /*#__PURE__*/React.createElement(Tappable, {
|
|
48
48
|
target: this,
|
|
49
49
|
styles: {
|
|
50
50
|
root: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","WmProgressCircle","constructor","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","root","bind","progressValue","backgroundColor","buttStyle","progressCircle","fill","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)}>\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC5D,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,aAAa,QAAgC,0BAA0B;AAGhF,OAAO,MAAMC,qBAAqB,SAASH,kBAAkB,CAAwB;EAAA;IAAA;IAAA,gCAC1E,EAAE;EAAA;AACb;AAEA,eAAe,MAAMI,gBAAgB,SAASL,aAAa,CAAuE;EAEhIM,WAAW,CAACC,KAA4B,EAAE;IACxC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,qBAAqB,EAAE,EAAE,IAAIE,qBAAqB,EAAE,CAAC;EACvF;EAEAI,QAAQ,CAACC,CAAoB,EAAE;IAC7B,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACF,KAAK;IACxC,MAAMG,MAAM,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACC,MAAM;IAC1C,IAAIC,MAAM,GAAG,IAAI,CAACC,KAAK,CAACD,MAAM;IAC9B,IAAI,CAACJ,KAAK,EAAE;MACVI,MAAM,GAAGD,MAAM;IACjB,CAAC,MAAM,IAAI,CAACA,MAAM,EAAE;MAClBC,MAAM,GAAGJ,KAAK;IAChB,CAAC,MAAM;MACLI,MAAM,GAAGE,IAAI,CAACC,GAAG,CAACP,KAAK,EAAEG,MAAM,CAAC;IAClC;IACA,IAAI,CAACK,WAAW,CAAC;MACfJ,MAAM,EAAEA;IACV,CAAC,CAA0B;EAC7B;EAEAK,YAAY,CAACZ,KAA4B,EAAE;IACzC,IAAIa,KAAK,GAAG,CAAC;IACb,IAAIvB,QAAQ,CAACU,KAAK,CAACc,SAAS,CAAC,IAAIxB,QAAQ,CAACU,KAAK,CAACe,QAAQ,CAAC,IAAIzB,QAAQ,CAACU,KAAK,CAACgB,QAAQ,CAAC,EAAE;MACrFH,KAAK,GAAG,CAAC,CAACb,KAAK,CAACc,SAAS,GAAI,CAACd,KAAK,CAACe,QAAS,KAAK,CAACf,KAAK,CAACgB,QAAQ,GAAI,CAAChB,KAAK,CAACe,QAAS,CAAC,GAAG,GAAG;IAC9F;IACA,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMpB,KAAK,CAACqB,IAAK,kBAAiB,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IAC3G,MAAMK,QAAQ,GAAGtB,KAAK,CAACuB,gBAAgB,KAAK,QAAQ;IACpD,oBACA,oBAAC,IAAI;MAAC,KAAK,EAAEN,MAAM,CAACO,IAAK;MAAC,QAAQ,EAAE,IAAI,CAACvB,QAAQ,CAACwB,IAAI,CAAC,IAAI;IAAE,
|
|
1
|
+
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","WmProgressCircle","constructor","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","root","bind","_background","progressValue","backgroundColor","buttStyle","progressCircle","fill","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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"}
|