@wavemaker/app-rn-runtime 11.11.0-rc.6126 → 11.11.1-rc.210

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 (51) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/label/label.component.js +7 -5
  4. package/components/basic/label/label.component.js.map +1 -1
  5. package/components/basic/progress-bar/progress-bar.component.js +2 -2
  6. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  7. package/components/data/form/form-field/form-field.component.js +1 -0
  8. package/components/data/form/form-field/form-field.component.js.map +1 -1
  9. package/components/data/list/list.component.js +43 -9
  10. package/components/data/list/list.component.js.map +1 -1
  11. package/components/data/list/list.props.js +1 -0
  12. package/components/data/list/list.props.js.map +1 -1
  13. package/components/dialogs/dialogcontent/dialogcontent.component.js +5 -1
  14. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  15. package/components/input/baseinput/baseinput.component.js +6 -2
  16. package/components/input/baseinput/baseinput.component.js.map +1 -1
  17. package/components/input/calendar/views/month-view.js +15 -2
  18. package/components/input/calendar/views/month-view.js.map +1 -1
  19. package/components/input/epoch/base-datetime.component.js +5 -0
  20. package/components/input/epoch/base-datetime.component.js.map +1 -1
  21. package/components/input/textarea/textarea.component.js +5 -3
  22. package/components/input/textarea/textarea.component.js.map +1 -1
  23. package/components/input/textarea/textarea.props.js +1 -0
  24. package/components/input/textarea/textarea.props.js.map +1 -1
  25. package/components/input/textarea/textarea.styles.js +7 -0
  26. package/components/input/textarea/textarea.styles.js.map +1 -1
  27. package/components/page/left-panel/left-panel.component.js +27 -10
  28. package/components/page/left-panel/left-panel.component.js.map +1 -1
  29. package/components/page/page-content/page-content.component.js +3 -2
  30. package/components/page/page-content/page-content.component.js.map +1 -1
  31. package/components/page/page-content/page-content.props.js +2 -0
  32. package/components/page/page-content/page-content.props.js.map +1 -1
  33. package/components/page/page.component.js +10 -2
  34. package/components/page/page.component.js.map +1 -1
  35. package/components/page/page.props.js +1 -0
  36. package/components/page/page.props.js.map +1 -1
  37. package/core/base.component.js +1 -0
  38. package/core/base.component.js.map +1 -1
  39. package/core/utils.js +266 -22
  40. package/core/utils.js.map +1 -1
  41. package/gestures/carousel-swipe.animation.js +225 -0
  42. package/gestures/carousel-swipe.animation.js.map +1 -0
  43. package/npm-shrinkwrap.json +1496 -1922
  44. package/package-lock.json +1496 -1922
  45. package/package.json +2 -2
  46. package/runtime/App.js +7 -0
  47. package/runtime/App.js.map +1 -1
  48. package/runtime/base-prefab.component.js +4 -0
  49. package/runtime/base-prefab.component.js.map +1 -1
  50. package/styles/theme.variables.js +2 -0
  51. package/styles/theme.variables.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","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","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","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","horizontalondemandenabled","renderLeftActions","renderRightActions","containerStyle","width","flex","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","selecteditemicon","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","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\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 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) {\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.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\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 = null as any;\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 this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\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 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 return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={cols ? { width: round(100 / cols) + \"%\", flex: null } 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, item])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy, item])}\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 private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\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} onLayout={e => this.onLayoutChange(e)}>\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) ?\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","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","last","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","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","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","containerStyle","width","flex","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","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","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\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 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 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.hasMoreData = true;\n if((data as any)?.last === true) {\n this.hasMoreData = false;\n }\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\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 = null as any;\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 this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\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 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) ? \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 private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\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} onLayout={e => this.onLayoutChange(e)}>\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":[]}
@@ -44,6 +44,7 @@ export default class WmListProps extends BaseProps {
44
44
  });
45
45
  _defineProperty(this, "numberofskeletonitems", void 0);
46
46
  _defineProperty(this, "hidehorizontalscrollbar", false);
47
+ _defineProperty(this, "shouldswipe", false);
47
48
  _defineProperty(this, "horizontalondemandenabled", false);
48
49
  _defineProperty(this, "triggeronrenderwhenhidden", true);
49
50
  _defineProperty(this, "selecteditemicon", null);
@@ -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 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,oCACL,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}\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,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { TouchableOpacity } from 'react-native';
2
3
  import { ScrollView } from 'react-native-gesture-handler';
3
4
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
4
5
  import WmDialogcontentProps from './dialogcontent.props';
@@ -18,10 +19,13 @@ export default class WmDialogcontent extends BaseComponent {
18
19
  this.notify('scroll', [event]);
19
20
  },
20
21
  scrollEventThrottle: 48,
22
+ showsVerticalScrollIndicator: false,
21
23
  style: {
22
24
  maxHeight: this.styles.root.maxHeight
23
25
  }
24
- }, this._background, props.children);
26
+ }, this._background, /*#__PURE__*/React.createElement(TouchableOpacity, {
27
+ activeOpacity: 1
28
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, props.children)));
25
29
  }
26
30
  }
27
31
  //# sourceMappingURL=dialogcontent.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","style","_background","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n {props.children}\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQT,KAAA,CAAAW,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,KAAK,EAAE;QAACL,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACM,WAAW,EAChBf,KAAK,CAACgB,QACC,CAAC;EACf;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity \n activeOpacity={1}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE;IAAE,gBAEjB3B,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAA4B,QAAA,QACGlB,KAAK,CAACmB,QACP,CACc,CACV,CAAC;EACf;AACF","ignoreList":[]}
@@ -26,6 +26,7 @@ export class BaseInputComponent extends BaseComponent {
26
26
  _defineProperty(this, "isTouched", false);
27
27
  _defineProperty(this, "cursor", 0);
28
28
  _defineProperty(this, "timer", null);
29
+ _defineProperty(this, "charlength", 0);
29
30
  }
30
31
  focus() {
31
32
  var _this$widgetRef;
@@ -54,10 +55,12 @@ export class BaseInputComponent extends BaseComponent {
54
55
  this.updateState({
55
56
  textValue: $new
56
57
  });
57
- const isDefault = this.state.isDefault;
58
+ const isDefault = this.state.props.isdefault;
58
59
  if (isDefault) {
59
60
  this.updateState({
60
- isDefault: false
61
+ props: {
62
+ isdefault: false
63
+ }
61
64
  }, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));
62
65
  } else {
63
66
  this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);
@@ -78,6 +81,7 @@ export class BaseInputComponent extends BaseComponent {
78
81
  }
79
82
  }
80
83
  onChangeText(value) {
84
+ this.charlength = value === null || value === void 0 ? void 0 : value.length;
81
85
  if (this.state.props.updateon === 'lazy') {
82
86
  if (this.timer !== null) {
83
87
  clearTimeout(this.timer);
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","isdefault","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n \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 onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -55,10 +55,23 @@ export class MonthView extends Component {
55
55
  constructor(props) {
56
56
  super(props);
57
57
  this.state = new MonthViewState(this.props.date);
58
+ // Set moment's locale to ensure week starts on Sunday
59
+ moment.updateLocale('en', {
60
+ week: {
61
+ dow: 0,
62
+ // Sunday is the first day of the week
63
+ doy: 1 // First week of year must contain 1 January
64
+ }
65
+ });
58
66
  }
59
67
  calendarArray(date) {
60
68
  const dates = [];
61
- const currDate = date.clone().startOf('month').startOf('week');
69
+ // Ensure we're working with a clone and explicitly set to start of day
70
+ const currDate = date.clone().startOf('month').startOf('day');
71
+ // Get the day of week (0-6, 0 being Sunday)
72
+ const startDay = currDate.day();
73
+ // Move back to the first day of the week
74
+ currDate.subtract(startDay, 'days');
62
75
  for (let i = 0; i < 42; i += 1) {
63
76
  dates[i] = currDate.clone();
64
77
  currDate.add(1, 'day');
@@ -134,7 +147,7 @@ export class MonthView extends Component {
134
147
  monthTextStyle,
135
148
  yearTextStyle
136
149
  } = this.props;
137
- const weekdays = customWeekdays || ['Sun', 'Mon', 'Tus', 'Wes', 'Thu', 'Fri', 'Sat'];
150
+ const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
138
151
  const data = this.calendarArray(this.props.date || moment());
139
152
  const dayOfWeek = [];
140
153
  const month = this.props.customMonth ? this.props.customMonth[((_this$props$date3 = this.props.date) === null || _this$props$date3 === void 0 ? void 0 : _this$props$date3.get('month')) || 0] : 'Jan';
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","moment","styles","_","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","calendarArray","dates","currDate","clone","startOf","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n const currDate = date.clone().startOf('month').startOf('week');\n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tus', 'Wes', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","moment","styles","_","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SACEC,IAAI,EACJC,IAAI,EACJC,QAAQ,EACRC,gBAAgB,QAGX,cAAc;AACrB,OAAOC,MAAM,MAAkB,QAAQ;AACvC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,CAAC,MAAM,QAAQ;AAEtB,OAAO,MAAMC,cAAc,CAAC;EAAAC,YAAA;IAAAC,eAAA,iBACR,IAAI;IAAAA,eAAA,6BACQ,IAAI;IAAAA,eAAA,eAClB,IAAI;IAAAA,eAAA,kBACTL,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;IAAAK,eAAA,kBAClCL,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC;IAAAK,eAAA,sBACpB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAAAA,eAAA,yBACjF,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAAAA,eAAA,+BAC9B,IAAI;IAAAA,eAAA,iBAC3C,YAAY;IAAAA,eAAA,gCAC4B,IAAI;IAAAA,eAAA,+BACL,IAAI;IAAAA,eAAA,gCACH,IAAI;IAAAA,eAAA,yBACjCC,GAAW,iBAAMZ,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAc,QAAA,MAAI,CAAE;IAAAH,eAAA,qBAC3BC,GAAW,IAAK,CAAC,CAAC;IACjC;IAAAD,eAAA,sBACgBI,IAAY,KAAM,CAAC,CAAC,CAAC;IAAAJ,eAAA,yBACR,IAAI;IAAAA,eAAA,kCACK,IAAI;IAAAA,eAAA,0BACZ,IAAI;IAAAA,eAAA,uBACP,IAAI;IAAAA,eAAA,uBACJ,IAAI;IAAAA,eAAA,0BACD,IAAI;IAAAA,eAAA,8BACA,IAAI;IAAAA,eAAA,oCACE,IAAI;IAAAA,eAAA,uBACjB,IAAI;IAAAA,eAAA,mCACQ,IAAI;IAAAA,eAAA,+BACR,IAAI;IAAAA,eAAA,yBACV,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;AAClC;AAEA,OAAO,MAAMK,cAAc,CAAC;EAG1BN,WAAWA,CAAQO,YAAoB,GAAGX,MAAM,CAAC,CAAC,EAAE;IAAA,KAAjCW,YAAoB,GAApBA,YAAoB;IAAAN,eAAA,mBAF5B,KAAK;IAAAA,eAAA,sBACM,IAAI;EAG1B;AACF;AAEA,OAAO,MAAMO,SAAS,SAASjB,SAAS,CAAiC;EAIvES,WAAWA,CAACS,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG,IAAIJ,cAAc,CAAC,IAAI,CAACG,KAAK,CAACJ,IAAI,CAAC;IAChD;IACAT,MAAM,CAACe,YAAY,CAAC,IAAI,EAAE;MACxBC,IAAI,EAAE;QACJC,GAAG,EAAE,CAAC;QAAE;QACRC,GAAG,EAAE,CAAC,CAAE;MACV;IACF,CAAC,CAAC;EACJ;EAEAC,aAAaA,CAAEV,IAAY,EAAY;IACrC,MAAMW,KAAe,GAAG,EAAE;IAC1B;IACA,MAAMC,QAAQ,GAAGZ,IAAI,CAACa,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,OAAO,CAAC,CAACA,OAAO,CAAC,KAAK,CAAC;IAC7D;IACA,MAAMC,QAAQ,GAAGH,QAAQ,CAACf,GAAG,CAAC,CAAC;IAC/B;IACAe,QAAQ,CAACI,QAAQ,CAACD,QAAQ,EAAE,MAAM,CAAC;IAEnC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEA,CAAC,IAAI,CAAC,EAAE;MAC9BN,KAAK,CAACM,CAAC,CAAC,GAAGL,QAAQ,CAACC,KAAK,CAAC,CAAC;MAC3BD,QAAQ,CAACM,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;IACxB;IACA,OAAOP,KAAK;EACd;EAEAQ,SAASA,CAACtB,GAAW,EAAE;IAAA,IAAAuB,gBAAA,EAAAC,iBAAA;IACrB,MAAM;MAAEC,YAAY;MAAEC,wBAAwB;MAC5CC,cAAc;MAAEC,YAAY;MAAEC,eAAe;MAAEC,mBAAmB;MAAEC,yBAAyB;MAAEC;IAAqB,CAAC,GAAG,IAAI,CAACzB,KAAK;IACpI,MAAM0B,YAAY,IAAAV,gBAAA,GAAG,IAAI,CAAChB,KAAK,CAACJ,IAAI,cAAAoB,gBAAA,uBAAfA,gBAAA,CAAiBW,MAAM,CAAClC,GAAG,CAAC;IACjD,MAAMmC,SAAS,GAAGzC,MAAM,CAAC,CAAC,CAACwC,MAAM,CAAClC,GAAG,EAAE,MAAM,CAAC;IAC9C,MAAMoC,eAAe,GAAG,GAAAZ,iBAAA,GAAC,IAAI,CAACjB,KAAK,CAACJ,IAAI,cAAAqB,iBAAA,eAAfA,iBAAA,CAAiBU,MAAM,CAAClC,GAAG,EAAE,OAAO,CAAC;IAC9D,MAAMqC,SAAS,GAAI,CAAC,IAAI,CAAC9B,KAAK,CAAC+B,WAAW,GAAG,IAAI,CAAC/B,KAAK,CAAC+B,WAAW,CAACtC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAS;IAC9F,oBACEZ,KAAA,CAAAa,aAAA,CAACR,gBAAgB;MACf8C,MAAM,EAAE,IAAI,CAAChC,KAAK,CAACgC,MAAM,GAAG,GAAG,GAAGvC,GAAG,CAACwC,MAAM,CAAC,YAAY,CAAE;MAC3DC,kBAAkB,EAAE,IAAI,CAAClC,KAAK,CAACgC,MAAM,GAAG,GAAG,GAAGvC,GAAG,CAACwC,MAAM,CAAC,YAAY,CAAE;MACvEE,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACC,UAAU,CAAC3C,GAAG,CAAE;MACpC4C,KAAK,EAAE,CAACjD,MAAM,CAACkD,OAAO,EAAEpB,YAAY,EAClCU,SAAS,GAAGN,eAAe,GAAG,CAAC,CAAC,EAChCI,YAAY,GAAG;QAAEa,eAAe,EAAE,SAAS;QAAE,GAAGpB;MAAyB,CAAC,GAAG,CAAC,CAAC,EAC/EW,SAAS,CAACU,cAAc;IAAE,gBAE5B3D,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACqD,KAAK,EAAE;QAACI,aAAa,EAAE,QAAQ;QAAEC,cAAc,EAAE,QAAQ;QAAEC,UAAU,EAAE;MAAQ;IAAE,gBACrF9D,KAAA,CAAAa,aAAA,CAACX,IAAI;MAACsD,KAAK,EAAE,CAACjD,MAAM,CAACK,GAAG,EAAE4B,YAAY,EACpCO,SAAS,GAAGL,mBAAmB,GAAG,CAAC,CAAC,EACpCM,eAAe,GAAG;QAAEe,KAAK,EAAE,SAAS;QAAE,GAAGpB;MAA0B,CAAC,GAAG,CAAC,CAAC,EACzEE,YAAY,GAAG;QAAEkB,KAAK,EAAE,MAAM;QAAE,GAAGnB;MAAqB,CAAC,GAAG,CAAC,CAAC,EAC9DK,SAAS,CAACe,SAAS;IAAE,GACpBpD,GAAG,CAACqD,GAAG,CAAC,MAAM,CACX,CAAC,EACN1B,cAAc,IAAIA,cAAc,CAAC3B,GAAG,CACjC,CACU,CAAC;EAEvB;EAEA2C,UAAUA,CAACxC,IAAY,EAAE;IACvB,IAAI,IAAI,CAACmD,YAAY,CAACnD,IAAI,CAAC,EAAE;MAC3B,IAAI,CAACI,KAAK,CAACoC,UAAU,IAAI,IAAI,CAACpC,KAAK,CAACoC,UAAU,CAACxC,IAAI,CAAC;IACtD;EACF;EAEAoD,eAAeA,CAACC,IAAY,EAAEC,IAAY,EAAE;IAC1C,IAAI,CAACd,UAAU,CAAC,CAAC,IAAI,CAACpC,KAAK,CAACJ,IAAI,IAAIT,MAAM,CAAC,CAAC,EAAEsB,KAAK,CAAC,CAAC,CAACK,GAAG,CAACmC,IAAI,EAAEC,IAAW,CAAC,CAACxC,OAAO,CAAC,OAAO,CAAC,CAAC;EAChG;EAEAqC,YAAYA,CAACnD,IAAY,EAAE;IACzB,MAAM;MAAEuD,OAAO;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACpD,KAAK;IACvC,OAAO,CAAAmD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,cAAc,CAACzD,IAAI,CAAC,MAAIwD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,aAAa,CAAC1D,IAAI,CAAC;EACtE;EAEA2D,MAAMA,CAAA,EAAG;IAAA,IAAAC,iBAAA,EAAAC,iBAAA;IACP,MAAM;MACJC,oBAAoB;MAAEC,qBAAqB;MAC3CC,oBAAoB;MAAEC,qBAAqB;MAC3CC,YAAY;MAAEC,cAAc;MAAEC,eAAe;MAC7CC,uBAAuB;MAAEC,cAAc;MAAEC;IAC3C,CAAC,GAAG,IAAI,CAACnE,KAAK;IACd,MAAMoE,QAAQ,GAAGL,cAAc,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IACpF,MAAMM,IAAI,GAAG,IAAI,CAAC/D,aAAa,CAAC,IAAI,CAACN,KAAK,CAACJ,IAAI,IAAIT,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAMmF,SAA4B,GAAG,EAAE;IACvC,MAAMC,KAAK,GAAG,IAAI,CAACvE,KAAK,CAACwE,WAAW,GAAG,IAAI,CAACxE,KAAK,CAACwE,WAAW,CAAC,EAAAhB,iBAAA,OAAI,CAACxD,KAAK,CAACJ,IAAI,cAAA4D,iBAAA,uBAAfA,iBAAA,CAAiBV,GAAG,CAAC,OAAO,CAAC,KAAI,CAAC,CAAC,GAAE,KAAK;IACxG,MAAM2B,IAAI,GAAG,EAAAhB,iBAAA,OAAI,CAACzD,KAAK,CAACJ,IAAI,cAAA6D,iBAAA,uBAAfA,iBAAA,CAAiBX,GAAG,CAAC,MAAM,CAAC,KAAI,CAAC;IAC9CzD,CAAC,CAACqF,OAAO,CAACN,QAAQ,EAAEO,OAAO,IAAI;MAC7BL,SAAS,CAACM,IAAI,cAAC/F,KAAA,CAAAa,aAAA,CAACX,IAAI;QAAC8F,GAAG,EAAEF,OAAQ;QAACtC,KAAK,EAAE,CAACjD,MAAM,CAACgF,QAAQ,EAAEN,YAAY;MAAE,GAAEa,OAAc,CAAC,CAAC;IAC9F,CAAC,CAAC;IAEF,oBACE9F,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACqD,KAAK,EAAE,CAACjD,MAAM,CAAC0F,SAAS,EAAE,IAAI,CAAC9E,KAAK,CAACwC,cAAc;IAAE,gBACzD3D,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACqD,KAAK,EAAE,CAAC;QAAEI,aAAa,EAAE,KAAK;QAAEC,cAAc,EAAE,eAAe;QAAEC,UAAU,EAAE;MAAS,CAAC,EAAEsB,uBAAuB;IAAE,gBAItHpF,KAAA,CAAAa,aAAA,CAACR,gBAAgB;MAACiD,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACa,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO;IAAE,GAChEW,qBAAqB,GAAGA,qBAAqB,CAAC,CAAC,gBAAG9E,KAAA,CAAAa,aAAA,CAACX,IAAI,QAAE,GAAU,CACpD,CAAC,eACnBF,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACqD,KAAK,EAAE;QAACI,aAAa,EAAE;MAAK;IAAE,gBAClC5D,KAAA,CAAAa,aAAA,CAACX,IAAI;MAACsD,KAAK,EAAE,CAACjD,MAAM,CAAC2F,aAAa,EAAEb,cAAc;IAAE,GAAGK,KAAK,GAAG,IAAW,CAAC,eAC3E1F,KAAA,CAAAa,aAAA,CAACX,IAAI;MAACsD,KAAK,EAAE,CAACjD,MAAM,CAAC2F,aAAa,EAAEZ,aAAa;IAAE,GAAGM,IAAW,CAC7D,CAAC,eACP5F,KAAA,CAAAa,aAAA,CAACR,gBAAgB;MAACiD,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACa,eAAe,CAAC,CAAC,EAAE,OAAO;IAAE,GAC/Da,qBAAqB,GAAGA,qBAAqB,CAAC,CAAC,gBAAGhF,KAAA,CAAAa,aAAA,CAACX,IAAI,QAAE,GAAU,CACpD,CAId,CAAC,eACPF,KAAA,CAAAa,aAAA,CAACV,IAAI;MAACqD,KAAK,EAAE,CAAC;QAAEI,aAAa,EAAE,KAAK;QAAEC,cAAc,EAAE;MAAe,CAAC,EAAEsB,eAAe;IAAE,GACtFM,SACG,CAAC,eACPzF,KAAA,CAAAa,aAAA,CAACT,QAAQ;MACPoF,IAAI,EAAEA,IAAK;MACXW,YAAY,EAAGC,IAAI,IAAK,EAAE,GAAGA,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,OAAO,CAAC,CAAE;MACrDC,UAAU,EAAEA,CAAC;QAAEH;MAAK,CAAC,KAAK,IAAI,CAAClE,SAAS,CAACkE,IAAI,CAAE;MAC/CI,SAAS,EAAE,IAAI,CAACpF,KAAM;MACtBqF,kBAAkB,EAAE;QAAC5C,cAAc,EAAE;MAAe,CAAE;MACtD6C,UAAU,EAAE,CAAE;MACdlD,KAAK,EAAE;QACLmD,OAAO,EAAE;MACX;IAAE,CACH,CACG,CAAC;EAEX;AACF;AAAChG,eAAA,CAnIYO,SAAS,kBAEE,IAAIT,cAAc,CAAC,CAAC","ignoreList":[]}
@@ -46,9 +46,13 @@ export default class BaseDatetime extends BaseComponent {
46
46
  _defineProperty(this, "prevDatavalue", void 0);
47
47
  }
48
48
  format(date, format) {
49
+ var _this$props$locale;
49
50
  if (format === 'timestamp') {
50
51
  return date instanceof Date ? '' + date.getTime() : date;
51
52
  }
53
+
54
+ // Convert moment formatting with respect to the current local.
55
+ moment.locale((_this$props$locale = this.props.locale) !== null && _this$props$locale !== void 0 ? _this$props$locale : 'en');
52
56
  return date && moment(date).format(format);
53
57
  }
54
58
  parse(date, format) {
@@ -116,6 +120,7 @@ export default class BaseDatetime extends BaseComponent {
116
120
  }
117
121
  const date = isString(datavalue) ? this.parse(datavalue, this.momentPattern(props.outputformat)) : datavalue;
118
122
  datavalue = this.convertTimezone(datavalue);
123
+ console.log("===== output value ======", date.toDateString(), datavalue);
119
124
  this.updateState({
120
125
  dateValue: date,
121
126
  displayValue: this.format(datavalue ? datavalue : date, this.momentPattern(props.datepattern))