Skip to content

Commit 360284d

Browse files
author
Hieu Lam - TMA
authored
feature-9029: Chat rooms: Add info to form and chat options to virtua… (#9063)
* feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Chat rooms: Add info to form and chat options to virtual event room * feature-9029: Fix bug create room for virtual room
1 parent d7bdbf0 commit 360284d

File tree

35 files changed

+3111
-7734
lines changed

35 files changed

+3111
-7734
lines changed

app/components/forms/wizard/badge-forms/badge-setting.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<div class="menu">
2121
{{#each this.badgeSize as |size|}}
2222
<div class="item" data-value="{{map-value mapper size.name}}">
23-
{{t size.name}}
23+
{{t-var size.name}}
2424
</div>
2525
{{/each}}
2626
</div>
@@ -41,7 +41,7 @@
4141
<div class="menu">
4242
{{#each this.badgeOrientation as |size|}}
4343
<div class="item" data-value="{{map-value mapper size.name}}">
44-
{{t size.name}}
44+
{{size.name}}
4545
</div>
4646
{{/each}}
4747
</div>

app/components/public/stream/chat-panel.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,16 @@ export default class PublicStreamChatPanel extends Component<Args> {
1919

2020
@action
2121
async setup(): Promise<void> {
22-
if (this.args.currentRoom && this.args.currentRoom.isChatEnabled) {
22+
if (this.args.currentRoom.microlocationId && this.args.currentRoom && this.args.currentRoom.isChatEnabled) {
2323
const { success, token } = await this.loader.load(`/events/${this.args.event.id}/room/${this.args.currentRoom.microlocationId}/chat-token`);
2424
this.token = token;
2525
this.success = success;
2626
this.loading = false;
27+
} else if (this.args.currentRoom.id && this.args.currentRoom.data && this.args.currentRoom.data.isChatEnabled) {
28+
const { success, token } = await this.loader.load(`/events/${this.args.event.id}/virtual-room/${this.args.currentRoom.id}/chat-token`);
29+
this.token = token;
30+
this.success = success;
31+
this.loading = false;
2732
} else {
2833
const { success, token } = await this.loader.load(`/events/${this.args.event.id}/chat-token`);
2934
this.token = token;

app/components/public/stream/chat.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ export default class PublicStreamChat extends Component<Args> {
1818
@action
1919
init(): void {
2020
let room_name = this.args.event.chatRoomName;
21-
if (this.args.currentRoom && this.args.currentRoom.isChatEnabled) {
21+
if (this.args.currentRoom.microlocationId && this.args.currentRoom && this.args.currentRoom.isChatEnabled) {
2222
room_name = this.args.currentRoom.chatRoomName
23+
} else if (this.args.currentRoom.id && this.args.currentRoom.data && this.args.currentRoom.data.isChatEnabled) {
24+
room_name = this.args.currentRoom.data.chatRoomName
2325
}
2426
this.iframeUrl = this.settings.rocketChatUrl + `/group/${room_name}?resumeToken=${this.args.token}` + (this.args.embedded ? '&layout=embedded' : '');
2527
}

app/controllers/events/view/chat.js

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,20 @@ import { action, computed } from '@ember/object';
33

44
export default class extends Controller {
55

6-
@computed('model.rooms.data')
6+
@computed('model.rooms.data', 'model.videoStream')
77
get rooms() {
8-
return this.model.rooms?.data;
8+
const rooms = [];
9+
if (this.model.videoStream && this.model.videoStream.name) {
10+
const item = this.store.createRecord('microlocation', {
11+
name : this.model.videoStream.name,
12+
isGlobalEventRoom : this.model.videoStream?.isGlobalEventRoom,
13+
isChatEnabled : this.model.videoStream?.isChatEnabled,
14+
isVideoStream : true
15+
});
16+
rooms.pushObject(item);
17+
}
18+
rooms.pushObjects(this.model.rooms?.data);
19+
return rooms;
920
}
1021

1122
@action
@@ -14,7 +25,14 @@ export default class extends Controller {
1425
if (room.isGlobalEventRoom) {
1526
room.isGlobalEventRoom = !room.isGlobalEventRoom;
1627
}
17-
await room.save();
28+
if (!room.isVideoStream) {
29+
await room.save();
30+
} else {
31+
const { videoStream } = this.model;
32+
videoStream.isChatEnabled = room.isChatEnabled;
33+
videoStream.isGlobalEventRoom = room.isGlobalEventRoom;
34+
await videoStream.save();
35+
}
1836
}
1937

2038
@action
@@ -23,7 +41,14 @@ export default class extends Controller {
2341
if (room.isChatEnabled) {
2442
room.isChatEnabled = !room.isChatEnabled;
2543
}
26-
await room.save();
44+
if (!room.isVideoStream) {
45+
await room.save();
46+
} else {
47+
const { videoStream } = this.model;
48+
videoStream.isChatEnabled = room.isChatEnabled;
49+
videoStream.isGlobalEventRoom = room.isGlobalEventRoom;
50+
await videoStream.save();
51+
}
2752
}
2853

2954
@action

app/controllers/orders/view.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,6 @@ export default class ViewController extends Controller {
9999

100100
@action
101101
redirectToStartPage(identifierStartEvent) {
102-
this.router.transitionTo('public.index',identifierStartEvent);
102+
this.router.transitionTo('public.index', identifierStartEvent);
103103
}
104104
}

app/models/video-stream.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ export default class VideoStream extends ModelBase.extend() {
3030
@attr() url!: string;
3131
@attr() password!: string;
3232
@attr() bgImgUrl?: string;
33+
@attr() isChatEnabled?: boolean;
34+
@attr() isGlobalEventRoom?: boolean;
3335
@attr() additionalInformation!: string;
3436
@attr() extra!: Extra;
37+
@attr() chatRoomName?: string;
3538

3639
@hasMany('microlocation') rooms!: Microlocation[];
3740
@hasMany('video-recording') videoRecordings!: VideoRecording[];

app/routes/events/view/chat.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ export default class extends Route.extend(EmberTableRouteMixin) {
2424
queryString = this.applySortFilters(queryString, params);
2525

2626
const rooms = this.asArray(event.query('microlocations', queryString));
27+
const videoStream = event.query('videoStream', {}).then(videoStream => this.asArray(videoStream)).catch(e => {console.error(e)});
2728
return hash({
2829
event,
29-
rooms
30+
rooms,
31+
videoStream
3032
});
3133
}
3234
}

app/templates/components/forms/orders/attendee-list.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@
5353
{{else if (eq field.type 'paragraph')}}
5454
<span class="line-break">{{get holder field.identifierPath}}</span>
5555
{{else if (eq field.type 'select')}}
56-
<span class="word-break">{{t (get holder field.identifierPath)}}</span>
56+
<span class="word-break">{{t-var (get holder field.identifierPath)}}</span>
5757
{{else if (eq field.type 'checkbox')}}
5858
{{#if (or (eq field.fieldIdentifier "native_language") (eq field.fieldIdentifier "fluent_language") (eq field.fieldIdentifier "language_form_1") (eq field.fieldIdentifier "language_form_2") (eq field.fieldIdentifier "gender"))}}
59-
<span class="word-break">{{t (get holder (concat field.fieldIdentifier '_name_mapping'))}}</span>
59+
<span class="word-break">{{t-var (get holder (concat field.fieldIdentifier '_name_mapping'))}}</span>
6060
{{else}}
6161
<span class="word-break">
6262
{{#if (get holder field.identifierPath)}}
@@ -70,7 +70,7 @@
7070
{{#if (not field.isComplex)}}
7171
<span class="word-break">{{ sanitize (get holder field.identifierPath)}}</span>
7272
{{else}}
73-
<span class="word-break">{{t (get holder field.identifierPath)}}</span>
73+
<span class="word-break">{{t-var (get holder field.identifierPath)}}</span>
7474
{{/if}}
7575
{{/if}}
7676
</div>

app/templates/components/forms/orders/editable-fields.hbs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<Widgets::Forms::RadioButton @name={{if @field.isRequired (concat @field.fieldIdentifier "_required_" @index)
2424
(concat @field.fieldIdentifier "_" @index)}} @value={{item.name}} @checked={{mut (get holder
2525
@field.identifierPath)}} />
26-
<label for="yes_include">{{t item.name}}</label>
26+
<label for="yes_include">{{t-var item.name}}</label>
2727
</div>
2828
{{/each}}
2929
{{else}}
@@ -112,7 +112,7 @@
112112
<div class="menu">
113113
{{#each this.ageGroups as |ageGroup|}}
114114
<div class="item" data-value="{{map-value mapper ageGroup.age}}">
115-
{{t ageGroup.age}}
115+
{{t-var ageGroup.age}}
116116
</div>
117117
{{/each}}
118118
</div>
@@ -131,7 +131,7 @@
131131
<div class="menu">
132132
{{#each @homeWikis as |homeWiki|}}
133133
<div class="item" data-value="{{map-value mapper homeWiki.item}}">
134-
{{t homeWiki.item}}
134+
{{t-var homeWiki.item}}
135135
</div>
136136
{{/each}}
137137
</div>
@@ -150,7 +150,7 @@
150150
<div class="menu">
151151
{{#each @wikiScholarship as |wikiScholarship|}}
152152
<div class="item" data-value="{{map-value mapper wikiScholarship.name}}">
153-
{{t wikiScholarship.name}}
153+
{{t-var wikiScholarship.name}}
154154
</div>
155155
{{/each}}
156156
</div>
@@ -265,7 +265,7 @@
265265
<UiCheckbox @checked={{get holder @field.identifierPath}} @name={{if @field.isRequired (concat
266266
@field.fieldIdentifier "_required_" @index) (concat @field.fieldIdentifier "_" @index)}} @onChange={{action (mut
267267
(get holder @field.identifierPath))}} />
268-
{{t @field.nameConvert}}
268+
{{t-var @field.nameConvert}}
269269
{{else}}
270270
<span class="word-break">
271271
{{#if (get holder field.identifierPath)}}

app/templates/components/forms/wizard/badge-field-form.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<i class="dropdown icon"></i>
4141
{{#if this.data.custom_field}}
4242
<div class="default">
43-
{{t this.data.custom_field}}
43+
{{t-var this.data.custom_field}}
4444
</div>
4545
{{else}}
4646
<div class="default text">

0 commit comments

Comments
 (0)