@wavemaker/app-rn-runtime 11.5.0-next.24739 → 11.5.0-next.24741

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.
@@ -37,12 +37,12 @@ export default class WmAnchor extends BaseComponent {
37
37
  if (this.styles.icon && this.styles.icon.text) {
38
38
  this.styles.icon.text.color = this.styles.text.color;
39
39
  }
40
- const icon = /*#__PURE__*/React.createElement(WmIcon, {
40
+ const icon = props.iconclass ? /*#__PURE__*/React.createElement(WmIcon, {
41
41
  id: this.getTestId('icon'),
42
42
  styles: this.styles.icon,
43
43
  name: props.name + '_icon',
44
44
  iconclass: props.iconclass
45
- });
45
+ }) : null;
46
46
  //@ts-ignore
47
47
  const badge = props.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, {
48
48
  style: this.styles.badge
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","icon","text","color","createElement","id","getTestId","name","iconclass","badge","badgevalue","undefined","style","entryanimation","animation","justifyContent","_extends","getTestPropsForAction","flexDirection","iconposition","_background","caption","getTestPropsForLabel"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TapEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: TapEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n const icon = (<WmIcon\n id={this.getTestId('icon')}\n styles={this.styles.icon} name={props.name + '_icon'} iconclass={props.iconclass}></WmIcon>);\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: TapEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text {...this.getTestPropsForLabel('caption')} style={this.styles.text}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","icon","text","color","iconclass","createElement","id","getTestId","name","badge","badgevalue","undefined","style","entryanimation","animation","justifyContent","_extends","getTestPropsForAction","flexDirection","iconposition","_background","caption","getTestPropsForLabel"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TapEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: TapEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n const icon = props.iconclass ? (<WmIcon\n id={this.getTestId('icon')}\n styles={this.styles.icon} name={props.name + '_icon'} iconclass={props.iconclass}></WmIcon>) : null;\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: TapEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text {...this.getTestPropsForLabel('caption')} style={this.styles.text}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -140,7 +140,7 @@ export default class WmIcon extends BaseComponent {
140
140
  WMCustomIcon = StreamlineLightIcon;
141
141
  } else if (iconDef.isStreamlineRegularIcon) {
142
142
  WMCustomIcon = StreamlineRegularIcon;
143
- } else if (!iconDef.isWavIcon && !((_this$styles$icon = this.styles.icon) !== null && _this$styles$icon !== void 0 && _this$styles$icon.fontFamily)) {
143
+ } else if (!iconDef.isWavIcon && !customIcon && !((_this$styles$icon = this.styles.icon) !== null && _this$styles$icon !== void 0 && _this$styles$icon.fontFamily)) {
144
144
  return null;
145
145
  }
146
146
  //@ts-ignore type information is not matching
@@ -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","constructor","arguments","_defineProperty","WmIcon","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","_splits$find","type","startsWith","substring","_splits$find2","_splits$find3","_splits$find4","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","_this$theme$getStyle","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","createElement","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","renderIcon","state","color","text","transform","iconSize","fontSize","show","_this$styles$icon","WMCustomIcon","interpolate","inputRange","outputRange","View","opacity","renderWidget","_extends","target","getTestPropsForAction","entryanimation","_background","iconposition","caption","getTestPropsForLabel"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, 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) as DimensionValue,\n height: (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\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 } else if (!iconDef.isWavIcon && !this.styles.icon?.fontFamily) {\n return null;\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} {...this.getTestPropsForAction()}>\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')}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","constructor","arguments","_defineProperty","WmIcon","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","_splits$find","type","startsWith","substring","_splits$find2","_splits$find3","_splits$find4","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","_this$theme$getStyle","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","createElement","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","renderIcon","state","color","text","transform","iconSize","fontSize","show","_this$styles$icon","WMCustomIcon","interpolate","inputRange","outputRange","View","opacity","renderWidget","_extends","target","getTestPropsForAction","entryanimation","_background","iconposition","caption","getTestPropsForLabel"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, 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) as DimensionValue,\n height: (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\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 } else if (!iconDef.isWavIcon && !customIcon && !this.styles.icon?.fontFamily) {\n return null;\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} {...this.getTestPropsForAction()}>\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')}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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"}
@@ -49,6 +49,10 @@ export default class WmLabel extends BaseComponent {
49
49
  });
50
50
  }
51
51
  parseCaption(caption) {
52
+ if (!caption) {
53
+ return [];
54
+ }
55
+ caption += '';
52
56
  const pattern = /\[([^\]]+)\]\((http.*?[^)])\)/g;
53
57
  const linkRegex = /^(http|https):\/\/[^ "]+$/;
54
58
  const captionSplit = caption.split(pattern);
@@ -103,6 +107,7 @@ export default class WmLabel extends BaseComponent {
103
107
  }, (_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.map((part, index) => /*#__PURE__*/React.createElement(React.Fragment, {
104
108
  key: `part_${index}`
105
109
  }, part.link ? /*#__PURE__*/React.createElement(WmAnchor, {
110
+ styles: this.styles.link,
106
111
  caption: part.text,
107
112
  hyperlink: part.link
108
113
  }) : /*#__PURE__*/React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmAnchor","WmLabelState","constructor","arguments","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","text","link","push","renderSkeleton","_this$styles$root","_this$styles$root2","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","fontSize","multilineskeleton","renderWidget","_this$state$parts","entryanimation","animation","_background","target","flex","flexWrap","state","map","index","Fragment","key","hyperlink","color","isValid","numberOfLines","wrap","undefined","selectable","userSelect","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, 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';\nimport WmAnchor from '../anchor/anchor.component';\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch(name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption($new)\n } as WmLabelState);\n break;\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 parseCaption(caption: string) {\n const pattern = /\\[([^\\]]+)\\]\\((http.*?[^)])\\)/g;\n const linkRegex = /^(http|https):\\/\\/[^ \"]+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n \n const isNextTextALink = linkRegex.test(captionSplit[i + 1]) || false;\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\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 as DimensionValue\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 as DimensionValue,\n height: skeletonHeight as DimensionValue\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 style={{flex: 1, flexWrap: \"wrap\"}}>\n {this.state.parts?.map((part, index) => (\n <React.Fragment key={`part_${index}`}>\n {part.link ? (\n <WmAnchor caption={part.text} hyperlink={part.link} />\n ) : (\n <Text\n style={[\n this.styles.text,\n {\n color:\n props.isValid === false\n ? 'red'\n : this.styles.text.color,\n },\n ]}\n numberOfLines={props.wrap ? undefined : 1}\n selectable={this.styles.text.userSelect === 'text'}\n >\n {toString(part.text)}\n {props.required && this.getAsterisk()}\n </Text>\n )}\n </React.Fragment>\n ))}\n </Text>\n </Tappable>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmAnchor","WmLabelState","constructor","arguments","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","text","link","push","renderSkeleton","_this$styles$root","_this$styles$root2","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","fontSize","multilineskeleton","renderWidget","_this$state$parts","entryanimation","animation","_background","target","flex","flexWrap","state","map","index","Fragment","key","hyperlink","color","isValid","numberOfLines","wrap","undefined","selectable","userSelect","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, 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';\nimport WmAnchor from '../anchor/anchor.component';\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch(name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption($new)\n } as WmLabelState);\n break;\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 parseCaption(caption: string) {\n if (!caption) {\n return [];\n }\n caption += '';\n const pattern = /\\[([^\\]]+)\\]\\((http.*?[^)])\\)/g;\n const linkRegex = /^(http|https):\\/\\/[^ \"]+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n \n const isNextTextALink = linkRegex.test(captionSplit[i + 1]) || false;\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\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 as DimensionValue\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 as DimensionValue,\n height: skeletonHeight as DimensionValue\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 style={{flex: 1, flexWrap: \"wrap\"}}>\n {this.state.parts?.map((part, index) => (\n <React.Fragment key={`part_${index}`}>\n {part.link ? (\n <WmAnchor styles={this.styles.link} caption={part.text} hyperlink={part.link} />\n ) : (\n <Text\n style={[\n this.styles.text,\n {\n color:\n props.isValid === false\n ? 'red'\n : this.styles.text.color,\n },\n ]}\n numberOfLines={props.wrap ? undefined : 1}\n selectable={this.styles.text.userSelect === 'text'}\n >\n {toString(part.text)}\n {props.required && this.getAsterisk()}\n </Text>\n )}\n </React.Fragment>\n ))}\n </Text>\n </Tappable>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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"}
@@ -19,7 +19,8 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
19
19
  height: 16,
20
20
  borderRadius: 4
21
21
  }
22
- }
22
+ },
23
+ link: {}
23
24
  });
24
25
  addStyle(DEFAULT_CLASS, '', defaultStyles);
25
26
  addStyle(DEFAULT_CLASS + '-rtl', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","deepCopy","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","fontSize","color","labelDefaultColor","asterisk","labelAsteriskColor","marginLeft","skeleton","width","height","borderRadius","flexDirection","textAlign","getLabelStyles","textColor","backgroundColor","paddingLeft","paddingTop","paddingRight","paddingBottom","fontWeight","labelDangerColor","labelDangerContrastColor","labelDefaultContrastColor","labelInfoColor","labelInfoContrastColor","labelPrimaryColor","labelPrimaryContrastColor","labelSuccessColor","labelSuccessContrastColor","labelWarningColor","labelWarningContrastColor","getTextStyles","labelTextDangerColor","labelTextInfoColor","labelTextPrimaryColor","labelTextSuccessColor","labelTextWarningColor","getHeadingStyles","overrides","margin","labelHeaderColor","heading1FontSize","heading2FontSize","heading3FontSize","heading4FontSize","heading5FontSize","heading6FontSize","labelTextMutedColor"],"sources":["label.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport type WmLabelStyles = BaseStyles & {\n asterisk: AllStyle,\n skeleton: WmSkeletonStyles \n};\n\nexport const DEFAULT_CLASS = 'app-label';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmLabelStyles = defineStyles({\n root: {\n },\n text: {\n fontSize: 16,\n color: themeVariables.labelDefaultColor\n },\n asterisk: {\n color: themeVariables.labelAsteriskColor,\n marginLeft: 2\n },\n skeleton: {\n root:{\n width: '100%',\n height: 16,\n borderRadius: 4\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', {\n root : {\n flexDirection: 'row',\n textAlign: 'right'\n }\n });\n const getLabelStyles = (color: string, textColor: string): WmLabelStyles => {\n return {\n root: {\n backgroundColor: color,\n paddingLeft: 32,\n paddingTop: 16,\n paddingRight: 32,\n paddingBottom: 16,\n borderRadius: 6\n },\n text: {\n color: textColor,\n fontWeight: 'bold'\n }\n } as WmLabelStyles;\n };\n\n addStyle('label-danger', '', getLabelStyles(themeVariables.labelDangerColor, themeVariables.labelDangerContrastColor));\n addStyle('label-default', '', getLabelStyles(themeVariables.labelDefaultColor, themeVariables.labelDefaultContrastColor));\n addStyle('label-info', '', getLabelStyles(themeVariables.labelInfoColor, themeVariables.labelInfoContrastColor));\n addStyle('label-primary', '', getLabelStyles(themeVariables.labelPrimaryColor, themeVariables.labelPrimaryContrastColor));\n addStyle('label-success', '', getLabelStyles(themeVariables.labelSuccessColor, themeVariables.labelSuccessContrastColor));\n addStyle('label-warning', '', getLabelStyles(themeVariables.labelWarningColor, themeVariables.labelWarningContrastColor));\n addStyle('label-test', '', getLabelStyles('yellow', 'red'));\n addStyle('label-test1', '', getLabelStyles('blue', 'orange'));\n\n const getTextStyles = (color: string) => {\n return {\n text: {\n color: color\n }\n } as WmLabelStyles;\n };\n\n addStyle('text-danger', '', getTextStyles(themeVariables.labelTextDangerColor));\n addStyle('text-info', '', getTextStyles(themeVariables.labelTextInfoColor));\n addStyle('text-primary', '', getTextStyles(themeVariables.labelTextPrimaryColor));\n addStyle('text-success', '', getTextStyles(themeVariables.labelTextSuccessColor));\n addStyle('text-warning', '', getTextStyles(themeVariables.labelTextWarningColor));\n addStyle('text-center', '', {\n root: {\n textAlign: 'center'\n }\n } as WmLabelStyles);\n addStyle('text-left', '', {\n root: {\n textAlign: 'left'\n }\n } as WmLabelStyles);\n addStyle('text-right', '', {\n root: {\n textAlign: 'right'\n }\n } as WmLabelStyles);\n\n\n const getHeadingStyles = (fontSize: number, overrides?: WmLabelStyles) => {\n return deepCopy({\n text: {\n fontWeight: '400',\n fontSize: fontSize,\n margin: 4,\n color: themeVariables.labelHeaderColor\n }\n } as WmLabelStyles, overrides);\n };\n addStyle('h1', '', getHeadingStyles(themeVariables.heading1FontSize, {text: {fontWeight: 'bold'}} as WmLabelStyles));\n addStyle('h2', '', getHeadingStyles(themeVariables.heading2FontSize, {text: {fontWeight: '500'}} as WmLabelStyles));\n addStyle('h3', '', getHeadingStyles(themeVariables.heading3FontSize));\n addStyle('h4', '', getHeadingStyles(themeVariables.heading4FontSize));\n addStyle('h5', '', getHeadingStyles(themeVariables.heading5FontSize));\n addStyle('h6', '', getHeadingStyles(themeVariables.heading6FontSize));\n addStyle('media-heading', '', {\n text : {\n fontSize: 16\n }\n } as WmLabelStyles);\n addStyle('text-muted', '', {\n text : {\n color: themeVariables.labelTextMutedColor\n }\n } as WmLabelStyles);\n addStyle('p', '', {\n text : {\n fontSize: 12\n }\n } as WmLabelStyles);\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["BASE_THEME","deepCopy","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","fontSize","color","labelDefaultColor","asterisk","labelAsteriskColor","marginLeft","skeleton","width","height","borderRadius","link","flexDirection","textAlign","getLabelStyles","textColor","backgroundColor","paddingLeft","paddingTop","paddingRight","paddingBottom","fontWeight","labelDangerColor","labelDangerContrastColor","labelDefaultContrastColor","labelInfoColor","labelInfoContrastColor","labelPrimaryColor","labelPrimaryContrastColor","labelSuccessColor","labelSuccessContrastColor","labelWarningColor","labelWarningContrastColor","getTextStyles","labelTextDangerColor","labelTextInfoColor","labelTextPrimaryColor","labelTextSuccessColor","labelTextWarningColor","getHeadingStyles","overrides","margin","labelHeaderColor","heading1FontSize","heading2FontSize","heading3FontSize","heading4FontSize","heading5FontSize","heading6FontSize","labelTextMutedColor"],"sources":["label.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\nimport { WmAnchorStyles } from '../anchor/anchor.styles';\n\nexport type WmLabelStyles = BaseStyles & {\n asterisk: AllStyle,\n skeleton: WmSkeletonStyles \n link: WmAnchorStyles\n};\n\nexport const DEFAULT_CLASS = 'app-label';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmLabelStyles = defineStyles({\n root: {\n },\n text: {\n fontSize: 16,\n color: themeVariables.labelDefaultColor\n },\n asterisk: {\n color: themeVariables.labelAsteriskColor,\n marginLeft: 2\n },\n skeleton: {\n root:{\n width: '100%',\n height: 16,\n borderRadius: 4\n }\n } as any as WmSkeletonStyles,\n link: {} as WmAnchorStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', {\n root : {\n flexDirection: 'row',\n textAlign: 'right'\n }\n });\n const getLabelStyles = (color: string, textColor: string): WmLabelStyles => {\n return {\n root: {\n backgroundColor: color,\n paddingLeft: 32,\n paddingTop: 16,\n paddingRight: 32,\n paddingBottom: 16,\n borderRadius: 6\n },\n text: {\n color: textColor,\n fontWeight: 'bold'\n }\n } as WmLabelStyles;\n };\n\n addStyle('label-danger', '', getLabelStyles(themeVariables.labelDangerColor, themeVariables.labelDangerContrastColor));\n addStyle('label-default', '', getLabelStyles(themeVariables.labelDefaultColor, themeVariables.labelDefaultContrastColor));\n addStyle('label-info', '', getLabelStyles(themeVariables.labelInfoColor, themeVariables.labelInfoContrastColor));\n addStyle('label-primary', '', getLabelStyles(themeVariables.labelPrimaryColor, themeVariables.labelPrimaryContrastColor));\n addStyle('label-success', '', getLabelStyles(themeVariables.labelSuccessColor, themeVariables.labelSuccessContrastColor));\n addStyle('label-warning', '', getLabelStyles(themeVariables.labelWarningColor, themeVariables.labelWarningContrastColor));\n addStyle('label-test', '', getLabelStyles('yellow', 'red'));\n addStyle('label-test1', '', getLabelStyles('blue', 'orange'));\n\n const getTextStyles = (color: string) => {\n return {\n text: {\n color: color\n }\n } as WmLabelStyles;\n };\n\n addStyle('text-danger', '', getTextStyles(themeVariables.labelTextDangerColor));\n addStyle('text-info', '', getTextStyles(themeVariables.labelTextInfoColor));\n addStyle('text-primary', '', getTextStyles(themeVariables.labelTextPrimaryColor));\n addStyle('text-success', '', getTextStyles(themeVariables.labelTextSuccessColor));\n addStyle('text-warning', '', getTextStyles(themeVariables.labelTextWarningColor));\n addStyle('text-center', '', {\n root: {\n textAlign: 'center'\n }\n } as WmLabelStyles);\n addStyle('text-left', '', {\n root: {\n textAlign: 'left'\n }\n } as WmLabelStyles);\n addStyle('text-right', '', {\n root: {\n textAlign: 'right'\n }\n } as WmLabelStyles);\n\n\n const getHeadingStyles = (fontSize: number, overrides?: WmLabelStyles) => {\n return deepCopy({\n text: {\n fontWeight: '400',\n fontSize: fontSize,\n margin: 4,\n color: themeVariables.labelHeaderColor\n }\n } as WmLabelStyles, overrides);\n };\n addStyle('h1', '', getHeadingStyles(themeVariables.heading1FontSize, {text: {fontWeight: 'bold'}} as WmLabelStyles));\n addStyle('h2', '', getHeadingStyles(themeVariables.heading2FontSize, {text: {fontWeight: '500'}} as WmLabelStyles));\n addStyle('h3', '', getHeadingStyles(themeVariables.heading3FontSize));\n addStyle('h4', '', getHeadingStyles(themeVariables.heading4FontSize));\n addStyle('h5', '', getHeadingStyles(themeVariables.heading5FontSize));\n addStyle('h6', '', getHeadingStyles(themeVariables.heading6FontSize));\n addStyle('media-heading', '', {\n text : {\n fontSize: 16\n }\n } as WmLabelStyles);\n addStyle('text-muted', '', {\n text : {\n color: themeVariables.labelTextMutedColor\n }\n } as WmLabelStyles);\n addStyle('p', '', {\n text : {\n fontSize: 12\n }\n } as WmLabelStyles);\n});\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { parseInt } from 'lodash';
2
2
  import moment from 'moment';
3
3
  import { CURRENCY_INFO } from './constants/currency-constants';
4
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
4
5
  export class DateToStringFormatter {
5
6
  format(input, format) {
6
7
  if (!input) {
@@ -10,7 +11,7 @@ export class DateToStringFormatter {
10
11
  return input.getTime() + '';
11
12
  }
12
13
  format = format.replace(/d/g, 'D');
13
- const _moment = moment(input, true);
14
+ const _moment = moment(input, ["MM/DD/YYYY", "MM-DD-YYYY", "MM.DD.YYYY", "YYYY/MM/DD", "YYYY-MM-DD", "YYYY.MM.DD", "MM/DD/YY", "MM-DD-YY", "MM.DD.YY", "DD MMM YYYY"], true);
14
15
  return _moment.isValid() ? _moment.format(format) : input.toString();
15
16
  }
16
17
  }
@@ -26,7 +27,13 @@ export class AppendFormatter {
26
27
  }
27
28
  export class NumberToStringFormatter {
28
29
  format(input, fractionSize) {
29
- return isNaN(input) ? '' : input.toFixed(fractionSize).toLocaleLowerCase();
30
+ const i18nService = injector.I18nService.get();
31
+ const selectedLocale = i18nService.getSelectedLocale();
32
+ let formatCurrency = new Intl.NumberFormat(selectedLocale, {
33
+ minimumFractionDigits: fractionSize,
34
+ maximumFractionDigits: fractionSize
35
+ });
36
+ return isNaN(input) ? '' : formatCurrency.format(input);
30
37
  }
31
38
  }
32
39
  export class CurrencyFormatter {
@@ -1 +1 @@
1
- {"version":3,"names":["parseInt","moment","CURRENCY_INFO","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","isNaN","toFixed","toLocaleLowerCase","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n\n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n return isNaN(input) ? '': input.toFixed(fractionSize).toLocaleLowerCase();\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nexport default new Map<string, Formatter>([\n ['numberToString', new NumberToStringFormatter()],\n ['prefix', new PrependFormatter()],\n ['suffix', new AppendFormatter()],\n ['stringToNumber', new StringToNumberFormatter()],\n ['timeFromNow', new TimeFromNowFormatter()],\n ['toDate', new DateToStringFormatter()],\n ['toCurrency', new CurrencyFormatter()]\n]);\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAASC,aAAa,QAAkB,gCAAgC;AAOxE,OAAO,MAAMC,qBAAqB,CAA0B;EAEjDC,MAAMA,CAACC,KAAW,EAAED,MAAc,EAAU;IAC/C,IAAI,CAACC,KAAK,EAAE;MACR,OAAO,EAAE;IACb;IACA,IAAID,MAAM,KAAK,WAAW,EAAE;MACxB,OAAOC,KAAK,CAACC,OAAO,CAAC,CAAC,GAAG,EAAE;IAC/B;IACAF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;IAClC,MAAMC,OAAO,GAAGP,MAAM,CAACI,KAAK,EAAE,IAAI,CAAC;IACnC,OAAOG,OAAO,CAACC,OAAO,CAAC,CAAC,GAAGD,OAAO,CAACJ,MAAM,CAACA,MAAM,CAAC,GAAGC,KAAK,CAACK,QAAQ,CAAC,CAAC;EACxE;AACJ;AAEA,OAAO,MAAMC,gBAAgB,CAAsB;EAExCP,MAAMA,CAACC,KAAU,EAAEO,MAAc,EAAU;IAC9C,OAAO,CAACA,MAAM,IAAI,EAAE,KAAKP,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIQ,SAAS,GAAGR,KAAK,GAAG,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMS,eAAe,CAAsB;EAEvCV,MAAMA,CAACC,KAAU,EAAEU,MAAc,EAAU;IAC9C,OAAO,CAACV,KAAK,KAAK,IAAI,IAAIA,KAAK,IAAIQ,SAAS,GAAGR,KAAK,GAAG,EAAE,KAAKU,MAAM,IAAI,EAAE,CAAC;EAC/E;AACJ;AAEA,OAAO,MAAMC,uBAAuB,CAAsB;EAE/CZ,MAAMA,CAACC,KAAa,EAAEY,YAAoB,EAAU;IACvD,OAAOC,KAAK,CAACb,KAAK,CAAC,GAAG,EAAE,GAAEA,KAAK,CAACc,OAAO,CAACF,YAAY,CAAC,CAACG,iBAAiB,CAAC,CAAC;EAC7E;AACJ;AAEA,OAAO,MAAMC,iBAAiB,CAAsB;EAEzCjB,MAAMA,CAACkB,IAAY,EAAEC,cAAsB,EAAEC,QAAgB,EAAE;IAClE,MAAMC,eAAe,GAAG,CAAIvB,aAAa,CAASqB,cAAc,CAAC,IAAK,CAAC,CAAC,EAAgBG,MAAM,IAAIH,cAAc,IAAI,EAAE;IACtH,IAAII,IAAI,GAAG,IAAIX,uBAAuB,CAAC,CAAC,CAACZ,MAAM,CAACkB,IAAI,EAAEE,QAAQ,CAAC;IAC/D,MAAMI,gBAAgB,GAAGD,IAAI,CAACE,UAAU,CAAC,GAAG,CAAC;IAC7C,IAAID,gBAAgB,EAAE;MAClBD,IAAI,GAAGA,IAAI,CAACpB,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC;IAC/B;IACA,OAAOoB,IAAI,GAAGC,gBAAgB,GAAG,GAAG,GAAEH,eAAe,GAAEE,IAAI,GAAEF,eAAe,GAAGE,IAAI,GAAG,EAAE;EAC5F;AACJ;AAEA,OAAO,MAAMG,oBAAoB,CAAsB;EAC5C1B,MAAMA,CAAC2B,SAAe,EAAE;IAC3B,OAAOA,SAAS,GAAG9B,MAAM,CAAC8B,SAAS,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGnB,SAAS;EAC9D;AACJ;AAEA,OAAO,MAAMoB,uBAAuB,CAAsB;EAC/C7B,MAAMA,CAACC,KAAa,EAAE;IACzB,OAAOL,QAAQ,CAACK,KAAK,CAAC;EAC1B;AACJ;AAEA,eAAe,IAAI6B,GAAG,CAAoB,CACtC,CAAC,gBAAgB,EAAE,IAAIlB,uBAAuB,CAAC,CAAC,CAAC,EACjD,CAAC,QAAQ,EAAE,IAAIL,gBAAgB,CAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAE,IAAIG,eAAe,CAAC,CAAC,CAAC,EACjC,CAAC,gBAAgB,EAAE,IAAImB,uBAAuB,CAAC,CAAC,CAAC,EACjD,CAAC,aAAa,EAAE,IAAIH,oBAAoB,CAAC,CAAC,CAAC,EAC3C,CAAC,QAAQ,EAAE,IAAI3B,qBAAqB,CAAC,CAAC,CAAC,EACvC,CAAC,YAAY,EAAE,IAAIkB,iBAAiB,CAAC,CAAC,CAAC,CAC1C,CAAC"}
1
+ {"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","getTime","replace","_moment","isValid","toString","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","get","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n\n public format(input: Date, format: string): string {\n if (!input) {\n return '';\n }\n if (format === 'timestamp') {\n return input.getTime() + '';\n }\n format = format.replace(/d/g, 'D');\n const _moment = moment(input, [\n \"MM/DD/YYYY\", \"MM-DD-YYYY\", \"MM.DD.YYYY\",\n \"YYYY/MM/DD\", \"YYYY-MM-DD\", \"YYYY.MM.DD\",\n \"MM/DD/YY\", \"MM-DD-YY\", \"MM.DD.YY\", \"DD MMM YYYY\",\n ], true);\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nexport default new Map<string, Formatter>([\n ['numberToString', new NumberToStringFormatter()],\n ['prefix', new PrependFormatter()],\n ['suffix', new AppendFormatter()],\n ['stringToNumber', new StringToNumberFormatter()],\n ['timeFromNow', new TimeFromNowFormatter()],\n ['toDate', new DateToStringFormatter()],\n ['toCurrency', new CurrencyFormatter()]\n]);\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.5.0-next.24739",
3
+ "version": "11.5.0-next.24741",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.5.0-next.24739",
52
+ "@wavemaker/variables": "11.5.0-next.24741",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -128,7 +128,7 @@
128
128
  "typescript": "^5.1.3",
129
129
  "victory-native": "36.6.11",
130
130
  "yargs": "^16.2.0",
131
- "@wavemaker/variables": "11.5.0-next.24739"
131
+ "@wavemaker/variables": "11.5.0-next.24741"
132
132
  },
133
133
  "jest": {
134
134
  "preset": "react-native",
@@ -12,6 +12,7 @@ import { NativeModulesProxy } from 'expo-modules-core';
12
12
  import * as WebBrowser from 'expo-web-browser';
13
13
  import { get, last } from 'lodash';
14
14
  import { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';
15
+ import EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';
15
16
  import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
16
17
  import StorageService from '@wavemaker/app-rn-runtime/core/storage.service';
17
18
  import injector from '@wavemaker/app-rn-runtime/core/injector';
@@ -86,6 +87,7 @@ export default class BaseApp extends React.Component {
86
87
  _defineProperty(this, "onAppVariablesReady", () => {});
87
88
  _defineProperty(this, "isStarted", false);
88
89
  _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
90
+ _defineProperty(this, "eventNotifier", new EventNotifier());
89
91
  _defineProperty(this, "baseUrl", '');
90
92
  _defineProperty(this, "targetPlatform", 'NATIVE_MOBILE');
91
93
  _defineProperty(this, "cleanup", []);
@@ -141,6 +143,18 @@ export default class BaseApp extends React.Component {
141
143
  }
142
144
  };
143
145
  }
146
+ subscribe(event, fn) {
147
+ return this.eventNotifier.subscribe(event, fn);
148
+ }
149
+ notify(event) {
150
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
151
+ args[_key - 1] = arguments[_key];
152
+ }
153
+ return this.eventNotifier.notify(event, args);
154
+ }
155
+ get activePage() {
156
+ return this.appConfig.currentPage;
157
+ }
144
158
  goToPage(pageName, params) {
145
159
  var _this$appConfig$curre2;
146
160
  return (_this$appConfig$curre2 = this.appConfig.currentPage) === null || _this$appConfig$curre2 === void 0 ? void 0 : _this$appConfig$curre2.goToPage(pageName, params);
@@ -1 +1 @@
1
- {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","fn","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport NetworkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule \n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>\n this.getProviders((\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n )\n ))}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <FixedViewContainer>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","BaseApp","Component","props","_this","this","ROOT","refresh","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","arguments","length","undefined","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","subscribe","event","fn","eventNotifier","notify","_len","args","Array","_key","activePage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","error","invokeNativeApi","key","EmbedCommModule","OS","sendToNative","Promise","reject","onPageReady","activePageName","activePageScope","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","axiosInterceptorIds","interceptors","request","use","headers","console","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","errorDetails","errMsg","errors","message","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","e","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","show","then","onAppVariablesReady","isStarted","startUpActions","a","Actions","componentWillUnmount","id","eject","cleanup","forEach","getProviders","createElement","value","renderToasters","toastsOpened","render","watch","refreshCount","Fragment","o","i","position","width","bottom","elevation","elevationIndex","zIndex","styles","onPress","onClick","text","name","type","caption","hideclose","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","ref","animatedRef","appModalContent","contentStyle","evt","stopPropagation","renderDisplayManager","displayOptions","theme","displayViewContainer","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","getDependency","serviceName","service","renderApp","_this2","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","colors","primary","INSTANCE","primaryColor","Consumer","_this2$props","_this2$appConfig$draw","_this2$appConfig$draw2","insets","top","left","right","flex","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","alignItems","flexDirection","justifyContent","backgroundColor","height"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker/app-rn-runtime/core/storage.service';\nimport NetworkService from '@wavemaker/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport {getValidJSON, parseErrors} from '@wavemaker/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any})\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n StorageService: StorageService,\n AppDisplayManagerService: AppDisplayManagerService\n};\n\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n onAppVariablesReady = () => {};\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n \n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule \n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() {}\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n return this.onBeforeServiceCall(config);\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n this.onServiceSuccess(response.data, response);\n return response;\n },(error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n this.onServiceError(error.message, error);\n if (error.response?.config.url?.startsWith(this.appConfig.url) && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => {});\n }\n\n componentDidMount() {\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.triggerStartUpVariables()\n .then(() => {\n this.onAppVariablesReady();\n this.isStarted = true;\n this.forceUpdate();\n }, () => {}).then(() => {\n SplashScreen.hideAsync().then(() => {});\n });\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n { content }\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n );\n }\n\n renderToasters() {\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) =>\n this.getProviders((\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\"+ i} type={o.type} caption={o.text} hideclose={true}></WmMessage>}\n </TouchableOpacity>\n </View>\n )\n ))}\n </>);\n }}/>;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return(\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal: null,\n o.modalStyle,\n { elevation: o.elevationIndex,\n zIndex: o.elevationIndex })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{width: '100%', 'alignItems': 'center'}}>\n {this.getProviders(o.content)}\n </View>\n </Animatedview>\n </View>\n )}\n )\n }\n </>);\n }}/>;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }}/>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderApp(commonPartial:React.ReactNode) {\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n return (\n <SafeAreaProvider>\n <PaperProvider theme={{\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }}}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0}) =>\n (this.getProviders(\n (<SafeAreaView style={{flex: 1}}>\n <StatusBar />\n <FixedViewContainer>\n <View style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n {commonPartial}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n </View>\n <WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>\n </FixedViewContainer>\n </SafeAreaView>))\n )\n }\n </SafeAreaInsetsContext.Consumer>\n </React.Fragment>\n </PaperProvider>\n </SafeAreaProvider>\n );\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent : {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom:0\n } as ViewStyle\n};\n"],"mappings":"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"}