Skip to content
This repository has been archived by the owner on Mar 7, 2023. It is now read-only.

Commit

Permalink
Charge les cours de la page d’accueil en asynchrone
Browse files Browse the repository at this point in the history
En ce moment la fonction `model()` de la route `index.js` renvoie une
Promesse. La route attend donc que la promesse soit résolue avant
d’afficher quoi que ce soit.

Désormais, la fonction `model()` renvoie un hash (qui contient lui-même
deux Promesses, mais peu importe). La route affiche donc le contenu de
la page immédiatement.

Lorsque les cours sont chargés, le template automatiquement mis à jour
avec les cours nouvellement disponibles.
  • Loading branch information
kemenaran committed May 22, 2017
1 parent 7797887 commit ef36c7e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
7 changes: 3 additions & 4 deletions live/app/routes/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import RSVP from 'rsvp';
import BaseRoute from 'pix-live/routes/base-route';

export default BaseRoute.extend({

model() {
return RSVP.hash({
coursesOfTheWeek: this.get('store').query('course', { isCourseOfTheWeek: true }),
return {
coursesOfTheWeek: this.get('store').query('course', { isCourseOfTheWeek: true }),
progressionCourses: this.get('store').query('course', { isCourseOfTheWeek: false, isAdaptive: false })
});
};
},

actions: {
Expand Down
6 changes: 3 additions & 3 deletions live/app/templates/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@
</section>

{{! I don't know how to correctly test this with our current Mirage config/use :-( }}
{{#if model.coursesOfTheWeek}}
<section class="index-page__section index-page__section--challenges index-page-challenges">
<div class="index-page-challenges__container">
<div class="index-page-challenges__presentation">
<h2 class="index-page-challenges__presentation-title">Le défi <span class="text--marigold">Pix</span> de la semaine</h2>
<p class="index-page-challenges__presentation-text">Chaque semaine, testez vos compétences numériques sur un nouveau sujet.</p>
</div>
<div class="index-page-challenges__course-list">
{{course-list courses=model.coursesOfTheWeek startCourse='startCourse' limit=2}}
{{#if model.coursesOfTheWeek.length}}
{{course-list courses=model.coursesOfTheWeek startCourse='startCourse' limit=2}}
{{/if}}
</div>
</div>
</section>
{{/if}}

<section class="index-page__section index-page__section--courses index-page-courses">
<h2 class="index-page-courses__title">Découvrez nos épreuves et aidez‑nous à les améliorer !</h2>
Expand Down

0 comments on commit ef36c7e

Please sign in to comment.