@wavemaker/app-rn-runtime 11.11.0-rc.6109 → 11.11.0-rc.6112
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.
- package/actions/notification-action.js +3 -1
- package/actions/notification-action.js.map +1 -1
- package/components/basic/label/label.component.js +78 -33
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/message/message.component.js +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/search/search.component.js +49 -28
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +1 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/chart/basechart.component.js +3 -0
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/data/list/list.component.js +16 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +29 -3
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js +1 -1
- package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +3 -2
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +12 -24
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page.component.js +7 -4
- package/components/page/page.component.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +1 -1
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +24 -15
- package/core/base.component.js.map +1 -1
- package/core/sticky-container.component.js +34 -27
- package/core/sticky-container.component.js.map +1 -1
- package/core/toast.service.js.map +1 -1
- package/core/utils.js +51 -5
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +42 -86
- package/package-lock.json +42 -86
- package/package.json +2 -2
- package/runtime/App.js +7 -6
- package/runtime/App.js.map +1 -1
- package/runtime/base-fragment.component.js +2 -1
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-toast.service.js +4 -0
- package/runtime/services/app-toast.service.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","updateState","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","selecteditem","$index","$event","eventName","disableitem","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","selectedindex","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 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","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":[]}
|
@@ -14,6 +14,7 @@ import { DEFAULT_CLASS } from './appnavbar.styles';
|
|
14
14
|
import { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';
|
15
15
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
16
16
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
17
|
+
import { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
17
18
|
export class WmAppNavbarState extends BaseComponentState {}
|
18
19
|
export default class WmAppNavbar extends BaseComponent {
|
19
20
|
constructor(props) {
|
@@ -33,6 +34,17 @@ export default class WmAppNavbar extends BaseComponent {
|
|
33
34
|
this.cleanup.push(() => subscription.remove());
|
34
35
|
}
|
35
36
|
}
|
37
|
+
updatePageScrollTopThreshold(event) {
|
38
|
+
const {
|
39
|
+
height
|
40
|
+
} = event.nativeEvent.layout;
|
41
|
+
// maintaining pageScrollTopThreshold value for sticky header to attach from top position
|
42
|
+
if (this.props.hideonscroll) {
|
43
|
+
this.appConfig.pageScrollTopThreshold = 0;
|
44
|
+
} else {
|
45
|
+
this.appConfig.pageScrollTopThreshold = Math.ceil(height);
|
46
|
+
}
|
47
|
+
}
|
36
48
|
renderContent(props) {
|
37
49
|
//@ts-ignore
|
38
50
|
const badge = props.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
|
@@ -57,7 +69,10 @@ export default class WmAppNavbar extends BaseComponent {
|
|
57
69
|
ref: ref => {
|
58
70
|
this.baseView = ref;
|
59
71
|
},
|
60
|
-
onLayout: event =>
|
72
|
+
onLayout: event => {
|
73
|
+
this.handleLayout(event);
|
74
|
+
this.updatePageScrollTopThreshold(event);
|
75
|
+
}
|
61
76
|
}, this._background, /*#__PURE__*/React.createElement(View, {
|
62
77
|
style: this.styles.leftSection
|
63
78
|
}, props.showDrawerButton && /*#__PURE__*/React.createElement(WmIcon, {
|
@@ -94,12 +109,23 @@ export default class WmAppNavbar extends BaseComponent {
|
|
94
109
|
});
|
95
110
|
}
|
96
111
|
renderWidget(props) {
|
97
|
-
if (props.hideonscroll) this.isSticky = true;
|
112
|
+
if (props.hideonscroll) this.isSticky = true;else this.isFixed = true;
|
98
113
|
return props.hideonscroll ? /*#__PURE__*/React.createElement(StickyView, {
|
99
114
|
theme: this.theme,
|
100
115
|
component: this,
|
101
116
|
slide: true
|
102
|
-
}, this.renderContent(props)) :
|
117
|
+
}, this.renderContent(props)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FixedView, {
|
118
|
+
style: {
|
119
|
+
top: 0,
|
120
|
+
width: '100%'
|
121
|
+
},
|
122
|
+
theme: this.theme,
|
123
|
+
animated: false
|
124
|
+
}, this.renderContent(props)), /*#__PURE__*/React.createElement(View, {
|
125
|
+
style: {
|
126
|
+
opacity: 0
|
127
|
+
}
|
128
|
+
}, this.renderContent(props)));
|
103
129
|
}
|
104
130
|
}
|
105
131
|
//# sourceMappingURL=appnavbar.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","StickyView","SafeAreaInsetsContext","injector","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","height","ref","baseView","onLayout","event","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","hideonscroll","isSticky","component","slide"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n if(props.hideonscroll) this.isSticky = true;\n return props.hideonscroll ? \n <StickyView\n theme={this.theme}\n component={this}\n slide={true}\n >\n {this.renderContent(props)}\n </StickyView>\n : this.renderContent(props);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","StickyView","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","updatePageScrollTopThreshold","event","height","nativeEvent","layout","hideonscroll","appConfig","pageScrollTopThreshold","Math","ceil","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","statusBarCustomisation","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isSticky","isFixed","component","slide","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n updatePageScrollTopThreshold(event: any):void {\n const { height } = event.nativeEvent.layout;\n // maintaining pageScrollTopThreshold value for sticky header to attach from top position\n if(this.props.hideonscroll){\n this.appConfig.pageScrollTopThreshold = 0; \n }else {\n this.appConfig.pageScrollTopThreshold = Math.ceil(height);\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updatePageScrollTopThreshold(event);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n if(props.hideonscroll) this.isSticky = true;\n else this.isFixed = true;\n return props.hideonscroll ? \n <StickyView\n theme={this.theme}\n component={this}\n slide={true}\n >\n {this.renderContent(props)}\n </StickyView> :\n <>\n <FixedView \n style={{top: 0, width:'100%'}} \n theme={this.theme}\n animated={false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -16,7 +16,7 @@ export default class WmAppNavbarProps extends BaseProps {
|
|
16
16
|
_defineProperty(this, "searchbutton", false);
|
17
17
|
_defineProperty(this, "searchbuttoniconclass", 'wm-sl-l sl-search');
|
18
18
|
_defineProperty(this, "badgevalue", void 0);
|
19
|
-
_defineProperty(this, "hideonscroll",
|
19
|
+
_defineProperty(this, "hideonscroll", false);
|
20
20
|
}
|
21
21
|
}
|
22
22
|
//# sourceMappingURL=appnavbar.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n hideonscroll?: boolean;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;IAAAA,eAAA;IAAAA,eAAA;EAAA;
|
1
|
+
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","args","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search';\n badgevalue?: string;\n hideonscroll?: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;IAAAA,eAAA;IAAAA,eAAA,uBAElB,KAAK;EAAA;AAClC","ignoreList":[]}
|
@@ -6,6 +6,7 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
|
|
6
6
|
import WmLeftPanelProps from './left-panel.props';
|
7
7
|
import { DEFAULT_CLASS } from './left-panel.styles';
|
8
8
|
import { ScrollView } from 'react-native-gesture-handler';
|
9
|
+
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
9
10
|
export class WmLeftPanelState extends BaseComponentState {
|
10
11
|
constructor(...args) {
|
11
12
|
super(...args);
|
@@ -33,7 +34,7 @@ export default class WmLeftPanel extends BaseComponent {
|
|
33
34
|
return props.children;
|
34
35
|
}
|
35
36
|
renderWidget(props) {
|
36
|
-
return /*#__PURE__*/React.createElement(ScrollView, {
|
37
|
+
return /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(ScrollView, {
|
37
38
|
onScroll: event => {
|
38
39
|
this.notify('scroll', [event]);
|
39
40
|
},
|
@@ -42,7 +43,7 @@ export default class WmLeftPanel extends BaseComponent {
|
|
42
43
|
width: "100%",
|
43
44
|
maxWidth: "100%"
|
44
45
|
}]
|
45
|
-
}, this._background, this.renderContent(props));
|
46
|
+
}, this._background, this.renderContent(props)));
|
46
47
|
}
|
47
48
|
}
|
48
49
|
//# sourceMappingURL=left-panel.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView \n
|
1
|
+
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","FixedViewContainer","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <FixedViewContainer>\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={[this.styles.root, {width: \"100%\", maxWidth: \"100%\"}]}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n </FixedViewContainer>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,kBAAkB,QAAQ,qDAAqD;AAExF,OAAO,MAAMC,gBAAgB,SAASL,kBAAkB,CAAmB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAASV,aAAa,CAAwD;EAE5GO,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAU,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEZ,KAAA,CAAAwB,aAAA,CAAClB,kBAAkB,qBACjBN,KAAA,CAAAwB,aAAA,CAACnB,UAAU;MACToB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,KAAK,EAAE,MAAM;QAAEC,QAAQ,EAAE;MAAM,CAAC;IAAE,GAC5E,IAAI,CAACC,WAAW,EAChB,IAAI,CAACnB,aAAa,CAACH,KAAK,CACf,CACM,CAAC;EAEzB;AACF","ignoreList":[]}
|
@@ -11,43 +11,31 @@ import { DEFAULT_CLASS } from './page-content.styles';
|
|
11
11
|
import { ScrollView } from 'react-native-gesture-handler';
|
12
12
|
import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
|
13
13
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
14
|
-
export class WmPageContentState extends BaseComponentState {
|
15
|
-
constructor(...args) {
|
16
|
-
super(...args);
|
17
|
-
_defineProperty(this, "previousScrollY", 0);
|
18
|
-
_defineProperty(this, "swipeThreshold", 8);
|
19
|
-
}
|
20
|
-
}
|
14
|
+
export class WmPageContentState extends BaseComponentState {}
|
21
15
|
export default class WmPageContent extends BaseComponent {
|
22
16
|
constructor(props) {
|
23
17
|
super(props, DEFAULT_CLASS, new WmPageContentProps());
|
24
18
|
_defineProperty(this, "scrollRef", void 0);
|
19
|
+
_defineProperty(this, "previousScrollPosition", 0);
|
25
20
|
_defineProperty(this, "handleScroll", event => {
|
26
|
-
const
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
const delta = currentScrollY - previousScrollY;
|
32
|
-
if (Math.abs(delta) > swipeThreshold) {
|
33
|
-
if (delta > 0) {
|
21
|
+
const scrollPosition = event.nativeEvent.contentOffset.y;
|
22
|
+
if (Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >= 0) {
|
23
|
+
const e = event;
|
24
|
+
if (scrollPosition > this.previousScrollPosition) {
|
25
|
+
e.scrollDirection = 1;
|
34
26
|
this.invokeEventCallback('onSwipeup', [null, this.proxy]);
|
27
|
+
} else if (scrollPosition === this.previousScrollPosition) {
|
28
|
+
e.scrollDirection = 0;
|
35
29
|
} else {
|
30
|
+
e.scrollDirection = -1;
|
36
31
|
this.invokeEventCallback('onSwipedown', [null, this.proxy]);
|
37
32
|
}
|
38
|
-
this.
|
39
|
-
|
40
|
-
});
|
33
|
+
this.previousScrollPosition = scrollPosition;
|
34
|
+
this.notify('scroll', [e]);
|
41
35
|
}
|
42
|
-
this.notify('scroll', [event]);
|
43
36
|
});
|
44
37
|
this.hideMode = HideMode.DONOT_ADD_TO_DOM;
|
45
38
|
this.scrollRef = /*#__PURE__*/createRef();
|
46
|
-
this.state = {
|
47
|
-
...this.state,
|
48
|
-
previousScrollY: 0,
|
49
|
-
swipeThreshold: 8
|
50
|
-
};
|
51
39
|
this.subscribe('scrollToPosition', args => {
|
52
40
|
this.scrollTo(args);
|
53
41
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","currentScrollY","nativeEvent","contentOffset","y","previousScrollY","swipeThreshold","state","delta","Math","abs","invokeEventCallback","proxy","setState","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","testID","getTestId","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n previousScrollY: number = 0;\n swipeThreshold: number = 8;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n previousScrollY: 0,\n swipeThreshold: 8\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const currentScrollY = event.nativeEvent.contentOffset.y;\n const { previousScrollY, swipeThreshold } = this.state;\n \n const delta = currentScrollY - previousScrollY;\n \n if (Math.abs(delta) > swipeThreshold) {\n if (delta > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n \n } else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.setState({ previousScrollY: currentScrollY });\n }\n this.notify('scroll', [event]);\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n \n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","WmPageContent","constructor","props","_defineProperty","event","scrollPosition","nativeEvent","contentOffset","y","Math","abs","previousScrollPosition","e","scrollDirection","invokeEventCallback","proxy","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","args","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","testID","getTestId","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {}\n\nexport interface CustomScrollEvent {\n scrollDirection: number;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n private previousScrollPosition: number = 0;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const scrollPosition = event.nativeEvent.contentOffset.y;\n if(Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\n }\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n \n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAmB,OAAO;AACnD,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,IAAI,QAAiD,cAAc;AAC5G,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAC1E,SAASC,UAAU,QAAQ,8BAA8B;AACzD,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,OAAO,MAAMC,kBAAkB,SAASN,kBAAkB,CAAqB;AAM/E,eAAe,MAAMO,aAAa,SAASR,aAAa,CAA8D;EAIpHS,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;IAACS,eAAA;IAAAA,eAAA,iCAHf,CAAC;IAAAA,eAAA,uBAwBlBC,KAA8C,IAAK;MACzE,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC;MACxD,IAAGC,IAAI,CAACC,GAAG,CAACL,cAAc,GAAG,IAAI,CAACM,sBAAsB,CAAC,IAAI,CAAC,IAAIN,cAAc,IAAG,CAAC,EAAC;QACnF,MAAMO,CAAC,GAAGR,KAAqC;QAC/C,IAAIC,cAAc,GAAG,IAAI,CAACM,sBAAsB,EAAE;UAChDC,CAAC,CAACC,eAAe,GAAG,CAAC;UACrB,IAAI,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC3D,CAAC,MAAM,IAAIV,cAAc,KAAK,IAAI,CAACM,sBAAsB,EAAE;UACzDC,CAAC,CAACC,eAAe,GAAG,CAAC;QACvB,CAAC,MAAM;UACLD,CAAC,CAACC,eAAe,GAAG,CAAC,CAAC;UACtB,IAAI,CAACC,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7D;QACA,IAAI,CAACJ,sBAAsB,GAAGN,cAAc;QAC5C,IAAI,CAACW,MAAM,CAAC,QAAQ,EAAE,CAACJ,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IApCC,IAAI,CAACK,QAAQ,GAAG1B,QAAQ,CAAC2B,gBAAgB;IACzC,IAAI,CAACC,SAAS,gBAAGjC,SAAS,CAAC,CAAC;IAE5B,IAAI,CAACkC,SAAS,CAAC,kBAAkB,EAAGC,IAAS,IAAK;MAChD,IAAI,CAACC,QAAQ,CAACD,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAACD,SAAS,CAAC,aAAa,EAAE,MAAM;MAAA,IAAAG,eAAA;MAClC,CAAAA,eAAA,OAAI,CAACJ,SAAS,cAAAI,eAAA,eAAdA,eAAA,CAAgBC,OAAO,CAACC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC;EACJ;EAEOH,QAAQA,CAACI,QAAgC,EAAC;IAAA,IAAAC,gBAAA;IAC/C,CAAAA,gBAAA,OAAI,CAACR,SAAS,cAAAQ,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBH,OAAO,cAAAG,gBAAA,eAAvBA,gBAAA,CAAyBL,QAAQ,CAAC;MAChCM,CAAC,EAAEF,QAAQ,CAACE,CAAC;MACbpB,CAAC,EAAEkB,QAAQ,CAAClB,CAAC;MACbqB,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAoBOC,cAAcA,CAAC5B,KAAyB,EAAmB;IAChE,IAAG,IAAI,CAACA,KAAK,CAAC6B,yBAAyB,EAAE;MACvC,oBAAO9C,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;QAAC4C,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,IAAI;MAAE,gBACvDnD,KAAA,CAAA+C,aAAA,CAACnC,QAAQ;QAACsC,MAAM,EAAE;UAAEE,OAAO,EAAE;YAAC,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI;YAAE,GAAG,IAAI,CAACD,MAAM,CAACG,QAAQ,CAACF;UAAI;QAAE,CAAE;QAACG,MAAM,EAAE,IAAI,CAACrC,KAAK,CAAC6B,yBAA0B;QAACS,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAACxC,KAAK,CAACyC;MAAuB,CAAC,CACnM,CAAC;IACT;IACA,OAAO,IAAI;EACb;EAEAC,YAAYA,CAAC1C,KAAyB,EAAE;IACtC,MAAM2C,aAAa,GAAI,IAAI,CAACV,MAAM,CAACC,IAAI,CAASU,cAAc,IAAI,aAAa;IAE/E,OAAQ5C,KAAK,CAAC6C,UAAU,IAAIzD,gBAAgB,CAAC,CAAC,gBAC5CL,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;MAAC4C,KAAK,EAAE;QAACe,MAAM,EAAE,MAAM;QAAEd,KAAK,EAAE,MAAM;QAAEe,eAAe,EAAE,IAAI,CAACC,aAAa,IAAI,IAAI,CAACf,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GAAG,IAAI,CAACd,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GAAG,IAAI,CAACd,MAAM,CAACC,IAAI,CAACa;MAAe;IAAE,GAC3M,IAAI,CAACE,WAAW,eACjBlE,KAAA,CAAA+C,aAAA,CAAClC,qBAAqB,CAACsD,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC;MAC1C,MAAMI,cAAc,GAAGvE,QAAQ,CAACwE,EAAE,KAAK,KAAK,GAAGF,cAAc,GAAGxD,KAAK,CAAC2D,sBAAsB,GAAGH,cAAc;MAC7G,oBACEzE,KAAA,CAAA+C,aAAA,CAAC7C,oBAAoB;QACnB2E,QAAQ,EAAE1E,QAAQ,CAACwE,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvC1B,KAAK,EAAE;UAAEgC,IAAI,EAAE;QAAE;MAAE,gBACnBhF,KAAA,CAAA+C,aAAA,CAACpC,UAAU;QACTsE,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,yBAAyB,CAAE;QAClDC,GAAG,EAAE,IAAI,CAACjD,SAAU;QACpBkD,qBAAqB,EAAE,CAAC,IAAI,CAAClC,MAAM,CAACC,IAAI,EAAE;UAACa,eAAe,EAAE;QAAa,CAAC,CAAE;QAC5EqB,4BAA4B,EAAEzB,aAAc;QAC5C0B,QAAQ,EAAE,IAAI,CAACC,YAAa;QAC5BC,oBAAoB,EAAE,KAAM;QAC5BC,sBAAsB,EAAE,KAAM;QAC9BC,OAAO,EAAE,KAAM;QACfC,mBAAmB,EAAE;MAAG,GACvB1E,KAAK,CAAC2E,QACG,CACQ,CAAC;IACxB,CAC2B,CAC5B,CAAC,gBAEP5F,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;MAAC4C,KAAK,EAAE,CAAC,IAAI,CAACE,MAAM,CAACC,IAAI,EAC1B;QAACa,eAAe,EAAE,IAAI,CAACC,aAAa,GAClC,IAAI,CAACf,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACa,eAAe,GACzC,IAAI,CAACd,MAAM,CAACC,IAAI,CAACa;MAAe,CAAC;IAAE,gBACvChE,KAAA,CAAA+C,aAAA,CAAClC,qBAAqB,CAACsD,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC;MAC1C,MAAMI,cAAc,GAAGvE,QAAQ,CAACwE,EAAE,KAAK,KAAK,GAAGF,cAAc,GAAGxD,KAAK,CAAC2D,sBAAsB,GAAGH,cAAc;MAC7G,oBACEzE,KAAA,CAAA+C,aAAA,CAAC7C,oBAAoB;QACnB2E,QAAQ,EAAE1E,QAAQ,CAACwE,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvC1B,KAAK,EAAE;UAAEgC,IAAI,EAAE;QAAE;MAAE,GAClB,IAAI,CAACd,WAAW,EAChBjD,KAAK,CAAC2E,QACa,CAAC;IACxB,CAC2B,CAC5B,CACP;EACH;AACF","ignoreList":[]}
|
@@ -7,6 +7,8 @@ import { PanResponder, ScrollView, View } from 'react-native';
|
|
7
7
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
8
8
|
import { DEFAULT_CLASS } from './page.styles';
|
9
9
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
10
|
+
import { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.component';
|
11
|
+
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
10
12
|
export class WmPageState extends BaseComponentState {}
|
11
13
|
export default class WmPage extends BaseComponent {
|
12
14
|
constructor(props) {
|
@@ -19,9 +21,10 @@ export default class WmPage extends BaseComponent {
|
|
19
21
|
return false;
|
20
22
|
}
|
21
23
|
}));
|
22
|
-
_defineProperty(this, "onScroll",
|
23
|
-
const scrollPosition =
|
24
|
+
_defineProperty(this, "onScroll", event => {
|
25
|
+
const scrollPosition = event.nativeEvent.contentOffset.y;
|
24
26
|
if (Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >= 0) {
|
27
|
+
const e = event;
|
25
28
|
if (scrollPosition > this.previousScrollPosition) {
|
26
29
|
e.scrollDirection = 1;
|
27
30
|
} else if (scrollPosition === this.previousScrollPosition) {
|
@@ -44,7 +47,7 @@ export default class WmPage extends BaseComponent {
|
|
44
47
|
});
|
45
48
|
}
|
46
49
|
renderWidget(props) {
|
47
|
-
return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
50
|
+
return /*#__PURE__*/React.createElement(StickyViewContainer, null, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
48
51
|
top: 0,
|
49
52
|
bottom: 0,
|
50
53
|
left: 0,
|
@@ -62,7 +65,7 @@ export default class WmPage extends BaseComponent {
|
|
62
65
|
}), this._background, props.children) : /*#__PURE__*/React.createElement(View, {
|
63
66
|
style: this.styles.root
|
64
67
|
}, this._background, props.children);
|
65
|
-
});
|
68
|
+
})));
|
66
69
|
}
|
67
70
|
}
|
68
71
|
//# sourceMappingURL=page.component.js.map
|