@wavemaker/app-rn-runtime 11.5.4-rc.5622 → 11.5.4-rc.5624

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.
@@ -88,12 +88,7 @@ export default class WmTabs extends BaseComponent {
88
88
  var _this$tabLayout2, _this$animationView;
89
89
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.selectedTabIndex;
90
90
  const position = -1 * index * (((_this$tabLayout2 = this.tabLayout) === null || _this$tabLayout2 === void 0 ? void 0 : _this$tabLayout2.width) || 0);
91
- (_this$animationView = this.animationView) === null || _this$animationView === void 0 ? void 0 : _this$animationView.setPosition(position);
92
- if (this.animationView) {
93
- this.animationView.setPosition(position).then(() => this.onChange(index));
94
- } else {
95
- this.onChange(index);
96
- }
91
+ (_this$animationView = this.animationView) === null || _this$animationView === void 0 ? void 0 : _this$animationView.setPosition(position).then(() => this.onChange(index));
97
92
  }
98
93
  prev() {
99
94
  var _this$animationView2;
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","WmTabsState","constructor","arguments","_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","_this$animationView","undefined","position","animationView","setPosition","then","prev","_this$animationView2","goToLower","next","_this$animationView3","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeleton","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","onPropertyChange","$new","$old","selectedIndex","renderWidget","_background","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers"],"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';\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 const position = -1 * index * (this.tabLayout?.width || 0);\n this.animationView?.setPosition(position)\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 renderSkeleton(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\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 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: '', key: `tab-${p.props.title}-${i}`}));\n return (\n <View style={this.styles.root}>\n {this._background}\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() ? {'overflow-x': 'hidden','overflow-y': '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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"}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","WmTabsState","constructor","arguments","_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","_this$animationView","undefined","position","animationView","setPosition","then","prev","_this$animationView2","goToLower","next","_this$animationView3","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeleton","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","onPropertyChange","$new","$old","selectedIndex","renderWidget","_background","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers"],"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';\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 const position = -1 * index * (this.tabLayout?.width || 0);\n this.animationView?.setPosition(position)\n .then(() => this.onChange(index));\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 renderSkeleton(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\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 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: '', key: `tab-${p.props.title}-${i}`}));\n return (\n <View style={this.styles.root}>\n {this._background}\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() ? {'overflow-x': 'hidden','overflow-y': '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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"}
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
3
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import React from 'react';
6
- import { View, Text, TouchableOpacity, ScrollView } from 'react-native';
6
+ import { View, Text, TouchableOpacity } from 'react-native';
7
7
  import WmRadiosetProps from './radioset.props';
8
8
  import { DEFAULT_CLASS } from './radioset.styles';
9
9
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
@@ -78,11 +78,9 @@ export default class WmRadioset extends BaseDatasetComponent {
78
78
  }
79
79
  renderWidget(props) {
80
80
  const items = this.state.dataItems;
81
- return /*#__PURE__*/React.createElement(ScrollView, {
81
+ return /*#__PURE__*/React.createElement(View, {
82
82
  style: this.styles.root
83
- }, /*#__PURE__*/React.createElement(ScrollView, {
84
- horizontal: true
85
- }, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items)));
83
+ }, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items));
86
84
  }
87
85
  }
88
86
  //# sourceMappingURL=radioset.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmRadiosetState","constructor","arguments","_defineProperty","WmRadioset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","createElement","_extends","style","styles","width","bind","getTestPropsForAction","getTestProps","iconclass","checkedRadio","uncheckedRadio","template","renderitempartial","dataObject","radioLabel","getTestPropsForLabel","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","group","renderWidget","root","horizontal","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, ScrollView } from 'react-native';\nimport { RadioButton } from 'react-native-paper';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = true;\n let selectedValue: any = \"\";\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any, colWidth: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n return (\n <TouchableOpacity style={[\n this.styles.item,\n item.selected ? this.styles.selectedItem : null,\n {width: colWidth}]} onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction()}>\n <WmIcon {...this.getTestProps('' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={this.styles.radioLabel} {...this.getTestPropsForLabel('caption')}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(\n <View style={this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>)\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root}>\n <ScrollView horizontal={true}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmRadiosetState","constructor","arguments","_defineProperty","WmRadioset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","createElement","_extends","style","styles","width","bind","getTestPropsForAction","getTestProps","iconclass","checkedRadio","uncheckedRadio","template","renderitempartial","dataObject","radioLabel","getTestPropsForLabel","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","group","renderWidget","root","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity } from 'react-native';\nimport { RadioButton } from 'react-native-paper';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = true;\n let selectedValue: any = \"\";\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n \n renderChild(item: any, index: any, colWidth: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n return (\n <TouchableOpacity style={[\n this.styles.item,\n item.selected ? this.styles.selectedItem : null,\n {width: colWidth}]} onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction()}>\n <WmIcon {...this.getTestProps('' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={this.styles.radioLabel} {...this.getTestPropsForLabel('caption')}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(\n <View style={this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>)\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.5.4-rc.5622",
3
+ "version": "11.5.4-rc.5624",
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.4-rc.5622",
52
+ "@wavemaker/variables": "11.5.4-rc.5624",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -131,7 +131,7 @@
131
131
  "typescript": "^5.1.3",
132
132
  "victory-native": "36.6.11",
133
133
  "yargs": "^16.2.0",
134
- "@wavemaker/variables": "11.5.4-rc.5622"
134
+ "@wavemaker/variables": "11.5.4-rc.5624"
135
135
  },
136
136
  "jest": {
137
137
  "preset": "react-native",