@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.
- package/README.md +4 -1
- package/package.json +1 -1
- package/src/App.vue +1 -1
- package/src/assets/multiselect.scss +11 -0
- package/src/components/display/comments/AddCommentModal.vue +1 -3
- package/src/components/display/comments/CommentInput.vue +14 -30
- package/src/components/display/comments/CommentItem.vue +5 -12
- package/src/components/display/comments/CommentList.vue +7 -14
- package/src/components/display/comments/CommentPlayer.vue +1 -4
- package/src/components/display/edit/EditCommentBox.vue +1 -1
- package/src/components/display/emission/EmissionChooser.vue +4 -18
- package/src/components/display/emission/EmissionInlineList.vue +1 -6
- package/src/components/display/emission/EmissionItem.vue +3 -10
- package/src/components/display/emission/EmissionList.vue +6 -13
- package/src/components/display/emission/EmissionPlayerItem.vue +3 -11
- package/src/components/display/filter/AdvancedSearch.vue +5 -13
- package/src/components/display/filter/RubriqueFilter.vue +1 -3
- package/src/components/display/list/ListPaginate.vue +1 -6
- package/src/components/display/live/LiveItem.vue +6 -17
- package/src/components/display/live/LiveList.vue +12 -16
- package/src/components/display/organisation/OrganisationChooser.vue +2 -6
- package/src/components/display/organisation/OrganisationChooserLight.vue +1 -5
- package/src/components/display/participant/ParticipantItem.vue +4 -9
- package/src/components/display/participant/ParticipantList.vue +1 -3
- package/src/components/display/playlist/PlaylistItem.vue +6 -16
- package/src/components/display/playlist/PlaylistList.vue +2 -5
- package/src/components/display/playlist/PodcastList.vue +3 -7
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +2 -9
- package/src/components/display/podcasts/AnimatorsItem.vue +1 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
- package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +12 -25
- package/src/components/display/podcasts/PodcastInlineListClassic.vue +2 -8
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +2 -2
- package/src/components/display/podcasts/PodcastItem.vue +2 -5
- package/src/components/display/podcasts/PodcastItemInfo.vue +2 -7
- package/src/components/display/podcasts/PodcastList.vue +5 -13
- package/src/components/display/podcasts/PodcastModuleBox.vue +7 -22
- package/src/components/display/podcasts/PodcastPlayBar.vue +3 -4
- package/src/components/display/podcasts/PodcastSwiperList.vue +1 -3
- package/src/components/display/rubriques/RubriqueChooser.vue +4 -15
- package/src/components/display/rubriques/RubriqueList.vue +2 -2
- package/src/components/display/sharing/QrCode.vue +1 -1
- package/src/components/display/sharing/ShareDistribution.vue +26 -95
- package/src/components/display/sharing/SharePlayer.vue +6 -14
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
- package/src/components/display/sharing/SubscribeButtons.vue +2 -4
- package/src/components/form/ClassicSearch.vue +2 -2
- package/src/components/form/ClassicSelect.vue +1 -1
- package/src/components/misc/Footer.vue +2 -2
- package/src/components/misc/LeftMenu.vue +3 -3
- package/src/components/misc/TopBar.vue +7 -11
- package/src/components/misc/modal/NewsletterModal.vue +3 -5
- package/src/components/misc/player/Player.vue +1 -1
- package/src/components/misc/player/PlayerCompact.vue +1 -1
- package/src/components/misc/player/PlayerTimeline.vue +0 -5
- package/src/components/pages/Emission.vue +14 -33
- package/src/components/pages/Emissions.vue +6 -15
- package/src/components/pages/Home.vue +1 -4
- package/src/components/pages/Lives.vue +3 -11
- package/src/components/pages/PageNotFound.vue +2 -2
- package/src/components/pages/Participant.vue +8 -23
- package/src/components/pages/Participants.vue +3 -6
- package/src/components/pages/Playlist.vue +6 -12
- package/src/components/pages/Playlists.vue +2 -3
- package/src/components/pages/Podcast.vue +15 -51
- package/src/components/pages/Podcasts.vue +7 -16
- package/src/components/pages/Search.vue +3 -6
|
@@ -81,13 +81,10 @@ export default defineComponent({
|
|
|
81
81
|
return (state.generalParameters.podcastmaker as boolean);
|
|
82
82
|
},
|
|
83
83
|
organisation(): string {
|
|
84
|
-
|
|
85
|
-
return '' + this.playlist.publisher.organisation.name;
|
|
86
|
-
}
|
|
87
|
-
return '';
|
|
84
|
+
return this.playlist?.publisher?.organisation?.name ??'';
|
|
88
85
|
},
|
|
89
86
|
description(): string {
|
|
90
|
-
return this.playlist.description
|
|
87
|
+
return this.playlist.description ?? '';
|
|
91
88
|
},
|
|
92
89
|
name(): string {
|
|
93
90
|
return this.playlist.title;
|
|
@@ -96,13 +93,9 @@ export default defineComponent({
|
|
|
96
93
|
return state.generalParameters.organisationId;
|
|
97
94
|
},
|
|
98
95
|
editRight(): boolean {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
state.generalParameters.isAdmin
|
|
103
|
-
)
|
|
104
|
-
return true;
|
|
105
|
-
return false;
|
|
96
|
+
return (true===state.generalParameters.isPlaylist &&
|
|
97
|
+
this.organisationId === this.playlist.organisation?.id) ||
|
|
98
|
+
true == state.generalParameters.isAdmin;
|
|
106
99
|
},
|
|
107
100
|
activePlaylist(): boolean {
|
|
108
101
|
return 0 !== Object.keys(this.playlist.podcasts).length;
|
|
@@ -111,10 +104,7 @@ export default defineComponent({
|
|
|
111
104
|
mounted() {
|
|
112
105
|
const playlistDesc = (this.$refs.descriptionPlaylist as HTMLElement);
|
|
113
106
|
const playlistDescContainer = (this.$refs.descriptionPlaylistContainer as HTMLElement);
|
|
114
|
-
if (
|
|
115
|
-
null !== playlistDesc && null !== playlistDescContainer &&
|
|
116
|
-
playlistDesc.clientHeight > playlistDescContainer.clientHeight
|
|
117
|
-
) {
|
|
107
|
+
if (playlistDesc?.clientHeight > playlistDescContainer?.clientHeight) {
|
|
118
108
|
playlistDescContainer.classList.add('after-emission-description');
|
|
119
109
|
}
|
|
120
110
|
},
|
|
@@ -77,13 +77,10 @@ export default defineComponent({
|
|
|
77
77
|
return `${this.first}|${this.size}|${this.organisationId}|${this.query}`;
|
|
78
78
|
},
|
|
79
79
|
sort(): string {
|
|
80
|
-
|
|
81
|
-
return 'SCORE';
|
|
80
|
+
return !this.query ?'NAME': 'SCORE';
|
|
82
81
|
},
|
|
83
82
|
organisation(): string|undefined {
|
|
84
|
-
|
|
85
|
-
if (this.$store.state.filter.organisationId) return this.$store.state.filter.organisationId;
|
|
86
|
-
return undefined;
|
|
83
|
+
return this.organisationId ?? this.$store.state.filter.organisationId;
|
|
87
84
|
},
|
|
88
85
|
},
|
|
89
86
|
watch: {
|
|
@@ -94,13 +94,9 @@ export default defineComponent({
|
|
|
94
94
|
return this.podcastsQuery.slice(this.first, Math.min(this.first + this.size,this.podcasts.length));
|
|
95
95
|
},
|
|
96
96
|
editRight(): boolean {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
state.generalParameters.isAdmin
|
|
101
|
-
)
|
|
102
|
-
return true;
|
|
103
|
-
return false;
|
|
97
|
+
return (true===this.authenticated &&
|
|
98
|
+
this.myOrganisationId === this.playlist.organisation?.id) ||
|
|
99
|
+
true ===state.generalParameters.isAdmin
|
|
104
100
|
},
|
|
105
101
|
},
|
|
106
102
|
watch: {
|
|
@@ -98,10 +98,7 @@ export default defineComponent({
|
|
|
98
98
|
},
|
|
99
99
|
computed: {
|
|
100
100
|
title(): string{
|
|
101
|
-
|
|
102
|
-
return this.playlist.title;
|
|
103
|
-
}
|
|
104
|
-
return "";
|
|
101
|
+
return this.playlist?.title??"";
|
|
105
102
|
},
|
|
106
103
|
podcasts(): Array<Podcast> {
|
|
107
104
|
return this.allPodcasts.slice(this.index, this.index + this.size);
|
|
@@ -159,11 +156,7 @@ export default defineComponent({
|
|
|
159
156
|
);
|
|
160
157
|
});
|
|
161
158
|
}
|
|
162
|
-
|
|
163
|
-
this.alignLeft = true;
|
|
164
|
-
} else {
|
|
165
|
-
this.alignLeft = false;
|
|
166
|
-
}
|
|
159
|
+
this.alignLeft = this.allPodcasts.length <= 3;
|
|
167
160
|
this.loading = false;
|
|
168
161
|
},
|
|
169
162
|
displayPrevious(): void {
|
|
@@ -29,7 +29,7 @@ export default defineComponent({
|
|
|
29
29
|
},
|
|
30
30
|
computed:{
|
|
31
31
|
animatorName(): string{
|
|
32
|
-
return (`${this.animator?.firstName
|
|
32
|
+
return (`${this.animator?.firstName??''} ${this.animator?.lastName??''}`).trim();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
})
|
|
@@ -81,7 +81,7 @@ export default defineComponent({
|
|
|
81
81
|
},
|
|
82
82
|
methods: {
|
|
83
83
|
onCategorySelected(category: Category|undefined): void {
|
|
84
|
-
this.iabId = category
|
|
84
|
+
this.iabId = category?.id ? category.id : undefined;
|
|
85
85
|
},
|
|
86
86
|
fetch(podcasts: Array<Podcast>): void {
|
|
87
87
|
this.$emit('fetch', podcasts);
|
|
@@ -112,22 +112,13 @@ export default defineComponent({
|
|
|
112
112
|
...mapState({
|
|
113
113
|
playingPodcast(state: StoreState) {
|
|
114
114
|
return (
|
|
115
|
-
(state.player.podcast
|
|
116
|
-
|
|
117
|
-
(this.fetchConference &&
|
|
118
|
-
'null' !== this.fetchConference &&
|
|
119
|
-
state.player.live &&
|
|
120
|
-
state.player.live.conferenceId ===
|
|
121
|
-
this.fetchConference.conferenceId)
|
|
115
|
+
(state.player.podcast?.podcastId === this.podcast.podcastId) ||
|
|
116
|
+
('null' !== this.fetchConference && state.player.live?.conferenceId ===this.fetchConference?.conferenceId)
|
|
122
117
|
);
|
|
123
118
|
},
|
|
124
119
|
}),
|
|
125
120
|
mainRubrique(): boolean{
|
|
126
|
-
|
|
127
|
-
return true;
|
|
128
|
-
}else{
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
121
|
+
return undefined!==state.podcastPage.mainRubrique && 0!==state.podcastPage.mainRubrique && true==this.podcast?.rubriqueIds?.includes(state.podcastPage.mainRubrique);
|
|
131
122
|
},
|
|
132
123
|
isPodcastmaker(): boolean {
|
|
133
124
|
return (state.generalParameters.podcastmaker as boolean);
|
|
@@ -181,24 +172,24 @@ export default defineComponent({
|
|
|
181
172
|
},
|
|
182
173
|
textVisible(): string {
|
|
183
174
|
if (this.isLiveToBeRecorded)
|
|
184
|
-
return this.$t('Podcast linked to waiting live')
|
|
175
|
+
return this.$t('Podcast linked to waiting live');
|
|
185
176
|
if ('READY' === this.podcast.processingStatus || this.fetchConference) {
|
|
186
|
-
if (false == this.podcast.valid) return this.$t('Podcast to validate')
|
|
177
|
+
if (false == this.podcast.valid) return this.$t('Podcast to validate');
|
|
187
178
|
if (
|
|
188
179
|
!this.podcast.availability.visibility &&
|
|
189
180
|
this.podcast.availability.date
|
|
190
181
|
)
|
|
191
|
-
return this.$t('Podcast publish in future')
|
|
192
|
-
return this.$t('Podcast no visible')
|
|
182
|
+
return this.$t('Podcast publish in future');
|
|
183
|
+
return this.$t('Podcast no visible');
|
|
193
184
|
}
|
|
194
185
|
if (
|
|
195
186
|
'PLANNED' === this.podcast.processingStatus ||
|
|
196
187
|
'PROCESSING' === this.podcast.processingStatus
|
|
197
188
|
)
|
|
198
|
-
return this.$t('Podcast in process')
|
|
189
|
+
return this.$t('Podcast in process');
|
|
199
190
|
if ('CANCELED' === this.podcast.processingStatus)
|
|
200
|
-
return this.$t('Podcast in cancelled status')
|
|
201
|
-
return this.$t('Podcast in error')
|
|
191
|
+
return this.$t('Podcast in cancelled status');
|
|
192
|
+
return this.$t('Podcast in error');
|
|
202
193
|
},
|
|
203
194
|
statusText(): string {
|
|
204
195
|
if (!this.fetchConference) return '';
|
|
@@ -253,11 +244,7 @@ export default defineComponent({
|
|
|
253
244
|
return;
|
|
254
245
|
}
|
|
255
246
|
if(this.playingPodcast){
|
|
256
|
-
|
|
257
|
-
this.$store.commit('playerPause', true);
|
|
258
|
-
}else{
|
|
259
|
-
this.$store.commit('playerPause', false);
|
|
260
|
-
}
|
|
247
|
+
this.$store.commit('playerPause', "PLAYING"===this.$store.state.player.status);
|
|
261
248
|
return;
|
|
262
249
|
}
|
|
263
250
|
if (!this.recordingLive) {
|
|
@@ -267,7 +254,7 @@ export default defineComponent({
|
|
|
267
254
|
title: this.podcast.title,
|
|
268
255
|
audioUrl: this.podcast.audioUrl,
|
|
269
256
|
duration: this.podcast.duration,
|
|
270
|
-
conferenceId: this.fetchConference
|
|
257
|
+
conferenceId: this.fetchConference?.conferenceId,
|
|
271
258
|
livePodcastId: this.podcast.podcastId,
|
|
272
259
|
organisation: this.podcast.organisation,
|
|
273
260
|
});
|
|
@@ -111,9 +111,7 @@ export default defineComponent({
|
|
|
111
111
|
return this.$store.state.filter.organisationId;
|
|
112
112
|
},
|
|
113
113
|
organisation(): string|undefined {
|
|
114
|
-
|
|
115
|
-
if (this.filterOrga) return this.filterOrga;
|
|
116
|
-
return undefined;
|
|
114
|
+
return this.organisationId ?? this.filterOrga;
|
|
117
115
|
},
|
|
118
116
|
previousAvailable(): boolean {
|
|
119
117
|
return this.index > 0;
|
|
@@ -179,11 +177,7 @@ export default defineComponent({
|
|
|
179
177
|
this.allPodcasts = this.allPodcasts.concat(
|
|
180
178
|
data.result.filter((pod: Podcast|null) => null !== pod)
|
|
181
179
|
);
|
|
182
|
-
|
|
183
|
-
this.alignLeft = true;
|
|
184
|
-
} else {
|
|
185
|
-
this.alignLeft = false;
|
|
186
|
-
}
|
|
180
|
+
this.alignLeft = this.allPodcasts.length <= 3;
|
|
187
181
|
this.first += this.size;
|
|
188
182
|
},
|
|
189
183
|
displayPrevious(): void {
|
|
@@ -102,7 +102,7 @@ export default defineComponent({
|
|
|
102
102
|
|
|
103
103
|
computed: {
|
|
104
104
|
rubriqueQueryParam(): string|undefined{
|
|
105
|
-
if(this.$store.state.filter
|
|
105
|
+
if(this.$store.state.filter?.rubriqueFilter?.length){
|
|
106
106
|
return this.$store.state.filter.rubriqueFilter.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
|
|
107
107
|
}
|
|
108
108
|
return undefined;
|
|
@@ -119,7 +119,7 @@ export default defineComponent({
|
|
|
119
119
|
return {
|
|
120
120
|
name: 'podcasts',
|
|
121
121
|
query: { productor: this.$store.state.filter.organisationId,
|
|
122
|
-
iabId:
|
|
122
|
+
iabId:this.$store.state.filter.iab?.id,
|
|
123
123
|
rubriquesId: this.rubriqueQueryParam },
|
|
124
124
|
};
|
|
125
125
|
},
|
|
@@ -88,7 +88,7 @@ export default defineComponent({
|
|
|
88
88
|
return moment(this.podcast.pubDate).format('X');
|
|
89
89
|
},
|
|
90
90
|
description(): string {
|
|
91
|
-
return this.podcast.description
|
|
91
|
+
return this.podcast.description ?? '';
|
|
92
92
|
},
|
|
93
93
|
},
|
|
94
94
|
|
|
@@ -96,10 +96,7 @@ export default defineComponent({
|
|
|
96
96
|
if(!this.podcastItemDescription){return}
|
|
97
97
|
const podcastDesc = (this.$refs.descriptionPodcast as HTMLElement);
|
|
98
98
|
const podcastDescContainer = (this.$refs.descriptionPodcastContainer as HTMLElement);
|
|
99
|
-
if (
|
|
100
|
-
null !== podcastDesc && null !== podcastDescContainer &&
|
|
101
|
-
podcastDesc.clientHeight > podcastDescContainer.clientHeight
|
|
102
|
-
) {
|
|
99
|
+
if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {
|
|
103
100
|
this.isDescriptionBig = true;
|
|
104
101
|
}
|
|
105
102
|
},
|
|
@@ -91,13 +91,8 @@ export default defineComponent({
|
|
|
91
91
|
return moment(this.pubDate).format('D MMMM YYYY, HH[h]mm');
|
|
92
92
|
},
|
|
93
93
|
editRight(): boolean {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
this.myOrganisationId === this.podcastOrganisationId) ||
|
|
97
|
-
state.generalParameters.isAdmin
|
|
98
|
-
)
|
|
99
|
-
return true;
|
|
100
|
-
return false;
|
|
94
|
+
return (true===this.authenticated && this.myOrganisationId === this.podcastOrganisationId) ||
|
|
95
|
+
true===state.generalParameters.isAdmin
|
|
101
96
|
},
|
|
102
97
|
durationString(): string {
|
|
103
98
|
if (this.duration <= 1) return '';
|
|
@@ -96,14 +96,10 @@ export default defineComponent({
|
|
|
96
96
|
${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.includeHidden}|${this.noRubriquageId}|${this.notValid}`;
|
|
97
97
|
},
|
|
98
98
|
organisation(): string|undefined {
|
|
99
|
-
|
|
100
|
-
if (this.$store.state.filter.organisationId) return this.$store.state.filter.organisationId;
|
|
101
|
-
return undefined;
|
|
99
|
+
return this.organisationId ?? this.$store.state.filter.organisationId;
|
|
102
100
|
},
|
|
103
101
|
sort(): string {
|
|
104
|
-
|
|
105
|
-
if (this.sortCriteria) return this.sortCriteria;
|
|
106
|
-
return 'DATE';
|
|
102
|
+
return this.popularSort? "POPULARITY" : this.sortCriteria??'DATE';
|
|
107
103
|
},
|
|
108
104
|
sortText(): string {
|
|
109
105
|
switch (this.sortCriteria) {
|
|
@@ -155,14 +151,10 @@ export default defineComponent({
|
|
|
155
151
|
noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
|
|
156
152
|
rubriqueId: this.rubriqueId.length ? this.rubriqueId : undefined,
|
|
157
153
|
rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
|
|
158
|
-
includeHidden: this.includeHidden
|
|
154
|
+
includeHidden: this.includeHidden,
|
|
155
|
+
validity: undefined !== this.notValid?!this.notValid: undefined,
|
|
156
|
+
publisherId:this.notValid && !(state.generalParameters.isProduction as boolean)?this.$store.state.profile.userId:undefined
|
|
159
157
|
};
|
|
160
|
-
if (undefined !== this.notValid) {
|
|
161
|
-
param.validity = !this.notValid;
|
|
162
|
-
}
|
|
163
|
-
if (this.notValid && !(state.generalParameters.isProduction as boolean)) {
|
|
164
|
-
param.publisherId = this.$store.state.profile.userId;
|
|
165
|
-
}
|
|
166
158
|
try {
|
|
167
159
|
const data =await octopusApi.fetchDataWithParams<{count: number;result:Array<Podcast>;sort: string;}>(0, 'podcast/search',param, true);
|
|
168
160
|
this.afterFetching(reset, data);
|
|
@@ -167,10 +167,7 @@ export default defineComponent({
|
|
|
167
167
|
if('ERROR' === this.podcast?.processingStatus){
|
|
168
168
|
return this.$t('Podcast in ERROR, please contact Saooti');
|
|
169
169
|
}
|
|
170
|
-
|
|
171
|
-
return this.$t('Podcast not validated');
|
|
172
|
-
}
|
|
173
|
-
return '';
|
|
170
|
+
return this.podcastNotValid ? this.$t('Podcast not validated') : '';
|
|
174
171
|
},
|
|
175
172
|
isPodcastmaker(): boolean {
|
|
176
173
|
return (state.generalParameters.podcastmaker as boolean);
|
|
@@ -197,23 +194,17 @@ export default defineComponent({
|
|
|
197
194
|
});
|
|
198
195
|
},
|
|
199
196
|
editRight(): boolean {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
this.myOrganisationId === this.podcast.organisation.id) ||
|
|
203
|
-
state.generalParameters.isAdmin
|
|
204
|
-
)
|
|
205
|
-
return true;
|
|
206
|
-
return false;
|
|
197
|
+
return (true===this.authenticated &&
|
|
198
|
+
this.myOrganisationId === this.podcast?.organisation.id) ||true===state.generalParameters.isAdmin
|
|
207
199
|
},
|
|
208
200
|
isLiveReadyToRecord(): boolean {
|
|
209
201
|
return (undefined!==this.podcast && undefined!==this.podcast.conferenceId && 0 !== this.podcast.conferenceId && 'READY_TO_RECORD' === this.podcast.processingStatus);
|
|
210
202
|
},
|
|
211
203
|
isLiveReady(): boolean {
|
|
212
204
|
return (
|
|
213
|
-
undefined!==this.podcast &&
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
'READY' === this.podcast.processingStatus
|
|
205
|
+
undefined!==this.podcast?.conferenceId &&
|
|
206
|
+
0 !== this.podcast?.conferenceId &&
|
|
207
|
+
'READY' === this.podcast?.processingStatus
|
|
217
208
|
);
|
|
218
209
|
},
|
|
219
210
|
isNotRecorded(): boolean {
|
|
@@ -231,13 +222,7 @@ export default defineComponent({
|
|
|
231
222
|
);
|
|
232
223
|
},
|
|
233
224
|
podcastNotValid(): boolean {
|
|
234
|
-
|
|
235
|
-
this.podcast &&
|
|
236
|
-
this.podcast.availability &&
|
|
237
|
-
false === this.podcast.valid
|
|
238
|
-
)
|
|
239
|
-
return true;
|
|
240
|
-
return false;
|
|
225
|
+
return undefined!==this.podcast?.availability && false === this.podcast?.valid;
|
|
241
226
|
},
|
|
242
227
|
},
|
|
243
228
|
methods: {
|
|
@@ -48,14 +48,13 @@ export default defineComponent({
|
|
|
48
48
|
return (state.emissionsPage.progressBar as boolean);
|
|
49
49
|
},
|
|
50
50
|
percentProgress(): number{
|
|
51
|
-
if(
|
|
51
|
+
if(this.podcastId !== this.$store.state.player.podcast?.podcastId){
|
|
52
52
|
return 0;
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
return this.$store.state.player.elapsed * 100;
|
|
54
|
+
return !this.$store.state.player.elapsed ? 0 : this.$store.state.player.elapsed * 100;
|
|
56
55
|
},
|
|
57
56
|
playedTime(): string{
|
|
58
|
-
if(this
|
|
57
|
+
if(this.podcastId === this.$store.state.player.podcast?.podcastId){
|
|
59
58
|
if (this.$store.state.player.elapsed && this.$store.state.player.elapsed > 0 && this.$store.state.player.total && this.$store.state.player.total > 0) {
|
|
60
59
|
return DurationHelper.formatDuration(
|
|
61
60
|
Math.round(this.$store.state.player.elapsed * this.$store.state.player.total)
|
|
@@ -95,9 +95,7 @@ export default defineComponent({
|
|
|
95
95
|
return this.$store.state.filter.organisationId;
|
|
96
96
|
},
|
|
97
97
|
organisation(): string|undefined {
|
|
98
|
-
|
|
99
|
-
if (this.filterOrga) return this.filterOrga;
|
|
100
|
-
return undefined;
|
|
98
|
+
return this.organisationId ?? this.filterOrga;
|
|
101
99
|
},
|
|
102
100
|
watchVariable():string{
|
|
103
101
|
return `${this.emissionId}|${this.organisationId}|${this.filterOrga}|${this.iabId}|${this.rubriqueId}|${this.rubriquageId}|${this.query}`;
|
|
@@ -110,15 +110,11 @@ export default defineComponent({
|
|
|
110
110
|
},
|
|
111
111
|
computed: {
|
|
112
112
|
id(): string {
|
|
113
|
-
|
|
114
|
-
return 'rubriqueChooser';
|
|
113
|
+
return this.rubriquageId? 'rubriqueChooser' + this.rubriquageId : 'rubriqueChooser';
|
|
115
114
|
},
|
|
116
115
|
model: {
|
|
117
116
|
get(): Rubrique| Array<Rubrique>|undefined{
|
|
118
|
-
|
|
119
|
-
return this.rubrique;
|
|
120
|
-
}
|
|
121
|
-
return this.rubriqueForArray;
|
|
117
|
+
return false===this.multiple ? this.rubrique:this.rubriqueForArray;
|
|
122
118
|
},
|
|
123
119
|
set(value: Rubrique| Array<Rubrique>|undefined): void{
|
|
124
120
|
if(false===this.multiple){
|
|
@@ -181,11 +177,8 @@ export default defineComponent({
|
|
|
181
177
|
rubriqueDefault,
|
|
182
178
|
this.withoutItem,
|
|
183
179
|
].concat(this.allRubriques);
|
|
184
|
-
} else {
|
|
185
|
-
return [rubriqueDefault].concat(
|
|
186
|
-
this.allRubriques
|
|
187
|
-
);
|
|
188
180
|
}
|
|
181
|
+
return [rubriqueDefault].concat(this.allRubriques);
|
|
189
182
|
},
|
|
190
183
|
onOpen(): void {
|
|
191
184
|
(this.$refs.multiselectRef as VueMultiselect).$refs.search.setAttribute(
|
|
@@ -200,11 +193,7 @@ export default defineComponent({
|
|
|
200
193
|
this.initRubriqueSelected(this.rubriqueSelected);
|
|
201
194
|
return;
|
|
202
195
|
}
|
|
203
|
-
|
|
204
|
-
this.rubrique = getDefaultRubrique(this.defaultanswer);
|
|
205
|
-
} else {
|
|
206
|
-
this.rubrique = undefined;
|
|
207
|
-
}
|
|
196
|
+
this.rubrique ='' !== this.defaultanswer? getDefaultRubrique(this.defaultanswer): undefined;
|
|
208
197
|
this.onRubriqueSelected(this.rubrique);
|
|
209
198
|
},
|
|
210
199
|
onSearchRubrique(query: string): void {
|
|
@@ -121,8 +121,8 @@ export default defineComponent({
|
|
|
121
121
|
addFilter(rubrique: Rubrique): void{
|
|
122
122
|
if(!this.rubriquage){ return ;}
|
|
123
123
|
const filterToAdd = {
|
|
124
|
-
rubriquageId: this.rubriquage.rubriquageId
|
|
125
|
-
rubriqueId: rubrique.rubriqueId
|
|
124
|
+
rubriquageId: this.rubriquage.rubriquageId??0,
|
|
125
|
+
rubriqueId: rubrique.rubriqueId??0,
|
|
126
126
|
nameRubriquage: this.rubriquage.title,
|
|
127
127
|
nameRubrique: rubrique.name
|
|
128
128
|
};
|
|
@@ -82,7 +82,7 @@ export default defineComponent({
|
|
|
82
82
|
}
|
|
83
83
|
if (!state.generalParameters.authenticated) return;
|
|
84
84
|
let data;
|
|
85
|
-
if(this.$store.state.organisation
|
|
85
|
+
if(this.$store.state.organisation?.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
|
|
86
86
|
data = this.$store.state.organisation.attributes;
|
|
87
87
|
}else{
|
|
88
88
|
data= await octopusApi.fetchData<{[key:string]:string}>(0, 'organisation/attributes/'+state.generalParameters.organisationId);
|
|
@@ -17,103 +17,15 @@
|
|
|
17
17
|
:emission="emission"
|
|
18
18
|
/>
|
|
19
19
|
<div class="sharing-distribution-container">
|
|
20
|
-
<router-link
|
|
21
|
-
|
|
20
|
+
<router-link
|
|
21
|
+
v-for="platform in platformShare"
|
|
22
|
+
:key="platform.title"
|
|
23
|
+
:to="platform.url"
|
|
22
24
|
class="text-dark"
|
|
23
25
|
>
|
|
24
|
-
<span class="
|
|
25
|
-
<div class="
|
|
26
|
-
|
|
27
|
-
<div class="path3" />
|
|
28
|
-
</span> Amazon Music | Podcasters
|
|
29
|
-
</router-link>
|
|
30
|
-
<router-link
|
|
31
|
-
:to="'/main/priv/distribution/apple/' + emissionId"
|
|
32
|
-
class="text-dark"
|
|
33
|
-
>
|
|
34
|
-
<span class="saooti-apple" />Apple Podcast / iTunes
|
|
35
|
-
</router-link>
|
|
36
|
-
<router-link
|
|
37
|
-
:to="'/main/priv/distribution/deezer/' + emissionId"
|
|
38
|
-
class="text-dark"
|
|
39
|
-
>
|
|
40
|
-
<span class="saooti-deezer" />Deezer
|
|
41
|
-
</router-link>
|
|
42
|
-
<router-link
|
|
43
|
-
:to="'/main/priv/distribution/googlePodcasts/' + emissionId"
|
|
44
|
-
class="text-dark"
|
|
45
|
-
>
|
|
46
|
-
<span class="saooti-google-podcasts">
|
|
47
|
-
<div class="path1" />
|
|
48
|
-
<div class="path2" />
|
|
49
|
-
<div class="path3" />
|
|
50
|
-
<div class="path4" />
|
|
51
|
-
<div class="path5" />
|
|
52
|
-
<div class="path6" />
|
|
53
|
-
<div class="path7" />
|
|
54
|
-
</span> Google Podcasts
|
|
55
|
-
</router-link>
|
|
56
|
-
<router-link
|
|
57
|
-
:to="'/main/priv/distribution/PlayerFM/' + emissionId"
|
|
58
|
-
class="text-dark"
|
|
59
|
-
>
|
|
60
|
-
<span class="saooti-playerfm" />PlayerFM
|
|
61
|
-
</router-link>
|
|
62
|
-
<router-link
|
|
63
|
-
:to="'/main/priv/distribution/PocketCasts/' + emissionId"
|
|
64
|
-
class="text-dark"
|
|
65
|
-
>
|
|
66
|
-
<span class="saooti-pocket-casts" />Pocket Casts
|
|
67
|
-
</router-link>
|
|
68
|
-
<router-link
|
|
69
|
-
:to="'/main/priv/distribution/PodcastAddict/' + emissionId"
|
|
70
|
-
class="text-dark"
|
|
71
|
-
>
|
|
72
|
-
<span class="saooti-podcast-addict" />Podcast Addict
|
|
73
|
-
</router-link>
|
|
74
|
-
<router-link
|
|
75
|
-
:to="'/main/priv/distribution/radioline/' + emissionId"
|
|
76
|
-
class="text-dark"
|
|
77
|
-
>
|
|
78
|
-
<span class="saooti-radioline" />Radioline
|
|
79
|
-
</router-link>
|
|
80
|
-
<router-link
|
|
81
|
-
:to="'/main/priv/distribution/spotify/' + emissionId"
|
|
82
|
-
class="text-dark"
|
|
83
|
-
>
|
|
84
|
-
<span class="saooti-spotify" />Spotify
|
|
85
|
-
</router-link>
|
|
86
|
-
|
|
87
|
-
<router-link
|
|
88
|
-
:to="'/main/priv/distribution/Stitcher/' + emissionId"
|
|
89
|
-
class="text-dark"
|
|
90
|
-
>
|
|
91
|
-
<span class="saooti-stitcher-logo">
|
|
92
|
-
<div class="path1" />
|
|
93
|
-
<div class="path2" />
|
|
94
|
-
<div class="path3" />
|
|
95
|
-
<div class="path4" />
|
|
96
|
-
<div class="path5" />
|
|
97
|
-
<div class="path6" />
|
|
98
|
-
<div class="path7" />
|
|
99
|
-
<div class="path8" />
|
|
100
|
-
<div class="path9" />
|
|
101
|
-
<div class="path10" />
|
|
102
|
-
<div class="path11" />
|
|
103
|
-
<div class="path12" />
|
|
104
|
-
<div class="path13" />
|
|
105
|
-
<div class="path14" />
|
|
106
|
-
<div class="path15" />
|
|
107
|
-
<div class="path16" />
|
|
108
|
-
<div class="path17" />
|
|
109
|
-
<div class="path18" /> </span>Stitcher
|
|
110
|
-
</router-link>
|
|
111
|
-
|
|
112
|
-
<router-link
|
|
113
|
-
:to="'/main/priv/distribution/tuneIn/' + emissionId"
|
|
114
|
-
class="text-dark"
|
|
115
|
-
>
|
|
116
|
-
<span class="saooti-tunin" />TuneIn
|
|
26
|
+
<span :class="platform.icon">
|
|
27
|
+
<div v-for="index in platform.path" :key="index" :class="'path'+index" />
|
|
28
|
+
</span>{{platform.title}}
|
|
117
29
|
</router-link>
|
|
118
30
|
</div>
|
|
119
31
|
<Snackbar
|
|
@@ -149,6 +61,22 @@ export default defineComponent({
|
|
|
149
61
|
rss: '' as string,
|
|
150
62
|
};
|
|
151
63
|
},
|
|
64
|
+
computed:{
|
|
65
|
+
platformShare(){
|
|
66
|
+
return [
|
|
67
|
+
{url:this.getUrl('amazon'), icon:'saooti-amazon', title:'Amazon Music | Podcasters', path:3},
|
|
68
|
+
{url:this.getUrl('apple'), icon:'saooti-apple', title:'Apple Podcast / iTunes', path:0},
|
|
69
|
+
{url:this.getUrl('deezer'), icon:'saooti-deezer', title:'Deezer', path:0},
|
|
70
|
+
{url:this.getUrl('googlePodcasts'), icon:'saooti-google-podcasts', title:'Google Podcasts', path:7},
|
|
71
|
+
{url:this.getUrl('PlayerFM'), icon:'saooti-playerfm', title:'PlayerFM', path:0},
|
|
72
|
+
{url:this.getUrl('PocketCasts'), icon:'saooti-pocket-casts', title:'Pocket Casts', path:0},
|
|
73
|
+
{url:this.getUrl('PodcastAddict'), icon:'saooti-podcast-addict', title:'Podcast Addict', path:0},
|
|
74
|
+
{url:this.getUrl('radioline'), icon:'saooti-radioline', title:'Radioline', path:0},
|
|
75
|
+
{url:this.getUrl('spotify'), icon:'saooti-spotify', title:'Spotify', path:0},
|
|
76
|
+
{url:this.getUrl('Stitcher'), icon:'saooti-stitcher-logo', title:'Stitcher', path:18},
|
|
77
|
+
{url:this.getUrl('tuneIn'), icon:'saooti-tunin', title:'TuneIn', path:0}];
|
|
78
|
+
}
|
|
79
|
+
},
|
|
152
80
|
|
|
153
81
|
mounted() {
|
|
154
82
|
this.getEmissionDetails();
|
|
@@ -156,6 +84,9 @@ export default defineComponent({
|
|
|
156
84
|
},
|
|
157
85
|
|
|
158
86
|
methods: {
|
|
87
|
+
getUrl(platform: string): string{
|
|
88
|
+
return `/main/priv/distribution/${platform}/${this.emissionId}`;
|
|
89
|
+
},
|
|
159
90
|
async getEmissionDetails(): Promise<void> {
|
|
160
91
|
this.emission = await octopusApi.fetchData<Emission>(0,'emission/'+this.emissionId);
|
|
161
92
|
},
|