@saooti/octopus-sdk 30.0.6 → 30.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/index.ts +13 -2
- package/package.json +1 -1
- package/src/assets/bootstrap-diff.scss +17 -25
- package/src/assets/form.scss +7 -37
- package/src/assets/general.scss +56 -170
- package/src/assets/live.scss +39 -0
- package/src/assets/modal.scss +14 -18
- package/src/assets/multiselect.scss +30 -77
- package/src/assets/octopus-library.scss +1 -0
- package/src/assets/share.scss +149 -267
- package/src/assets/transition.scss +95 -1
- package/src/components/display/categories/CategoryChooser.vue +1 -1
- package/src/components/display/categories/CategoryList.vue +2 -4
- package/src/components/display/comments/CommentInput.vue +2 -2
- package/src/components/display/comments/CommentItem.vue +6 -6
- package/src/components/display/comments/CommentParentInfo.vue +1 -1
- package/src/components/display/comments/CommentPlayer.vue +1 -1
- package/src/components/display/edit/EditCommentBox.vue +8 -16
- package/src/components/display/emission/EmissionChooser.vue +1 -3
- package/src/components/display/emission/EmissionInlineList.vue +12 -3
- package/src/components/display/emission/EmissionItem.vue +22 -64
- package/src/components/display/emission/EmissionList.vue +59 -68
- package/src/components/display/emission/EmissionPlayerItem.vue +10 -9
- package/src/components/display/filter/AdvancedSearch.vue +50 -146
- package/src/components/display/filter/CategoryFilter.vue +9 -13
- package/src/components/display/filter/MonetizableFilter.vue +3 -5
- package/src/components/display/filter/ProductorSearch.vue +20 -40
- package/src/components/display/filter/RubriqueChoice.vue +6 -8
- package/src/components/display/filter/RubriqueFilter.vue +8 -13
- package/src/components/display/live/CountDown.vue +4 -2
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/LiveItem.vue +4 -4
- package/src/components/display/live/LiveList.vue +84 -214
- package/src/components/display/organisation/OrganisationChooser.vue +5 -23
- package/src/components/display/organisation/OrganisationChooserLight.vue +8 -2
- package/src/components/display/participant/ParticipantItem.vue +7 -19
- package/src/components/display/participant/ParticipantList.vue +39 -52
- package/src/components/display/playlist/PlaylistItem.vue +2 -2
- package/src/components/display/playlist/PlaylistList.vue +8 -14
- package/src/components/display/playlist/PodcastList.vue +21 -40
- package/src/components/display/podcasts/AnimatorsItem.vue +0 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +4 -16
- package/src/components/display/podcasts/PodcastFilterList.vue +20 -63
- package/src/components/display/podcasts/PodcastImage.vue +27 -84
- package/src/components/display/podcasts/PodcastInlineList.vue +14 -36
- package/src/components/display/podcasts/PodcastItem.vue +5 -5
- package/src/components/display/podcasts/PodcastList.vue +7 -14
- package/src/components/display/podcasts/PodcastModuleBox.vue +9 -28
- package/src/components/display/podcasts/TagList.vue +2 -3
- package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
- package/src/components/display/rubriques/RubriqueList.vue +5 -25
- package/src/components/display/sharing/PlayerParameters.vue +30 -71
- package/src/components/display/sharing/ShareButtons.vue +21 -45
- package/src/components/display/sharing/ShareDistribution.vue +1 -7
- package/src/components/display/sharing/SharePlayer.vue +10 -19
- package/src/components/display/sharing/SharePlayerColors.vue +4 -8
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -2
- package/src/components/display/sharing/SubscribeButtons.vue +2 -4
- package/src/components/form/ClassicCheckbox.vue +61 -0
- package/src/components/form/ClassicLoading.vue +28 -0
- package/src/components/form/ClassicRadio.vue +61 -0
- package/src/components/form/ClassicSearch.vue +82 -0
- package/src/components/misc/ErrorMessage.vue +4 -1
- package/src/components/misc/Footer.vue +26 -35
- package/src/components/misc/HomeDropdown.vue +42 -91
- package/src/components/misc/LeftMenu.vue +108 -141
- package/src/components/misc/Player.vue +15 -29
- package/src/components/misc/PlayerButtons.vue +14 -37
- package/src/components/misc/PlayerClockAndTimeline.vue +1 -1
- package/src/components/misc/PlayerProgressBar.vue +15 -50
- package/src/components/misc/TopBar.vue +140 -222
- package/src/components/misc/modal/NewsletterModal.vue +13 -27
- package/src/components/pages/Category.vue +3 -8
- package/src/components/pages/Emission.vue +12 -24
- package/src/components/pages/Emissions.vue +8 -17
- package/src/components/pages/Home.vue +1 -3
- package/src/components/pages/Lives.vue +1 -4
- package/src/components/pages/Participant.vue +19 -27
- package/src/components/pages/Participants.vue +7 -15
- package/src/components/pages/Playlist.vue +16 -29
- package/src/components/pages/Playlists.vue +1 -11
- package/src/components/pages/Podcast.vue +16 -30
- package/src/components/pages/Podcasts.vue +9 -23
- package/src/components/pages/Search.vue +26 -64
- package/src/sass/_variables.scss +0 -1
- package/src/store/class/general/media.ts +1 -1
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
</router-link>
|
|
47
47
|
<div class="d-flex flex-column live-special-width">
|
|
48
48
|
<router-link
|
|
49
|
-
class="text-uppercase
|
|
49
|
+
class="text-uppercase fw-bold text-truncate"
|
|
50
50
|
:to="{
|
|
51
51
|
name: 'podcast',
|
|
52
52
|
params: { podcastId: live.podcastId },
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
{{ live.title }}
|
|
57
57
|
</router-link>
|
|
58
58
|
<router-link
|
|
59
|
-
class="
|
|
59
|
+
class="fw-bold text-truncate"
|
|
60
60
|
:to="{
|
|
61
61
|
name: 'emission',
|
|
62
62
|
params: { emissionId: live.emission.emissionId },
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
v-for="animator in live.animators"
|
|
88
88
|
:key="animator.participantId"
|
|
89
89
|
:aria-label="$t('Participant')"
|
|
90
|
-
class="
|
|
90
|
+
class="fw-bold"
|
|
91
91
|
:to="{
|
|
92
92
|
name: 'participant',
|
|
93
93
|
params: { participantId: animator.participantId },
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
<div v-if="!isPodcastmaker">
|
|
101
101
|
{{ $t('Producted by : ') }}
|
|
102
102
|
<router-link
|
|
103
|
-
class="
|
|
103
|
+
class="fw-bold"
|
|
104
104
|
:to="{
|
|
105
105
|
name: 'productor',
|
|
106
106
|
params: { productorId: live.organisation.id },
|
|
@@ -1,117 +1,41 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="filterOrga || organisationId"
|
|
4
|
-
class="d-flex flex-column align-items-center
|
|
4
|
+
class="d-flex flex-column align-items-center"
|
|
5
5
|
>
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<div class="spinner-border me-3" />
|
|
11
|
-
<h3 class="mt-2">
|
|
12
|
-
{{ $t('Loading lives...') }}
|
|
13
|
-
</h3>
|
|
14
|
-
</div>
|
|
15
|
-
<div
|
|
16
|
-
v-if="
|
|
17
|
-
loaded && !lives.length && !livesToBe.length && !livesTerminated.length
|
|
18
|
-
"
|
|
19
|
-
>
|
|
20
|
-
<p>{{ $t('No live currently') }}</p>
|
|
21
|
-
</div>
|
|
6
|
+
<ClassicLoading
|
|
7
|
+
:loading-text="loading?$t('Loading lives...'):undefined"
|
|
8
|
+
:error-text="isNoLive?$t('No live currently'):undefined"
|
|
9
|
+
/>
|
|
22
10
|
<div v-if="loaded && displayNextLiveMessage">
|
|
23
11
|
<h3 class="text-danger">
|
|
24
12
|
{{ displayNextLiveMessage }}
|
|
25
13
|
</h3>
|
|
26
14
|
</div>
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<LiveItem
|
|
47
|
-
v-for="(l, index) in livesNotStarted"
|
|
48
|
-
:key="l.podcastId"
|
|
49
|
-
class="mt-3"
|
|
50
|
-
:fetch-conference="l"
|
|
51
|
-
:index="index"
|
|
52
|
-
@deleteItem="deleteLiveNotStarted"
|
|
53
|
-
/>
|
|
54
|
-
</template>
|
|
55
|
-
<template v-if="livesToBe.length">
|
|
56
|
-
<div class="horizontal-separator" />
|
|
57
|
-
<p class="live-list-category">
|
|
58
|
-
{{ $t('Live to be') }}
|
|
59
|
-
</p>
|
|
60
|
-
<LiveItem
|
|
61
|
-
v-for="(l, index) in livesToBe"
|
|
62
|
-
:key="l.podcastId"
|
|
63
|
-
class="mt-3"
|
|
64
|
-
:fetch-conference="l"
|
|
65
|
-
:index="index"
|
|
66
|
-
@deleteItem="deleteLiveToBe"
|
|
67
|
-
/>
|
|
68
|
-
</template>
|
|
69
|
-
<template v-if="livesTerminated.length">
|
|
70
|
-
<div class="horizontal-separator" />
|
|
71
|
-
<p class="live-list-category">
|
|
72
|
-
{{ $t('Live terminated') }}
|
|
73
|
-
</p>
|
|
74
|
-
<LiveItem
|
|
75
|
-
v-for="(l, index) in livesTerminated"
|
|
76
|
-
:key="l.podcastId"
|
|
77
|
-
class="mt-3"
|
|
78
|
-
:fetch-conference="l"
|
|
79
|
-
:index="index"
|
|
80
|
-
@deleteItem="deleteLiveTerminated"
|
|
81
|
-
/>
|
|
82
|
-
</template>
|
|
83
|
-
<template v-if="livesPublishing.length">
|
|
84
|
-
<div class="horizontal-separator" />
|
|
85
|
-
<p class="live-list-category">
|
|
86
|
-
{{ $t('Publishing') }}
|
|
87
|
-
</p>
|
|
88
|
-
<LiveItem
|
|
89
|
-
v-for="(l, index) in livesPublishing"
|
|
90
|
-
:key="l.podcastId"
|
|
91
|
-
class="mt-3"
|
|
92
|
-
:fetch-conference="l"
|
|
93
|
-
:index="index"
|
|
94
|
-
@deleteItem="deleteLivePublishing"
|
|
95
|
-
/>
|
|
96
|
-
</template>
|
|
97
|
-
<template v-if="livesError.length">
|
|
98
|
-
<div class="horizontal-separator" />
|
|
99
|
-
<p class="live-list-category">
|
|
100
|
-
{{ $t('In error') }}
|
|
101
|
-
</p>
|
|
102
|
-
<LiveItem
|
|
103
|
-
v-for="(l, index) in livesError"
|
|
104
|
-
:key="l.podcastId"
|
|
105
|
-
class="mt-3"
|
|
106
|
-
:fetch-conference="l"
|
|
107
|
-
:index="index"
|
|
108
|
-
@deleteItem="deleteLiveError"
|
|
109
|
-
/>
|
|
110
|
-
</template>
|
|
15
|
+
<div
|
|
16
|
+
v-for="(live, indexLive) in livesArray"
|
|
17
|
+
:key="live.status"
|
|
18
|
+
>
|
|
19
|
+
<template v-if="live.lives.length">
|
|
20
|
+
<hr>
|
|
21
|
+
<p class="live-list-category">
|
|
22
|
+
{{ live.title }}
|
|
23
|
+
</p>
|
|
24
|
+
<LiveItem
|
|
25
|
+
v-for="(l, index) in live.lives"
|
|
26
|
+
:key="l.podcastId"
|
|
27
|
+
class="mt-3"
|
|
28
|
+
:fetch-conference="l"
|
|
29
|
+
:index="index"
|
|
30
|
+
@deleteItem="deleteLive(indexLive, $event)"
|
|
31
|
+
/>
|
|
32
|
+
</template>
|
|
33
|
+
</div>
|
|
111
34
|
</div>
|
|
112
35
|
</template>
|
|
113
36
|
|
|
114
37
|
<script lang="ts">
|
|
38
|
+
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
115
39
|
import LiveItem from './LiveItem.vue';
|
|
116
40
|
import octopusApi from '@saooti/octopus-api';
|
|
117
41
|
import moment from 'moment';
|
|
@@ -122,6 +46,7 @@ export default defineComponent({
|
|
|
122
46
|
name: 'LiveList',
|
|
123
47
|
components: {
|
|
124
48
|
LiveItem,
|
|
49
|
+
ClassicLoading
|
|
125
50
|
},
|
|
126
51
|
|
|
127
52
|
props: {
|
|
@@ -129,21 +54,25 @@ export default defineComponent({
|
|
|
129
54
|
organisationId: { default: undefined, type: String},
|
|
130
55
|
},
|
|
131
56
|
emits: ['initConferenceIds'],
|
|
132
|
-
|
|
133
57
|
data() {
|
|
134
58
|
return {
|
|
135
59
|
loading: true as boolean,
|
|
136
60
|
loaded: true as boolean,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
61
|
+
livesArray: [
|
|
62
|
+
{status: "RECORDING", title:this.$t('In live'), lives:[]},
|
|
63
|
+
{status: "PENDING", title:this.$t('This live is not started yet'), lives:[]},
|
|
64
|
+
{status: "PLANNED", title:this.$t('Live to be'), lives:[]},
|
|
65
|
+
{status: "DEBRIEFING", title:this.$t('Live terminated'), lives:[]},
|
|
66
|
+
{status: "PUBLISHING", title:this.$t('Publishing'), lives:[]},
|
|
67
|
+
{status: "ERROR", title:this.$t('In error'), lives:[]}
|
|
68
|
+
] as Array<{status:string, title:string, lives:Array<Conference>}>
|
|
143
69
|
};
|
|
144
70
|
},
|
|
145
71
|
|
|
146
72
|
computed: {
|
|
73
|
+
isNoLive(): boolean{
|
|
74
|
+
return this.loaded && !this.livesArray[0].lives.length && !this.livesArray[2].lives.length && !this.livesArray[3].lives.length;
|
|
75
|
+
},
|
|
147
76
|
filterOrgaUsed(): string|undefined {
|
|
148
77
|
if (this.filterOrga) return this.filterOrga;
|
|
149
78
|
if (this.organisationId) return this.organisationId;
|
|
@@ -153,12 +82,12 @@ export default defineComponent({
|
|
|
153
82
|
return this.$store.state.filter.organisationId;
|
|
154
83
|
},
|
|
155
84
|
displayNextLiveMessage(): string {
|
|
156
|
-
if (0 !== this.lives.length) return '';
|
|
157
|
-
if (this.
|
|
85
|
+
if (0 !== this.livesArray[0].lives.length) return '';
|
|
86
|
+
if (this.livesArray[1].lives.length > 0)
|
|
158
87
|
return this.$t('A live can start any moment').toString();
|
|
159
|
-
if (this.
|
|
88
|
+
if (this.livesArray[2].lives.length > 0)
|
|
160
89
|
return this.$t('Next live date', {
|
|
161
|
-
date: moment(this.
|
|
90
|
+
date: moment(this.livesArray[2].lives[0].date).format('LLLL'),
|
|
162
91
|
}).toString();
|
|
163
92
|
return '';
|
|
164
93
|
},
|
|
@@ -219,12 +148,9 @@ export default defineComponent({
|
|
|
219
148
|
},
|
|
220
149
|
methods: {
|
|
221
150
|
initArrays(): void {
|
|
222
|
-
this.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
this.livesTerminated.length = 0;
|
|
226
|
-
this.livesError.length = 0;
|
|
227
|
-
this.livesPublishing.length = 0;
|
|
151
|
+
for (let i = 0, len = this.livesArray.length; i < len; i++) {
|
|
152
|
+
this.livesArray[i].lives.length = 0;
|
|
153
|
+
}
|
|
228
154
|
},
|
|
229
155
|
async fetchContent(): Promise<void> {
|
|
230
156
|
this.initArrays();
|
|
@@ -235,89 +161,48 @@ export default defineComponent({
|
|
|
235
161
|
}
|
|
236
162
|
this.loading = true;
|
|
237
163
|
this.loaded = false;
|
|
238
|
-
const dataLives = await octopusApi.listConferences(
|
|
239
|
-
this.filterOrgaUsed,
|
|
240
|
-
true,
|
|
241
|
-
'RECORDING'
|
|
242
|
-
);
|
|
243
|
-
this.lives = dataLives.filter((p: Conference | null) => {
|
|
244
|
-
return null !== p;
|
|
245
|
-
});
|
|
246
|
-
const dataLivesToBe = await octopusApi.listConferences(
|
|
247
|
-
this.filterOrgaUsed,
|
|
248
|
-
true,
|
|
249
|
-
'PENDING'
|
|
250
|
-
);
|
|
251
164
|
let indexPast = 0;
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
break;
|
|
165
|
+
let dataLivesToBe: Array<Conference> = [];
|
|
166
|
+
for (let i = 0, len = this.livesArray.length; i < len; i++) {
|
|
167
|
+
if (!this.organisationRight &&
|
|
168
|
+
("DEBRIEFING"===this.livesArray[i].status ||"ERROR"===this.livesArray[i].status ||"PUBLISHING"===this.livesArray[i].status)) {
|
|
169
|
+
continue;
|
|
258
170
|
}
|
|
259
|
-
|
|
260
|
-
const dataLivesPlanned = await octopusApi.listConferences(
|
|
261
|
-
this.filterOrgaUsed,
|
|
262
|
-
true,
|
|
263
|
-
'PLANNED'
|
|
264
|
-
);
|
|
265
|
-
this.livesToBe = dataLivesToBe
|
|
266
|
-
.slice(indexPast)
|
|
267
|
-
.concat(dataLivesPlanned)
|
|
268
|
-
.filter((p: Conference | null) => {
|
|
269
|
-
return null !== p;
|
|
270
|
-
});
|
|
271
|
-
if (this.organisationRight) {
|
|
272
|
-
const dataLivesTerminated = await octopusApi.listConferences(
|
|
273
|
-
this.filterOrgaUsed,
|
|
274
|
-
true,
|
|
275
|
-
'DEBRIEFING'
|
|
276
|
-
);
|
|
277
|
-
this.livesTerminated = dataLivesTerminated.filter((p: Conference | null) => {
|
|
278
|
-
return null !== p;
|
|
279
|
-
});
|
|
280
|
-
const dataLivesError = await octopusApi.listConferences(
|
|
171
|
+
const dataLives = await octopusApi.listConferences(
|
|
281
172
|
this.filterOrgaUsed,
|
|
282
173
|
true,
|
|
283
|
-
|
|
174
|
+
this.livesArray[i].status
|
|
284
175
|
);
|
|
285
|
-
this.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
176
|
+
if("PLANNED"!==this.livesArray[i].status && "PENDING"!==this.livesArray[i].status){
|
|
177
|
+
this.livesArray[i].lives = dataLives.filter((p: Conference | null) => {
|
|
178
|
+
return null !== p;
|
|
179
|
+
});
|
|
180
|
+
}else if("PENDING"===this.livesArray[i].status){
|
|
181
|
+
dataLivesToBe = dataLives;
|
|
182
|
+
for (let index = 0, len = this.livesArray[i].lives.length; index < len; index++) {
|
|
183
|
+
if (moment(dataLives[index].date).isBefore(moment())) {
|
|
184
|
+
this.livesArray[i].lives.push(dataLives[index]);
|
|
185
|
+
indexPast = index + 1;
|
|
186
|
+
} else {break;}
|
|
187
|
+
}
|
|
188
|
+
}else{
|
|
189
|
+
this.livesArray[i].lives = dataLivesToBe
|
|
190
|
+
.slice(indexPast)
|
|
191
|
+
.concat(dataLives)
|
|
192
|
+
.filter((p: Conference | null) => {
|
|
193
|
+
return null !== p;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
296
196
|
}
|
|
297
|
-
const listIds = this.lives
|
|
298
|
-
.concat(this.
|
|
299
|
-
.concat(this.
|
|
197
|
+
const listIds = this.livesArray[0].lives
|
|
198
|
+
.concat(this.livesArray[1].lives)
|
|
199
|
+
.concat(this.livesArray[2].lives);
|
|
300
200
|
this.$emit('initConferenceIds', listIds);
|
|
301
201
|
this.loading = false;
|
|
302
202
|
this.loaded = true;
|
|
303
203
|
},
|
|
304
|
-
deleteLive(index: number): void {
|
|
305
|
-
this.lives.splice(index, 1);
|
|
306
|
-
},
|
|
307
|
-
deleteLiveToBe(index: number): void {
|
|
308
|
-
this.livesToBe.splice(index, 1);
|
|
309
|
-
},
|
|
310
|
-
deleteLiveTerminated(index: number): void {
|
|
311
|
-
this.livesTerminated.splice(index, 1);
|
|
312
|
-
},
|
|
313
|
-
deleteLiveError(index: number): void {
|
|
314
|
-
this.livesError.splice(index, 1);
|
|
315
|
-
},
|
|
316
|
-
deleteLiveNotStarted(index: number): void {
|
|
317
|
-
this.livesNotStarted.splice(index, 1);
|
|
318
|
-
},
|
|
319
|
-
deleteLivePublishing(index: number): void {
|
|
320
|
-
this.livesPublishing.splice(index, 1);
|
|
204
|
+
deleteLive(indexLives: number, index: number): void {
|
|
205
|
+
this.livesArray[indexLives].lives.splice(index, 1);
|
|
321
206
|
},
|
|
322
207
|
updateLiveLocal(): void {
|
|
323
208
|
for (
|
|
@@ -326,25 +211,25 @@ export default defineComponent({
|
|
|
326
211
|
index++
|
|
327
212
|
) {
|
|
328
213
|
const element = this.conferenceWatched[index];
|
|
329
|
-
const indexLivesToBe = this.
|
|
214
|
+
const indexLivesToBe = this.livesArray[1].lives.findIndex(
|
|
330
215
|
(el: Conference) => el.conferenceId === element.conferenceId
|
|
331
216
|
);
|
|
332
217
|
if (-1 === indexLivesToBe) {
|
|
333
|
-
const indexLives = this.lives.findIndex(
|
|
218
|
+
const indexLives = this.livesArray[0].lives.findIndex(
|
|
334
219
|
(el: Conference) => el.conferenceId === element.conferenceId
|
|
335
220
|
);
|
|
336
221
|
if (-1 === indexLives || 'DEBRIEFING' !== element.status) continue;
|
|
337
|
-
const newConf = this.lives[indexLives];
|
|
222
|
+
const newConf = this.livesArray[0].lives[indexLives];
|
|
338
223
|
newConf.status = element.status;
|
|
339
|
-
this.lives.splice(indexLives, 1);
|
|
340
|
-
this.
|
|
224
|
+
this.livesArray[0].lives.splice(indexLives, 1);
|
|
225
|
+
this.livesArray[3].lives.push(newConf);
|
|
341
226
|
break;
|
|
342
227
|
}
|
|
343
228
|
if ('RECORDING' !== element.status) continue;
|
|
344
|
-
const newConf = this.
|
|
229
|
+
const newConf = this.livesArray[1].lives[indexLivesToBe];
|
|
345
230
|
newConf.status = element.status;
|
|
346
|
-
this.
|
|
347
|
-
this.lives.push(newConf);
|
|
231
|
+
this.livesArray[1].lives.splice(indexLivesToBe, 1);
|
|
232
|
+
this.livesArray[0].lives.push(newConf);
|
|
348
233
|
break;
|
|
349
234
|
}
|
|
350
235
|
},
|
|
@@ -353,24 +238,9 @@ export default defineComponent({
|
|
|
353
238
|
</script>
|
|
354
239
|
|
|
355
240
|
<style lang="scss">
|
|
356
|
-
.live-list-container .horizontal-separator {
|
|
357
|
-
border-top: 1px solid #cccccc;
|
|
358
|
-
width: 100%;
|
|
359
|
-
margin: 2rem;
|
|
360
|
-
}
|
|
361
241
|
.live-list-category {
|
|
362
242
|
align-self: flex-start;
|
|
363
243
|
text-transform: uppercase;
|
|
364
244
|
font-weight: bold;
|
|
365
245
|
}
|
|
366
|
-
|
|
367
|
-
@media (max-width: 450px) {
|
|
368
|
-
.live-list-container h3 {
|
|
369
|
-
text-align: center;
|
|
370
|
-
font-size: 1rem;
|
|
371
|
-
}
|
|
372
|
-
.live-list-container .horizontal-separator {
|
|
373
|
-
margin: 1rem;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
246
|
</style>
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
v-if="!value || init"
|
|
4
4
|
class="default-multiselect-width"
|
|
5
5
|
:style="{ width: width }"
|
|
6
|
-
:class="{ 'multiselect-hide-arrow': !displayArrow }"
|
|
7
6
|
>
|
|
8
7
|
<label
|
|
9
8
|
for="organisationChooser"
|
|
@@ -29,7 +28,7 @@
|
|
|
29
28
|
:show-no-results="true"
|
|
30
29
|
:hide-selected="true"
|
|
31
30
|
:show-labels="false"
|
|
32
|
-
:class="{ 'light-multiselect':
|
|
31
|
+
:class="{ 'light-multiselect': light }"
|
|
33
32
|
@search-change="onSearchOrganisation"
|
|
34
33
|
@open="onOpen"
|
|
35
34
|
@close="onClose"
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
<template #singleLabel="{ option }">
|
|
46
45
|
<div class="multiselect-octopus-proposition">
|
|
47
46
|
<img
|
|
48
|
-
v-if="!light
|
|
47
|
+
v-if="!light"
|
|
49
48
|
class="option__image"
|
|
50
49
|
:src="option.imageUrl"
|
|
51
50
|
:alt="option.name"
|
|
@@ -66,7 +65,7 @@
|
|
|
66
65
|
"
|
|
67
66
|
>
|
|
68
67
|
<img
|
|
69
|
-
v-if="!light
|
|
68
|
+
v-if="!light"
|
|
70
69
|
class="option__image"
|
|
71
70
|
:src="option.imageUrl"
|
|
72
71
|
:alt="option.name"
|
|
@@ -104,8 +103,7 @@
|
|
|
104
103
|
class="position-relative"
|
|
105
104
|
>
|
|
106
105
|
<span
|
|
107
|
-
class="saooti-arrow_down octopus-arrow-down
|
|
108
|
-
:class="{ 'octopus-arrow-down-top': stats }"
|
|
106
|
+
class="saooti-arrow_down octopus-arrow-down"
|
|
109
107
|
/>
|
|
110
108
|
</div>
|
|
111
109
|
</template>
|
|
@@ -145,12 +143,9 @@ export default defineComponent({
|
|
|
145
143
|
props: {
|
|
146
144
|
width: { default: '100%', type: String },
|
|
147
145
|
defaultanswer: { default: '', type: String},
|
|
148
|
-
stats: { default: false, type: Boolean},
|
|
149
|
-
displayArrow: { default: true, type: Boolean},
|
|
150
146
|
value: { default: undefined, type: String},
|
|
151
147
|
light: { default: false, type: Boolean},
|
|
152
148
|
reset: { default: false, type: Boolean},
|
|
153
|
-
all: { default: false, type: Boolean},
|
|
154
149
|
},
|
|
155
150
|
emits: ['selected'],
|
|
156
151
|
data() {
|
|
@@ -235,20 +230,7 @@ export default defineComponent({
|
|
|
235
230
|
first: 0,
|
|
236
231
|
size: ELEMENTS_COUNT,
|
|
237
232
|
});
|
|
238
|
-
|
|
239
|
-
if (this.all && !query) {
|
|
240
|
-
while (
|
|
241
|
-
(response.count < 200 && orga.length < response.count) ||
|
|
242
|
-
(response.count > 200 && orga.length < 200)
|
|
243
|
-
) {
|
|
244
|
-
const other = await octopusApi.fetchOrganisations({
|
|
245
|
-
query: query,
|
|
246
|
-
first: orga.length,
|
|
247
|
-
size: ELEMENTS_COUNT,
|
|
248
|
-
});
|
|
249
|
-
orga = orga.concat(other.result);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
233
|
+
const orga = response.result;
|
|
252
234
|
const notNull = orga.filter((o: Organisation|null) => {
|
|
253
235
|
return null !== o;
|
|
254
236
|
});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<select
|
|
8
8
|
:id="'organisation_chooser_light' + page"
|
|
9
9
|
v-model="actual"
|
|
10
|
-
class="
|
|
10
|
+
class="mb-0 c-hand border-0"
|
|
11
11
|
@change="onOrganisationSelected"
|
|
12
12
|
>
|
|
13
13
|
<option :value="organisation.id">
|
|
@@ -83,4 +83,10 @@ export default defineComponent({
|
|
|
83
83
|
})
|
|
84
84
|
</script>
|
|
85
85
|
|
|
86
|
-
<style lang="scss"
|
|
86
|
+
<style lang="scss" scoped>
|
|
87
|
+
select {
|
|
88
|
+
-webkit-appearance: none;
|
|
89
|
+
-moz-appearance: none;
|
|
90
|
+
appearance: none;
|
|
91
|
+
}
|
|
92
|
+
</style>
|
|
@@ -9,22 +9,13 @@
|
|
|
9
9
|
params: { participantId: participant.participantId },
|
|
10
10
|
query: { productor: $store.state.filter.organisationId },
|
|
11
11
|
}"
|
|
12
|
-
class="mt-3"
|
|
12
|
+
class="mt-3 text-dark"
|
|
13
13
|
:aria-label="$t('Participant')"
|
|
14
14
|
>
|
|
15
15
|
<div
|
|
16
16
|
class="img-box-circle"
|
|
17
17
|
:style="{ 'background-image': 'url(\'' + participant.imageUrl + '\')' }"
|
|
18
18
|
/>
|
|
19
|
-
</router-link>
|
|
20
|
-
<router-link
|
|
21
|
-
:to="{
|
|
22
|
-
name: 'participant',
|
|
23
|
-
params: { participantId: participant.participantId },
|
|
24
|
-
query: { productor: $store.state.filter.organisationId },
|
|
25
|
-
}"
|
|
26
|
-
class="text-dark mt-3"
|
|
27
|
-
>
|
|
28
19
|
<div class="participant-name">
|
|
29
20
|
<img
|
|
30
21
|
v-if="!activeParticipant && !isPodcastmaker && editRight"
|
|
@@ -40,7 +31,7 @@
|
|
|
40
31
|
<!-- eslint-disable vue/no-v-html -->
|
|
41
32
|
<div
|
|
42
33
|
:id="'description-participant-' + participant.participantId"
|
|
43
|
-
v-html="urlify(description)"
|
|
34
|
+
v-html="urlify(participant.description|| '')"
|
|
44
35
|
/>
|
|
45
36
|
<!-- eslint-enable -->
|
|
46
37
|
</div>
|
|
@@ -52,11 +43,9 @@
|
|
|
52
43
|
params: { productorId: participant.orga.id },
|
|
53
44
|
query: { productor: $store.state.filter.organisationId },
|
|
54
45
|
}"
|
|
55
|
-
class="
|
|
46
|
+
class="participant-producer"
|
|
56
47
|
>
|
|
57
|
-
|
|
58
|
-
© {{ participant.orga.name }}
|
|
59
|
-
</div>
|
|
48
|
+
© {{ participant.orga.name }}
|
|
60
49
|
</router-link>
|
|
61
50
|
</li>
|
|
62
51
|
</template>
|
|
@@ -84,9 +73,6 @@ export default defineComponent({
|
|
|
84
73
|
isPodcastmaker(): boolean {
|
|
85
74
|
return (state.generalParameters.podcastmaker as boolean);
|
|
86
75
|
},
|
|
87
|
-
description(): string {
|
|
88
|
-
return this.participant.description || '';
|
|
89
|
-
},
|
|
90
76
|
name(): string {
|
|
91
77
|
return (
|
|
92
78
|
(this.participant.firstName || '') +
|
|
@@ -108,8 +94,9 @@ export default defineComponent({
|
|
|
108
94
|
(this.authenticated &&
|
|
109
95
|
this.organisationId === this.participant.orga.id) ||
|
|
110
96
|
state.generalParameters.isAdmin
|
|
111
|
-
)
|
|
97
|
+
){
|
|
112
98
|
return true;
|
|
99
|
+
}
|
|
113
100
|
return false;
|
|
114
101
|
},
|
|
115
102
|
},
|
|
@@ -156,6 +143,7 @@ export default defineComponent({
|
|
|
156
143
|
align-items: center;
|
|
157
144
|
|
|
158
145
|
.participant-name {
|
|
146
|
+
margin-top: 1rem;
|
|
159
147
|
font-size: 0.9rem;
|
|
160
148
|
font-weight: 600;
|
|
161
149
|
text-align: center;
|