@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.
Files changed (87) hide show
  1. package/README.md +5 -1
  2. package/index.ts +13 -2
  3. package/package.json +1 -1
  4. package/src/assets/bootstrap-diff.scss +17 -25
  5. package/src/assets/form.scss +7 -37
  6. package/src/assets/general.scss +56 -170
  7. package/src/assets/live.scss +39 -0
  8. package/src/assets/modal.scss +14 -18
  9. package/src/assets/multiselect.scss +30 -77
  10. package/src/assets/octopus-library.scss +1 -0
  11. package/src/assets/share.scss +149 -267
  12. package/src/assets/transition.scss +95 -1
  13. package/src/components/display/categories/CategoryChooser.vue +1 -1
  14. package/src/components/display/categories/CategoryList.vue +2 -4
  15. package/src/components/display/comments/CommentInput.vue +2 -2
  16. package/src/components/display/comments/CommentItem.vue +6 -6
  17. package/src/components/display/comments/CommentParentInfo.vue +1 -1
  18. package/src/components/display/comments/CommentPlayer.vue +1 -1
  19. package/src/components/display/edit/EditCommentBox.vue +8 -16
  20. package/src/components/display/emission/EmissionChooser.vue +1 -3
  21. package/src/components/display/emission/EmissionInlineList.vue +12 -3
  22. package/src/components/display/emission/EmissionItem.vue +22 -64
  23. package/src/components/display/emission/EmissionList.vue +59 -68
  24. package/src/components/display/emission/EmissionPlayerItem.vue +10 -9
  25. package/src/components/display/filter/AdvancedSearch.vue +50 -146
  26. package/src/components/display/filter/CategoryFilter.vue +9 -13
  27. package/src/components/display/filter/MonetizableFilter.vue +3 -5
  28. package/src/components/display/filter/ProductorSearch.vue +20 -40
  29. package/src/components/display/filter/RubriqueChoice.vue +6 -8
  30. package/src/components/display/filter/RubriqueFilter.vue +8 -13
  31. package/src/components/display/live/CountDown.vue +4 -2
  32. package/src/components/display/live/LiveHorizontalList.vue +1 -1
  33. package/src/components/display/live/LiveItem.vue +4 -4
  34. package/src/components/display/live/LiveList.vue +84 -214
  35. package/src/components/display/organisation/OrganisationChooser.vue +5 -23
  36. package/src/components/display/organisation/OrganisationChooserLight.vue +8 -2
  37. package/src/components/display/participant/ParticipantItem.vue +7 -19
  38. package/src/components/display/participant/ParticipantList.vue +39 -52
  39. package/src/components/display/playlist/PlaylistItem.vue +2 -2
  40. package/src/components/display/playlist/PlaylistList.vue +8 -14
  41. package/src/components/display/playlist/PodcastList.vue +21 -40
  42. package/src/components/display/podcasts/AnimatorsItem.vue +0 -1
  43. package/src/components/display/podcasts/ParticipantDescription.vue +4 -16
  44. package/src/components/display/podcasts/PodcastFilterList.vue +20 -63
  45. package/src/components/display/podcasts/PodcastImage.vue +27 -84
  46. package/src/components/display/podcasts/PodcastInlineList.vue +14 -36
  47. package/src/components/display/podcasts/PodcastItem.vue +5 -5
  48. package/src/components/display/podcasts/PodcastList.vue +7 -14
  49. package/src/components/display/podcasts/PodcastModuleBox.vue +9 -28
  50. package/src/components/display/podcasts/TagList.vue +2 -3
  51. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  52. package/src/components/display/rubriques/RubriqueList.vue +5 -25
  53. package/src/components/display/sharing/PlayerParameters.vue +30 -71
  54. package/src/components/display/sharing/ShareButtons.vue +21 -45
  55. package/src/components/display/sharing/ShareDistribution.vue +1 -7
  56. package/src/components/display/sharing/SharePlayer.vue +10 -19
  57. package/src/components/display/sharing/SharePlayerColors.vue +4 -8
  58. package/src/components/display/sharing/SharePlayerTypes.vue +1 -2
  59. package/src/components/display/sharing/SubscribeButtons.vue +2 -4
  60. package/src/components/form/ClassicCheckbox.vue +61 -0
  61. package/src/components/form/ClassicLoading.vue +28 -0
  62. package/src/components/form/ClassicRadio.vue +61 -0
  63. package/src/components/form/ClassicSearch.vue +82 -0
  64. package/src/components/misc/ErrorMessage.vue +4 -1
  65. package/src/components/misc/Footer.vue +26 -35
  66. package/src/components/misc/HomeDropdown.vue +42 -91
  67. package/src/components/misc/LeftMenu.vue +108 -141
  68. package/src/components/misc/Player.vue +15 -29
  69. package/src/components/misc/PlayerButtons.vue +14 -37
  70. package/src/components/misc/PlayerClockAndTimeline.vue +1 -1
  71. package/src/components/misc/PlayerProgressBar.vue +15 -50
  72. package/src/components/misc/TopBar.vue +140 -222
  73. package/src/components/misc/modal/NewsletterModal.vue +13 -27
  74. package/src/components/pages/Category.vue +3 -8
  75. package/src/components/pages/Emission.vue +12 -24
  76. package/src/components/pages/Emissions.vue +8 -17
  77. package/src/components/pages/Home.vue +1 -3
  78. package/src/components/pages/Lives.vue +1 -4
  79. package/src/components/pages/Participant.vue +19 -27
  80. package/src/components/pages/Participants.vue +7 -15
  81. package/src/components/pages/Playlist.vue +16 -29
  82. package/src/components/pages/Playlists.vue +1 -11
  83. package/src/components/pages/Podcast.vue +16 -30
  84. package/src/components/pages/Podcasts.vue +9 -23
  85. package/src/components/pages/Search.vue +26 -64
  86. package/src/sass/_variables.scss +0 -1
  87. 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 link-info text-truncate"
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="link-info text-truncate"
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="link-info"
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="link-info"
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 live-list-container"
4
+ class="d-flex flex-column align-items-center"
5
5
  >
6
- <div
7
- v-if="loading"
8
- class="d-flex justify-content-center"
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
- <template v-if="lives.length">
28
- <div class="horizontal-separator" />
29
- <p class="live-list-category">
30
- {{ $t('In live') }}
31
- </p>
32
- <LiveItem
33
- v-for="(l, index) in lives"
34
- :key="l.podcastId"
35
- class="mt-3"
36
- :fetch-conference="l"
37
- :index="index"
38
- @deleteItem="deleteLive"
39
- />
40
- </template>
41
- <template v-if="livesNotStarted.length">
42
- <div class="horizontal-separator" />
43
- <p class="live-list-category">
44
- {{ $t('This live is not started yet') }}
45
- </p>
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
- lives: [] as Array<Conference>,
138
- livesNotStarted: [] as Array<Conference>,
139
- livesToBe: [] as Array<Conference>,
140
- livesTerminated: [] as Array<Conference>,
141
- livesError: [] as Array<Conference>,
142
- livesPublishing: [] as Array<Conference>,
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.livesNotStarted.length > 0)
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.livesToBe.length > 0)
88
+ if (this.livesArray[2].lives.length > 0)
160
89
  return this.$t('Next live date', {
161
- date: moment(this.livesToBe[0].date).format('LLLL'),
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.lives.length = 0;
223
- this.livesNotStarted.length = 0;
224
- this.livesToBe.length = 0;
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
- for (let index = 0, len = dataLivesToBe.length; index < len; index++) {
253
- if (moment(dataLivesToBe[index].date).isBefore(moment())) {
254
- this.livesNotStarted.push(dataLivesToBe[index]);
255
- indexPast = index + 1;
256
- } else {
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
- 'ERROR'
174
+ this.livesArray[i].status
284
175
  );
285
- this.livesError = dataLivesError.filter((p: Conference | null) => {
286
- return null !== p;
287
- });
288
- const dataLivesPublishing = await octopusApi.listConferences(
289
- this.filterOrgaUsed,
290
- true,
291
- 'PUBLISHING'
292
- );
293
- this.livesPublishing = dataLivesPublishing.filter((p: Conference | null) => {
294
- return null !== p;
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.livesToBe)
299
- .concat(this.livesNotStarted);
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.livesToBe.findIndex(
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.livesTerminated.push(newConf);
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.livesToBe[indexLivesToBe];
229
+ const newConf = this.livesArray[1].lives[indexLivesToBe];
345
230
  newConf.status = element.status;
346
- this.livesToBe.splice(indexLivesToBe, 1);
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': stats }"
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 &&!stats"
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 &&!stats"
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-2"
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
- let orga = response.result;
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="basic-select mb-0 c-hand"
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"></style>
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="text-dark participant-producer"
46
+ class="participant-producer"
56
47
  >
57
- <div class="participant-producer primary-color">
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;