11import classic from 'ember-classic-decorator' ;
22import Route from '@ember/routing/route' ;
33import EventWizardMixin from 'open-event-frontend/mixins/event-wizard' ;
4+ import { allSettled } from 'rsvp' ;
45
56@classic
67export default class SessionsSpeakersRoute extends Route . extend ( EventWizardMixin ) {
@@ -9,13 +10,13 @@ export default class SessionsSpeakersRoute extends Route.extend(EventWizardMixin
910 }
1011
1112 async model ( ) {
12- let data = this . modelFor ( 'events.view.edit' ) ;
13- data . tracks = await data . event . get ( 'tracks' ) ;
14- data . microlocations = await data . event . get ( 'microlocations' ) ;
15- data . sessionTypes = await data . event . get ( 'sessionTypes' ) ;
16- data . speakersCall = await this . getOrCreate ( data . event , 'speakersCall' , 'speakers-call' ) ;
13+ const data = this . modelFor ( 'events.view.edit' ) ;
14+ const tracksPromise = data . event . get ( 'tracks' ) ;
15+ const microlocationsPromise = data . event . get ( 'microlocations' ) ;
16+ const sessionTypesPromise = data . event . get ( 'sessionTypes' ) ;
17+ const speakersCallPromise = this . getOrCreate ( data . event , 'speakersCall' , 'speakers-call' ) ;
1718 // Only get session/speaker custom forms.
18- let customFormFilterOptions = [ {
19+ const customFormFilterOptions = [ {
1920 or : [
2021 {
2122 name : 'form' ,
@@ -29,11 +30,20 @@ export default class SessionsSpeakersRoute extends Route.extend(EventWizardMixin
2930 }
3031 ]
3132 } ] ;
32- data . customForms = await data . event . query ( 'customForms' , {
33+ const customFormsPromise = data . event . query ( 'customForms' , {
3334 filter : customFormFilterOptions ,
3435 sort : 'field-identifier' ,
3536 'page[size]' : 50
3637 } ) ;
37- return data ;
38+
39+ const [ tracks , microlocations , sessionTypes , speakersCall , customForms ] = ( await allSettled ( [ tracksPromise , microlocationsPromise , sessionTypesPromise , speakersCallPromise , customFormsPromise ] ) ) . map ( promise => promise . value ) ;
40+ return {
41+ ...data ,
42+ tracks,
43+ microlocations,
44+ sessionTypes,
45+ speakersCall,
46+ customForms
47+ } ;
3848 }
3949}
0 commit comments