Skip to content

Commit 51b39c0

Browse files
committed
dashboard: Replace async loadMore() action with ember-concurrency task
1 parent 6b2339d commit 51b39c0

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

app/controllers/dashboard.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import Controller from '@ember/controller';
33
import { computed } from '@ember/object';
44
import { alias } from '@ember/object/computed';
55

6+
import { task } from 'ember-concurrency';
7+
68
import ajax from '../utils/ajax';
79

810
const TO_SHOW = 5;
@@ -36,20 +38,18 @@ export default Controller.extend({
3638
return this.get('myFollowing.length') > TO_SHOW;
3739
}),
3840

39-
actions: {
40-
async loadMore() {
41-
this.set('loadingMore', true);
42-
let page = this.myFeed.length / 10 + 1;
43-
44-
try {
45-
let data = await ajax(`/api/v1/me/updates?page=${page}`);
46-
let versions = data.versions.map(version => this.store.push(this.store.normalize('version', version)));
47-
48-
this.myFeed.pushObjects(versions);
49-
this.set('hasMore', data.meta.more);
50-
} finally {
51-
this.set('loadingMore', false);
52-
}
53-
},
54-
},
41+
loadMoreTask: task(function* () {
42+
this.set('loadingMore', true);
43+
let page = this.myFeed.length / 10 + 1;
44+
45+
try {
46+
let data = yield ajax(`/api/v1/me/updates?page=${page}`);
47+
let versions = data.versions.map(version => this.store.push(this.store.normalize('version', version)));
48+
49+
this.myFeed.pushObjects(versions);
50+
this.set('hasMore', data.meta.more);
51+
} finally {
52+
this.set('loadingMore', false);
53+
}
54+
}),
5555
});

app/routes/dashboard.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default Route.extend(AuthenticatedRoute, {
1010

1111
if (!controller.loadingMore) {
1212
controller.set('myFeed', A());
13-
controller.send('loadMore');
13+
controller.loadMoreTask.perform();
1414
}
1515
},
1616

app/templates/dashboard.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
</span>
6767
{{else}}
6868
{{#if this.hasMore}}
69-
<button type="button" local-class='load-more' {{ action 'loadMore' }}>
69+
<button type="button" local-class='load-more' {{on "click" (perform this.loadMoreTask)}}>
7070
Load More
7171
</button>
7272
{{/if}}

0 commit comments

Comments
 (0)