diff --git a/components/WebSectionList.js b/components/WebSectionList.js index ee305a6..13bc60e 100644 --- a/components/WebSectionList.js +++ b/components/WebSectionList.js @@ -10,7 +10,8 @@ import EmptyWebSectionListItem from "./EmptyWebSectionListItem"; type Props = { navigation: Object, fetchUrl: string, - refreshTime: number, + autoRefreshTime: number, + refreshOnFocus: boolean, renderItem: React.Node, renderSectionHeader: React.Node, stickyHeader: boolean, @@ -24,6 +25,8 @@ type State = { snackbarVisible: boolean }; + +const MIN_REFRESH_TIME = 5 * 1000; /** * Custom component defining a material icon using native base * @@ -82,15 +85,19 @@ export default class WebSectionList extends React.Component { const onScreenBlur = this.onScreenBlur.bind(this); this.props.navigation.addListener('focus', onScreenFocus); this.props.navigation.addListener('blur', onScreenBlur); + this.onRefresh(); } + + /** * Refresh data when focusing the screen and setup a refresh interval if asked to */ onScreenFocus() { - this.onRefresh(); - if (this.props.refreshTime > 0) - this.refreshInterval = setInterval(this.onRefresh, this.props.refreshTime) + if (this.props.refreshOnFocus && this.lastRefresh !== undefined) + this.onRefresh(); + if (this.props.autoRefreshTime > 0) + this.refreshInterval = setInterval(this.onRefresh, this.props.autoRefreshTime) } /** @@ -127,7 +134,7 @@ export default class WebSectionList extends React.Component { onRefresh() { let canRefresh; if (this.lastRefresh !== undefined) - canRefresh = (new Date().getTime() - this.lastRefresh.getTime()) > this.props.refreshTime; + canRefresh = (new Date().getTime() - this.lastRefresh.getTime()) > MIN_REFRESH_TIME; else canRefresh = true; if (canRefresh) { diff --git a/screens/HomeScreen.js b/screens/HomeScreen.js index 8e6a589..69e6639 100644 --- a/screens/HomeScreen.js +++ b/screens/HomeScreen.js @@ -526,7 +526,8 @@ export default class HomeScreen extends React.Component { ); diff --git a/screens/Proximo/ProximoMainScreen.js b/screens/Proximo/ProximoMainScreen.js index 78c58c0..a4dd547 100644 --- a/screens/Proximo/ProximoMainScreen.js +++ b/screens/Proximo/ProximoMainScreen.js @@ -194,7 +194,8 @@ export default class ProximoMainScreen extends React.Component { ); diff --git a/screens/Proxiwash/ProxiwashScreen.js b/screens/Proxiwash/ProxiwashScreen.js index 5ae43c1..515df53 100644 --- a/screens/Proxiwash/ProxiwashScreen.js +++ b/screens/Proxiwash/ProxiwashScreen.js @@ -363,10 +363,11 @@ export default class ProxiwashScreen extends React.Component { + renderSectionHeader={this.getRenderSectionHeader} + autoRefreshTime={REFRESH_TIME} + refreshOnFocus={true}/> ); diff --git a/screens/SelfMenuScreen.js b/screens/SelfMenuScreen.js index d798114..716f9cc 100644 --- a/screens/SelfMenuScreen.js +++ b/screens/SelfMenuScreen.js @@ -168,7 +168,8 @@ export default class SelfMenuScreen extends React.Component {