@saooti/octopus-sdk 32.0.2 → 32.0.3

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 (68) hide show
  1. package/README.md +4 -1
  2. package/package.json +1 -1
  3. package/src/App.vue +1 -1
  4. package/src/assets/multiselect.scss +11 -0
  5. package/src/components/display/comments/AddCommentModal.vue +1 -3
  6. package/src/components/display/comments/CommentInput.vue +14 -30
  7. package/src/components/display/comments/CommentItem.vue +5 -12
  8. package/src/components/display/comments/CommentList.vue +7 -14
  9. package/src/components/display/comments/CommentPlayer.vue +1 -4
  10. package/src/components/display/edit/EditCommentBox.vue +1 -1
  11. package/src/components/display/emission/EmissionChooser.vue +4 -18
  12. package/src/components/display/emission/EmissionInlineList.vue +1 -6
  13. package/src/components/display/emission/EmissionItem.vue +3 -10
  14. package/src/components/display/emission/EmissionList.vue +6 -13
  15. package/src/components/display/emission/EmissionPlayerItem.vue +3 -11
  16. package/src/components/display/filter/AdvancedSearch.vue +5 -13
  17. package/src/components/display/filter/RubriqueFilter.vue +1 -3
  18. package/src/components/display/list/ListPaginate.vue +1 -6
  19. package/src/components/display/live/LiveItem.vue +6 -17
  20. package/src/components/display/live/LiveList.vue +12 -16
  21. package/src/components/display/organisation/OrganisationChooser.vue +2 -6
  22. package/src/components/display/organisation/OrganisationChooserLight.vue +1 -5
  23. package/src/components/display/participant/ParticipantItem.vue +4 -9
  24. package/src/components/display/participant/ParticipantList.vue +1 -3
  25. package/src/components/display/playlist/PlaylistItem.vue +6 -16
  26. package/src/components/display/playlist/PlaylistList.vue +2 -5
  27. package/src/components/display/playlist/PodcastList.vue +3 -7
  28. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +2 -9
  29. package/src/components/display/podcasts/AnimatorsItem.vue +1 -1
  30. package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
  31. package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
  32. package/src/components/display/podcasts/PodcastImage.vue +12 -25
  33. package/src/components/display/podcasts/PodcastInlineListClassic.vue +2 -8
  34. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +2 -2
  35. package/src/components/display/podcasts/PodcastItem.vue +2 -5
  36. package/src/components/display/podcasts/PodcastItemInfo.vue +2 -7
  37. package/src/components/display/podcasts/PodcastList.vue +5 -13
  38. package/src/components/display/podcasts/PodcastModuleBox.vue +7 -22
  39. package/src/components/display/podcasts/PodcastPlayBar.vue +3 -4
  40. package/src/components/display/podcasts/PodcastSwiperList.vue +1 -3
  41. package/src/components/display/rubriques/RubriqueChooser.vue +4 -15
  42. package/src/components/display/rubriques/RubriqueList.vue +2 -2
  43. package/src/components/display/sharing/QrCode.vue +1 -1
  44. package/src/components/display/sharing/ShareDistribution.vue +26 -95
  45. package/src/components/display/sharing/SharePlayer.vue +6 -14
  46. package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
  47. package/src/components/display/sharing/SubscribeButtons.vue +2 -4
  48. package/src/components/form/ClassicSearch.vue +2 -2
  49. package/src/components/form/ClassicSelect.vue +1 -1
  50. package/src/components/misc/Footer.vue +2 -2
  51. package/src/components/misc/LeftMenu.vue +3 -3
  52. package/src/components/misc/TopBar.vue +7 -11
  53. package/src/components/misc/modal/NewsletterModal.vue +3 -5
  54. package/src/components/misc/player/Player.vue +1 -1
  55. package/src/components/misc/player/PlayerCompact.vue +1 -1
  56. package/src/components/misc/player/PlayerTimeline.vue +0 -5
  57. package/src/components/pages/Emission.vue +14 -33
  58. package/src/components/pages/Emissions.vue +6 -15
  59. package/src/components/pages/Home.vue +1 -4
  60. package/src/components/pages/Lives.vue +3 -11
  61. package/src/components/pages/PageNotFound.vue +2 -2
  62. package/src/components/pages/Participant.vue +8 -23
  63. package/src/components/pages/Participants.vue +3 -6
  64. package/src/components/pages/Playlist.vue +6 -12
  65. package/src/components/pages/Playlists.vue +2 -3
  66. package/src/components/pages/Podcast.vue +15 -51
  67. package/src/components/pages/Podcasts.vue +7 -16
  68. package/src/components/pages/Search.vue +3 -6
@@ -140,8 +140,7 @@ export default defineComponent({
140
140
  return 'largeSuggestion' === this.iFrameModel;
141
141
  },
142
142
  titleStillAvailable(): string {
143
- if (this.isPodcastNotVisible) return this.$t('Podcast still available').toString();
144
- return this.$t('Podcasts still available').toString();
143
+ return this.isPodcastNotVisible ?this.$t('Podcast still available') : this.$t('Podcasts still available');
145
144
  },
146
145
  isLiveReadyToRecord(): boolean {
147
146
  if (this.podcast)
@@ -153,17 +152,10 @@ export default defineComponent({
153
152
  return false;
154
153
  },
155
154
  noAd(): boolean {
156
- if (
157
- (this.podcast &&
158
- this.podcast.organisation.id !== this.organisationId &&
159
- 'NO' === this.podcast.monetisable) ||
160
- (this.podcast &&
161
- 'UNDEFINED' === this.podcast.monetisable &&
162
- 'NO' === this.podcast.emission.monetisable)
163
- ) {
164
- return true;
165
- }
166
- return false;
155
+ return (this.podcast?.organisation.id !== this.organisationId &&
156
+ 'NO' === this.podcast?.monetisable) ||
157
+ ('UNDEFINED' === this.podcast?.monetisable &&
158
+ 'NO' === this.podcast?.emission.monetisable);
167
159
  },
168
160
  iFrameSrc(): string {
169
161
  const url = [''];
@@ -268,7 +260,7 @@ export default defineComponent({
268
260
  async initColor(): Promise<void> {
269
261
  if (!this.authenticated) return;
270
262
  let data;
271
- if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
263
+ if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
272
264
  data = this.$store.state.organisation.attributes;
273
265
  }else{
274
266
  data= await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+this.myOrganisationId);
@@ -68,7 +68,7 @@ export default defineComponent({
68
68
  },
69
69
  customPlayersDisplay(): Array<CustomPlayer>{
70
70
  return this.customPlayers.filter((player: CustomPlayer)=>{
71
- return (('EPISODE' === player.typePlayer ||'SUGGESTION' === player.typePlayer) && this.podcast && this.podcast.podcastId) ||
71
+ return (('EPISODE' === player.typePlayer ||'SUGGESTION' === player.typePlayer) &&this.podcast?.podcastId) ||
72
72
  ('EMISSION' === player.typePlayer && this.emission && !this.podcast)|| ('PLAYLIST' === player.typePlayer && this.playlist );
73
73
  });
74
74
  },
@@ -67,14 +67,12 @@ export default defineComponent({
67
67
  }
68
68
  },
69
69
  getUrl(sub: string): string | undefined{
70
- return this.externaliseLinks(this.emission && this.emission.annotations? (this.emission.annotations[sub] as string): undefined);
70
+ return this.externaliseLinks(this.emission?.annotations?.[sub] as string|undefined);
71
71
  },
72
72
  externaliseLinks(link?: string): string|undefined {
73
73
  if (!link) return link;
74
74
  link = link.trim();
75
- if (!link.startsWith('http') && !link.startsWith('//'))
76
- return '//' + link;
77
- return link;
75
+ return !link.startsWith('http') && !link.startsWith('//') ? '//' + link:link;
78
76
  },
79
77
  },
80
78
  })
@@ -19,7 +19,7 @@
19
19
  />
20
20
  <div
21
21
  v-else
22
- class="saooti-cross search-icon-container c-hand"
22
+ class="saooti-remove-bounty search-icon-container c-hand"
23
23
  @click="textValue = ''"
24
24
  />
25
25
  </div>
@@ -69,7 +69,7 @@ export default defineComponent({
69
69
  margin: 0 !important;
70
70
  }
71
71
  .saooti-search-bounty,
72
- .saooti-cross {
72
+ .saooti-remove-bounty {
73
73
  font-size: 1rem;
74
74
  }
75
75
  .search-icon-container {
@@ -50,7 +50,7 @@ export default defineComponent({
50
50
  handler() {
51
51
  if(this.textInit !== this.textValue){
52
52
  this.textValue =this.textInit;
53
- }
53
+ }
54
54
  },
55
55
  },
56
56
  }
@@ -136,7 +136,7 @@ export default defineComponent({
136
136
  return state.footer.contactLink;
137
137
  },
138
138
  rubriqueQueryParam(): string|undefined{
139
- if(this.$store.state.filter && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
139
+ if(this.$store.state.filter?.rubriqueFilter?.length){
140
140
  return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
141
141
  }
142
142
  return undefined;
@@ -153,7 +153,7 @@ export default defineComponent({
153
153
  return { productor: this.$store.state.filter.organisationId};
154
154
  }
155
155
  return { productor: this.$store.state.filter.organisationId,
156
- iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
156
+ iabId: this.$store.state.filter.iab?.id,
157
157
  rubriquesId: this.rubriqueQueryParam}
158
158
  },
159
159
  showBlackBorder(hide: boolean): void {
@@ -97,7 +97,7 @@ export default defineComponent({
97
97
  return this.$store.state.filter.live;
98
98
  },
99
99
  rubriqueQueryParam(): string|undefined{
100
- if(this.$store.state.filter && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
100
+ if(this.$store.state.filter?.rubriqueFilter?.length){
101
101
  return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
102
102
  }
103
103
  return undefined;
@@ -122,14 +122,14 @@ export default defineComponent({
122
122
  return { productor: this.$store.state.filter.organisationId};
123
123
  }
124
124
  return { productor: this.$store.state.filter.organisationId,
125
- iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
125
+ iabId: this.$store.state.filter.iab?.id,
126
126
  rubriquesId: this.rubriqueQueryParam}
127
127
  },
128
128
  onMenuClick() {
129
129
  this.$emit('update:displayMenu', false);
130
130
  },
131
131
  async onOrganisationSelected(organisation: Organisation|undefined) {
132
- if (organisation && organisation.id) {
132
+ if (organisation?.id) {
133
133
  await this.selectOrganisation(organisation.id);
134
134
  return;
135
135
  }
@@ -8,7 +8,7 @@
8
8
  :to="{
9
9
  name: 'home',
10
10
  query: { productor: $store.state.filter.organisationId,
11
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
11
+ iabId: $store.state.filter.iab?.id ,
12
12
  rubriquesId: rubriqueQueryParam},
13
13
  }"
14
14
  @click="onDisplayMenu(true)"
@@ -111,14 +111,13 @@ export default defineComponent({
111
111
  {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrga || this.isEducation)}]
112
112
  },
113
113
  rubriqueQueryParam(): string|undefined{
114
- if(this.$store.state.filter && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
114
+ if(this.$store.state.filter?.rubriqueFilter?.length){
115
115
  return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
116
116
  }
117
117
  return undefined;
118
118
  },
119
119
  logoUrl(): string {
120
- if (this.isEducation) return '/img/logo_education.png';
121
- return '/img/logo_octopus_final.svg';
120
+ return this.isEducation ?'/img/logo_education.png': '/img/logo_octopus_final.svg';
122
121
  },
123
122
  isPodcastmaker(): boolean {
124
123
  return (state.generalParameters.podcastmaker as boolean);
@@ -130,11 +129,8 @@ export default defineComponent({
130
129
  return this.$store.state.filter.live;
131
130
  },
132
131
  imgUrl(): string {
133
- if (
134
- this.$store.state.filter.imgUrl &&
135
- !this.$store.state.filter.imgUrl.includes('emptypodcast')
136
- )
137
- return this.$store.state.filter.imgUrl + '?dummy=' + this.dummyParam;
132
+ if (!this.$store.state.filter.imgUrl?.includes('emptypodcast'))
133
+ return `${this.$store.state.filter.imgUrl}?dummy=${this.dummyParam}`;
138
134
  return '';
139
135
  },
140
136
  },
@@ -162,7 +158,7 @@ export default defineComponent({
162
158
  return { productor: this.$store.state.filter.organisationId};
163
159
  }
164
160
  return { productor: this.$store.state.filter.organisationId,
165
- iabId: this.$store.state.filter.iab ? this.$store.state.filter.iab.id : undefined,
161
+ iabId: this.$store.state.filter.iab?.id,
166
162
  rubriquesId: this.rubriqueQueryParam}
167
163
  },
168
164
  handleScroll(): void {
@@ -193,7 +189,7 @@ export default defineComponent({
193
189
  this.$emit('update:displayMenu',param?false:!this.displayMenu);
194
190
  },
195
191
  async onOrganisationSelected(organisation: Organisation | undefined): Promise<void> {
196
- if (organisation && organisation.id) {
192
+ if (organisation?.id) {
197
193
  await this.selectOrganisation(organisation.id);
198
194
  return;
199
195
  }
@@ -170,7 +170,7 @@ export default defineComponent({
170
170
  );
171
171
  },
172
172
  articleHtml(): string{
173
- if (!this.podcast || this.podcast.article ||0 !== this.podcast.article?.length){return ''}
173
+ if (!this.podcast?.article ||0 === this.podcast.article?.length){return ''}
174
174
  return (`<a href="${this.podcast.article}" title="${this.$t('See associated article')}">
175
175
  <img width="44" height="44" style="display: inline-block;vertical-align: middle; margin-right:3px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAA6UlEQVRIie3WPUpEMRTF8R9+4QpEBGttrcdeV+E2pp3KdYi7GBRttNVCZgOCjSuQ+UCLJzLIe7l3HpFpPJAuOf+T5F4SYh3jFZ/JMVlevJUwv8c+HvEQzD/FIBEaHOFtKdkosWb0PfdHGwXzOxxk03SpDVDNvA1Q1bwNcFMwn/cB/K6iQ+3VMsVVDQDcylVMSl1VBOea5FFjTXHWZVJqtCdcYjcI+YHnPoB3FY6qdERVVNrBHi6wGXgscK3Z8UqAE80dbAeAGV4wXhUwxk5gHurP72CtgP9Gw5oabYBhT7/wwZ/If09S35Yv52lVAXwyqt0AAAAASUVORK5CYII=">
176
176
  </a>
@@ -289,9 +289,7 @@ export default defineComponent({
289
289
  this.$emit('close');
290
290
  },
291
291
  getName(person: Participant): string {
292
- const first = person.firstName || '';
293
- const last = person.lastName || '';
294
- return (first + ' ' + last).trim();
292
+ return (`${person.firstName??''} ${person.lastName??''}`).trim();
295
293
  },
296
294
  selectAll(element: Event): void {
297
295
  const target = element.target;
@@ -305,7 +303,7 @@ export default defineComponent({
305
303
  },
306
304
  async initData(): Promise<void> {
307
305
  let attributes;
308
- if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
306
+ if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
309
307
  attributes = this.$store.state.organisation.attributes;
310
308
  }else{
311
309
  attributes = await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+state.generalParameters.organisationId);
@@ -100,7 +100,7 @@ export default defineComponent({
100
100
 
101
101
  watch: {
102
102
  playerHeight(): void {
103
- this.$emit('hide', 0 === this.playerHeight ? true : false);
103
+ this.$emit('hide', 0 === this.playerHeight);
104
104
  },
105
105
  },
106
106
 
@@ -60,7 +60,7 @@
60
60
  />
61
61
  <button
62
62
  :title="$t('Close')"
63
- class="btn play-button-box primary-bg text-light saooti-cross"
63
+ class="btn play-button-box primary-bg text-light saooti-remove-bounty"
64
64
  @click="stopPlayer"
65
65
  />
66
66
  <PlayerTimeline
@@ -25,11 +25,6 @@ export default defineComponent({
25
25
  },
26
26
  emits:['update:showTimeline'],
27
27
 
28
- data() {
29
- return {
30
- };
31
- },
32
-
33
28
  computed: {
34
29
  isPodcastmaker(): boolean {
35
30
  return (state.generalParameters.podcastmaker as boolean);
@@ -142,42 +142,27 @@ export default defineComponent({
142
142
  return (state.generalParameters.podcastmaker as boolean);
143
143
  },
144
144
  rssUrl(): string {
145
- return state.generalParameters.ApiUri + 'rss/emission/' + this.emissionId;
145
+ return `${state.generalParameters.ApiUri}rss/emission/${this.emissionId}`;
146
146
  },
147
147
  name(): string {
148
- return this.emission ? this.emission.name : '';
148
+ return this.emission?.name??'';
149
149
  },
150
150
  imageUrl(): string {
151
- return this.emission
152
- ? this.emission.imageUrl + '?dummy=' + this.dummyParam
153
- : '';
151
+ return this.emission? `${this.emission.imageUrl}?dummy=${this.dummyParam}`:'';
154
152
  },
155
153
  description(): string {
156
- return this.emission ? this.emission.description : '';
154
+ return this.emission?.description??'';
157
155
  },
158
156
  editRight(): boolean {
159
- if (
160
- (this.authenticated && this.emission && this.myOrganisationId === this.emission.orga.id) ||
161
- state.generalParameters.isAdmin
162
- ){
163
- return true;
164
- }
165
- return false;
157
+ return (true===this.authenticated && this.myOrganisationId === this.emission?.orga.id) ||
158
+ true===state.generalParameters.isAdmin
166
159
  },
167
160
  countLink(): number {
161
+ const platformShare = ['amazon','googlePodcasts','applePodcast', 'deezer', 'spotify', 'tunein',
162
+ 'radioline', 'podcastAddict', 'playerFm', 'stitcher', 'pocketCasts'];
168
163
  let count = 0;
169
- if (this.emission && this.emission.annotations) {
170
- if (undefined !== this.emission.annotations.amazon) count++;
171
- if (undefined !== this.emission.annotations.applePodcast) count++;
172
- if (undefined !== this.emission.annotations.deezer) count++;
173
- if (undefined !== this.emission.annotations.googlePodcasts) count++;
174
- if (undefined !== this.emission.annotations.spotify) count++;
175
- if (undefined !== this.emission.annotations.tunein) count++;
176
- if (undefined !== this.emission.annotations.radioline) count++;
177
- if (undefined !== this.emission.annotations.podcastAddict) count++;
178
- if (undefined !== this.emission.annotations.playerFm) count++;
179
- if (undefined !== this.emission.annotations.stitcher) count++;
180
- if (undefined !== this.emission.annotations.pocketCasts) count++;
164
+ for (let i = 0, len = platformShare.length; i < len; i++) {
165
+ if (undefined !== this.emission?.annotations?.[platformShare[i]]) count++;
181
166
  }
182
167
  return count;
183
168
  },
@@ -200,22 +185,18 @@ export default defineComponent({
200
185
  this.rssEmission = this.emission.annotations.RSS? true: false;
201
186
  this.ftpEmission = this.emission.annotations.FTP? true: false;
202
187
  if (this.emission.annotations.exclusive) {
203
- this.exclusive =
204
- 'true' === this.emission.annotations.exclusive ? true : false;
205
- this.exclusive =
206
- this.exclusive && this.myOrganisationId !== this.emission.orga.id;
188
+ this.exclusive ='true' === this.emission.annotations.exclusive;
189
+ this.exclusive =this.exclusive && this.myOrganisationId !== this.emission.orga.id;
207
190
  }
208
191
  if (this.emission.annotations.notExclusive) {
209
- this.notExclusive =
210
- 'true' === this.emission.annotations.notExclusive ? true : false;
192
+ this.notExclusive ='true' === this.emission.annotations.notExclusive;
211
193
  }
212
194
  },
213
195
  async getEmissionDetails(): Promise<void> {
214
196
  this.loaded = false;
215
197
  this.error = false;
216
198
  try {
217
- const data: Emission = await octopusApi.fetchData<Emission>(0,'emission/'+this.emissionId);
218
- this.emission = data;
199
+ this.emission = await octopusApi.fetchData<Emission>(0,'emission/'+this.emissionId);
219
200
  if("PUBLIC"!==this.emission.orga.privacy && this.filterOrga!==this.emission.orga.id){
220
201
  this.initError();
221
202
  return;
@@ -86,26 +86,17 @@ export default defineComponent({
86
86
 
87
87
  computed: {
88
88
  titleDisplay(): string{
89
- if(undefined === state.emissionsPage.titlePage){
90
- return this.$t('All emissions');
91
- }
92
- return state.emissionsPage.titlePage;
89
+ return state.emissionsPage.titlePage??this.$t('All emissions');
93
90
  },
94
91
  isProductorSearch(): boolean{
95
92
  return (state.podcastsPage.ProductorSearch as boolean);
96
93
  },
97
94
  organisationRight(): boolean {
98
- if (
99
- (this.authenticated && this.myOrganisationId === this.organisationId) ||
100
- state.generalParameters.isAdmin
101
- )
102
- return true;
103
- return false;
95
+ return (true===this.authenticated && this.myOrganisationId === this.organisationId) ||
96
+ true===state.generalParameters.isAdmin
104
97
  },
105
98
  organisation(): string|undefined {
106
- if (this.organisationId) return this.organisationId;
107
- if (this.filterOrga) return this.filterOrga;
108
- return undefined;
99
+ return this.organisationId??this.filterOrga;
109
100
  },
110
101
  },
111
102
 
@@ -114,8 +105,8 @@ export default defineComponent({
114
105
  },
115
106
  methods: {
116
107
  initComponent(): void{
117
- this.iabId = this.$store.state.filter.iab? this.$store.state.filter.iab.id : undefined;
118
- this.organisationId = this.productor ? this.productor : this.filterOrga;
108
+ this.iabId =this.$store.state.filter.iab?.id;
109
+ this.organisationId = this.productor?? this.filterOrga;
119
110
  if (this.organisation && this.organisationRight) {
120
111
  this.includeHidden = true;
121
112
  }
@@ -51,10 +51,7 @@ export default defineComponent({
51
51
  return this.$store.state.filter.rubriqueDisplay.filter((rubrique: Rubrique) => 0 !== rubrique.podcastCount );
52
52
  },
53
53
  rubriquageFilter(): Array<Rubriquage>{
54
- if(this.$store.state.filter.organisationId){
55
- return this.$store.state.filter.rubriquageArray;
56
- }
57
- return [];
54
+ return this.$store.state.filter.organisationId ? this.$store.state.filter.rubriquageArray :[];
58
55
  },
59
56
  rubriqueFilter(): Array<RubriquageFilter>{
60
57
  return this.$store.state.filter.rubriqueFilter;
@@ -57,11 +57,7 @@ export default defineComponent({
57
57
 
58
58
  computed: {
59
59
  liveRight(): boolean {
60
- if (this.isRoleLive && this.live) return true;
61
- return false;
62
- },
63
- isRoleLive(): boolean {
64
- return (state.generalParameters.isRoleLive as boolean);
60
+ return (state.generalParameters.isRoleLive as boolean)&& this.live;
65
61
  },
66
62
  filterOrga(): string {
67
63
  return this.$store.state.filter.organisationId;
@@ -76,11 +72,7 @@ export default defineComponent({
76
72
  } else if (this.$store.state.filter.organisationId) {
77
73
  this.$emit('update:organisationId',this.$store.state.filter.organisationId);
78
74
  }
79
- if (
80
- this.$store.state.organisation &&
81
- this.$store.state.organisation.attributes &&
82
- !this.$store.state.organisation.attributes['live.active']
83
- ) {
75
+ if (!this.$store.state.organisation?.attributes?.['live.active']) {
84
76
  this.live = false;
85
77
  }
86
78
  },
@@ -89,7 +81,7 @@ export default defineComponent({
89
81
  this.$emit('initConferenceIds', listIds);
90
82
  },
91
83
  onOrganisationSelected(organisation: Organisation|undefined): void {
92
- this.$emit('update:organisationId', organisation ? organisation.id : undefined);
84
+ this.$emit('update:organisationId', organisation?.id);
93
85
  },
94
86
  },
95
87
  })
@@ -11,7 +11,7 @@
11
11
  :to="{
12
12
  name: 'home',
13
13
  query: { productor: $store.state.filter.organisationId,
14
- iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
14
+ iabId:$store.state.filter.iab?.id,
15
15
  rubriquesId: rubriqueQueryParam},
16
16
  }"
17
17
  >
@@ -28,7 +28,7 @@ export default defineComponent({
28
28
  name: 'PageNotFound',
29
29
  computed:{
30
30
  rubriqueQueryParam(): string|undefined{
31
- if(this.$store.state.filter && this.$store.state.filter.rubriqueFilter && this.$store.state.filter.rubriqueFilter.length){
31
+ if(this.$store.state.filter?.rubriqueFilter?.length){
32
32
  return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
33
33
  }
34
34
  return undefined;
@@ -96,10 +96,7 @@ export default defineComponent({
96
96
  },
97
97
  computed: {
98
98
  titleDisplay(): string{
99
- if(undefined === state.intervenantPage.titlePage){
100
- return this.$t('Animator');
101
- }
102
- return state.intervenantPage.titlePage;
99
+ return state.intervenantPage.titlePage??this.$t('Animator');
103
100
  },
104
101
  pageParameters(){
105
102
  return {
@@ -109,30 +106,18 @@ export default defineComponent({
109
106
  };
110
107
  },
111
108
  rssUrl(): string {
112
- return state.generalParameters.ApiUri + 'rss/participant/' + this.participantId;
109
+ return `${state.generalParameters.ApiUri}rss/participant/${this.participantId}`;
113
110
  },
114
111
  description(): string {
115
- if(!this.participant){return '';}
116
- return this.participant.description || '';
112
+ return this.participant?.description ?? '';
117
113
  },
118
114
  name(): string {
119
- if(!this.participant){return '';}
120
- return (
121
- (this.participant.firstName || '') +
122
- ' ' +
123
- (this.participant.lastName || '')
124
- ).trim();
115
+ return (`${this.participant?.firstName??''} ${this.participant?.lastName??''}`).trim();
125
116
  },
126
117
  editRight(): boolean {
127
- if(!this.participant || !this.participant.orga ){return false;}
128
- if (
129
- (this.authenticated &&
130
- this.myOrganisationId === this.participant.orga.id) ||
131
- state.generalParameters.isAdmin
132
- ){
133
- return true;
134
- }
135
- return false;
118
+ return (true===this.authenticated &&
119
+ this.myOrganisationId === this.participant?.orga?.id) ||
120
+ true===state.generalParameters.isAdmin
136
121
  },
137
122
  },
138
123
  watch: {
@@ -158,7 +143,7 @@ export default defineComponent({
158
143
  this.loaded = false;
159
144
  try {
160
145
  const data = await octopusApi.fetchData<Participant>(0, 'participant/'+this.participantId);
161
- if(data && data.orga && "PUBLIC"!==data.orga.privacy && this.filterOrga!==data.orga.id){
146
+ if("PUBLIC"!==data?.orga?.privacy && this.filterOrga!==data?.orga?.id){
162
147
  this.initError();
163
148
  return;
164
149
  }
@@ -37,20 +37,17 @@ export default defineComponent({
37
37
  return {
38
38
  first: 0 as number,
39
39
  size: 30 as number,
40
- searchPattern: '',
40
+ searchPattern: '' as string,
41
41
  organisationId: undefined as string | undefined,
42
42
  };
43
43
  },
44
44
  computed: {
45
45
  titleDisplay(): string{
46
- if(undefined === state.intervenantsPage.titlePage){
47
- return this.$t('All participants');
48
- }
49
- return state.intervenantsPage.titlePage;
46
+ return state.intervenantsPage.titlePage ?? this.$t('All participants');
50
47
  },
51
48
  },
52
49
  created() {
53
- this.organisationId = this.productor? this.productor : this.filterOrga;
50
+ this.organisationId = this.productor??this.filterOrga;
54
51
  },
55
52
  })
56
53
  </script>
@@ -92,24 +92,19 @@ export default defineComponent({
92
92
  };
93
93
  },
94
94
  name(): string {
95
- return this.playlist ? this.playlist.title : '';
95
+ return this.playlist?.title ??'';
96
96
  },
97
97
  imageUrl(): string {
98
98
  const dummy = new Date().getTime().toString();
99
99
  return this.playlist ? this.playlist.imageUrl + '?dummy=' + dummy : '';
100
100
  },
101
101
  description(): string {
102
- return this.playlist ? this.playlist.description : '';
102
+ return this.playlist?.description ??'';
103
103
  },
104
104
  editRight(): boolean {
105
- if (
106
- (state.generalParameters.isPlaylist && this.playlist &&
107
- this.myOrganisationId === this.playlist.organisation?.id) ||
108
- state.generalParameters.isAdmin
109
- ){
110
- return true;
111
- }
112
- return false;
105
+ return (true===state.generalParameters.isPlaylist &&
106
+ this.myOrganisationId === this.playlist?.organisation?.id) ||
107
+ true ===state.generalParameters.isAdmin
113
108
  },
114
109
  },
115
110
  watch: {
@@ -130,8 +125,7 @@ export default defineComponent({
130
125
  try {
131
126
  this.loaded = false;
132
127
  this.error = false;
133
- const data: Playlist = await octopusApi.fetchData<Playlist>(0, 'playlist/'+this.playlistId);
134
- this.playlist = data;
128
+ this.playlist = await octopusApi.fetchData<Playlist>(0, 'playlist/'+this.playlistId);
135
129
  if("PUBLIC"!==this.playlist.organisation?.privacy && this.filterOrga!==this.playlist.organisation?.id){
136
130
  this.initError();
137
131
  return;
@@ -61,13 +61,12 @@ export default defineComponent({
61
61
  return (state.generalParameters.podcastmaker as boolean);
62
62
  },
63
63
  editRight(): boolean {
64
- if (state.generalParameters.isPlaylist) return true;
65
- return false;
64
+ return state.generalParameters.isPlaylist ? true : false;
66
65
  },
67
66
  },
68
67
 
69
68
  created() {
70
- this.organisationId = this.productor ? this.productor : this.filterOrga;
69
+ this.organisationId = this.productor ??this.filterOrga;
71
70
  },
72
71
  })
73
72
  </script>