@wavemaker/app-rn-runtime 11.10.4-next.27838 → 11.10.4-next.27841

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 (183) hide show
  1. package/components/advanced/carousel/carousel.component.js +2 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/login/login.component.js +2 -1
  4. package/components/advanced/login/login.component.js.map +1 -1
  5. package/components/advanced/webview/webview.component.js +2 -1
  6. package/components/advanced/webview/webview.component.js.map +1 -1
  7. package/components/basic/anchor/anchor.component.js +2 -1
  8. package/components/basic/anchor/anchor.component.js.map +1 -1
  9. package/components/basic/animatedview.component.js +5 -2
  10. package/components/basic/animatedview.component.js.map +1 -1
  11. package/components/basic/audio/audio.component.js +2 -1
  12. package/components/basic/audio/audio.component.js.map +1 -1
  13. package/components/basic/button/button.component.js +1 -0
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/buttongroup/buttongroup.component.js +2 -1
  16. package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  17. package/components/basic/custom/custom.component.js +2 -1
  18. package/components/basic/custom/custom.component.js.map +1 -1
  19. package/components/basic/icon/icon.component.js +2 -1
  20. package/components/basic/icon/icon.component.js.map +1 -1
  21. package/components/basic/label/label.component.js +2 -1
  22. package/components/basic/label/label.component.js.map +1 -1
  23. package/components/basic/lottie/lottie.component.js +2 -1
  24. package/components/basic/lottie/lottie.component.js.map +1 -1
  25. package/components/basic/message/message.component.js +2 -1
  26. package/components/basic/message/message.component.js.map +1 -1
  27. package/components/basic/modal/modal.component.js +4 -2
  28. package/components/basic/modal/modal.component.js.map +1 -1
  29. package/components/basic/picture/picture.component.js +93 -8
  30. package/components/basic/picture/picture.component.js.map +1 -1
  31. package/components/basic/picture/picture.props.js +1 -0
  32. package/components/basic/picture/picture.props.js.map +1 -1
  33. package/components/basic/progress-bar/progress-bar.component.js +2 -1
  34. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  35. package/components/basic/progress-circle/progress-circle.component.js +1 -0
  36. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  37. package/components/basic/search/search.component.js +3 -1
  38. package/components/basic/search/search.component.js.map +1 -1
  39. package/components/basic/spinner/spinner.component.js +2 -1
  40. package/components/basic/spinner/spinner.component.js.map +1 -1
  41. package/components/basic/tooltip/tooltip.component.js +2 -1
  42. package/components/basic/tooltip/tooltip.component.js.map +1 -1
  43. package/components/basic/video/video.component.js +36 -5
  44. package/components/basic/video/video.component.js.map +1 -1
  45. package/components/basic/video/video.props.js +1 -0
  46. package/components/basic/video/video.props.js.map +1 -1
  47. package/components/basic/video/video.styles.js +13 -0
  48. package/components/basic/video/video.styles.js.map +1 -1
  49. package/components/chart/area-chart/area-chart.component.js +1 -0
  50. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  51. package/components/chart/basechart.component.js +1 -0
  52. package/components/chart/basechart.component.js.map +1 -1
  53. package/components/chart/pie-chart/pie-chart.component.js +1 -0
  54. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. package/components/chart/stack-chart/stack-chart.component.js +1 -0
  56. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  57. package/components/container/accordion/accordion.component.js +2 -1
  58. package/components/container/accordion/accordion.component.js.map +1 -1
  59. package/components/container/container.component.js +2 -1
  60. package/components/container/container.component.js.map +1 -1
  61. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
  62. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  63. package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
  64. package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  65. package/components/container/layoutgrid/layoutgrid.component.js +1 -0
  66. package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  67. package/components/container/linearlayout/linearlayout.component.js +2 -1
  68. package/components/container/linearlayout/linearlayout.component.js.map +1 -1
  69. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
  70. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  71. package/components/container/panel/panel.component.js +2 -1
  72. package/components/container/panel/panel.component.js.map +1 -1
  73. package/components/container/tabs/tabheader/tabheader.component.js +3 -1
  74. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  75. package/components/container/tabs/tabpane/tabpane.component.js +2 -1
  76. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  77. package/components/container/tabs/tabs.component.js +2 -1
  78. package/components/container/tabs/tabs.component.js.map +1 -1
  79. package/components/container/tile/tile.component.js +2 -1
  80. package/components/container/tile/tile.component.js.map +1 -1
  81. package/components/container/wizard/wizard.component.js +2 -1
  82. package/components/container/wizard/wizard.component.js.map +1 -1
  83. package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
  84. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  85. package/components/data/card/card-content/card-content.component.js +2 -1
  86. package/components/data/card/card-content/card-content.component.js.map +1 -1
  87. package/components/data/card/card-footer/card-footer.component.js +2 -1
  88. package/components/data/card/card-footer/card-footer.component.js.map +1 -1
  89. package/components/data/card/card.component.js +2 -1
  90. package/components/data/card/card.component.js.map +1 -1
  91. package/components/data/form/form-body/form-body.component.js +2 -1
  92. package/components/data/form/form-body/form-body.component.js.map +1 -1
  93. package/components/data/form/form-field/form-field.component.js +2 -1
  94. package/components/data/form/form-field/form-field.component.js.map +1 -1
  95. package/components/data/form/form-footer/form-footer.component.js +2 -1
  96. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  97. package/components/data/form/form.component.js +2 -1
  98. package/components/data/form/form.component.js.map +1 -1
  99. package/components/data/list/list-template/list-template.component.js +2 -1
  100. package/components/data/list/list-template/list-template.component.js.map +1 -1
  101. package/components/data/list/list.component.js +6 -2
  102. package/components/data/list/list.component.js.map +1 -1
  103. package/components/data/list/list.props.js +1 -0
  104. package/components/data/list/list.props.js.map +1 -1
  105. package/components/device/barcodescanner/barcodescanner.component.js +2 -1
  106. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  107. package/components/device/camera/camera.component.js +2 -1
  108. package/components/device/camera/camera.component.js.map +1 -1
  109. package/components/dialogs/dialog/dialog.component.js +2 -1
  110. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  111. package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
  112. package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  113. package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
  114. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  115. package/components/input/calendar/calendar.component.js +2 -1
  116. package/components/input/calendar/calendar.component.js.map +1 -1
  117. package/components/input/checkbox/checkbox.component.js +2 -1
  118. package/components/input/checkbox/checkbox.component.js.map +1 -1
  119. package/components/input/checkboxset/checkboxset.component.js +2 -1
  120. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  121. package/components/input/chips/chips.component.js +2 -1
  122. package/components/input/chips/chips.component.js.map +1 -1
  123. package/components/input/composite/composite.component.js +2 -1
  124. package/components/input/composite/composite.component.js.map +1 -1
  125. package/components/input/currency/currency.component.js +2 -1
  126. package/components/input/currency/currency.component.js.map +1 -1
  127. package/components/input/epoch/base-datetime.component.js +3 -2
  128. package/components/input/epoch/base-datetime.component.js.map +1 -1
  129. package/components/input/epoch/wheel-date-picker.component.js +91 -84
  130. package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
  131. package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
  132. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  133. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
  134. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  135. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +2 -1
  136. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  137. package/components/input/fileupload/fileupload.component.js +2 -1
  138. package/components/input/fileupload/fileupload.component.js.map +1 -1
  139. package/components/input/number/number.component.js +2 -1
  140. package/components/input/number/number.component.js.map +1 -1
  141. package/components/input/radioset/radioset.component.js +4 -2
  142. package/components/input/radioset/radioset.component.js.map +1 -1
  143. package/components/input/rating/rating.component.js +2 -1
  144. package/components/input/rating/rating.component.js.map +1 -1
  145. package/components/input/select/select.component.js +4 -1
  146. package/components/input/select/select.component.js.map +1 -1
  147. package/components/input/slider/slider.component.js +2 -1
  148. package/components/input/slider/slider.component.js.map +1 -1
  149. package/components/input/switch/switch.component.js +2 -1
  150. package/components/input/switch/switch.component.js.map +1 -1
  151. package/components/input/text/text.component.js +2 -1
  152. package/components/input/text/text.component.js.map +1 -1
  153. package/components/input/textarea/textarea.component.js +2 -1
  154. package/components/input/textarea/textarea.component.js.map +1 -1
  155. package/components/input/toggle/toggle.component.js +1 -0
  156. package/components/input/toggle/toggle.component.js.map +1 -1
  157. package/components/navigation/appnavbar/appnavbar.component.js +2 -1
  158. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  159. package/components/navigation/navbar/navbar.component.js +2 -1
  160. package/components/navigation/navbar/navbar.component.js.map +1 -1
  161. package/components/navigation/navitem/navitem.component.js +2 -1
  162. package/components/navigation/navitem/navitem.component.js.map +1 -1
  163. package/components/navigation/popover/popover.component.js +1 -0
  164. package/components/navigation/popover/popover.component.js.map +1 -1
  165. package/components/page/page.component.js.map +1 -1
  166. package/core/AppConfig.js.map +1 -1
  167. package/core/base.component.js +15 -21
  168. package/core/base.component.js.map +1 -1
  169. package/core/components/textinput.component.js +2 -1
  170. package/core/components/textinput.component.js.map +1 -1
  171. package/core/tappable.component.js +7 -3
  172. package/core/tappable.component.js.map +1 -1
  173. package/core/utils.js +13 -11
  174. package/core/utils.js.map +1 -1
  175. package/npm-shrinkwrap.json +7 -7
  176. package/package-lock.json +7 -7
  177. package/package.json +2 -2
  178. package/runtime/App.js +18 -7
  179. package/runtime/App.js.map +1 -1
  180. package/runtime/base-page.component.js +2 -3
  181. package/runtime/base-page.component.js.map +1 -1
  182. package/styles/style-props.js +1 -0
  183. package/styles/style-props.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","accessibilityRole","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\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 if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\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 const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction(\"radio\"+index)}>\n <WmIcon id={this.getTestId('radiobutton' + 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, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\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 props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\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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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","accessibilityRole","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\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 if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\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 const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction(\"radio\"+index)}>\n <WmIcon id={this.getTestId('radiobutton' + 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, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\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 props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\n <View style={[this.styles.root]} onLayout={(event) => this.handleLayout(event)}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -117,7 +117,8 @@ export default class WmRating extends BaseComponent {
117
117
  selectedIconStyles.text.color = props.iconcolor;
118
118
  }
119
119
  return /*#__PURE__*/React.createElement(View, {
120
- style: this.styles.root
120
+ style: this.styles.root,
121
+ onLayout: event => this.handleLayout(event)
121
122
  }, this._background, arr.map((v, i) => this.state.selectedIndex > -1 && i <= this.state.selectedIndex ? /*#__PURE__*/React.createElement(WmIcon, {
122
123
  id: this.getTestId('star' + i),
123
124
  key: i,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmIcon","WmRatingProps","DEFAULT_CLASS","cloneDeep","isArray","isNumber","isString","WmRatingState","constructor","args","_defineProperty","WmRating","props","caption","state","prepareItems","items","dataset","maxvalue","Array","from","keys","map","v","split","Object","i","key","value","selectedIndex","datavalue","undefined","findIndex","item","k","datafield","showcaptions","selectedItem","getDisplayExpression","displayfield","updateState","onPropertyChange","name","$new","$old","isDefault","onFieldChange","bind","disabled","changeValue","oldValue","readonly","invokeEventCallback","proxy","renderWidget","maxValue","arr","selectedIconStyles","styles","selectedIcon","iconcolor","text","color","createElement","style","root","_background","id","getTestId","iconclass","iconsize","onTap","icon"],"sources":["rating.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmRatingProps from './rating.props';\nimport { DEFAULT_CLASS, WmRatingStyles } from './rating.styles';\nimport { cloneDeep, isArray, isEmpty, isNumber, isString } from 'lodash-es';\n\nexport class WmRatingState extends BaseComponentState<WmRatingProps> {\n items: any[] = null as any;\n caption: any = null as any;\n selectedIndex = -1;\n isDefault = false;\n}\n\nexport default class WmRating extends BaseComponent<WmRatingProps, WmRatingState, WmRatingStyles> {\n\n constructor(props: WmRatingProps) {\n super(props, DEFAULT_CLASS, new WmRatingProps());\n }\n\n get caption() {\n return this.state.caption;\n }\n\n prepareItems(props: WmRatingProps) {\n let items: any[] = [];\n if (!props.dataset && props.maxvalue) {\n items = Array.from(Array(+props.maxvalue).keys());\n items = items.map(v => v + 1);\n } else if (isString(props.dataset)) {\n items = props.dataset.split(',');\n } else {\n items = props.dataset as any[] || [];\n }\n if (isArray(items) && items[0] !== Object(items[0])) {\n items = items.map((v, i) => ({\n key: i + 1,\n value: v\n }));\n }\n let selectedIndex = -1;\n if (props.datavalue !== undefined && props.datavalue !== null) {\n selectedIndex = items.findIndex((item: any, k) => item[props.datafield as string] == props.datavalue);\n if (selectedIndex === -1 && isNumber(props.datavalue)) {\n selectedIndex = props.datavalue;\n }\n }\n let caption: any = '';\n if (selectedIndex > -1 && props.showcaptions) {\n const selectedItem = items[selectedIndex];\n if (selectedItem) {\n if (props.getDisplayExpression) {\n caption = props.getDisplayExpression(selectedItem);\n } else {\n caption = selectedItem[props.displayfield as string];\n }\n } else {\n caption = selectedIndex + 1;\n }\n }\n this.updateState({\n items: items,\n selectedIndex: selectedIndex,\n caption: caption\n } as WmRatingState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset' :\n case 'datafield' :\n case 'displayfield' :\n case 'maxvalue':\n case 'datavalue' :\n this.prepareItems(this.state.props);\n if (name === 'datavalue') {\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as WmRatingState, 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 break;\n case 'readonly' :\n this.updateState({\n props: {\n disabled: $new\n }\n } as WmRatingState);\n break;\n }\n }\n\n changeValue(i: number) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (!props.readonly) {\n let value = this.state.items[i] ? this.state.items[i][props.datafield || '']: i;\n this.updateState({\n props: {\n datavalue: value\n }\n } as WmRatingState, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldValue]);\n });\n }\n }\n\n renderWidget(props: WmRatingProps) {\n const maxValue = props.maxvalue ? +props.maxvalue : 5;\n const arr = Array.from(Array(maxValue).keys());\n\n let selectedIconStyles = this.styles.selectedIcon;\n if (props.iconcolor) {\n selectedIconStyles = cloneDeep(this.styles.selectedIcon);\n selectedIconStyles.text.color = props.iconcolor;\n }\n return (\n <View style={this.styles.root}>\n {this._background}\n {arr.map((v, i) => (\n (this.state.selectedIndex > -1 && i <= this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star\"\n iconsize={props.iconsize}\n styles={selectedIconStyles}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n {arr.map((v, i) => (\n (this.state.selectedIndex === -1 || i > this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star-border\"\n iconsize={props.iconsize}\n styles={this.styles.icon}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n { !!props.showcaptions ? (<Text style={this.styles.text}>{this.state.caption}</Text>) : null }\n </View>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AAEnF,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,SAAS,EAAEC,OAAO,EAAWC,QAAQ,EAAEC,QAAQ,QAAQ,WAAW;AAE3E,OAAO,MAAMC,aAAa,SAASR,kBAAkB,CAAgB;EAAAS,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,gBACpD,IAAI;IAAAA,eAAA,kBACJ,IAAI;IAAAA,eAAA,wBACH,CAAC,CAAC;IAAAA,eAAA,oBACN,KAAK;EAAA;AACnB;AAEA,eAAe,MAAMC,QAAQ,SAASb,aAAa,CAA+C;EAEhGU,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEA,IAAIY,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACC,KAAK,CAACD,OAAO;EAC3B;EAEAE,YAAYA,CAACH,KAAoB,EAAE;IACjC,IAAII,KAAY,GAAG,EAAE;IACrB,IAAI,CAACJ,KAAK,CAACK,OAAO,IAAIL,KAAK,CAACM,QAAQ,EAAE;MACpCF,KAAK,GAAGG,KAAK,CAACC,IAAI,CAACD,KAAK,CAAC,CAACP,KAAK,CAACM,QAAQ,CAAC,CAACG,IAAI,CAAC,CAAC,CAAC;MACjDL,KAAK,GAAGA,KAAK,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC,MAAM,IAAIjB,QAAQ,CAACM,KAAK,CAACK,OAAO,CAAC,EAAE;MAClCD,KAAK,GAAGJ,KAAK,CAACK,OAAO,CAACO,KAAK,CAAC,GAAG,CAAC;IAClC,CAAC,MAAM;MACLR,KAAK,GAAGJ,KAAK,CAACK,OAAO,IAAa,EAAE;IACtC;IACA,IAAIb,OAAO,CAACY,KAAK,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAKS,MAAM,CAACT,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;MACnDA,KAAK,GAAGA,KAAK,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEG,CAAC,MAAM;QAC3BC,GAAG,EAAED,CAAC,GAAG,CAAC;QACVE,KAAK,EAAEL;MACT,CAAC,CAAC,CAAC;IACL;IACA,IAAIM,aAAa,GAAG,CAAC,CAAC;IACtB,IAAIjB,KAAK,CAACkB,SAAS,KAAKC,SAAS,IAAInB,KAAK,CAACkB,SAAS,KAAK,IAAI,EAAE;MAC7DD,aAAa,GAAGb,KAAK,CAACgB,SAAS,CAAC,CAACC,IAAS,EAAEC,CAAC,KAAKD,IAAI,CAACrB,KAAK,CAACuB,SAAS,CAAW,IAAIvB,KAAK,CAACkB,SAAS,CAAC;MACrG,IAAID,aAAa,KAAK,CAAC,CAAC,IAAIxB,QAAQ,CAACO,KAAK,CAACkB,SAAS,CAAC,EAAE;QACrDD,aAAa,GAAGjB,KAAK,CAACkB,SAAS;MACjC;IACF;IACA,IAAIjB,OAAY,GAAG,EAAE;IACrB,IAAIgB,aAAa,GAAG,CAAC,CAAC,IAAIjB,KAAK,CAACwB,YAAY,EAAE;MAC5C,MAAMC,YAAY,GAAGrB,KAAK,CAACa,aAAa,CAAC;MACzC,IAAIQ,YAAY,EAAE;QAChB,IAAIzB,KAAK,CAAC0B,oBAAoB,EAAE;UAC9BzB,OAAO,GAAGD,KAAK,CAAC0B,oBAAoB,CAACD,YAAY,CAAC;QACpD,CAAC,MAAM;UACLxB,OAAO,GAAGwB,YAAY,CAACzB,KAAK,CAAC2B,YAAY,CAAW;QACtD;MACF,CAAC,MAAM;QACL1B,OAAO,GAAGgB,aAAa,GAAG,CAAC;MAC7B;IACF;IACA,IAAI,CAACW,WAAW,CAAC;MACfxB,KAAK,EAAEA,KAAK;MACZa,aAAa,EAAEA,aAAa;MAC5BhB,OAAO,EAAEA;IACX,CAAkB,CAAC;EACrB;EAEA4B,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAOF,IAAI;MACT,KAAK,SAAS;MACd,KAAK,WAAW;MAChB,KAAK,cAAc;MACnB,KAAK,UAAU;MACf,KAAK,WAAW;QACd,IAAI,CAAC3B,YAAY,CAAC,IAAI,CAACD,KAAK,CAACF,KAAK,CAAC;QACnC,IAAI8B,IAAI,KAAK,WAAW,EAAE;UACxB,MAAMG,SAAS,GAAG,IAAI,CAAC/B,KAAK,CAAC+B,SAAS;UACtC,IAAIA,SAAS,EAAE;YACb,IAAI,CAACL,WAAW,CAAC;cAAEK,SAAS,EAAE;YAAM,CAAC,EAAmB,IAAI,CAACjC,KAAK,CAACkC,aAAa,IAAI,IAAI,CAAClC,KAAK,CAACkC,aAAa,CAACC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAEJ,IAAI,EAAEC,IAAI,EAAEC,SAAS,CAAC,CAAC;UAC9J,CAAC,MAAM;YACL,IAAI,CAACjC,KAAK,CAACkC,aAAa,IAAI,IAAI,CAAClC,KAAK,CAACkC,aAAa,CAAC,WAAW,EAAEH,IAAI,EAAEC,IAAI,EAAEC,SAAS,CAAC;UAC1F;QACF;QACA;MACF,KAAK,UAAU;QACb,IAAI,CAACL,WAAW,CAAC;UACf5B,KAAK,EAAE;YACLoC,QAAQ,EAAEL;UACZ;QACF,CAAkB,CAAC;QACnB;IACJ;EACF;EAEAM,WAAWA,CAACvB,CAAS,EAAE;IACrB,MAAMd,KAAK,GAAG,IAAI,CAACE,KAAK,CAACF,KAAK;IAC9B,MAAMsC,QAAQ,GAAGtC,KAAK,CAACkB,SAAS;IAChC,IAAI,CAAClB,KAAK,CAACuC,QAAQ,EAAE;MACnB,IAAIvB,KAAK,GAAG,IAAI,CAACd,KAAK,CAACE,KAAK,CAACU,CAAC,CAAC,GAAG,IAAI,CAACZ,KAAK,CAACE,KAAK,CAACU,CAAC,CAAC,CAACd,KAAK,CAACuB,SAAS,IAAI,EAAE,CAAC,GAAET,CAAC;MAC/E,IAAI,CAACc,WAAW,CAAC;QACf5B,KAAK,EAAE;UACLkB,SAAS,EAAGF;QACd;MACF,CAAC,EAAmB,MAAM;QACxB,CAAC,IAAI,CAAChB,KAAK,CAACkC,aAAa,IAAIlB,KAAK,KAAKsB,QAAQ,IAAI,IAAI,CAACE,mBAAmB,CAAC,UAAU,EAAE,CAACrB,SAAS,EAAE,IAAI,CAACsB,KAAK,EAAEzB,KAAK,EAAEsB,QAAQ,CAAC,CAAC;MACnI,CAAC,CAAC;IACJ;EACF;EAEAI,YAAYA,CAAC1C,KAAoB,EAAE;IACjC,MAAM2C,QAAQ,GAAG3C,KAAK,CAACM,QAAQ,GAAG,CAACN,KAAK,CAACM,QAAQ,GAAG,CAAC;IACrD,MAAMsC,GAAG,GAAGrC,KAAK,CAACC,IAAI,CAACD,KAAK,CAACoC,QAAQ,CAAC,CAAClC,IAAI,CAAC,CAAC,CAAC;IAE9C,IAAIoC,kBAAkB,GAAG,IAAI,CAACC,MAAM,CAACC,YAAY;IACjD,IAAI/C,KAAK,CAACgD,SAAS,EAAE;MACnBH,kBAAkB,GAAGtD,SAAS,CAAC,IAAI,CAACuD,MAAM,CAACC,YAAY,CAAC;MACxDF,kBAAkB,CAACI,IAAI,CAACC,KAAK,GAAGlD,KAAK,CAACgD,SAAS;IACjD;IACA,oBACAjE,KAAA,CAAAoE,aAAA,CAACnE,IAAI;MAACoE,KAAK,EAAE,IAAI,CAACN,MAAM,CAACO;IAAK,GAC3B,IAAI,CAACC,WAAW,EAChBV,GAAG,CAAClC,GAAG,CAAC,CAACC,CAAC,EAAEG,CAAC,KACX,IAAI,CAACZ,KAAK,CAACe,aAAa,GAAG,CAAC,CAAC,IAAIH,CAAC,IAAI,IAAI,CAACZ,KAAK,CAACe,aAAa,gBAAIlC,KAAA,CAAAoE,aAAA,CAAC/D,MAAM;MACxEmE,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAG1C,CAAC,CAAE;MAC/BC,GAAG,EAAED,CAAE;MACP2C,SAAS,EAAC,YAAY;MACtBC,QAAQ,EAAE1D,KAAK,CAAC0D,QAAS;MACzBZ,MAAM,EAAED,kBAAmB;MAC3Bc,KAAK,EAAEA,CAAA,KAAM;QAAE,IAAI,CAACtB,WAAW,CAACvB,CAAC,CAAC;MAAA;IAAE,CAC7B,CAAC,GAAG,IACd,CAAC,EACD8B,GAAG,CAAClC,GAAG,CAAC,CAACC,CAAC,EAAEG,CAAC,KACX,IAAI,CAACZ,KAAK,CAACe,aAAa,KAAK,CAAC,CAAC,IAAIH,CAAC,GAAG,IAAI,CAACZ,KAAK,CAACe,aAAa,gBAAIlC,KAAA,CAAAoE,aAAA,CAAC/D,MAAM;MACzEmE,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAG1C,CAAC,CAAE;MAC/BC,GAAG,EAAED,CAAE;MACP2C,SAAS,EAAC,mBAAmB;MAC7BC,QAAQ,EAAE1D,KAAK,CAAC0D,QAAS;MACzBZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACc,IAAK;MACzBD,KAAK,EAAEA,CAAA,KAAM;QAAE,IAAI,CAACtB,WAAW,CAACvB,CAAC,CAAC;MAAA;IAAE,CAC7B,CAAC,GAAG,IACd,CAAC,EACA,CAAC,CAACd,KAAK,CAACwB,YAAY,gBAAIzC,KAAA,CAAAoE,aAAA,CAAClE,IAAI;MAACmE,KAAK,EAAE,IAAI,CAACN,MAAM,CAACG;IAAK,GAAE,IAAI,CAAC/C,KAAK,CAACD,OAAc,CAAC,GAAI,IACpF,CAAC;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmIcon","WmRatingProps","DEFAULT_CLASS","cloneDeep","isArray","isNumber","isString","WmRatingState","constructor","args","_defineProperty","WmRating","props","caption","state","prepareItems","items","dataset","maxvalue","Array","from","keys","map","v","split","Object","i","key","value","selectedIndex","datavalue","undefined","findIndex","item","k","datafield","showcaptions","selectedItem","getDisplayExpression","displayfield","updateState","onPropertyChange","name","$new","$old","isDefault","onFieldChange","bind","disabled","changeValue","oldValue","readonly","invokeEventCallback","proxy","renderWidget","maxValue","arr","selectedIconStyles","styles","selectedIcon","iconcolor","text","color","createElement","style","root","onLayout","event","handleLayout","_background","id","getTestId","iconclass","iconsize","onTap","icon"],"sources":["rating.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmRatingProps from './rating.props';\nimport { DEFAULT_CLASS, WmRatingStyles } from './rating.styles';\nimport { cloneDeep, isArray, isEmpty, isNumber, isString } from 'lodash-es';\n\nexport class WmRatingState extends BaseComponentState<WmRatingProps> {\n items: any[] = null as any;\n caption: any = null as any;\n selectedIndex = -1;\n isDefault = false;\n}\n\nexport default class WmRating extends BaseComponent<WmRatingProps, WmRatingState, WmRatingStyles> {\n\n constructor(props: WmRatingProps) {\n super(props, DEFAULT_CLASS, new WmRatingProps());\n }\n\n get caption() {\n return this.state.caption;\n }\n\n prepareItems(props: WmRatingProps) {\n let items: any[] = [];\n if (!props.dataset && props.maxvalue) {\n items = Array.from(Array(+props.maxvalue).keys());\n items = items.map(v => v + 1);\n } else if (isString(props.dataset)) {\n items = props.dataset.split(',');\n } else {\n items = props.dataset as any[] || [];\n }\n if (isArray(items) && items[0] !== Object(items[0])) {\n items = items.map((v, i) => ({\n key: i + 1,\n value: v\n }));\n }\n let selectedIndex = -1;\n if (props.datavalue !== undefined && props.datavalue !== null) {\n selectedIndex = items.findIndex((item: any, k) => item[props.datafield as string] == props.datavalue);\n if (selectedIndex === -1 && isNumber(props.datavalue)) {\n selectedIndex = props.datavalue;\n }\n }\n let caption: any = '';\n if (selectedIndex > -1 && props.showcaptions) {\n const selectedItem = items[selectedIndex];\n if (selectedItem) {\n if (props.getDisplayExpression) {\n caption = props.getDisplayExpression(selectedItem);\n } else {\n caption = selectedItem[props.displayfield as string];\n }\n } else {\n caption = selectedIndex + 1;\n }\n }\n this.updateState({\n items: items,\n selectedIndex: selectedIndex,\n caption: caption\n } as WmRatingState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset' :\n case 'datafield' :\n case 'displayfield' :\n case 'maxvalue':\n case 'datavalue' :\n this.prepareItems(this.state.props);\n if (name === 'datavalue') {\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as WmRatingState, 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 break;\n case 'readonly' :\n this.updateState({\n props: {\n disabled: $new\n }\n } as WmRatingState);\n break;\n }\n }\n\n changeValue(i: number) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (!props.readonly) {\n let value = this.state.items[i] ? this.state.items[i][props.datafield || '']: i;\n this.updateState({\n props: {\n datavalue: value\n }\n } as WmRatingState, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldValue]);\n });\n }\n }\n\n renderWidget(props: WmRatingProps) {\n const maxValue = props.maxvalue ? +props.maxvalue : 5;\n const arr = Array.from(Array(maxValue).keys());\n\n let selectedIconStyles = this.styles.selectedIcon;\n if (props.iconcolor) {\n selectedIconStyles = cloneDeep(this.styles.selectedIcon);\n selectedIconStyles.text.color = props.iconcolor;\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n {arr.map((v, i) => (\n (this.state.selectedIndex > -1 && i <= this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star\"\n iconsize={props.iconsize}\n styles={selectedIconStyles}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n {arr.map((v, i) => (\n (this.state.selectedIndex === -1 || i > this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star-border\"\n iconsize={props.iconsize}\n styles={this.styles.icon}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n { !!props.showcaptions ? (<Text style={this.styles.text}>{this.state.caption}</Text>) : null }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -227,7 +227,10 @@ export default class WmSelect extends BaseDatasetComponent {
227
227
  styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;
228
228
  }
229
229
  return /*#__PURE__*/React.createElement(View, {
230
- onLayout: isDropdown ? this.computePosition : () => {}
230
+ onLayout: event => {
231
+ isDropdown ? this.computePosition(event) : () => {};
232
+ this.handleLayout(event);
233
+ }
231
234
  }, this._background, this.renderSelect(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
232
235
  const items = this.state.dataItems;
233
236
  modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Dimensions","Text","View","ScrollView","find","isEmpty","isString","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","WmSelectState","constructor","args","_defineProperty","WmSelect","props","e","position","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","state","selectWidth","parseInt","isRTL","right","left","top","updateState","isOpened","onPress","event","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","select","createElement","style","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","ref","onLayout","nativeEvent","layout","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","disableTouchEffect","disabletoucheffect","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_this$state$props$cla","isDropdown","classname","includes","getStyle","dropdown","computePosition","_background","items","showModal","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, LayoutChangeEvent, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty, isString } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.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 { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { PopoverPosition } from '../../navigation/popover/popover.component';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n position={} as PopoverPosition;\n selectWidth:number = 0;\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.selectWidth as any;\n if (popoverwidth && isString(popoverwidth)) { \n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmSelectState);\n });\n };\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent,...this.state.position};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}, \n this._showSkeleton ? { justifyContent: 'space-between' } : {}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={(event) => {this.updateState({selectWidth : event.nativeEvent.layout.width} as any)}}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} \n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n let isDropdown = this.state.props.classname?.includes('select-dropdown');\n const styles = this.theme.mergeStyle( this.styles,this.theme.getStyle('select-dropdown'));\n if (isDropdown && this.state.selectWidth) {\n styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;\n }\n return (\n <View onLayout={isDropdown?this.computePosition:()=>{}}>\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={ isDropdown ?[{width : this.state.selectWidth},this.styles.dropdown]:{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} \n contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n isDropdown?styles:this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAqBC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACxE,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAEhD,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,8EAA8E;AACrF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,aAAa,QAAoC,8CAA8C;AACxG,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,mBAAmB,QAAQ,uDAAuD;AAC3F,SAASC,cAAc,QAAQ,wEAAwE;AAIvG,OAAO,MAAMC,aAAa,SAASV,gBAAgB,CAAgB;EAAAW,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAClD,CAAC,CAAC;IAAAA,eAAA,mBACG,KAAK;IAAAA,eAAA,wBACJ,EAAE;IAAAA,eAAA,mBACd,CAAC,CAAC;IAAAA,eAAA,sBACU,CAAC;EAAA;AACxB;AAEA,eAAe,MAAMC,QAAQ,SAASf,oBAAoB,CAA+C;EACvGY,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEjB,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIa,aAAa,CAAC,CAAC,CAAC;IAACG,eAAA,eAE3D,IAAI;IAAAA,eAAA,oBACe,IAAI;IAAAA,eAAA,yBACF,IAAI;IAAAA,eAAA,0BA0BXG,CAAoB,IAAK;MAClD,MAAMC,QAAQ,GAAG,CAAC,CAAoB;MACpC,MAAMC,gBAAgB,GAAG5B,UAAU,CAAC6B,GAAG,CAAC,QAAQ,CAAC;MACjD,IAAI,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,KAAK;QACjD,IAAIC,YAAY,GAAG,IAAI,CAACC,KAAK,CAACC,WAAkB;QAChD,IAAIF,YAAY,IAAIhC,QAAQ,CAACgC,YAAY,CAAC,EAAE;UAC1CA,YAAY,GAAGG,QAAQ,CAACH,YAAY,CAAC;QACvC;QACA,IAAI,CAACI,KAAK,GAAGf,QAAQ,CAACgB,KAAK,GAAGP,EAAE,GAAGT,QAAQ,CAACiB,IAAI,GAAGR,EAAE;QAErD,IAAIA,EAAE,GAAGE,YAAY,GAAGV,gBAAgB,CAACM,KAAK,EAAE;UAC9C,IAAI,CAACQ,KAAK,GACPf,QAAQ,CAACgB,KAAK,GAAGP,EAAE,GAAGF,KAAK,GAAGI,YAAY,GAC1CX,QAAQ,CAACiB,IAAI,GAAGR,EAAE,GAAGF,KAAK,GAAGI,YAAa;QAC/C;QACAX,QAAQ,CAACkB,GAAG,GAAGR,EAAE,GAAGF,MAAM;QAC1B,IAAI,CAACW,WAAW,CAAC;UAACnB,QAAQ,EAAEA;QAAQ,CAAkB,CAAC;MACzD,CAAC,CAAC;IACN,CAAC;IAAAJ,eAAA,sBAwBoB,MAAM;MACvB,IAAI,CAACuB,WAAW,CAAC;QAAEC,QAAQ,EAAE;MAAK,CAAkB,CAAC;IACzD,CAAC;IAAAxB,eAAA,eAEa,MAAM,CAAC,CAAC;EA3EtB;EAKAyB,OAAOA,CAACC,KAAU,EAAE;IAClB,IAAI,IAAI,CAACV,KAAK,CAACd,KAAK,CAACyB,QAAQ,EAAE;MAC7B;IACF;IACA,IAAI,CAAC,IAAI,CAACX,KAAK,CAACQ,QAAQ,EAAE;MACxB,IAAI,CAACI,WAAW,CAAC,CAAC;IACpB;IACA,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAACH,KAAK,EAAE,IAAI,CAACI,KAAK,CAAC,CAAC;EAC1D;EAEAC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IACzD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACtC,QAAOF,IAAI;MACT,KAAK,WAAW;QACd,IAAIG,KAAK,CAACF,IAAI,CAAC,IAAInD,OAAO,CAACmD,IAAI,CAAC,EAAE;UAChC,IAAI,CAACV,WAAW,CAAC;YACfrB,KAAK,EAAE;cACLkC,YAAY,EAAE,IAAI,CAACpB,KAAK,CAACd,KAAK,CAACmC,WAAW,IAAI;YAChD;UACF,CAAkB,CAAC;QACrB;IACJ;EACJ;EAsBAC,mBAAmBA,CAACC,OAAwB,EAAEC,MAAsB,EAAEC,YAA0B,EAAE;IAChG,MAAMC,CAAC,GAAG,IAAI,CAAC1B,KAAK,CAAC2B,YAAY;IACjCD,CAAC,CAACE,UAAU,GAAGJ,MAAM,CAACK,KAAK;IAC3BH,CAAC,CAACI,YAAY,GAAG;MAAC,GAAGN,MAAM,CAACO,YAAY;MAAC,GAAG,IAAI,CAAC/B,KAAK,CAACZ;IAAQ,CAAC;IAChEsC,CAAC,CAACH,OAAO,GAAGA,OAAO;IACnBG,CAAC,CAACM,OAAO,GAAG,IAAI;IAChBN,CAAC,CAACO,QAAQ,GAAG,IAAI;IACjBP,CAAC,CAACQ,OAAO,GAAG,MAAM;MAChB,IAAI,CAACC,IAAI,GAAG,MAAM,CAAC,CAAC;MACpB,IAAI,IAAI,CAACC,cAAc,IAAI,IAAI,CAACpC,KAAK,CAACd,KAAK,CAACkC,YAAY,KAAK,EAAE,EAAE;QAC/D,IAAI,CAACiB,QAAQ,CAAC,IAAI,CAACrC,KAAK,CAACd,KAAK,CAACkC,YAAY,CAAC;QAC5CkB,UAAU,CAAC,MAAM;UACf,IAAI,CAACpD,KAAK,CAACqD,iBAAiB,IAAI,IAAI,CAACrD,KAAK,CAACqD,iBAAiB,CAAC,CAAC;QAChE,CAAC,EAAE,CAAC,CAAC;MACP;MACA,IAAI,CAAC1B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;MACpD,IAAI,CAAC0B,QAAQ,CAAC;QAAEhC,QAAQ,EAAE,KAAK;QAAEmB,YAAY,EAAE,CAAC;MAAkB,CAAkB,CAAC;IACvF,CAAC;IACD,IAAI,CAACQ,IAAI,GAAG,MAAMV,YAAY,CAACgB,SAAS,CAAC,IAAI,CAACzC,KAAK,CAAC2B,YAAY,CAAC;IACjE,OAAOD,CAAC;EACV;EAQAgB,KAAKA,CAAA,EAAG;IAAA,IAAAC,eAAA;IACN,IAAI,aAAJ,IAAI,gBAAAA,eAAA,GAAJ,IAAI,CAAEC,SAAS,cAAAD,eAAA,eAAfA,eAAA,CAAiBD,KAAK,CAAC,CAAC;EAC1B;EAEQG,qBAAqBA,CAAA,EAAE;IAC7B,OAAOjE,cAAc,CAAC,IAAI,CAACkE,KAAK,EAAE,CAAC,CAAC,EAAsB;MACxD,GAAG,IAAI,CAACtB,MAAM,CAACuB,YAAY,CAACC;IAC9B,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAAA,EAAG;IACb,MAAM/D,KAAK,GAAG,IAAI,CAACc,KAAK,CAACd,KAAK;IAC9B,MAAMgE,MAAM,GAAG,IAAI,CAAC1B,MAAM,CAACwB,IAAW;IACtC;MAAA;MACE;AACN;AACA;AACA;MACMxF,KAAA,CAAA2F,aAAA,CAACxF,IAAI;QACHyF,KAAK,EAAE,CAAC,IAAI,CAAC5B,MAAM,CAACwB,IAAI,EAAE,IAAI,CAAChD,KAAK,CAACqD,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC7B,MAAM,CAAC8B,OAAO,EAAE;UAAEC,eAAe,EAAErE,KAAK,CAACyB,QAAQ,GAAG,IAAI,CAACa,MAAM,CAACgC,YAAY,CAACD,eAAe,GAAG,IAAI,CAAC/B,MAAM,CAACwB,IAAI,CAACO;QAAe,CAAC,EACvL,IAAI,CAACE,aAAa,GAAG;UAAEC,cAAc,EAAE;QAAgB,CAAC,GAAG,CAAC,CAAC,CAAE;QACjEC,GAAG,EAAGA,GAAG,IAAK;UACZ,IAAI,CAACpE,IAAI,GAAGoE,GAAW;QACzB,CAAE;QACFC,QAAQ,EAAGlD,KAAK,IAAK;UAAC,IAAI,CAACH,WAAW,CAAC;YAACN,WAAW,EAAGS,KAAK,CAACmD,WAAW,CAACC,MAAM,CAACnE;UAAK,CAAQ,CAAC;QAAA;MAAE,GAC5FuD,MAAM,CAACa,eAAe,gBAAIvG,KAAA,CAAA2F,aAAA,CAACxE,mBAAmB;QAC7CqF,KAAK,EAAEd,MAAM,CAACa,eAAgB;QAC9B3E,QAAQ,EAAE8D,MAAM,CAACe,kBAAkB,IAAI,QAAS;QAChDC,IAAI,EAAEhB,MAAM,CAACiB,cAAc,IAAI,SAAU;QACzCC,MAAM,EAAElB,MAAM,CAACmB,gBAAgB,IAAI,WAAY;QAC/CC,UAAU,EAAEpB,MAAM,CAACqB,oBAAqB;QACxCnB,KAAK,EAAE;UAACoB,YAAY,EAAE,IAAI,CAAChD,MAAM,CAACwB,IAAI,CAACwB;QAAY;MAAE,CACjC,CAAC,GAAI,IAAI,EAC9B,IAAI,CAACf,aAAa,KAAK,IAAI,CAACzD,KAAK,CAACd,KAAK,CAACkC,YAAY,IAAIlC,KAAK,CAACmC,WAAW,CAAC,GAAE,IAAI,CAACwB,qBAAqB,CAAC,CAAC,gBAAGrF,KAAA,CAAA2F,aAAA,CAACzF,IAAI,EAAA+G,QAAA;QAC/GrB,KAAK,EAAE,CAAC,IAAI,CAAC5B,MAAM,CAACkD,IAAI,EACtB,IAAI,CAAC1E,KAAK,CAACd,KAAK,CAACkC,YAAY,GAAG,CAAC,CAAC,GAAG;UAACuD,KAAK,EAAE,IAAI,CAACnD,MAAM,CAACoD,eAAe,CAACD;QAAK,CAAC,CAAE;QACnFhB,GAAG,EAAGA,GAAG,IAAK;UACZ,IAAI,CAACf,SAAS,GAAGe,GAAG;QACtB;MAAE,GACE,IAAI,CAACkB,oBAAoB,CAAC,CAAC,EAC3BnG,qBAAqB,CACvBD,uBAAuB,CAACqG,MAAM,EAC9B5F,KACF,CAAC;QACDuB,OAAO,EAAE,IAAI,CAACA,OAAO,CAACsE,IAAI,CAAC,IAAI;MAAE,IAChC,IAAI,CAAC/E,KAAK,CAACd,KAAK,CAACkC,YAAY,IAAIlC,KAAK,CAACmC,WAAW,IAAI,GACnD,CAAC,eACP7D,KAAA,CAAA2F,aAAA,CAAC7E,QAAQ;QACPkD,MAAM,EAAE,IAAI,CAACiC,aAAa,GAAG,IAAI,CAACjC,MAAM,CAACwD,mBAAmB,CAAChC,IAAI,GAAG,IAAI,CAACxB,MAAM,CAACyD,WAAY;QAC5FC,SAAS,EAAE,2BAA4B;QACvCC,KAAK,EAAE,IAAI,CAAC1E,OAAO,CAACsE,IAAI,CAAC,IAAI,CAAE;QAC/BK,IAAI,EAAElG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkG;MAAK,CACnB,CACC;IAAC;EAEX;EAEAC,UAAUA,CAACC,IAAS,EAAE;IACpB,MAAMC,GAAG,GAAG,IAAI,CAACvF,KAAK,CAACd,KAAK,CAACsG,SAAS,KAAK,YAAY,GAAIF,IAAI,CAACG,UAAU,GAAGH,IAAI,CAACE,SAAS;IAC3F,OAAO,IAAI,CAACxF,KAAK,CAACd,KAAK,CAACwG,SAAS,KAAKH,GAAG;EAC3C;EAEAI,YAAYA,CAACL,IAAS,EAAEM,aAAuB,EAAE;IAC/C,IAAI,CAACxD,cAAc,GAAG,KAAK;IAC3B,IAAI,CAACyD,QAAQ,CAACD,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC5F,KAAK,CAACd,KAAK,CAACsG,SAAS,KAAK,YAAY,GAAIF,IAAI,CAACG,UAAU,GAAGH,IAAI,CAACE,SAAS,CAAC;IACnH,IAAI,CAACrD,IAAI,CAAC,CAAC;EACb;EAEA2D,gBAAgBA,CAACR,IAAS,EAAES,KAAa,EAAEH,aAAsB,EAAEI,MAAe,EAAE;IAClF,IAAIC,QAAQ,GAAG,IAAI,CAACZ,UAAU,CAACC,IAAI,CAAC;IACpC,oBACE9H,KAAA,CAAA2F,aAAA,CAAC5E,QAAQ,EAAAkG,QAAA,KAAK,IAAI,CAACyB,qBAAqB,CAAC,YAAY,GAACH,KAAK,CAAC;MAAEZ,KAAK,EAAE,IAAI,CAACQ,YAAY,CAACZ,IAAI,CAAC,IAAI,EAAEO,IAAI,EAAEM,aAAa,CAAE;MACvHO,kBAAkB,EAAE;QAAC,GAAGzH,qBAAqB,CAC3CD,uBAAuB,CAACqG,MAAM,EAC9B;UAAC,GAAG,IAAI,CAAC5F,KAAK;UAAEkH,QAAQ,EAAE,IAAI,CAACpG,KAAK,CAACQ;QAAQ,CAC/C;MAAC,CAAE;MACH6F,kBAAkB,EAAE,IAAI,CAACrG,KAAK,CAACd,KAAK,CAACoH;IAAmB,iBACtD9I,KAAA,CAAA2F,aAAA,CAACxF,IAAI;MAACyF,KAAK,EAAE,CAAC,IAAI,CAAC5B,MAAM,CAAC+E,UAAU,EAAEP,MAAM,GAAI,IAAI,CAACxE,MAAM,CAACgF,cAAc,GAAI,IAAI,EAAEP,QAAQ,GAAG,IAAI,CAACzE,MAAM,CAACiF,YAAY,GAAG,IAAI;IAAG,gBAC/HjJ,KAAA,CAAA2F,aAAA,CAACzF,IAAI,EAAA+G,QAAA,KAAM,IAAI,CAACiC,oBAAoB,CAAC,OAAO,GAACX,KAAK,CAAC;MAAE3C,KAAK,EAAE,CAAC,IAAI,CAAC5B,MAAM,CAACmF,cAAc,EAAG;QAAChC,KAAK,EAAEiB,aAAa,GAAG,IAAI,CAACpE,MAAM,CAACoD,eAAe,CAACD,KAAK,GAAGsB,QAAQ,GAAG,IAAI,CAACzE,MAAM,CAACoF,gBAAgB,CAACjC,KAAK,GAAG,IAAI,CAACnD,MAAM,CAACmF,cAAc,CAAChC;MAAK,CAAC;IAAE,IACtOiB,aAAa,GAAG,IAAI,CAAC5F,KAAK,CAACd,KAAK,CAACmC,WAAW,GAAIiE,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YACrE,CAAC,eACPtJ,KAAA,CAAA2F,aAAA,CAAC/E,MAAM;MAAC2I,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,GAAGjB,KAAK,CAAE;MAACb,SAAS,EAAC,aAAa;MAAC1D,MAAM,EAAE,IAAI,CAACsB,KAAK,CAACmE,UAAU,CAAC,IAAI,CAACzF,MAAM,CAAC0F,SAAS,EAAE;QAC5HlE,IAAI,EAAE;UACJmE,OAAO,EAAE,CAACvB,aAAa,IAAIK,QAAQ,GAAI,CAAC,GAAG;QAC7C;MACF,CAAC;IAAE,CAAS,CACR,CACE,CAAC;EAEf;EAEAmB,uBAAuBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAACpH,KAAK,CAACqH,SAAS,IAAI,IAAI,CAACrH,KAAK,CAACqH,SAAS,CAACC,MAAM,IAAI,IAAI,CAAClF,cAAc,EAAE;MAC9E,MAAMqE,YAAY,GAAG5I,IAAI,CAAC,IAAI,CAACmC,KAAK,CAACqH,SAAS,EAAG/B,IAAI,IAAKA,IAAI,CAACW,QAAQ,CAAC;MACxEQ,YAAY,IAAI,IAAI,CAAClG,WAAW,CAAC;QAC/BrB,KAAK,EAAE;UACPkC,YAAY,EAAEqF,YAAY,CAACI,UAAU,IAAIJ,YAAY,CAACK,YAAY,IAAI;QACxE;MACA,CAAkB,CAAC;IACrB;EACF;EAEAS,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACH,uBAAuB,CAAC,CAAC;EAChC;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACJ,uBAAuB,CAAC,CAAC;EAChC;EAEAK,YAAYA,CAACvI,KAAoB,EAAE;IAAA,IAAAwI,qBAAA;IACjC,IAAIC,UAAU,IAAAD,qBAAA,GAAG,IAAI,CAAC1H,KAAK,CAACd,KAAK,CAAC0I,SAAS,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BG,QAAQ,CAAC,iBAAiB,CAAC;IACxE,MAAMrG,MAAM,GAAG,IAAI,CAACsB,KAAK,CAACmE,UAAU,CAAE,IAAI,CAACzF,MAAM,EAAC,IAAI,CAACsB,KAAK,CAACgF,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAIH,UAAU,IAAI,IAAI,CAAC3H,KAAK,CAACC,WAAW,EAAE;MACtCuB,MAAM,CAACO,YAAY,CAACpC,KAAK,GAAG,IAAI,CAAC6B,MAAM,CAACuG,QAAQ,CAACpI,KAAK,IAAI,IAAI,CAACK,KAAK,CAACC,WAAW;IACpF;IACA,oBACEzC,KAAA,CAAA2F,aAAA,CAACxF,IAAI;MAACiG,QAAQ,EAAE+D,UAAU,GAAC,IAAI,CAACK,eAAe,GAAC,MAAI,CAAC;IAAE,GACpD,IAAI,CAACC,WAAW,EAChB,IAAI,CAAChF,YAAY,CAAC,CAAC,EACnB,IAAI,CAACjD,KAAK,CAACQ,QAAQ,gBAClBhD,KAAA,CAAA2F,aAAA,CAAC9E,aAAa,QACVoD,YAA0B,IAAK;MAC/B,MAAMyG,KAAK,GAAG,IAAI,CAAClI,KAAK,CAACqH,SAAS;MAClC5F,YAAY,CAAC0G,SAAS,CACpB,IAAI,CAAC7G,mBAAmB,cACtB9D,KAAA,CAAA2F,aAAA,CAACvF,UAAU;QAACwF,KAAK,EAAGuE,UAAU,GAAE,CAAC;UAAChI,KAAK,EAAG,IAAI,CAACK,KAAK,CAACC;QAAW,CAAC,EAAC,IAAI,CAACuB,MAAM,CAACuG,QAAQ,CAAC,GAAC;UAACpI,KAAK,EAAE,MAAM;UAAEyI,SAAS,EAAE5J,cAAc,CAAC6J,QAAQ,CAACC;QAAc,CAAE;QAC3JC,qBAAqB,EAAE,IAAI,CAAC/G,MAAM,CAACgH;MAAgB,GAChDtJ,KAAK,CAACmC,WAAW,gBAChB7D,KAAA,CAAA2F,aAAA,CAACxF,IAAI;QAAC8K,GAAG,EAAEvJ,KAAK,CAAC8B,IAAI,GAAG,cAAe;QAACoC,KAAK,EAAE,IAAI,CAAC5B,MAAM,CAACoD;MAAgB,GACxE,IAAI,CAACkB,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CACrC,CAAC,GACL,IAAI,EACLoC,KAAK,IAAIA,KAAK,CAACQ,GAAG,CAAC,CAACpD,IAAS,EAAES,KAAa,kBAC3CvI,KAAA,CAAA2F,aAAA,CAACxF,IAAI;QAAC8K,GAAG,EAAEnD,IAAI,CAACmD;MAAI,GACjB,IAAI,CAAC3C,gBAAgB,CAACR,IAAI,EAAES,KAAK,EAAE,KAAK,EAAEA,KAAK,KAAKmC,KAAK,CAACZ,MAAM,GAAG,CAAC,CACjE,CACP,CACO,CAAC,EACbK,UAAU,GAACnG,MAAM,GAAC,IAAI,CAACA,MAAM,EAC7BC,YACF,CACF,CAAC;MACD,OAAO,IAAI;IACb,CACa,CAAC,GACd,IACA,CAAC;EAEX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","Dimensions","Text","View","ScrollView","find","isEmpty","isString","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","WmSelectState","constructor","args","_defineProperty","WmSelect","props","e","position","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","state","selectWidth","parseInt","isRTL","right","left","top","updateState","isOpened","onPress","event","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","select","createElement","style","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","ref","onLayout","nativeEvent","layout","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","disableTouchEffect","disabletoucheffect","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_this$state$props$cla","isDropdown","classname","includes","getStyle","dropdown","computePosition","handleLayout","_background","items","showModal","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, LayoutChangeEvent, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty, isString } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.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 { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { PopoverPosition } from '../../navigation/popover/popover.component';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n position={} as PopoverPosition;\n selectWidth:number = 0;\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.selectWidth as any;\n if (popoverwidth && isString(popoverwidth)) { \n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmSelectState);\n });\n };\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent,...this.state.position};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}, \n this._showSkeleton ? { justifyContent: 'space-between' } : {}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={(event) => {this.updateState({selectWidth : event.nativeEvent.layout.width} as any)}}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} \n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n let isDropdown = this.state.props.classname?.includes('select-dropdown');\n const styles = this.theme.mergeStyle( this.styles,this.theme.getStyle('select-dropdown'));\n if (isDropdown && this.state.selectWidth) {\n styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;\n }\n return (\n <View \n onLayout={(event) => {\n isDropdown ? this.computePosition(event) : ()=>{}\n this.handleLayout(event)\n }}\n >\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={ isDropdown ?[{width : this.state.selectWidth},this.styles.dropdown]:{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} \n contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n isDropdown?styles:this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -433,7 +433,8 @@ export default class WmSlider extends BaseDatasetComponent {
433
433
  renderWidget(props) {
434
434
  const sDataValue = this.getScaledDataValue();
435
435
  return /*#__PURE__*/React.createElement(View, {
436
- style: this.styles.root
436
+ style: this.styles.root,
437
+ onLayout: event => this.handleLayout(event)
437
438
  }, this._background, !props.showmarkers && !props.showtooltip ? this.renderOldMarkerStyle(props) : null, this.renderTracks(props), /*#__PURE__*/React.createElement(View, {
438
439
  style: {
439
440
  flexDirection: 'row'
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","Dimensions","debounce","isNil","isArray","isString","last","isEqual","Gesture","GestureDetector","BackgroundComponent","WmTooltip","WmSliderProps","DEFAULT_CLASS","isDefined","isWebPreviewMode","BaseDatasetComponent","BaseDatasetState","AccessibilityWidgetType","getAccessibilityProps","SCREEN_WIDTH","get","width","WmSliderState","constructor","args","_defineProperty","Scale","getInstanceWithTicks","ticks","scale","getTickIndex","value","parseInt","markIndex","i","findIndex","v","markValue","length","getMinTick","getMaxTick","getTick","clamp","index","transform","min","max","_this$ticks$","_last","thisMin","thisMax","factor","forEach","Math","round","displayfield","datafield","dataitem","WmSlider","props","Value","Pan","gestureType","dataValue","getScaledDataValue","isRangeSlider","state","range","oldThumbValue","thumbDataValue","valueLowerThanHighThumb","valueGreaterThanLowThumb","dataset","map","updateState","datavalue","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","height","initScale","computePosition","configureGesture","trackGesture","knobGesture","highKnobGesture","getValueFromGesture","positionX","_this$scale","uiScale","getPositionFromValue","_this$uiScale","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","onSliderChange","getDataValue","d","_this$scale2","find","t","_this$scale$ticks","_this$scale$ticks$mid","mid","floor","_this$scale$getTick","initNumericSlider","minValue","minvalue","maxValue","maxvalue","step","nextMark","push","onPropertyChange","name","$new","$old","datatype","initialized","invokeEventCallback","onDataItemsUpdate","_this$getScaledDataVa","_this$state$dataItems","_state$track","dataItems","displayexp","from","_this$position","position","setValue","isNaN","_this$highPosition","highPosition","_this$position2","_this$scale$getMinTic","_this$position3","_this$scale$getMaxTic","_this$highPosition2","lowPosition","getTooltipLabel","initialValue","type","_this$scale3","tooltipValue","updatedPositionInPx","Number","JSON","stringify","tick","getToolTipExpression","_tick$dataitem","dataObject","componentDidMount","renderToolTips","_this$position4","sDataValue","createElement","Fragment","showTooltip","showtooltip","text","_value","tooltipStyle","translateX","styles","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle","direction","tooltipdirection","style","thumb","accessible","accessibilityLabel","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","renderOldMarkerStyle","_this$scale4","_this$scale5","_last2","_this$scale6","flexDirection","justifyContent","_extends","getTestProps","minimumValue","maximumValue","renderMarkers","_this$state$track","markWidth","stepwiseLeft","labelText","key","markerWrapper","bottom","markerLabel","markerLabelStyle","mark","borderRadius","markerStyle","renderTracks","_this$state$track2","activeOpacity","trackStyle","onLayout","onLayoutChange","SLIDER","maximumTrack","minimumTrack","interpolate","inputRange","outputRange","minimumTrackStyle","activeTrackStyle","maximumTrackStyle","renderWidget","root","_background","showmarkers"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing, Dimensions } from 'react-native';\nimport { debounce, isNumber, isNil, isArray, isString, last, isEqual } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isDefined, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport type SliderGestureType = 'track' | 'lowThumb' | 'highThumb';\n\nconst SCREEN_WIDTH = Dimensions.get(\"screen\").width;\n\nexport class WmSliderState extends BaseDatasetState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\ninterface Tick {\n displayfield: string;\n markValue: number;\n datafield: any;\n dataitem: any;\n}\n\nclass Scale {\n\n public ticks = [] as Tick[];\n\n static getInstanceWithTicks(ticks: Tick[]) {\n const scale = new Scale();\n scale.ticks = [...ticks];\n return scale;\n }\n\n private constructor() {\n \n }\n\n public getTickIndex(value: number) {\n if (isString(value)) {\n value = parseInt(value);\n }\n let markIndex = 0;\n const i = this.ticks.findIndex((v, i) => v.markValue >= value);\n if (i === 0) {\n markIndex = 0;\n } else if (i < 0 || i === this.ticks.length - 1) {\n markIndex = this.ticks.length - 1;\n } else if ((value - this.ticks[i - 1].markValue) < (this.ticks[i].markValue - this.ticks[i - 1].markValue)/2) {\n markIndex = i - 1;\n } else {\n markIndex = i;\n }\n return markIndex;\n }\n\n public getMinTick() {\n return this.ticks[0];\n }\n\n public getMaxTick() {\n return last(this.ticks) || {} as Tick;\n }\n\n public getTick(value: number) {\n return this.ticks[this.getTickIndex(value)];\n}\n\n public clamp(value: number) {\n const index = this.getTickIndex(value);\n return this.ticks[index].markValue; \n }\n\n public transform(min: number, max: number) {\n const thisMin = (this.ticks ? this.ticks[0]?.markValue : 0) || 0;\n const thisMax = last(this.ticks)?.markValue;\n const factor = thisMax ? (max - min)/(thisMax - thisMin) : 1;\n const ticks = [] as Tick[];\n this.ticks.forEach((v, i) => {\n const markValue = Math.round(min + (v.markValue - this.ticks[0].markValue) * factor)\n ticks[i] = {\n displayfield: '' + markValue,\n markValue: markValue,\n datafield: markValue,\n dataitem: markValue\n };\n });\n return Scale.getInstanceWithTicks(ticks);\n }\n}\n\nexport default class WmSlider extends BaseDatasetComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position: any = new Animated.Value(0);\n private highPosition: any = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n private highKnobGesture = Gesture.Pan();\n private scale: Scale = null as any;\n private uiScale: Scale = null as any;\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.initScale();\n this.configureGesture(this.trackGesture, 'track');\n this.configureGesture(this.knobGesture, 'lowThumb');\n this.configureGesture(this.highKnobGesture, 'highThumb');\n }\n\n getValueFromGesture(positionX: number) {\n return this.scale?.ticks[this.uiScale.getTickIndex(positionX)].markValue || 0;\n }\n\n getPositionFromValue(value: number) {\n return this.uiScale?.ticks[this.scale.getTickIndex(value)]?.markValue;\n }\n\n configureGesture(gesture: PanGesture, gestureType: SliderGestureType) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value, gestureType);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onSliderChange(value, gestureType);\n this.forceUpdate();\n }\n })\n }\n\n getScaledDataValue() {\n let dataValue = this.state.props.datavalue || this.getDataValue();\n if (dataValue && this.scale) {\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale?.ticks.find(t => t.datafield === d)?.markValue);\n }\n return dataValue;\n }\n\n getDataValue() {\n let dataValue = this.props.datavalue;\n if (isNil(this.props.datavalue)) {\n const mid = Math.floor(this.scale.ticks.length / 2);\n return mid > 0 ? \n [this.scale.ticks[mid - 1]?.datafield || 0,\n this.scale.ticks[mid]?.datafield || 100]\n : [];\n }\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale.getTick(d)?.datafield);\n }\n\n initNumericSlider() {\n const dataset = [];\n const minValue = this.state.props.minvalue;\n const maxValue = this.state.props.maxvalue;\n const step = this.state.props.step;\n if (isDefined(minValue) \n && isDefined(maxValue)\n && isDefined(step)) {\n let nextMark = minValue;\n while (nextMark <= maxValue) {\n dataset.push(nextMark);\n nextMark += step || 1;\n }\n this.updateState({\n props: {\n dataset: dataset\n }\n } as WmSliderState);\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'maxvalue':\n case 'minvalue': \n case 'step': \n if (this.state.props.datatype === 'number' && this.initialized) {\n this.initNumericSlider();\n }\n case 'datavalue':\n if (!isEqual($new, $old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n break;\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.initScale();\n this.computePosition(this.getScaledDataValue()?.[0] || 10, \"track\");\n }\n\n onSliderChange = debounce((value: number, gestureType: SliderGestureType) => {\n const dataValue = this.getScaledDataValue();\n const isRangeSlider = this.state.props.range && isArray(dataValue);\n\n // * thumb value for low or high\n const oldThumbValue =\n gestureType === 'lowThumb'\n ? dataValue || dataValue?.[0]\n : dataValue?.[1];\n\n let thumbDataValue = isRangeSlider\n ? [dataValue[0], dataValue[1]]\n : [value];\n if (isRangeSlider) {\n if (gestureType === 'lowThumb') {\n const valueLowerThanHighThumb =\n value > dataValue?.[1] ? dataValue?.[1] : value;\n\n thumbDataValue = [valueLowerThanHighThumb, dataValue[1]];\n } else if (gestureType === 'highThumb') {\n const valueGreaterThanLowThumb =\n value < dataValue[0] ? dataValue?.[0] : value;\n\n thumbDataValue = [dataValue[0], valueGreaterThanLowThumb];\n } else if (dataValue[1] && value > dataValue[1]) {\n thumbDataValue = [dataValue[0], value];\n } else {\n thumbDataValue = [value, dataValue[1]];\n }\n }\n\n // * new thumb value is different from old value\n const dataset = thumbDataValue.map(v => this.scale.getTick(v).datafield);\n this.updateState({\n props: {\n datavalue: dataset.length > 1 ? dataset : dataset[0]\n },\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange('datavalue', thumbDataValue, oldThumbValue);\n }, 200);\n\n initScale() {\n const props = this.state.props;\n const state = this.state;\n this.scale = Scale.getInstanceWithTicks(\n this.state.dataItems?.map((d: any, i: number) => ({\n displayfield: d.displayexp || d.displayfield,\n markValue: i + 1,\n datafield: d.datafield,\n dataitem: d \n }))\n );\n const width = state.track?.width || 0;\n this.uiScale = this.scale.transform(0, width);\n }\n\n computePosition(from: number, gestureType: SliderGestureType) {\n const state = this.state;\n const datavalue = this.getScaledDataValue();\n \n // * single thumb slider\n if (!state.props.range) {\n const value = this.getPositionFromValue(from);\n this.position?.setValue(isNaN(value) ? 0 : value);\n return;\n }\n\n if (gestureType === 'highThumb') {\n const value = this.getPositionFromValue(Math.max(datavalue[0], from));\n this.highPosition?.setValue(value);\n } else if (gestureType === 'lowThumb') {\n const value = this.getPositionFromValue(Math.min(from, datavalue[1]));\n this.position?.setValue(value);\n } else {\n /*\n * gestureType: track\n * initial position for low and high thumb\n */\n const lowPosition = this.getPositionFromValue(datavalue?.[0] || this.scale.getMinTick()?.datafield);\n this.position?.setValue(lowPosition || 0);\n const highPosition = this.getPositionFromValue(datavalue?.[1] || this.scale.getMaxTick()?.datafield);\n this.highPosition?.setValue(highPosition || 0);\n }\n }\n\n getTooltipLabel(value: any, initialValue: any, type: 'lowThumb' | 'highThumb') {\n const props = this.props;\n let tooltipValue = initialValue;\n const updatedPositionInPx = Number(JSON.stringify(value));\n\n if (updatedPositionInPx) {\n tooltipValue = this.scale.ticks[this.uiScale.getTickIndex(updatedPositionInPx)].markValue;\n }\n const tick = this.scale?.getTick(tooltipValue);\n // * getting custom tooltip label\n if (tick && props.getToolTipExpression && this.initialized) {\n return props.getToolTipExpression(tick.dataitem?.dataObject);\n }\n return tick?.displayfield;\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => {\n this.initScale();\n this.computePosition(this.getScaledDataValue()[0], 'track');\n });\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n if (this.state.props.datatype === 'number') {\n this.initNumericSlider();\n }\n }\n\n renderToolTips(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <>\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.position?._value,\n sDataValue[0],\n 'lowThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n ]}\n accessible={true}\n accessibilityLabel={(isRangeSlider && this.highPosition) ? 'Low thumb' : 'Thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n ></BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n {isRangeSlider && this.highPosition ? (\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.highPosition._value,\n sDataValue[1],\n 'highThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.highKnobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n }\n ]}\n accessible={true}\n accessibilityLabel={'High thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n ) : null}\n </>\n );\n }\n\n renderOldMarkerStyle(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <View\n style={{ flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text\n {...this.getTestProps('min')}\n style={[this.styles.text, this.styles.minimumValue]}\n >\n {this.scale?.ticks[0]?.displayfield}\n </Text>\n {isRangeSlider ? (\n <></>\n ) : (\n <Text\n {...this.getTestProps('value')}\n style={[this.styles.text, this.styles.value]}\n >\n {this.scale?.ticks.find(t => t.datafield === props.datavalue)?.displayfield}\n </Text>\n )}\n <Text\n {...this.getTestProps('max')}\n style={[this.styles.text, this.styles.maximumValue]}\n >\n {last(this.scale?.ticks)?.displayfield}\n </Text>\n </View>\n );\n }\n\n renderMarkers(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (<View style={{ flexDirection: 'row' }}>\n <View>\n {width ? this.scale.ticks.map((t, i) => {\n const markWidth = 10;\n const stepwiseLeft = this.getPositionFromValue(t.markValue);\n const labelText = t.displayfield;\n return (\n <View\n key={i}\n style={[\n this.styles.markerWrapper,\n {\n left: stepwiseLeft,\n bottom: markWidth / 2,\n },\n ]}\n >\n <Text\n style={[\n this.styles.markerLabel,\n {\n bottom: markWidth / 2 + 10,\n },\n this.styles.markerLabelStyle,\n i === 0 ? this.styles.minimumValue : null,\n i === this.scale.ticks.length - 1 ? this.styles.maximumValue : null,\n ]}\n >\n {labelText}\n </Text>\n <View\n style={[\n this.styles.mark,\n {\n width: markWidth,\n height: markWidth,\n borderRadius: markWidth,\n },\n this.styles.markerStyle,\n ]}\n />\n </View>\n );\n }) : null}\n </View>\n </View>);\n }\n\n renderTracks(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1}\n style={[this.styles.track, this.styles.trackStyle]}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}\n {...getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)}\n >\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.maximumTrack\n : this.styles.minimumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0],\n }),\n },\n ],\n },\n this.styles.minimumTrackStyle,\n ]}\n ></Animated.View>\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.minimumTrack\n : this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.activeTrackStyle,\n ]}\n ></Animated.View>\n {isRangeSlider && this.highPosition ? (\n <Animated.View\n style={[\n this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.maximumTrackStyle,\n ]}\n />\n ) : null}\n </TouchableOpacity>\n </GestureDetector>\n );\n }\n\n renderWidget(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n return (\n <View style={this.styles.root}>\n {this._background}\n {!props.showmarkers && !props.showtooltip? this.renderOldMarkerStyle(props) : null}\n {this.renderTracks(props)}\n <View style={{ flexDirection: 'row' }}>\n {props.showmarkers ? this.renderMarkers(props) : null}\n {this.renderToolTips(props)}\n </View>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","Dimensions","debounce","isNil","isArray","isString","last","isEqual","Gesture","GestureDetector","BackgroundComponent","WmTooltip","WmSliderProps","DEFAULT_CLASS","isDefined","isWebPreviewMode","BaseDatasetComponent","BaseDatasetState","AccessibilityWidgetType","getAccessibilityProps","SCREEN_WIDTH","get","width","WmSliderState","constructor","args","_defineProperty","Scale","getInstanceWithTicks","ticks","scale","getTickIndex","value","parseInt","markIndex","i","findIndex","v","markValue","length","getMinTick","getMaxTick","getTick","clamp","index","transform","min","max","_this$ticks$","_last","thisMin","thisMax","factor","forEach","Math","round","displayfield","datafield","dataitem","WmSlider","props","Value","Pan","gestureType","dataValue","getScaledDataValue","isRangeSlider","state","range","oldThumbValue","thumbDataValue","valueLowerThanHighThumb","valueGreaterThanLowThumb","dataset","map","updateState","datavalue","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","height","initScale","computePosition","configureGesture","trackGesture","knobGesture","highKnobGesture","getValueFromGesture","positionX","_this$scale","uiScale","getPositionFromValue","_this$uiScale","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","onSliderChange","getDataValue","d","_this$scale2","find","t","_this$scale$ticks","_this$scale$ticks$mid","mid","floor","_this$scale$getTick","initNumericSlider","minValue","minvalue","maxValue","maxvalue","step","nextMark","push","onPropertyChange","name","$new","$old","datatype","initialized","invokeEventCallback","onDataItemsUpdate","_this$getScaledDataVa","_this$state$dataItems","_state$track","dataItems","displayexp","from","_this$position","position","setValue","isNaN","_this$highPosition","highPosition","_this$position2","_this$scale$getMinTic","_this$position3","_this$scale$getMaxTic","_this$highPosition2","lowPosition","getTooltipLabel","initialValue","type","_this$scale3","tooltipValue","updatedPositionInPx","Number","JSON","stringify","tick","getToolTipExpression","_tick$dataitem","dataObject","componentDidMount","renderToolTips","_this$position4","sDataValue","createElement","Fragment","showTooltip","showtooltip","text","_value","tooltipStyle","translateX","styles","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle","direction","tooltipdirection","style","thumb","accessible","accessibilityLabel","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","renderOldMarkerStyle","_this$scale4","_this$scale5","_last2","_this$scale6","flexDirection","justifyContent","_extends","getTestProps","minimumValue","maximumValue","renderMarkers","_this$state$track","markWidth","stepwiseLeft","labelText","key","markerWrapper","bottom","markerLabel","markerLabelStyle","mark","borderRadius","markerStyle","renderTracks","_this$state$track2","activeOpacity","trackStyle","onLayout","onLayoutChange","SLIDER","maximumTrack","minimumTrack","interpolate","inputRange","outputRange","minimumTrackStyle","activeTrackStyle","maximumTrackStyle","renderWidget","root","event","handleLayout","_background","showmarkers"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing, Dimensions } from 'react-native';\nimport { debounce, isNumber, isNil, isArray, isString, last, isEqual } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isDefined, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport type SliderGestureType = 'track' | 'lowThumb' | 'highThumb';\n\nconst SCREEN_WIDTH = Dimensions.get(\"screen\").width;\n\nexport class WmSliderState extends BaseDatasetState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\ninterface Tick {\n displayfield: string;\n markValue: number;\n datafield: any;\n dataitem: any;\n}\n\nclass Scale {\n\n public ticks = [] as Tick[];\n\n static getInstanceWithTicks(ticks: Tick[]) {\n const scale = new Scale();\n scale.ticks = [...ticks];\n return scale;\n }\n\n private constructor() {\n \n }\n\n public getTickIndex(value: number) {\n if (isString(value)) {\n value = parseInt(value);\n }\n let markIndex = 0;\n const i = this.ticks.findIndex((v, i) => v.markValue >= value);\n if (i === 0) {\n markIndex = 0;\n } else if (i < 0 || i === this.ticks.length - 1) {\n markIndex = this.ticks.length - 1;\n } else if ((value - this.ticks[i - 1].markValue) < (this.ticks[i].markValue - this.ticks[i - 1].markValue)/2) {\n markIndex = i - 1;\n } else {\n markIndex = i;\n }\n return markIndex;\n }\n\n public getMinTick() {\n return this.ticks[0];\n }\n\n public getMaxTick() {\n return last(this.ticks) || {} as Tick;\n }\n\n public getTick(value: number) {\n return this.ticks[this.getTickIndex(value)];\n}\n\n public clamp(value: number) {\n const index = this.getTickIndex(value);\n return this.ticks[index].markValue; \n }\n\n public transform(min: number, max: number) {\n const thisMin = (this.ticks ? this.ticks[0]?.markValue : 0) || 0;\n const thisMax = last(this.ticks)?.markValue;\n const factor = thisMax ? (max - min)/(thisMax - thisMin) : 1;\n const ticks = [] as Tick[];\n this.ticks.forEach((v, i) => {\n const markValue = Math.round(min + (v.markValue - this.ticks[0].markValue) * factor)\n ticks[i] = {\n displayfield: '' + markValue,\n markValue: markValue,\n datafield: markValue,\n dataitem: markValue\n };\n });\n return Scale.getInstanceWithTicks(ticks);\n }\n}\n\nexport default class WmSlider extends BaseDatasetComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position: any = new Animated.Value(0);\n private highPosition: any = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n private highKnobGesture = Gesture.Pan();\n private scale: Scale = null as any;\n private uiScale: Scale = null as any;\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.initScale();\n this.configureGesture(this.trackGesture, 'track');\n this.configureGesture(this.knobGesture, 'lowThumb');\n this.configureGesture(this.highKnobGesture, 'highThumb');\n }\n\n getValueFromGesture(positionX: number) {\n return this.scale?.ticks[this.uiScale.getTickIndex(positionX)].markValue || 0;\n }\n\n getPositionFromValue(value: number) {\n return this.uiScale?.ticks[this.scale.getTickIndex(value)]?.markValue;\n }\n\n configureGesture(gesture: PanGesture, gestureType: SliderGestureType) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value, gestureType);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onSliderChange(value, gestureType);\n this.forceUpdate();\n }\n })\n }\n\n getScaledDataValue() {\n let dataValue = this.state.props.datavalue || this.getDataValue();\n if (dataValue && this.scale) {\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale?.ticks.find(t => t.datafield === d)?.markValue);\n }\n return dataValue;\n }\n\n getDataValue() {\n let dataValue = this.props.datavalue;\n if (isNil(this.props.datavalue)) {\n const mid = Math.floor(this.scale.ticks.length / 2);\n return mid > 0 ? \n [this.scale.ticks[mid - 1]?.datafield || 0,\n this.scale.ticks[mid]?.datafield || 100]\n : [];\n }\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale.getTick(d)?.datafield);\n }\n\n initNumericSlider() {\n const dataset = [];\n const minValue = this.state.props.minvalue;\n const maxValue = this.state.props.maxvalue;\n const step = this.state.props.step;\n if (isDefined(minValue) \n && isDefined(maxValue)\n && isDefined(step)) {\n let nextMark = minValue;\n while (nextMark <= maxValue) {\n dataset.push(nextMark);\n nextMark += step || 1;\n }\n this.updateState({\n props: {\n dataset: dataset\n }\n } as WmSliderState);\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'maxvalue':\n case 'minvalue': \n case 'step': \n if (this.state.props.datatype === 'number' && this.initialized) {\n this.initNumericSlider();\n }\n case 'datavalue':\n if (!isEqual($new, $old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n break;\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.initScale();\n this.computePosition(this.getScaledDataValue()?.[0] || 10, \"track\");\n }\n\n onSliderChange = debounce((value: number, gestureType: SliderGestureType) => {\n const dataValue = this.getScaledDataValue();\n const isRangeSlider = this.state.props.range && isArray(dataValue);\n\n // * thumb value for low or high\n const oldThumbValue =\n gestureType === 'lowThumb'\n ? dataValue || dataValue?.[0]\n : dataValue?.[1];\n\n let thumbDataValue = isRangeSlider\n ? [dataValue[0], dataValue[1]]\n : [value];\n if (isRangeSlider) {\n if (gestureType === 'lowThumb') {\n const valueLowerThanHighThumb =\n value > dataValue?.[1] ? dataValue?.[1] : value;\n\n thumbDataValue = [valueLowerThanHighThumb, dataValue[1]];\n } else if (gestureType === 'highThumb') {\n const valueGreaterThanLowThumb =\n value < dataValue[0] ? dataValue?.[0] : value;\n\n thumbDataValue = [dataValue[0], valueGreaterThanLowThumb];\n } else if (dataValue[1] && value > dataValue[1]) {\n thumbDataValue = [dataValue[0], value];\n } else {\n thumbDataValue = [value, dataValue[1]];\n }\n }\n\n // * new thumb value is different from old value\n const dataset = thumbDataValue.map(v => this.scale.getTick(v).datafield);\n this.updateState({\n props: {\n datavalue: dataset.length > 1 ? dataset : dataset[0]\n },\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange('datavalue', thumbDataValue, oldThumbValue);\n }, 200);\n\n initScale() {\n const props = this.state.props;\n const state = this.state;\n this.scale = Scale.getInstanceWithTicks(\n this.state.dataItems?.map((d: any, i: number) => ({\n displayfield: d.displayexp || d.displayfield,\n markValue: i + 1,\n datafield: d.datafield,\n dataitem: d \n }))\n );\n const width = state.track?.width || 0;\n this.uiScale = this.scale.transform(0, width);\n }\n\n computePosition(from: number, gestureType: SliderGestureType) {\n const state = this.state;\n const datavalue = this.getScaledDataValue();\n \n // * single thumb slider\n if (!state.props.range) {\n const value = this.getPositionFromValue(from);\n this.position?.setValue(isNaN(value) ? 0 : value);\n return;\n }\n\n if (gestureType === 'highThumb') {\n const value = this.getPositionFromValue(Math.max(datavalue[0], from));\n this.highPosition?.setValue(value);\n } else if (gestureType === 'lowThumb') {\n const value = this.getPositionFromValue(Math.min(from, datavalue[1]));\n this.position?.setValue(value);\n } else {\n /*\n * gestureType: track\n * initial position for low and high thumb\n */\n const lowPosition = this.getPositionFromValue(datavalue?.[0] || this.scale.getMinTick()?.datafield);\n this.position?.setValue(lowPosition || 0);\n const highPosition = this.getPositionFromValue(datavalue?.[1] || this.scale.getMaxTick()?.datafield);\n this.highPosition?.setValue(highPosition || 0);\n }\n }\n\n getTooltipLabel(value: any, initialValue: any, type: 'lowThumb' | 'highThumb') {\n const props = this.props;\n let tooltipValue = initialValue;\n const updatedPositionInPx = Number(JSON.stringify(value));\n\n if (updatedPositionInPx) {\n tooltipValue = this.scale.ticks[this.uiScale.getTickIndex(updatedPositionInPx)].markValue;\n }\n const tick = this.scale?.getTick(tooltipValue);\n // * getting custom tooltip label\n if (tick && props.getToolTipExpression && this.initialized) {\n return props.getToolTipExpression(tick.dataitem?.dataObject);\n }\n return tick?.displayfield;\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => {\n this.initScale();\n this.computePosition(this.getScaledDataValue()[0], 'track');\n });\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n if (this.state.props.datatype === 'number') {\n this.initNumericSlider();\n }\n }\n\n renderToolTips(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <>\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.position?._value,\n sDataValue[0],\n 'lowThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n ]}\n accessible={true}\n accessibilityLabel={(isRangeSlider && this.highPosition) ? 'Low thumb' : 'Thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n ></BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n {isRangeSlider && this.highPosition ? (\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.highPosition._value,\n sDataValue[1],\n 'highThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.highKnobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n }\n ]}\n accessible={true}\n accessibilityLabel={'High thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n ) : null}\n </>\n );\n }\n\n renderOldMarkerStyle(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <View\n style={{ flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text\n {...this.getTestProps('min')}\n style={[this.styles.text, this.styles.minimumValue]}\n >\n {this.scale?.ticks[0]?.displayfield}\n </Text>\n {isRangeSlider ? (\n <></>\n ) : (\n <Text\n {...this.getTestProps('value')}\n style={[this.styles.text, this.styles.value]}\n >\n {this.scale?.ticks.find(t => t.datafield === props.datavalue)?.displayfield}\n </Text>\n )}\n <Text\n {...this.getTestProps('max')}\n style={[this.styles.text, this.styles.maximumValue]}\n >\n {last(this.scale?.ticks)?.displayfield}\n </Text>\n </View>\n );\n }\n\n renderMarkers(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (<View style={{ flexDirection: 'row' }}>\n <View>\n {width ? this.scale.ticks.map((t, i) => {\n const markWidth = 10;\n const stepwiseLeft = this.getPositionFromValue(t.markValue);\n const labelText = t.displayfield;\n return (\n <View\n key={i}\n style={[\n this.styles.markerWrapper,\n {\n left: stepwiseLeft,\n bottom: markWidth / 2,\n },\n ]}\n >\n <Text\n style={[\n this.styles.markerLabel,\n {\n bottom: markWidth / 2 + 10,\n },\n this.styles.markerLabelStyle,\n i === 0 ? this.styles.minimumValue : null,\n i === this.scale.ticks.length - 1 ? this.styles.maximumValue : null,\n ]}\n >\n {labelText}\n </Text>\n <View\n style={[\n this.styles.mark,\n {\n width: markWidth,\n height: markWidth,\n borderRadius: markWidth,\n },\n this.styles.markerStyle,\n ]}\n />\n </View>\n );\n }) : null}\n </View>\n </View>);\n }\n\n renderTracks(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1}\n style={[this.styles.track, this.styles.trackStyle]}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}\n {...getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)}\n >\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.maximumTrack\n : this.styles.minimumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0],\n }),\n },\n ],\n },\n this.styles.minimumTrackStyle,\n ]}\n ></Animated.View>\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.minimumTrack\n : this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.activeTrackStyle,\n ]}\n ></Animated.View>\n {isRangeSlider && this.highPosition ? (\n <Animated.View\n style={[\n this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.maximumTrackStyle,\n ]}\n />\n ) : null}\n </TouchableOpacity>\n </GestureDetector>\n );\n }\n\n renderWidget(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n {!props.showmarkers && !props.showtooltip? this.renderOldMarkerStyle(props) : null}\n {this.renderTracks(props)}\n <View style={{ flexDirection: 'row' }}>\n {props.showmarkers ? this.renderMarkers(props) : null}\n {this.renderToolTips(props)}\n </View>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -89,7 +89,8 @@ export default class WmSwitch extends BaseDatasetComponent {
89
89
  }
90
90
  renderWidget(props) {
91
91
  return /*#__PURE__*/React.createElement(View, {
92
- style: this.styles.root
92
+ style: this.styles.root,
93
+ onLayout: event => this.handleLayout(event)
93
94
  }, this.renderItems());
94
95
  }
95
96
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","disableTouchEffect","disabletoucheffect","getTestPropsForAction","accessibilityProps","SWITCH","selected","hint","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","_showSkeleton","theme","text","textSkeleton","root","getTestPropsForLabel","style","selectedButtonText","color","renderItems","items","map","renderWidget"],"sources":["switch.component.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport {DimensionValue, LayoutChangeEvent, Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction('button'+index)}\n accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {selected: isSelected, hint: props?.hint})}}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n {\n this._showSkeleton ? createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n }) : <Text\n {...this.getTestPropsForLabel('label' + index)}\n style={[ isSelected ? this.styles.selectedButtonText : this.styles.text,\n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n }\n </View>)}\n </Tappable>\n );\n };\n\n renderItems() {\n const items = this.state.dataItems;\n if(this._showSkeleton) {\n return [{}, {}, {}].map((item: any, index: any) => this.renderChild(item, index))\n }\n return items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null\n }\n\n renderWidget(props: WmSwitchProps) {\n return (<View style={this.styles.root}>\n {this.renderItems()}\n </View>);\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAkB,OAAO;AACrC,SAA2CC,IAAI,EAAEC,IAAI,QAAO,cAAc;AAC1E,SAASC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAEtC,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,sCAAsC;AAC7F,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,cAAc,QAAQ,wEAAwE;AAGvG,OAAO,MAAMC,aAAa,SAASL,gBAAgB,CAAgB;AAEnE,eAAe,MAAMM,QAAQ,SAASP,oBAAoB,CAA+C;EACvGQ,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEAa,QAAQA,CAACC,KAAU,EAAE;IACnB,IAAI,CAACA,KAAK,EAAE;MACV;IACF;IACA,MAAMC,MAAM,GAAG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACK,SAAS;IACzC,IAAI,CAACC,QAAQ,CAACJ,KAAK,CAAC;IACpB,IAAIA,KAAK,KAAKC,MAAM,EAAE;MACpB;IACF;IACA,IAAI,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,EAAE;MAC/C,MAAMC,YAAY,GAAGrB,IAAI,CAAC,IAAI,CAACiB,KAAK,CAACK,SAAS,EAAGC,IAAI,IAAKxB,OAAO,CAACwB,IAAI,CAACC,GAAG,EAAET,KAAK,CAAC,CAAC;MACnFA,KAAK,GAAGM,YAAY,IAAIA,YAAY,CAACI,UAAU;IACjD;IACA;IACA,IAAI,CAACC,WAAW,CAAC;MAACb,KAAK,EAAE;QAACK,SAAS,EAAEH;MAAK,CAAC;MAAEY,SAAS,EAAE;IAAK,CAAC,EAC5D,MAAM;MACN,IAAI,CAAC,IAAI,CAACd,KAAK,CAACe,WAAW,EAAE;QAC3B,IAAI,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAACC,SAAS,EAAE,IAAI,CAACC,KAAK,EAAEhB,KAAK,EAAEC,MAAM,CAAC,CAAC;MAC9E;IACA,CAAC,CAAC;EACN;EAEAgB,KAAKA,CAACC,KAAU,EAAEV,IAAS,EAAE;IAC3B,MAAMR,KAAK,GAAG,IAAI,CAACE,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,GAAG,IAAI,CAACc,UAAU,CAACX,IAAI,CAACH,SAAS,CAAC,GAAGG,IAAI,CAACH,SAAS;IAC5G,IAAI,CAACN,QAAQ,CAACC,KAAK,CAAC;IACpB,IAAI,CAACc,mBAAmB,CAAC,OAAO,EAAE,CAAEI,KAAK,EAAE,IAAI,CAACF,KAAK,CAAE,CAAC;EAC1D;EACAI,WAAWA,CAACZ,IAAS,EAAEa,KAAU,EAAE;IACjC,IAAIC,QAAQ,GAAG,QAAQ;IACvB,MAAMxB,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAGuB,KAAK,KAAK,CAAC,EAAE;MACdC,QAAQ,GAAG,aAAa;IAC1B,CAAC,MAAM,IAAID,KAAK,GAAC,CAAC,KAAK,IAAI,CAACnB,KAAK,CAACK,SAAS,CAACgB,MAAM,EAAE;MAClDD,QAAQ,GAAG,YAAY;IACzB;IACA,MAAME,WAAW,GAAGhB,IAAI,CAACiB,UAAU,IAAIjB,IAAI,CAACkB,YAAY;IACxD,MAAMC,UAAU,GAAG,IAAI,CAACzB,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,GAAGrB,OAAO,CAACc,KAAK,CAACK,SAAS,EAAEK,IAAI,CAACH,SAAS,CAAC,GAAG,IAAI,CAACH,KAAK,CAACJ,KAAK,CAACK,SAAS,KAAKK,IAAI,CAACH,SAAS;IACzJ,oBACExB,KAAA,CAAA+C,aAAA,CAACrC,QAAQ,EAAAsC,QAAA;MACPC,kBAAkB,EAAE,IAAI,CAAC5B,KAAK,CAACJ,KAAK,CAACiC;IAAmB,GACpD,IAAI,CAACC,qBAAqB,CAAC,QAAQ,GAACX,KAAK,CAAC;MAC9CY,kBAAkB,EAAE;QAAC,GAAGxC,qBAAqB,CAACD,uBAAuB,CAAC0C,MAAM,EAAE;UAACC,QAAQ,EAAER,UAAU;UAAES,IAAI,EAAEtC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsC;QAAI,CAAC;MAAC,CAAE;MAC1HnB,KAAK,EAAE,IAAI,CAACf,KAAK,CAACJ,KAAK,CAACuC,QAAQ,GAAGtB,SAAS,GAAG,IAAI,CAACE,KAAK,CAACqB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE9B,IAAI,CAAE;MACjF+B,MAAM,EAAE,CACN,IAAI,CAACA,MAAM,CAACC,MAAM,EAClB,IAAI,CAACD,MAAM,CAACjB,QAAQ,CAAC,EACrBK,UAAU,GAAG,IAAI,CAACY,MAAM,CAACE,cAAc,GAAG,IAAI,CAAE;MAChDhC,GAAG,EAAED,IAAI,CAACC;IAAI,IACf,IAAI,CAACP,KAAK,CAACJ,KAAK,CAAC4C,SAAS,gBACtB7D,KAAA,CAAA+C,aAAA,CAACxC,MAAM;MACNuD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGvB,KAAK,CAAE;MACnCkB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACM,WAAY;MAChCH,SAAS,EAAElC,IAAI,CAACsC,IAAK;MACrBC,OAAO,EAAEvB;IAAY,CAAS,CAAC,gBAC9B3C,KAAA,CAAA+C,aAAA,CAAC7C,IAAI,QAEF,IAAI,CAACiE,aAAa,GAAGtD,cAAc,CAAC,IAAI,CAACuD,KAAK,EAAE,CAAC,CAAC,EAAsB;MACtE,GAAG,IAAI,CAACV,MAAM,CAACW,IAAI;MACnB,GAAG,IAAI,CAACX,MAAM,CAACY,YAAY,CAACC;IAC9B,CAAC,CAAC,gBAAGvE,KAAA,CAAA+C,aAAA,CAAC9C,IAAI,EAAA+C,QAAA,KACN,IAAI,CAACwB,oBAAoB,CAAC,OAAO,GAAGhC,KAAK,CAAC;MAC9CiC,KAAK,EAAE,CAAE3B,UAAU,GAAI,IAAI,CAACY,MAAM,CAACgB,kBAAkB,GAAG,IAAI,CAAChB,MAAM,CAACW,IAAI,EACtE;QAACM,KAAK,EAAE7B,UAAU,GAAG,IAAI,CAACY,MAAM,CAACE,cAAc,CAACe,KAAK,GAAG,IAAI,CAACjB,MAAM,CAACC,MAAM,CAACgB;MAAM,CAAC;IAAE,IACrFhC,WACG,CAEF,CACJ,CAAC;EAEf;EAEAiC,WAAWA,CAAA,EAAG;IACZ,MAAMC,KAAK,GAAG,IAAI,CAACxD,KAAK,CAACK,SAAS;IAClC,IAAG,IAAI,CAACyC,aAAa,EAAE;MACrB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACW,GAAG,CAAC,CAACnD,IAAS,EAAEa,KAAU,KAAK,IAAI,CAACD,WAAW,CAACZ,IAAI,EAAEa,KAAK,CAAC,CAAC;IACnF;IACA,OAAOqC,KAAK,IAAIA,KAAK,CAACnC,MAAM,GAC1BmC,KAAK,CAACC,GAAG,CAAC,CAACnD,IAAS,EAAEa,KAAU,KAAK,IAAI,CAACD,WAAW,CAACZ,IAAI,EAAEa,KAAK,CAAC,CAAC,GAAE,IAAI;EAC7E;EAEAuC,YAAYA,CAAC9D,KAAoB,EAAE;IACjC,oBAAQjB,KAAA,CAAA+C,aAAA,CAAC7C,IAAI;MAACuE,KAAK,EAAE,IAAI,CAACf,MAAM,CAACa;IAAK,GACnC,IAAI,CAACK,WAAW,CAAC,CACd,CAAC;EACT;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","disableTouchEffect","disabletoucheffect","getTestPropsForAction","accessibilityProps","SWITCH","selected","hint","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","_showSkeleton","theme","text","textSkeleton","root","getTestPropsForLabel","style","selectedButtonText","color","renderItems","items","map","renderWidget","onLayout","handleLayout"],"sources":["switch.component.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport {DimensionValue, LayoutChangeEvent, Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction('button'+index)}\n accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {selected: isSelected, hint: props?.hint})}}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n {\n this._showSkeleton ? createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n }) : <Text\n {...this.getTestPropsForLabel('label' + index)}\n style={[ isSelected ? this.styles.selectedButtonText : this.styles.text,\n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n }\n </View>)}\n </Tappable>\n );\n };\n\n renderItems() {\n const items = this.state.dataItems;\n if(this._showSkeleton) {\n return [{}, {}, {}].map((item: any, index: any) => this.renderChild(item, index))\n }\n return items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null\n }\n\n renderWidget(props: WmSwitchProps) {\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this.renderItems()}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -78,7 +78,8 @@ export default class WmText extends BaseInputComponent {
78
78
  onChangeText: this.onChangeText.bind(this),
79
79
  onChange: this.invokeChange.bind(this),
80
80
  allowContentSelection: this.styles.text.userSelect === 'text',
81
- autoCapitalize: props.autocapitalize
81
+ autoCapitalize: props.autocapitalize,
82
+ handleLayout: this.handleLayout
82
83
  }));
83
84
  }
84
85
  }