DEV: Changes following review

This commit is contained in:
David Taylor 2020-03-10 10:09:30 +00:00
parent d977f9acaa
commit da13c0f68a
No known key found for this signature in database
GPG Key ID: 46904C18B1D3F434
1 changed files with 13 additions and 5 deletions

View File

@ -13,16 +13,21 @@ export default {
withPluginApi("0.8.7", api => {
api.modifyClass("route:users", {
resetController(controller, isExisting) {
this._super(controller, isExisting);
if (isExisting) {
resetController(controller, isExiting) {
this._super(...arguments);
if (isExiting) {
controller.set("cachedUserCardInfo", {});
}
}
});
api.modifyClass("controller:users", {
cachedUserCardInfo: {},
cachedUserCardInfo: null,
init(){
this.set("cachedUserCardInfo", {});
this._super(...arguments);
},
stats: [
{ name: "likes_received", icon: "heart" },
@ -75,6 +80,9 @@ export default {
data: { user_ids: thisBatch.map(uc => uc.user.id).join(",") }
});
thisBatch.forEach(uc => {
// Each user card expects its own promise
// Rather than making a separate AJAX request for each
// We re-use the `user-cards.json` promise, and manipulate the data
const convertedPromise = promise.then(data => {
// Find the correct user from users, and put it in the user attribute
// Use Object.assign to avoid contaminating the source object
@ -84,7 +92,7 @@ export default {
});
return uc.user
.findDetails({ existingRequest: convertedPromise })
.then(() => uc.set("loading", false));
.finally(() => uc.set("loading", false));
});
}