@wavemaker/app-rn-runtime 11.8.4-rc.5779 → 11.8.5-1.5798

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.
Files changed (64) hide show
  1. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  2. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  3. app-rn-runtime/components/basic/search/search.component.js +5 -8
  4. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  5. app-rn-runtime/components/basic/search/search.styles.js +1 -2
  6. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  7. app-rn-runtime/components/container/accordion/accordion.component.js +14 -7
  8. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  9. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +7 -0
  10. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  11. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +7 -0
  12. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  13. app-rn-runtime/components/container/tabs/tabs.component.js +13 -3
  14. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  15. app-rn-runtime/components/container/wizard/wizard.component.js +12 -4
  16. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  17. app-rn-runtime/components/input/baseinput/baseinput.component.js +10 -3
  18. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  19. app-rn-runtime/components/input/basenumber/basenumber.component.js +11 -3
  20. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  21. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +1 -1
  22. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  23. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
  24. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  25. app-rn-runtime/components/input/currency/currency.component.js +2 -1
  26. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  27. app-rn-runtime/components/input/currency/currency.styles.js +3 -0
  28. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  29. app-rn-runtime/components/input/epoch/base-datetime.component.js +4 -2
  30. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  31. app-rn-runtime/components/input/number/number.component.js +2 -1
  32. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  33. app-rn-runtime/components/input/number/number.styles.js +3 -0
  34. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  35. app-rn-runtime/components/input/radioset/radioset.component.js +1 -1
  36. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  37. app-rn-runtime/components/input/radioset/radioset.styles.js +1 -0
  38. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  39. app-rn-runtime/components/input/text/text.component.js +2 -1
  40. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  41. app-rn-runtime/components/input/text/text.styles.js +3 -0
  42. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  43. app-rn-runtime/components/input/textarea/textarea.component.js +2 -1
  44. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  45. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  46. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  47. app-rn-runtime/components/page/partial/partial.component.js +6 -1
  48. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  49. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  50. app-rn-runtime/components/prefab/prefab-container.component.js +5 -1
  51. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  52. app-rn-runtime/core/components/textinput.component.js +2 -5
  53. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  54. app-rn-runtime/core/tappable.component.js +10 -4
  55. app-rn-runtime/core/tappable.component.js.map +1 -1
  56. app-rn-runtime/package.json +3 -3
  57. app-rn-runtime/runtime/base-partial.component.js +3 -0
  58. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  59. app-rn-runtime/runtime/services/app-security.service.js +9 -2
  60. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  61. app-rn-runtime/styles/theme.js +5 -0
  62. app-rn-runtime/styles/theme.js.map +1 -1
  63. app-rn-runtime/styles/theme.variables.js +1 -1
  64. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -72,11 +72,19 @@ export default class WmTabs extends BaseComponent {
72
72
  }
73
73
  }
74
74
  addTabPane(tabPane) {
75
- const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);
75
+ tabPane.paneId = `tabPane${this.newIndex++}`;
76
+ const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);
76
77
  if (i >= 0) {
77
78
  this.tabPanes[i] = tabPane;
78
79
  } else {
79
- this.tabPanes[this.newIndex++] = tabPane;
80
+ this.tabPanes.push(tabPane);
81
+ }
82
+ }
83
+ removeTabPane(tabPane) {
84
+ const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);
85
+ if (i >= 0) {
86
+ this.tabPanes.splice(i, 1);
87
+ this.newIndex--;
80
88
  }
81
89
  }
82
90
  selectTabPane(tabPane) {
@@ -165,7 +173,9 @@ export default class WmTabs extends BaseComponent {
165
173
  alignSelf: 'flex-start'
166
174
  },
167
175
  onLayout: this.setTabPaneHeights.bind(this, i)
168
- }, p);
176
+ }, /*#__PURE__*/React.cloneElement(p, {
177
+ "invokeVariables": false
178
+ }));
169
179
  }))));
170
180
  }
171
181
  renderSkeleton(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","createSkeleton","WmTabsState","constructor","args","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","i","findIndex","t","name","newIndex","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeletonContent","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","onPropertyChange","$new","$old","selectedIndex","getBackground","_showSkeleton","_background","renderWidget","paneicon","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n\n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes[this.newIndex++] = tabPane;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n if (index < 0 || index >= this.tabPanes.length) {\n return;\n }\n const position = -1 * index * (this.tabLayout?.width || 0);\n if(this.animationView) {\n this.animationView.setPosition(position)\n .then(() => this.onChange(index));\n } else {\n this.onChange(index);\n }\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeletonContent(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View\n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>);\n })}\n </View>\n </View>\n </View>\n )\n }\n\n public renderSkeleton(props: WmTabsProps){\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {this.renderSkeletonContent(props)}\n </View>)) \n }\n return this.renderSkeletonContent(props);\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n\n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: p.props.paneicon || '', key: `tab-${p.props.title}-${i}`}));\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ?\n (isWebPreviewMode() ? {'overflowX': 'hidden','overflowY': 'auto'} as any : {overflow: 'scroll'})\n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View\n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","createSkeleton","WmTabsState","constructor","args","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","paneId","newIndex","i","findIndex","t","push","removeTabPane","splice","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeletonContent","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","cloneElement","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","onPropertyChange","name","$new","$old","selectedIndex","getBackground","_showSkeleton","_background","renderWidget","paneicon","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n\n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n tabPane.paneId = `tabPane${this.newIndex++}`;\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes.push(tabPane)\n }\n }\n\n removeTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.paneId === tabPane.paneId);\n if (i >= 0) {\n this.tabPanes.splice(i, 1); \n this.newIndex--;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n if (index < 0 || index >= this.tabPanes.length) {\n return;\n }\n const position = -1 * index * (this.tabLayout?.width || 0);\n if(this.animationView) {\n this.animationView.setPosition(position)\n .then(() => this.onChange(index));\n } else {\n this.onChange(index);\n }\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeletonContent(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View\n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {React.cloneElement(p, { \"invokeVariables\": false })}\n {/* {p} */}\n </View>);\n })}\n </View>\n </View>\n </View>\n )\n }\n\n public renderSkeleton(props: WmTabsProps){\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {this.renderSkeletonContent(props)}\n </View>)) \n }\n return this.renderSkeletonContent(props);\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n\n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: p.props.paneicon || '', key: `tab-${p.props.title}-${i}`}));\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ?\n (isWebPreviewMode() ? {'overflowX': 'hidden','overflowY': 'auto'} as any : {overflow: 'scroll'})\n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View\n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -55,7 +55,7 @@ export default class WmWizard extends BaseComponent {
55
55
  }
56
56
  componentDidMount() {
57
57
  super.componentDidMount();
58
- if (this.props.defaultstep) {
58
+ if (this.props.defaultstep && this.props.defaultstep != 'none') {
59
59
  this.updateDefaultStep();
60
60
  }
61
61
  }
@@ -180,6 +180,7 @@ export default class WmWizard extends BaseComponent {
180
180
  const isFirstStep = index === 0;
181
181
  const isActiveStep = index === this.state.currentStep;
182
182
  const isNumberTextLayout = this.state.props.classname === 'number-text-inline';
183
+ const wizardStepCountVisibility = index >= this.state.currentStep && !this.state.isDone || !this.state.currentStep;
183
184
  return item.state.props.show != false ? /*#__PURE__*/React.createElement(View, {
184
185
  style: [this.styles.headerWrapper, isNumberTextLayout ? {
185
186
  paddingRight: isActiveStep ? 0 : 5,
@@ -191,9 +192,9 @@ export default class WmWizard extends BaseComponent {
191
192
  onPress: this.updateCurrentStep.bind(this, index, false),
192
193
  disabled: index >= this.state.currentStep || !this.state.props.headernavigation,
193
194
  accessibilityRole: "header"
194
- }, /*#__PURE__*/React.createElement(View, _extends({
195
+ }, !this._showSkeleton ? /*#__PURE__*/React.createElement(View, _extends({
195
196
  style: this.getStepStyle(index)
196
- }, this.getTestPropsForAction('step' + index)), index >= this.state.currentStep && !this.state.isDone && /*#__PURE__*/React.createElement(Text, _extends({
197
+ }, this.getTestPropsForAction('step' + index)), wizardStepCountVisibility && /*#__PURE__*/React.createElement(Text, _extends({
197
198
  style: isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter
198
199
  }, this.getTestPropsForLabel('step' + (index + 1) + '_indicator')), index + 1), (index < this.state.currentStep || this.state.isDone) && /*#__PURE__*/React.createElement(WmIcon, {
199
200
  id: this.getTestId('status'),
@@ -203,7 +204,14 @@ export default class WmWizard extends BaseComponent {
203
204
  }
204
205
  }),
205
206
  iconclass: item.state.props.iconclass || 'wm-sl-l sl-check'
206
- })), isActiveStep && /*#__PURE__*/React.createElement(Text, _extends({
207
+ })) : /*#__PURE__*/React.createElement(WmLabel, {
208
+ showskeleton: true,
209
+ styles: {
210
+ root: {
211
+ ...this.getStepStyle(index)[0]
212
+ }
213
+ }
214
+ }), isActiveStep && /*#__PURE__*/React.createElement(Text, _extends({
207
215
  style: this.styles.stepTitle
208
216
  }, this.getTestPropsForLabel('step' + (index + 1) + '_title')), item.state.props.title || 'Step Title'), this.numberOfSteps > 1 && isActiveStep && /*#__PURE__*/React.createElement(View, {
209
217
  style: [this.styles.numberTextStepConnector, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","length","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","getTestPropsForAction","activeStepCounter","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","getBackground","_showSkeleton","_background","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","root","text","theme","opacity","children","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (this.props.defaultstep) {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index);\n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon id={this.getTestId('icon')} caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle id={this.getTestId('progress')} minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle}/>\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n return item.state.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'>\n <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon id={this.getTestId('status')} styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n\n skip() {\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')}\n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","createSkeleton","WmWizardState","constructor","args","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","updateDefaultStep","steps","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","componentDidUpdate","prevProps","prevState","snapshot","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","isDone","_this$steps$this$stat2","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","length","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","_extends","stepTitle","getTestPropsForLabel","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","wizardStepCountVisibility","show","paddingRight","paddingLeft","bind","disabled","headernavigation","accessibilityRole","_showSkeleton","getTestPropsForAction","activeStepCounter","stepCounter","stepIcon","icon","color","showskeleton","root","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","getBackground","_background","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","children","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n }\n\n updateDefaultStep() {\n const steps = this.steps;\n const props = this.props;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps && steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (this.props.defaultstep && this.props.defaultstep != 'none') {\n this.updateDefaultStep();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<WmWizardProps>, prevState: Readonly<WmWizardState>, snapshot?: any): void {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n // * when a variable is bind to default step\n if (this.props.defaultstep && prevProps.defaultstep !== this.props.defaultstep) {\n this.updateDefaultStep();\n }\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index);\n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon id={this.getTestId('icon')} caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle id={this.getTestId('progress')} minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle}/>\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle} {...this.getTestPropsForLabel('step' + (index + 1)+ '_subtitle')}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end', flex: 1 }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n const wizardStepCountVisibility = (index >= this.state.currentStep && !this.state.isDone) || !this.state.currentStep\n return item.state.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep || !this.state.props.headernavigation}\n accessibilityRole='header'>\n {!this._showSkeleton ? <View style={this.getStepStyle(index)} {...this.getTestPropsForAction('step'+index)}>\n { wizardStepCountVisibility &&\n <Text style={isActiveStep ? [this.styles.activeStep, this.styles.activeStepCounter] : this.styles.stepCounter} {...this.getTestPropsForLabel('step' + (index + 1) + '_indicator')}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon id={this.getTestId('status')} styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View> : <WmLabel showskeleton={true} styles={{root: {...this.getStepStyle(index)[0]}}}/>}\n {(isActiveStep) &&\n <Text style={this.styles.stepTitle} {...this.getTestPropsForLabel('step' + (index + 1) + '_title')}>\n {item.state.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n\n skip() {\n this.next('skip');\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n \n public renderSkeleton(props: WmWizardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this.getBackground()}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')}\n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ export class BaseInputState extends BaseComponentState {
12
12
  super(...args);
13
13
  _defineProperty(this, "keyboardType", 'default');
14
14
  _defineProperty(this, "isValid", true);
15
+ _defineProperty(this, "isInputFocused", false);
15
16
  _defineProperty(this, "textValue", '');
16
17
  _defineProperty(this, "isDefault", false);
17
18
  _defineProperty(this, "errorType", '');
@@ -117,7 +118,7 @@ export class BaseInputComponent extends BaseComponent {
117
118
  onBlur(event) {
118
119
  Injector.FOCUSED_ELEMENT.remove();
119
120
  this.isTouched = true;
120
- let newVal = this.state.textValue;
121
+ let newVal = this.state.textValue || '';
121
122
  let oldVal = this.state.props.datavalue || '';
122
123
  this.validate(newVal);
123
124
  if (newVal === '' || newVal == undefined) {
@@ -125,12 +126,15 @@ export class BaseInputComponent extends BaseComponent {
125
126
  this.props.triggerValidation && this.props.triggerValidation();
126
127
  }, 10);
127
128
  }
128
- if (this.state.props.updateon === 'blur') {
129
- if (oldVal !== newVal) {
129
+ if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
130
+ if (oldVal !== newVal && this.state.props.updateon === 'blur') {
130
131
  this.updateDatavalue(newVal, event, 'blur');
131
132
  } else {
132
133
  this.invokeEventCallback('onBlur', [event, this.proxy]);
133
134
  }
135
+ this.setState({
136
+ isInputFocused: false
137
+ });
134
138
  }
135
139
  }
136
140
  validate(value) {
@@ -149,6 +153,9 @@ export class BaseInputComponent extends BaseComponent {
149
153
  this.invokeEventCallback('onFocus', [event, this.proxy]);
150
154
  (_this$closestTappable = this.closestTappable) === null || _this$closestTappable === void 0 || _this$closestTappable.triggerTap();
151
155
  }, 250);
156
+ this.setState({
157
+ isInputFocused: true
158
+ });
152
159
  }
153
160
  onKeyPress(event) {
154
161
  this.invokeEventCallback('onKeypress', [event, this.proxy]);
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","setTimeout","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ export class BaseNumberState extends BaseComponentState {
10
10
  constructor(...args) {
11
11
  super(...args);
12
12
  _defineProperty(this, "isValid", true);
13
+ _defineProperty(this, "isInputFocused", false);
13
14
  _defineProperty(this, "textValue", '');
14
15
  _defineProperty(this, "isDefault", false);
15
16
  _defineProperty(this, "errorType", '');
@@ -175,24 +176,31 @@ export class BaseNumberComponent extends BaseComponent {
175
176
  });
176
177
  }
177
178
  onBlur(event, isDisplayValuePresent) {
178
- let newVal = isDisplayValuePresent ? this.state.textValue : event.target.value || this.state.textValue;
179
+ const textVal = this.state.textValue || '';
180
+ let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;
179
181
  this.validate(newVal);
180
182
  if (newVal === '' || newVal == undefined) {
181
183
  setTimeout(() => {
182
184
  this.props.triggerValidation && this.props.triggerValidation();
183
185
  }, 10);
184
186
  }
185
- if (this.state.props.updateon === 'blur') {
187
+ if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
186
188
  let oldVal = this.state.props.datavalue || '';
187
- if (oldVal !== newVal) {
189
+ if (oldVal !== newVal && this.state.props.updateon === 'blur') {
188
190
  this.updateDatavalue(newVal, event, 'blur');
189
191
  } else {
190
192
  this.invokeEventCallback('onBlur', [event, this.proxy]);
191
193
  }
194
+ this.setState({
195
+ isInputFocused: false
196
+ });
192
197
  }
193
198
  }
194
199
  onFocus(event) {
195
200
  this.invokeEventCallback('onFocus', [event, this.proxy]);
201
+ this.setState({
202
+ isInputFocused: true
203
+ });
196
204
  }
197
205
 
198
206
  /**