Skip to content

Commit 871ea57

Browse files
authored
feat: Implement Dashboard Box "Sessions and Speakers" (#6001)
1 parent 0ba8a70 commit 871ea57

File tree

5 files changed

+132
-42
lines changed

5 files changed

+132
-42
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import classic from 'ember-classic-decorator';
2+
import { classNames } from '@ember-decorators/component';
3+
import Component from '@ember/component';
4+
5+
@classic
6+
@classNames('ui', 'fluid', 'card')
7+
export default class SpeakerSession extends Component {}

app/routes/events/view/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,16 @@ export default class extends Route.extend(EmberTableRouteMixin) {
1818
const sponsorsPromise = this.asArray(eventDetails.query('sponsors', queryString));
1919
const roleInvitesPromise = eventDetails.query('roleInvites', {});
2020
const sessionTypesPromise = eventDetails.query('sessionTypes', {});
21+
const tracksPromise = eventDetails.query('tracks', {});
22+
const microlocationsPromise = eventDetails.query('microlocations', {});
23+
const speakersCallPromise = eventDetails.query('speakersCall', {});
2124
const socialLinksPromise = eventDetails.query('socialLinks', {});
2225
const statisticsPromise = eventDetails.query('generalStatistics', {});
2326
const orderStatPromise = eventDetails.query('orderStatistics', {});
2427
const ticketsPromise = eventDetails.query('tickets', {});
2528

26-
const [sponsors, roleInvites, sessionTypes, socialLinks,
27-
statistics, orderStat, tickets] = (await allSettled([sponsorsPromise, roleInvitesPromise, sessionTypesPromise, socialLinksPromise,
29+
const [sponsors, roleInvites, sessionTypes, tracks, microlocations, speakersCall, socialLinks,
30+
statistics, orderStat, tickets] = (await allSettled([sponsorsPromise, roleInvitesPromise, sessionTypesPromise, tracksPromise, microlocationsPromise, speakersCallPromise, socialLinksPromise,
2831
statisticsPromise, orderStatPromise, ticketsPromise])).map(result => result.value);
2932

3033

@@ -33,6 +36,9 @@ export default class extends Route.extend(EmberTableRouteMixin) {
3336
sponsors,
3437
roleInvites,
3538
sessionTypes,
39+
microlocations,
40+
tracks,
41+
speakersCall,
3642
socialLinks,
3743
statistics,
3844
orderStat,

app/templates/components/events/view/overview/general-info.hbs

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,6 @@
3131
<td><strong>{{t 'End time'}}</strong></td>
3232
<td>{{general-date this.data.event.endsAt 'date-time-tz-long' tz=this.data.event.timezone}}</td>
3333
</tr>
34-
<tr>
35-
<td><strong>{{t 'Session types'}}</strong></td>
36-
<td>
37-
{{#if this.data.sessionTypes}}
38-
{{#each this.data.sessionTypes as |sessionType index|~}}
39-
{{if (not-eq index 0) ','}} {{sessionType.name}}
40-
{{~/each}}
41-
{{else}}
42-
{{t 'No Session Type present. '}} <a href="{{href-to 'events.view.edit.sessions-speakers'}}">{{t 'Click here to add'}}</a>
43-
{{/if}}
44-
</td>
45-
</tr>
4634
<tr>
4735
<td><strong>{{t 'Links and Social Media'}}</strong></td>
4836
<td>
@@ -55,34 +43,6 @@
5543
{{/if}}
5644
</td>
5745
</tr>
58-
<tr>
59-
<td><strong>{{t 'No. of Speakers'}}</strong></td>
60-
<td>
61-
{{#if this.data.event.isSessionsSpeakersEnabled}}
62-
{{t 'All'}}: {{this.data.statistics.speakers}}
63-
| {{t 'Accepted'}}: {{this.data.statistics.speakersAccepted}}
64-
| {{t 'Pending'}}: {{this.data.statistics.speakersPending}}
65-
| {{t 'Rejected'}}: {{this.data.statistics.speakersRejected}}
66-
| {{t 'Confirmed'}}: {{this.data.statistics.speakersConfirmed}}
67-
{{else}}
68-
{{t 'Sessions and Speakers not enabled.'}}
69-
{{/if}}
70-
</td>
71-
</tr>
72-
<tr>
73-
<td><strong>{{t 'No. of Sessions'}}</strong></td>
74-
<td>
75-
{{#if this.data.event.isSessionsSpeakersEnabled}}
76-
{{t 'Submitted'}}: {{this.data.statistics.sessions}}
77-
| {{t 'Accepted'}}: {{this.data.statistics.sessionsAccepted}}
78-
| {{t 'Pending'}}: {{this.data.statistics.sessionsPending}}
79-
| {{t 'Rejected'}}: {{this.data.statistics.sessionsRejected}}
80-
| {{t 'Confirmed'}}: {{this.data.statistics.sessionsConfirmed}}
81-
{{else}}
82-
{{t 'Sessions and Speakers not enabled.'}}
83-
{{/if}}
84-
</td>
85-
</tr>
8646
<tr>
8747
<td><strong>{{t 'No. of Sponsors'}}</strong></td>
8848
<td>{{if this.data.event.isSponsorsEnabled this.data.statistics.sponsors (t 'No Sponsor added yet.')}}</td>
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
<div class="content">
2+
<div class="header">{{t 'Sessions and Speakers'}}</div>
3+
</div>
4+
<div class="content">
5+
<h4 class="ui header">{{t 'Summary'}}</h4>
6+
<table class="ui very basic compact unstackable table">
7+
<tbody>
8+
<tr>
9+
<td><strong>{{t 'Session Types'}}</strong> </td>
10+
<td>
11+
{{#if this.data.sessionTypes}}
12+
{{#each this.data.sessionTypes as |sessionType index|~}}
13+
{{if (not-eq index 0) ','}} {{sessionType.name}}
14+
{{~/each}}
15+
{{else}}
16+
{{t 'No Session Type present. '}} <a href="{{href-to 'events.view.edit.sessions-speakers'}}">{{t 'Click here to add'}}</a>
17+
{{/if}}
18+
</td>
19+
</tr>
20+
<tr>
21+
<td><strong>{{t 'Tracks'}}</strong></td>
22+
<td>
23+
{{#if this.data.tracks}}
24+
{{#each this.data.tracks as |tracks index|~}}
25+
{{if (not-eq index 0) ','}} {{tracks.name}}
26+
{{~/each}}
27+
{{else}}
28+
{{t 'No Track Present. '}} <a href="{{href-to 'events.view.edit.sessions-speakers'}}">{{t 'Click here to add'}}</a>
29+
{{/if}}
30+
</td>
31+
</tr>
32+
<tr>
33+
<td><strong>{{t 'Microlocations'}}</strong></td>
34+
<td>
35+
{{#if this.data.microlocations}}
36+
{{#each this.data.microlocations as |microlocations index|~}}
37+
{{if (not-eq index 0) ','}} {{microlocations.name}}
38+
{{~/each}}
39+
{{else}}
40+
{{t 'No Microlocations Present. '}} <a href="{{href-to 'events.view.edit.sessions-speakers'}}">{{t 'Click here to add'}}</a>
41+
{{/if}}
42+
</td>
43+
</tr>
44+
<tr>
45+
<td><strong>{{t 'Call for Speakers'}}</strong> </td>
46+
<td>
47+
{{#if this.data.speakersCall}}
48+
{{t 'Start Time'}}: {{general-date this.data.speakersCall.startsAt 'date-time-tz-long' tz=this.data.event.timezone}}
49+
<br>
50+
{{t 'End Time'}}: {{general-date this.data.speakersCall.endsAt 'date-time-tz-long' tz=this.data.event.timezone}}
51+
{{else}}
52+
{{t 'Call for Speakers not enabled. '}} <a href="{{href-to 'events.view.edit.sessions-speakers'}}">{{t 'Click here to add'}}</a>
53+
{{/if}}
54+
</td>
55+
</tr>
56+
<tr>
57+
<td><strong>{{t 'No. of Speakers'}}</strong></td>
58+
<td>
59+
{{#if this.data.event.isSessionsSpeakersEnabled}}
60+
{{this.data.statistics.speakers}}
61+
{{else}}
62+
{{t 'Sessions and Speakers not enabled.'}}
63+
{{/if}}
64+
</td>
65+
</tr>
66+
<tr>
67+
<td><strong>{{t 'No. of Sessions'}}</strong></td>
68+
<td>
69+
{{#if this.data.event.isSessionsSpeakersEnabled}}
70+
{{this.data.statistics.sessions}}
71+
{{else}}
72+
{{t 'Sessions and Speakers not enabled.'}}
73+
{{/if}}
74+
</td>
75+
</tr>
76+
</tbody>
77+
</table>
78+
<h4 class="ui header">{{t 'Details'}}</h4>
79+
<table class="ui very basic compact unstackable table">
80+
<thead>
81+
<tr>
82+
<th>{{t 'Type'}}</th>
83+
<th>{{t 'States'}}</th>
84+
</tr>
85+
</thead>
86+
<tbody>
87+
<tr>
88+
<td><strong>{{t 'Speakers'}}</strong></td>
89+
<td>
90+
{{#if this.data.event.isSessionsSpeakersEnabled}}
91+
{{t 'Accepted'}}: {{this.data.statistics.speakersAccepted}}
92+
| {{t 'Pending'}}: {{this.data.statistics.speakersPending}}
93+
| {{t 'Rejected'}}: {{this.data.statistics.speakersRejected}}
94+
| {{t 'Confirmed'}}: {{this.data.statistics.speakersConfirmed}}
95+
{{else}}
96+
{{t 'Sessions and Speakers not enabled.'}}
97+
{{/if}}
98+
</td>
99+
</tr>
100+
<tr>
101+
<td><strong>{{t 'Sessions'}}</strong></td>
102+
<td>
103+
{{#if this.data.event.isSessionsSpeakersEnabled}}
104+
{{t 'Submitted'}}: {{this.data.statistics.sessions}}
105+
| {{t 'Accepted'}}: {{this.data.statistics.sessionsAccepted}}
106+
| {{t 'Pending'}}: {{this.data.statistics.sessionsPending}}
107+
| {{t 'Rejected'}}: {{this.data.statistics.sessionsRejected}}
108+
| {{t 'Confirmed'}}: {{this.data.statistics.sessionsConfirmed}}
109+
{{else}}
110+
{{t 'Sessions and Speakers not enabled.'}}
111+
{{/if}}
112+
</td>
113+
</tr>
114+
</tbody>
115+
</table>
116+
</div>

app/templates/events/view/index.hbs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<div class="eight wide column">
1919
<Events::View::Overview::GeneralInfo @data={{this.model}} />
2020
<Events::View::Overview::EventTickets @data={{this.model}} />
21+
<Events::View::Overview::SpeakerSession @data={{this.model}} />
2122
<Events::View::Overview::ManageRoles @data={{this.model}} @showLink={{true}} />
2223
</div>
2324
</div>

0 commit comments

Comments
 (0)