Skip to content

Commit 4f42316

Browse files
authored
Merge pull request #1713 from StoDevX/hide-refreshing-spinners
Hide refreshing spinners on select views
2 parents a6ff76c + 2e1b521 commit 4f42316

File tree

4 files changed

+4
-54
lines changed

4 files changed

+4
-54
lines changed

source/views/contacts/contact-list.js

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {SectionList, StyleSheet} from 'react-native'
99
import {ListSeparator, ListSectionHeader} from '../components/list'
1010
import {ListEmpty} from '../components/list'
1111
import {ContactRow} from './contact-row'
12-
import delay from 'delay'
1312
import {reportNetworkProblem} from '../../lib/report-network-problem'
1413
import * as defaultData from '../../../docs/contact-info.json'
1514
import groupBy from 'lodash/groupBy'
@@ -37,7 +36,6 @@ type Props = TopLevelViewPropsType
3736
type State = {
3837
contacts: Array<ContactType>,
3938
loading: boolean,
40-
refreshing: boolean,
4139
}
4240

4341
export class ContactsListView extends React.PureComponent<void, Props, State> {
@@ -49,28 +47,12 @@ export class ContactsListView extends React.PureComponent<void, Props, State> {
4947
state = {
5048
contacts: defaultData.data,
5149
loading: true,
52-
refreshing: false,
5350
}
5451

5552
componentWillMount() {
5653
this.fetchData()
5754
}
5855

59-
refresh = async () => {
60-
const start = Date.now()
61-
this.setState(() => ({refreshing: true}))
62-
63-
await this.fetchData()
64-
65-
// wait 0.5 seconds – if we let it go at normal speed, it feels broken.
66-
const elapsed = Date.now() - start
67-
if (elapsed < 500) {
68-
await delay(500 - elapsed)
69-
}
70-
71-
this.setState(() => ({refreshing: false}))
72-
}
73-
7456
fetchData = async () => {
7557
this.setState(() => ({loading: true}))
7658

@@ -112,8 +94,6 @@ export class ContactsListView extends React.PureComponent<void, Props, State> {
11294
keyExtractor={this.keyExtractor}
11395
renderSectionHeader={this.renderSectionHeader}
11496
renderItem={this.renderItem}
115-
refreshing={this.state.refreshing}
116-
onRefresh={this.refresh}
11797
/>
11898
)
11999
}

source/views/dictionary/list.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @flow
22

33
import React from 'react'
4-
import {StyleSheet, RefreshControl, Platform} from 'react-native'
4+
import {StyleSheet, Platform} from 'react-native'
55
import {SearchableAlphabetListView} from '../components/searchable-alphabet-listview'
66
import {Column} from '../components/layout'
77
import {
@@ -136,13 +136,6 @@ export class DictionaryView extends React.PureComponent<void, Props, State> {
136136
}
137137

138138
render() {
139-
const refreshControl = (
140-
<RefreshControl
141-
refreshing={this.state.loading}
142-
onRefresh={this.refresh}
143-
/>
144-
)
145-
146139
return (
147140
<SearchableAlphabetListView
148141
cell={this.renderRow}
@@ -152,7 +145,6 @@ export class DictionaryView extends React.PureComponent<void, Props, State> {
152145
}
153146
data={groupBy(this.state.results, item => head(item.word))}
154147
onSearch={this.performSearch}
155-
refreshControl={refreshControl}
156148
renderSeparator={this.renderSeparator}
157149
sectionHeader={this.renderSectionHeader}
158150
sectionHeaderHeight={SECTION_HEADER_HEIGHT}

source/views/student-orgs/list.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,6 @@ export class StudentOrgsView extends React.Component {
9595
}
9696

9797
fetchData = async () => {
98-
this.setState(() => ({loading: true}))
99-
10098
const responseData: StudentOrgType[] = await fetchJson(
10199
orgsUrl,
102100
).catch(err => {
@@ -118,9 +116,7 @@ export class StudentOrgsView extends React.Component {
118116

119117
const sorted = sortBy(withSortableNames, '$sortableName')
120118
const grouped = groupBy(sorted, '$groupableName')
121-
this.setState(() => ({orgs: sorted, results: grouped}))
122-
123-
this.setState(() => ({loading: false}))
119+
this.setState(() => ({orgs: sorted, results: grouped, loading: false}))
124120
}
125121

126122
refresh = async () => {

source/views/transportation/bus/bus-view.js

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @flow
22

33
import React from 'react'
4-
import {ScrollView, RefreshControl} from 'react-native'
4+
import {ScrollView} from 'react-native'
55
import type {BusLineType} from './types'
66
import {BusLine} from './bus-line'
77
import moment from 'moment-timezone'
@@ -70,17 +70,6 @@ export class BusView extends React.PureComponent {
7070
this.setState(() => ({now: moment.tz(TIMEZONE)}))
7171
}
7272

73-
refreshTime = async () => {
74-
const start = Date.now()
75-
this.setState(() => ({loading: true}))
76-
this.updateTime()
77-
const elapsed = Date.now() - start
78-
if (elapsed < 500) {
79-
await delay(500 - elapsed)
80-
}
81-
this.setState(() => ({loading: false}))
82-
}
83-
8473
openMap = () => {
8574
const activeBusLine = this.findLine()
8675
this.props.navigation.navigate('BusMapView', {line: activeBusLine})
@@ -106,14 +95,7 @@ export class BusView extends React.PureComponent {
10695
}
10796

10897
return (
109-
<ScrollView
110-
refreshControl={
111-
<RefreshControl
112-
onRefresh={this.refreshTime}
113-
refreshing={this.state.loading}
114-
/>
115-
}
116-
>
98+
<ScrollView>
11799
<BusLine line={activeBusLine} now={now} openMap={this.openMap} />
118100
</ScrollView>
119101
)

0 commit comments

Comments
 (0)