@wavemaker/app-rn-runtime 11.11.4-rc.6172 → 11.11.5-rc.214

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 (70) hide show
  1. package/components/advanced/carousel/carousel.component.js +32 -17
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/carousel/carousel.props.js +1 -0
  4. package/components/advanced/carousel/carousel.props.js.map +1 -1
  5. package/components/advanced/network-info-toaster/network-info-toaster.component.js +4 -0
  6. package/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
  7. package/components/basic/bottomsheet/bottomsheet.component.js +119 -71
  8. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.props.js +6 -4
  10. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  11. package/components/basic/lottie/lottie.component.js +1 -1
  12. package/components/basic/lottie/lottie.component.js.map +1 -1
  13. package/components/basic/picture/picture.component.js +1 -1
  14. package/components/basic/picture/picture.component.js.map +1 -1
  15. package/components/basic/spinner/spinner.component.js +18 -10
  16. package/components/basic/spinner/spinner.component.js.map +1 -1
  17. package/components/chart/area-chart/area-chart.component.js +5 -4
  18. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  19. package/components/chart/bar-chart/bar-chart.component.js +5 -4
  20. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  21. package/components/chart/pie-chart/pie-chart.component.js +5 -4
  22. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  23. package/components/container/panel/panel.component.js +2 -2
  24. package/components/container/panel/panel.component.js.map +1 -1
  25. package/components/data/form/form-field/form-field.component.js +1 -1
  26. package/components/data/form/form-field/form-field.component.js.map +1 -1
  27. package/components/data/form/form.component.js +1 -1
  28. package/components/data/form/form.component.js.map +1 -1
  29. package/components/data/list/list.component.js +57 -45
  30. package/components/data/list/list.component.js.map +1 -1
  31. package/components/data/list/list.props.js +1 -0
  32. package/components/data/list/list.props.js.map +1 -1
  33. package/components/input/basedataset/basedataset.component.js +5 -2
  34. package/components/input/basedataset/basedataset.component.js.map +1 -1
  35. package/components/input/basenumber/basenumber.component.js +4 -2
  36. package/components/input/basenumber/basenumber.component.js.map +1 -1
  37. package/components/input/epoch/base-datetime.component.js +8 -4
  38. package/components/input/epoch/base-datetime.component.js.map +1 -1
  39. package/components/input/rating/rating.component.js +4 -2
  40. package/components/input/rating/rating.component.js.map +1 -1
  41. package/components/input/slider/slider.component.js +28 -9
  42. package/components/input/slider/slider.component.js.map +1 -1
  43. package/components/input/text/text.props.js +2 -0
  44. package/components/input/text/text.props.js.map +1 -1
  45. package/components/navigation/appnavbar/appnavbar.component.js +2 -3
  46. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  47. package/components/page/left-panel/left-panel.component.js +2 -3
  48. package/components/page/left-panel/left-panel.component.js.map +1 -1
  49. package/components/page/page-content/page-content.component.js +8 -0
  50. package/components/page/page-content/page-content.component.js.map +1 -1
  51. package/components/page/page.component.js +7 -6
  52. package/components/page/page.component.js.map +1 -1
  53. package/components/page/page.props.js +1 -0
  54. package/components/page/page.props.js.map +1 -1
  55. package/components/page/tabbar/tabbar.component.js +5 -5
  56. package/components/page/tabbar/tabbar.component.js.map +1 -1
  57. package/core/AppConfig.js.map +1 -1
  58. package/core/base.component.js +1 -1
  59. package/core/base.component.js.map +1 -1
  60. package/core/ui-preferences.context.js +4 -1
  61. package/core/ui-preferences.context.js.map +1 -1
  62. package/core/utils.js +26 -0
  63. package/core/utils.js.map +1 -1
  64. package/npm-shrinkwrap.json +137 -152
  65. package/package-lock.json +137 -152
  66. package/package.json +2 -2
  67. package/runtime/App.js +44 -18
  68. package/runtime/App.js.map +1 -1
  69. package/runtime/services/app-i18n.service.js +7 -0
  70. package/runtime/services/app-i18n.service.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","length","updateState","selecteditem","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","$index","$event","eventName","disableitem","selectionlimit","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","lastScrollTriggered","last","catch","err","console","error","selectFirstItem","initialized","groupby","clear","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","contentHeight","contentSize","height","viewportHeight","layoutMeasurement","scrollPercentage","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","containerStyle","width","flex","horizontalondemandenabled","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","renderWithFlatList","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","onLayout","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = false;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n //private endThreshold = -1;\n // private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n private flatListRefs: any = {};\n private selectedItems = [] as any[];\n private lastScrollTriggered:boolean = false\n\n\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n\n \n\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal') {\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.state.loadingData || !this.hasMoreData) {\n \n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n loadingData: true,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n // Force a re-render by making a small state update\n this.updateState({\n loadingData: false,\n } as WmListState);\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n // Set loading state via updateState\n this.updateState({\n loadingData: true\n } as WmListState);\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage: this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize,\n } as WmListState);\n this.lastScrollTriggered = false;\n this.hasMoreData = true;\n if((data as any)?.last === true) {\n this.hasMoreData = false;\n }\n \n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n \n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00' : 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: any) => {\n const dataset = this.state.props.dataset;\n if (isNumber(item)) {\n this.onSelect(dataset[item], item);\n }\n else {\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getSelectedItems = () => {\n if (!this.props.multiselect) {\n return [this.selectedItems]\n }\n return this.selectedItems;\n }\n\n getItem = (index: number) => {\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = props.selecteditem || null;\n let index = isNumber(item) ? item : props.dataset.indexOf(item);\n if (props.multiselect && index >= 0) {\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if (selectedItemIndex >= 0) {\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else {\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else {\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n\n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState);\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch (name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if (props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.updateState({\n loadingData: $new && this.state.loadingData\n } as WmListState);\n break;\n case 'selecteditem':\n if ($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n \n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y;\n const contentHeight = event.nativeEvent.contentSize.height;\n const viewportHeight = event.nativeEvent.layoutMeasurement.height;\n \n // Calculate how far user has scrolled as a percentage\n const scrollPercentage = (scrollPosition + viewportHeight) / contentHeight;\n \n // Only trigger loadData when User reaches 70% of the list\n if (scrollPercentage >= 0.7 && \n this.state.props.direction === 'vertical' && \n !this.lastScrollTriggered) {\n this.lastScrollTriggered = true\n this.loadData();\n }\n });\n\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n const containerStyle = cols ? { width: round(100 / cols) + \"%\", flex: null } : {};\n\n return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ?\n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{ display: 'flex', flexDirection: 'row' },\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{ display: 'flex', flexDirection: 'row' },\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : 'wi wi-check-circle'} styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{ flex: 1, flexDirection: 'row' }}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if (props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n \n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n viewPosition: 0.5,\n });\n }\n };\n\n getCaption = (isHorizontal: boolean, vData: any[]): string => {\n const { nodatamessage, ondemandmessage } = this.state.props\n if (!isHorizontal) {\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} \n //onLayout={e => this.onLayoutChange(e)}\n >\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal={isHorizontal}\n data={this._showSkeleton ? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? [] : v.data)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None') ?\n (this.state.loadingData ? this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.getCaption(isHorizontal, v.data)}\n onTap={() => this.loadData()}></WmLabel>)) : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null, props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal={isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: { key, data } }) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","groupedData","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","selectedItem","selecteditem","selectedItemIndex","splice","invokeEventCallback","proxy","widgetname","itemWidgets","length","map","filter","widget","undefined","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","isSelected","$item","$index","$event","disableitemselect","eventName","disableitem","selectionlimit","push","selectedItemWidgets","direction","_this$state$groupedDa","forEach","group","data","includes","key","Promise","resolve","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","lastScrollTriggered","last","catch","err","console","error","selectFirstItem","initialized","groupby","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","clear","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","contentHeight","contentSize","height","viewportHeight","layoutMeasurement","scrollPercentage","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","containerStyle","width","flex","horizontalondemandenabled","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","renderWithFlatList","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","onLayout","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = true;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n //private endThreshold = -1;\n // private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n private flatListRefs: any = {};\n private selectedItems = [] as any[];\n private lastScrollTriggered:boolean = false\n\n\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n\n \n\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n if(this.state.props.disableitemselect) {\n return; \n }\n\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal') {\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.state.loadingData || !this.hasMoreData) {\n \n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n loadingData: true,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n // Force a re-render by making a small state update\n this.updateState({\n loadingData: false,\n } as WmListState);\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n // Set loading state via updateState\n this.updateState({\n loadingData: true\n } as WmListState);\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage: this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize,\n } as WmListState);\n this.lastScrollTriggered = false;\n this.hasMoreData = true;\n if((data as any)?.last === true) {\n this.hasMoreData = false;\n }\n \n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n \n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00' : 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear = () => {\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: number | object) => {\n const dataset = this.state.props.dataset;\n if (isNumber(item)) {\n this.onSelect(dataset[item], item);\n }\n else {\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getSelectedItems = () => {\n if (!this.props.multiselect) {\n return [this.selectedItems]\n }\n return this.selectedItems;\n }\n\n getItem = (index: number) => {\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselectItem = (item: number | object) => {\n const props = this.state.props;\n let selectedItem = props.selecteditem || null;\n let index = isNumber(item) ? item : props.dataset.indexOf(item);\n if (props.multiselect && index >= 0) {\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if (selectedItemIndex >= 0) {\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else {\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets = (widgetname: string, index: number) => {\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else {\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n\n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState);\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch (name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if (props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n if (isArray($new)){\n setTimeout(() => {\n this.updateState({\n loadingData: false\n } as WmListState)\n }, 0)\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n if($new != $old){\n this.updateState({\n loadingData: $new\n } as WmListState);}\n break;\n case 'selecteditem':\n if ($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n \n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y;\n const contentHeight = event.nativeEvent.contentSize.height;\n const viewportHeight = event.nativeEvent.layoutMeasurement.height;\n \n // Calculate how far user has scrolled as a percentage\n const scrollPercentage = (scrollPosition + viewportHeight) / contentHeight;\n \n // Only trigger loadData when User reaches 70% of the list\n if (scrollPercentage >= 0.7 && \n this.state.props.direction === 'vertical' && \n !this.lastScrollTriggered) {\n this.lastScrollTriggered = true\n this.loadData();\n }\n });\n\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n const containerStyle = cols ? { width: round(100 / cols) + \"%\", flex: null } : {};\n\n return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ?\n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{ display: 'flex', flexDirection: 'row' },\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{ display: 'flex', flexDirection: 'row' },\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : 'wi wi-check-circle'} styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{ flex: 1, flexDirection: 'row' }}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if (props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n \n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n viewPosition: 0.5,\n });\n }\n };\n\n getCaption = (isHorizontal: boolean, vData: any[]): string => {\n const { nodatamessage, ondemandmessage } = this.state.props\n if (!isHorizontal) {\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} \n //onLayout={e => this.onLayoutChange(e)}\n >\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal={isHorizontal}\n data={this._showSkeleton ? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? [] : v.data)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None') ?\n (this.state.loadingData ? this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.getCaption(isHorizontal, v.data)}\n onTap={() => this.loadData()}></WmLabel>)) : null}\n </View>\n ))) : this.state.loadingData ? this.renderLoadingIcon(props) : this.renderEmptyMessage(isHorizontal, null, null, props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n this.state.loadingData ? \n this.renderLoadingIcon(props) :\n ( \n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal={isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: { key, data } }) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n ) \n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,7 @@ export default class WmListProps extends BaseProps {
48
48
  _defineProperty(this, "horizontalondemandenabled", false);
49
49
  _defineProperty(this, "triggeronrenderwhenhidden", true);
50
50
  _defineProperty(this, "selecteditemicon", null);
51
+ _defineProperty(this, "disableitemselect", false);
51
52
  }
52
53
  }
53
54
  //# sourceMappingURL=list.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseProps","View","WmListProps","constructor","args","_defineProperty","createElement","$item","$index","xs","sm","md","lg"],"sources":["list.props.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View } from 'react-native';\n\nexport default class WmListProps extends BaseProps {\n formRef: any;\n iconclass: string = null as any;\n deferload = false;\n ondemandmessage = 'Load More';\n title: string = null as any;\n subheading: string = null as any;\n dataset = [] as any;\n maxnumberofitems = 50;\n children? = null as any;\n renderItem: any = () => (<View />);\n loadingicon: string = null as any;\n loadingdatamsg = 'Loading...';\n multiselect = false;\n nodatamessage = 'No data found';\n loadingdata = false;\n selectfirstitem = false;\n selectionlimit = -1;\n disableitem: Function | boolean = ($item: any, $index: any) => false;\n itemkey?: ($item: any, $index: any) => any = null as any;\n direction: 'horizontal' | 'vertical' = 'vertical';\n groupby: string = null as any;\n match: string = null as any;\n orderby: string = null as any;\n dateformat: string = null as any;\n selecteditem = null as any;\n navigation: 'Scroll' | 'On-Demand' | 'None' = 'None';\n itemclass: ($item: any, $index: any) => string = null as any;\n getNextPageData: ($event: any, $list: any, page: number) => Promise<any> = null as any;\n pagesize = 20;\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n };\n numberofskeletonitems?: number | string;\n hidehorizontalscrollbar?: boolean = false;\n shouldswipe?: boolean = false;\n horizontalondemandenabled:boolean = false;\n triggeronrenderwhenhidden?: boolean = true;\n selecteditemicon: string = null as any;\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,+CAA+C;AACzE,SAASC,IAAI,QAAQ,cAAc;AAEnC,eAAe,MAAMC,WAAW,SAASF,SAAS,CAAC;EAAAG,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,oBAE3B,IAAI;IAAAA,eAAA,oBACZ,KAAK;IAAAA,eAAA,0BACC,WAAW;IAAAA,eAAA,gBACb,IAAI;IAAAA,eAAA,qBACC,IAAI;IAAAA,eAAA,kBACf,EAAE;IAAAA,eAAA,2BACO,EAAE;IAAAA,eAAA,mBACT,IAAI;IAAAA,eAAA,qBACE,mBAAON,KAAA,CAAAO,aAAA,CAACL,IAAI,MAAE,CAAE;IAAAI,eAAA,sBACZ,IAAI;IAAAA,eAAA,yBACT,YAAY;IAAAA,eAAA,sBACf,KAAK;IAAAA,eAAA,wBACH,eAAe;IAAAA,eAAA,sBACjB,KAAK;IAAAA,eAAA,0BACD,KAAK;IAAAA,eAAA,yBACN,CAAC,CAAC;IAAAA,eAAA,sBACe,CAACE,KAAU,EAAEC,MAAW,KAAK,KAAK;IAAAH,eAAA,kBACvB,IAAI;IAAAA,eAAA,oBACV,UAAU;IAAAA,eAAA,kBAC/B,IAAI;IAAAA,eAAA,gBACN,IAAI;IAAAA,eAAA,kBACF,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,uBACV,IAAI;IAAAA,eAAA,qBAC2B,MAAM;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,0BACsB,IAAI;IAAAA,eAAA,mBACpE,EAAE;IAAAA,eAAA,sBACC;MACVI,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACR,CAAC;IAAAP,eAAA;IAAAA,eAAA,kCAEmC,KAAK;IAAAA,eAAA,sBACjB,KAAK;IAAAA,eAAA,oCACO,KAAK;IAAAA,eAAA,oCACH,IAAI;IAAAA,eAAA,2BACf,IAAI;EAAA;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["React","BaseProps","View","WmListProps","constructor","args","_defineProperty","createElement","$item","$index","xs","sm","md","lg"],"sources":["list.props.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View } from 'react-native';\n\nexport default class WmListProps extends BaseProps {\n formRef: any;\n iconclass: string = null as any;\n deferload = false;\n ondemandmessage = 'Load More';\n title: string = null as any;\n subheading: string = null as any;\n dataset = [] as any;\n maxnumberofitems = 50;\n children? = null as any;\n renderItem: any = () => (<View />);\n loadingicon: string = null as any;\n loadingdatamsg = 'Loading...';\n multiselect = false;\n nodatamessage = 'No data found';\n loadingdata = false;\n selectfirstitem = false;\n selectionlimit = -1;\n disableitem: Function | boolean = ($item: any, $index: any) => false;\n itemkey?: ($item: any, $index: any) => any = null as any;\n direction: 'horizontal' | 'vertical' = 'vertical';\n groupby: string = null as any;\n match: string = null as any;\n orderby: string = null as any;\n dateformat: string = null as any;\n selecteditem = null as any;\n navigation: 'Scroll' | 'On-Demand' | 'None' = 'None';\n itemclass: ($item: any, $index: any) => string = null as any;\n getNextPageData: ($event: any, $list: any, page: number) => Promise<any> = null as any;\n pagesize = 20;\n itemsperrow = {\n xs: 1,\n sm: 1,\n md: 1,\n lg: 1,\n };\n numberofskeletonitems?: number | string;\n hidehorizontalscrollbar?: boolean = false;\n shouldswipe?: boolean = false;\n horizontalondemandenabled:boolean = false;\n triggeronrenderwhenhidden?: boolean = true;\n selecteditemicon: string = null as any;\n disableitemselect: boolean = false;\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,+CAA+C;AACzE,SAASC,IAAI,QAAQ,cAAc;AAEnC,eAAe,MAAMC,WAAW,SAASF,SAAS,CAAC;EAAAG,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,oBAE3B,IAAI;IAAAA,eAAA,oBACZ,KAAK;IAAAA,eAAA,0BACC,WAAW;IAAAA,eAAA,gBACb,IAAI;IAAAA,eAAA,qBACC,IAAI;IAAAA,eAAA,kBACf,EAAE;IAAAA,eAAA,2BACO,EAAE;IAAAA,eAAA,mBACT,IAAI;IAAAA,eAAA,qBACE,mBAAON,KAAA,CAAAO,aAAA,CAACL,IAAI,MAAE,CAAE;IAAAI,eAAA,sBACZ,IAAI;IAAAA,eAAA,yBACT,YAAY;IAAAA,eAAA,sBACf,KAAK;IAAAA,eAAA,wBACH,eAAe;IAAAA,eAAA,sBACjB,KAAK;IAAAA,eAAA,0BACD,KAAK;IAAAA,eAAA,yBACN,CAAC,CAAC;IAAAA,eAAA,sBACe,CAACE,KAAU,EAAEC,MAAW,KAAK,KAAK;IAAAH,eAAA,kBACvB,IAAI;IAAAA,eAAA,oBACV,UAAU;IAAAA,eAAA,kBAC/B,IAAI;IAAAA,eAAA,gBACN,IAAI;IAAAA,eAAA,kBACF,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,uBACV,IAAI;IAAAA,eAAA,qBAC2B,MAAM;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,0BACsB,IAAI;IAAAA,eAAA,mBACpE,EAAE;IAAAA,eAAA,sBACC;MACVI,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE,CAAC;MACLC,EAAE,EAAE;IACR,CAAC;IAAAP,eAAA;IAAAA,eAAA,kCAEmC,KAAK;IAAAA,eAAA,sBACjB,KAAK;IAAAA,eAAA,oCACO,KAAK;IAAAA,eAAA,oCACH,IAAI;IAAAA,eAAA,2BACf,IAAI;IAAAA,eAAA,4BACF,KAAK;EAAA;AACtC","ignoreList":[]}
@@ -41,10 +41,12 @@ export class BaseDatasetComponent extends BaseComponent {
41
41
  this.setDataItems(this.state.props.dataset, {
42
42
  dataValue: $new
43
43
  });
44
- const isDefault = this.state.isDefault;
44
+ const isDefault = this.state.props.isdefault;
45
45
  if (isDefault) {
46
46
  this.updateState({
47
- isDefault: false
47
+ props: {
48
+ isdefault: false
49
+ }
48
50
  }, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));
49
51
  } else {
50
52
  this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);
@@ -69,6 +71,7 @@ export class BaseDatasetComponent extends BaseComponent {
69
71
  });
70
72
  }
71
73
  updateDatavalue(value) {
74
+ console.log("====== updateDatavalue =======: ", value);
72
75
  return new Promise(resolve => {
73
76
  this.updateState({
74
77
  props: {
@@ -1 +1 @@
1
- {"version":3,"names":["BaseComponent","BaseComponentState","find","isString","isEqual","isFunction","includes","get","forEach","isObject","isArray","filter","trim","uniqBy","uniqWith","getGroupedData","getOrderedDataset","isDefined","validateField","DEFAULT_CLASS","BaseDatasetState","constructor","args","_defineProperty","BaseDatasetComponent","props","defaultClass","defaultProps","defaultState","onPropertyChange","name","$new","$old","state","setDataItems","dataset","setGroupData","dataItems","dataValue","isDefault","updateState","onFieldChange","bind","items","groupby","groupedData","match","orderby","dateformat","onDataItemsUpdate","validate","value","validationObj","setState","isValid","errorType","updateDatavalue","Promise","resolve","datavalue","computeDisplayValue","onValueChange","datafield","selectedItem","item","key","dataObject","onChange","getItemKey","oldValue","then","invokeEventCallback","undefined","proxy","displayValue","selected","map","displayexp","displayfield","getUniqObjsByDataField","data","allowEmptyFields","uniqData","isAllFields","obj","propsObj","allowEmpty","datavalueItems","split","s","i","toString","push","isSelected","length","df","d","datafieldValue","_get","_get2","displaylabel","getDisplayExpression","imgSrc","displayimagesrc","icon","iconclass","isUpdated"],"sources":["basedataset.component.ts"],"sourcesContent":["import { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport { find, isString, isEqual,isEmpty, isFunction, includes, get, forEach, isObject, isArray, filter, trim, uniqBy, uniqWith } from 'lodash';\nimport { getGroupedData, getOrderedDataset, isDefined, validateField } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { DEFAULT_CLASS, BaseDatasetStyles } from \"@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.styles\";\n\nexport class BaseDatasetState <T extends BaseDatasetProps> extends BaseComponentState<T> {\n dataItems: any;\n groupedData: any;\n isDefault = false;\n isValid = true;\n errorType = '';\n}\n\nexport abstract class BaseDatasetComponent< T extends BaseDatasetProps, S extends BaseDatasetState<T>, L extends BaseDatasetStyles> extends BaseComponent<T, S, L> {\n\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n const props = this.state.props;\n switch (name) {\n case 'dataset':\n this.setDataItems($new);\n break;\n case 'getDisplayExpression':\n case 'displayfield':\n case 'displaylabel':\n case 'displayimagesrc':\n case 'datafield':\n case 'orderby':\n this.setDataItems(this.state.props.dataset);\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.dataItems);\n case 'datavalue':\n this.setDataItems(this.state.props.dataset, { dataValue: $new });\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this, 'dataObject');\n this.updateState({ groupedData: groupedData } as S, () => this.onDataItemsUpdate());\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n updateDatavalue(value: any) {\n return new Promise<void>((resolve) => {\n this.updateState({\n props: { datavalue: value }\n } as S,\n () => {\n this.computeDisplayValue();\n resolve();\n });\n });\n }\n\n onValueChange(value: any) {\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 this.onChange(value);\n }\n\n getItemKey(value: any) {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.dataObject, value));\n return selectedItem && selectedItem.key;\n }\n\n onChange(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateDatavalue(value)\n .then(() => {\n if (value !== oldValue) {\n if (this.props.onFieldChange) {\n this.props.onFieldChange('datavalue', value, oldValue);\n } else {\n this.invokeEventCallback('onChange', [\n undefined,\n this.proxy,\n value,\n oldValue,\n ]);\n }\n }\n });\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield))[0] || ''\n }\n } as S);\n }\n\n onDataItemsUpdate() {\n this.computeDisplayValue();\n }\n\n getUniqObjsByDataField(\n data: any,\n allowEmptyFields: boolean = true\n ) {\n let uniqData;\n const isAllFields = this.state.props.datafield === 'All Fields';\n\n uniqData = isAllFields ? uniqWith(data, isEqual) : uniqBy(data, 'datafield');\n\n if (!this.state.props.displayfield || allowEmptyFields) {\n return uniqData;\n }\n\n // return objects having non empty datafield and display field values.\n return filter(uniqData, (obj) => {\n if (isAllFields) {\n return trim(obj.displayfield);\n }\n return trim(obj.datafield) && trim(obj.displayfield);\n });\n }\n\n setDataItems(dataset: any, propsObj?: { [key: string]: any }, allowEmpty: boolean = true) {\n const name = this.props.name;\n const props = this.state.props;\n const datavalue = propsObj ? propsObj['dataValue'] : props.datavalue;\n let dataItems: any = [];\n let datavalueItems: any = [];\n if (typeof datavalue === 'string') {\n datavalueItems = datavalue.split(',');\n datavalueItems = allowEmpty ? datavalueItems : datavalueItems.map((item: any) => item.trim());\n } else if (isArray(datavalue)) {\n datavalueItems = datavalue;\n } else {\n if (isDefined(datavalue)) {\n datavalueItems = [datavalue];\n }\n }\n if (typeof dataset === 'string') {\n dataset = dataset.split(',');\n }\n if (isArray(dataset) && !isObject(dataset[0])) {\n dataItems = dataset.map((s, i) => {\n s = isString(s) ? s.trim() : s;\n return {\n key: `${name}_item${i}`,\n dataObject: s,\n displayfield: s.toString(),\n datafield: s,\n selected: includes(datavalueItems, s) || includes(datavalueItems, s.toString()) || datavalue === s ? true : false,\n };\n });\n } else if (dataset) {\n if (isObject(dataset) && !isArray(dataset)) {\n forEach(dataset, (value, key) => {\n if (isDefined(key) && key !== null) {\n dataItems.push({key: `${name}_item${key}`, displayfield: value, datafield: key, dataObject: dataset});\n }\n });\n } else {\n const isSelected = (item: any) => {\n if (datavalueItems.length) {\n let datafield = this.state.props.datafield;\n if (!datafield) {\n datafield = 'All Fields';\n }\n if (datafield === 'All Fields') {\n return includes(datavalueItems, item);\n }\n let df = get(item, datafield);\n if (isDefined(df) && df !== null) {\n return (includes(datavalueItems, df) || includes(datavalueItems, df.toString()));\n }\n }\n return false;\n };\n forEach(dataset as any[], (d, i) => {\n let datafieldValue = this.state.props.datafield === 'All Fields' ? d : get(d, this.state.props.datafield);\n if (isDefined(datafieldValue) && datafieldValue !== null) {\n dataItems.push({\n key: `${name}_item${i}`,\n dataObject: d,\n displayfield: (get(d, this.state.props.displayfield))?.toString() || (get(d, this.state.props.displaylabel))?.toString(),\n datafield: datafieldValue,\n displayexp: this.state.props.getDisplayExpression ? this.state.props.getDisplayExpression(d) : get(d, this.state.props.displayfield),\n selected: isSelected(d),\n imgSrc: isFunction(this.state.props.displayimagesrc) ? this.state.props.displayimagesrc(d) : get(d, this.state.props.displayimagesrc),\n icon: d[this.props.iconclass]\n });\n }\n });\n }\n }\n if (dataItems.length) {\n dataItems = this.getUniqObjsByDataField(dataItems, allowEmpty);\n }\n const isUpdated = !isEqual(dataItems, this.state.dataItems);\n if (props.groupby) {\n this.setGroupData(dataItems);\n this.updateState({ dataItems: dataItems } as S, () => isUpdated && this.onDataItemsUpdate());\n } else if (props.orderby) {\n this.updateState({ dataItems: getOrderedDataset(dataItems, props.orderby, 'dataObject')} as S, () => isUpdated && this.onDataItemsUpdate());\n } else {\n this.updateState({ dataItems: dataItems } as S, () => isUpdated && this.onDataItemsUpdate());\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseComponent","BaseComponentState","find","isString","isEqual","isFunction","includes","get","forEach","isObject","isArray","filter","trim","uniqBy","uniqWith","getGroupedData","getOrderedDataset","isDefined","validateField","DEFAULT_CLASS","BaseDatasetState","constructor","args","_defineProperty","BaseDatasetComponent","props","defaultClass","defaultProps","defaultState","onPropertyChange","name","$new","$old","state","setDataItems","dataset","setGroupData","dataItems","dataValue","isDefault","isdefault","updateState","onFieldChange","bind","items","groupby","groupedData","match","orderby","dateformat","onDataItemsUpdate","validate","value","validationObj","setState","isValid","errorType","updateDatavalue","console","log","Promise","resolve","datavalue","computeDisplayValue","onValueChange","datafield","selectedItem","item","key","dataObject","onChange","getItemKey","oldValue","then","invokeEventCallback","undefined","proxy","displayValue","selected","map","displayexp","displayfield","getUniqObjsByDataField","data","allowEmptyFields","uniqData","isAllFields","obj","propsObj","allowEmpty","datavalueItems","split","s","i","toString","push","isSelected","length","df","d","datafieldValue","_get","_get2","displaylabel","getDisplayExpression","imgSrc","displayimagesrc","icon","iconclass","isUpdated"],"sources":["basedataset.component.ts"],"sourcesContent":["import { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport BaseDatasetProps from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.props';\nimport { find, isString, isEqual,isEmpty, isFunction, includes, get, forEach, isObject, isArray, filter, trim, uniqBy, uniqWith } from 'lodash';\nimport { getGroupedData, getOrderedDataset, isDefined, validateField } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { DEFAULT_CLASS, BaseDatasetStyles } from \"@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.styles\";\n\nexport class BaseDatasetState <T extends BaseDatasetProps> extends BaseComponentState<T> {\n dataItems: any;\n groupedData: any;\n isDefault = false;\n isValid = true;\n errorType = '';\n}\n\nexport abstract class BaseDatasetComponent< T extends BaseDatasetProps, S extends BaseDatasetState<T>, L extends BaseDatasetStyles> extends BaseComponent<T, S, L> {\n\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n const props = this.state.props;\n switch (name) {\n case 'dataset':\n this.setDataItems($new);\n break;\n case 'getDisplayExpression':\n case 'displayfield':\n case 'displaylabel':\n case 'displayimagesrc':\n case 'datafield':\n case 'orderby':\n this.setDataItems(this.state.props.dataset);\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.dataItems);\n case 'datavalue':\n this.setDataItems(this.state.props.dataset, { dataValue: $new });\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState({ props: {isdefault: false} } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this, 'dataObject');\n this.updateState({ groupedData: groupedData } as S, () => this.onDataItemsUpdate());\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n updateDatavalue(value: any) {\n console.log(\"====== updateDatavalue =======: \", value);\n return new Promise<void>((resolve) => {\n this.updateState({\n props: { datavalue: value }\n } as S,\n () => {\n this.computeDisplayValue();\n resolve();\n });\n });\n }\n\n onValueChange(value: any) {\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 this.onChange(value);\n }\n\n getItemKey(value: any) {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.dataObject, value));\n return selectedItem && selectedItem.key;\n }\n\n onChange(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateDatavalue(value)\n .then(() => {\n if (value !== oldValue) {\n if (this.props.onFieldChange) {\n this.props.onFieldChange('datavalue', value, oldValue);\n } else {\n this.invokeEventCallback('onChange', [\n undefined,\n this.proxy,\n value,\n oldValue,\n ]);\n }\n }\n });\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield))[0] || ''\n }\n } as S);\n }\n\n onDataItemsUpdate() {\n this.computeDisplayValue();\n }\n\n getUniqObjsByDataField(\n data: any,\n allowEmptyFields: boolean = true\n ) {\n let uniqData;\n const isAllFields = this.state.props.datafield === 'All Fields';\n\n uniqData = isAllFields ? uniqWith(data, isEqual) : uniqBy(data, 'datafield');\n\n if (!this.state.props.displayfield || allowEmptyFields) {\n return uniqData;\n }\n\n // return objects having non empty datafield and display field values.\n return filter(uniqData, (obj) => {\n if (isAllFields) {\n return trim(obj.displayfield);\n }\n return trim(obj.datafield) && trim(obj.displayfield);\n });\n }\n\n setDataItems(dataset: any, propsObj?: { [key: string]: any }, allowEmpty: boolean = true) {\n const name = this.props.name;\n const props = this.state.props;\n const datavalue = propsObj ? propsObj['dataValue'] : props.datavalue;\n let dataItems: any = [];\n let datavalueItems: any = [];\n if (typeof datavalue === 'string') {\n datavalueItems = datavalue.split(',');\n datavalueItems = allowEmpty ? datavalueItems : datavalueItems.map((item: any) => item.trim());\n } else if (isArray(datavalue)) {\n datavalueItems = datavalue;\n } else {\n if (isDefined(datavalue)) {\n datavalueItems = [datavalue];\n }\n }\n if (typeof dataset === 'string') {\n dataset = dataset.split(',');\n }\n if (isArray(dataset) && !isObject(dataset[0])) {\n dataItems = dataset.map((s, i) => {\n s = isString(s) ? s.trim() : s;\n return {\n key: `${name}_item${i}`,\n dataObject: s,\n displayfield: s.toString(),\n datafield: s,\n selected: includes(datavalueItems, s) || includes(datavalueItems, s.toString()) || datavalue === s ? true : false,\n };\n });\n } else if (dataset) {\n if (isObject(dataset) && !isArray(dataset)) {\n forEach(dataset, (value, key) => {\n if (isDefined(key) && key !== null) {\n dataItems.push({key: `${name}_item${key}`, displayfield: value, datafield: key, dataObject: dataset});\n }\n });\n } else {\n const isSelected = (item: any) => {\n if (datavalueItems.length) {\n let datafield = this.state.props.datafield;\n if (!datafield) {\n datafield = 'All Fields';\n }\n if (datafield === 'All Fields') {\n return includes(datavalueItems, item);\n }\n let df = get(item, datafield);\n if (isDefined(df) && df !== null) {\n return (includes(datavalueItems, df) || includes(datavalueItems, df.toString()));\n }\n }\n return false;\n };\n forEach(dataset as any[], (d, i) => {\n let datafieldValue = this.state.props.datafield === 'All Fields' ? d : get(d, this.state.props.datafield);\n if (isDefined(datafieldValue) && datafieldValue !== null) {\n dataItems.push({\n key: `${name}_item${i}`,\n dataObject: d,\n displayfield: (get(d, this.state.props.displayfield))?.toString() || (get(d, this.state.props.displaylabel))?.toString(),\n datafield: datafieldValue,\n displayexp: this.state.props.getDisplayExpression ? this.state.props.getDisplayExpression(d) : get(d, this.state.props.displayfield),\n selected: isSelected(d),\n imgSrc: isFunction(this.state.props.displayimagesrc) ? this.state.props.displayimagesrc(d) : get(d, this.state.props.displayimagesrc),\n icon: d[this.props.iconclass]\n });\n }\n });\n }\n }\n if (dataItems.length) {\n dataItems = this.getUniqObjsByDataField(dataItems, allowEmpty);\n }\n const isUpdated = !isEqual(dataItems, this.state.dataItems);\n if (props.groupby) {\n this.setGroupData(dataItems);\n this.updateState({ dataItems: dataItems } as S, () => isUpdated && this.onDataItemsUpdate());\n } else if (props.orderby) {\n this.updateState({ dataItems: getOrderedDataset(dataItems, props.orderby, 'dataObject')} as S, () => isUpdated && this.onDataItemsUpdate());\n } else {\n this.updateState({ dataItems: dataItems } as S, () => isUpdated && this.onDataItemsUpdate());\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -329,10 +329,12 @@ export class BaseNumberComponent extends BaseComponent {
329
329
  this.updateState({
330
330
  textValue: $new
331
331
  });
332
- const isDefault = this.state.isDefault;
332
+ const isDefault = this.state.props.isdefault;
333
333
  if (isDefault) {
334
334
  this.updateState({
335
- isDefault: false
335
+ props: {
336
+ isdefault: false
337
+ }
336
338
  }, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));
337
339
  } else {
338
340
  this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);
@@ -1 +1 @@
1
- {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","setTimeout","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","setTimeout","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","isdefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState({ props: {isdefault: false} } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}