@saooti/octopus-sdk 35.1.7 → 35.2.1
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/package.json +3 -3
- package/src/App.vue +21 -12
- package/src/api/classicCrud.ts +6 -7
- package/src/components/display/categories/CategoryChooser.vue +5 -3
- package/src/components/display/categories/CategoryFilter.vue +25 -28
- package/src/components/display/categories/CategoryList.vue +19 -18
- package/src/components/display/comments/AddCommentModal.vue +5 -2
- package/src/components/display/comments/CommentBasicView.vue +1 -1
- package/src/components/display/comments/CommentInput.vue +17 -12
- package/src/components/display/comments/CommentItem.vue +10 -6
- package/src/components/display/comments/CommentList.vue +5 -5
- package/src/components/display/comments/CommentParentInfo.vue +1 -1
- package/src/components/display/comments/CommentPlayer.vue +8 -5
- package/src/components/display/comments/CommentSection.vue +10 -7
- package/src/components/display/edit/EditBox.vue +1 -1
- package/src/components/display/edit/EditCommentBox.vue +1 -1
- package/src/components/display/emission/EmissionChooser.vue +1 -1
- package/src/components/display/emission/EmissionInlineList.vue +4 -4
- package/src/components/display/emission/EmissionItem.vue +5 -5
- package/src/components/display/emission/EmissionList.vue +9 -6
- package/src/components/display/emission/EmissionPlayerItem.vue +26 -20
- package/src/components/display/filter/AdvancedSearch.vue +3 -3
- package/src/components/display/filter/CategorySearchFilter.vue +11 -11
- package/src/components/display/filter/ProductorSearch.vue +13 -12
- package/src/components/display/filter/RubriqueChoice.vue +2 -2
- package/src/components/display/filter/RubriqueFilter.vue +15 -17
- package/src/components/display/list/ListPaginate.vue +1 -1
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/LiveItem.vue +13 -11
- package/src/components/display/live/LiveList.vue +8 -8
- package/src/components/display/organisation/OrganisationChooser.vue +6 -4
- package/src/components/display/organisation/OrganisationChooserLight.vue +1 -1
- package/src/components/display/participant/ParticipantItem.vue +5 -5
- package/src/components/display/participant/ParticipantList.vue +5 -2
- package/src/components/display/playlist/PlaylistItem.vue +7 -4
- package/src/components/display/playlist/PlaylistList.vue +6 -4
- package/src/components/display/playlist/PodcastList.vue +3 -3
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +3 -3
- package/src/components/display/podcasts/AnimatorsItem.vue +6 -3
- package/src/components/display/podcasts/ParticipantDescription.vue +6 -3
- package/src/components/display/podcasts/PodcastFilterList.vue +2 -2
- package/src/components/display/podcasts/PodcastImage.vue +17 -21
- package/src/components/display/podcasts/PodcastInlineList.vue +1 -1
- package/src/components/display/podcasts/PodcastInlineListClassic.vue +7 -7
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +17 -13
- package/src/components/display/podcasts/PodcastItem.vue +2 -2
- package/src/components/display/podcasts/PodcastItemInfo.vue +4 -4
- package/src/components/display/podcasts/PodcastList.vue +10 -5
- package/src/components/display/podcasts/PodcastModuleBox.vue +5 -5
- package/src/components/display/podcasts/PodcastPlayBar.vue +12 -11
- package/src/components/display/podcasts/PodcastSwiperList.vue +7 -7
- package/src/components/display/rubriques/RubriqueChooser.vue +1 -1
- package/src/components/display/rubriques/RubriqueList.vue +16 -18
- package/src/components/display/sharing/QrCode.vue +10 -6
- package/src/components/display/sharing/ShareButtons.vue +4 -4
- package/src/components/display/sharing/ShareButtonsIntern.vue +4 -4
- package/src/components/display/sharing/ShareDistribution.vue +2 -2
- package/src/components/display/sharing/SharePlayer.vue +9 -6
- package/src/components/display/sharing/SharePlayerTypes.vue +6 -6
- package/src/components/display/sharing/SubscribeButtons.vue +1 -1
- package/src/components/misc/Footer.vue +21 -14
- package/src/components/misc/HomeDropdown.vue +7 -4
- package/src/components/misc/LeftMenu.vue +21 -22
- package/src/components/misc/TopBar.vue +23 -26
- package/src/components/misc/modal/ClipboardModal.vue +2 -2
- package/src/components/misc/modal/NewsletterModal.vue +12 -9
- package/src/components/misc/modal/ShareModalPlayer.vue +1 -1
- package/src/components/misc/player/Player.vue +17 -15
- package/src/components/misc/player/PlayerCompact.vue +5 -5
- package/src/components/misc/player/PlayerLarge.vue +1 -1
- package/src/components/misc/player/PlayerProgressBar.vue +9 -9
- package/src/components/misc/player/PlayerTimeline.vue +2 -2
- package/src/components/mixins/handle403.ts +6 -1
- package/src/components/mixins/imageProxy.ts +1 -1
- package/src/components/mixins/init.ts +7 -4
- package/src/components/mixins/orgaComputed.ts +4 -4
- package/src/components/mixins/organisationFilter.ts +8 -5
- package/src/components/mixins/player/playerComment.ts +24 -33
- package/src/components/mixins/player/playerDisplay.ts +38 -67
- package/src/components/mixins/player/playerLive.ts +16 -15
- package/src/components/mixins/player/playerLogic.ts +54 -64
- package/src/components/mixins/player/playerTranscript.ts +16 -10
- package/src/components/pages/Category.vue +8 -10
- package/src/components/pages/Emission.vue +3 -3
- package/src/components/pages/Emissions.vue +10 -7
- package/src/components/pages/Error403Page.vue +5 -2
- package/src/components/pages/Home.vue +17 -12
- package/src/components/pages/Lives.vue +13 -11
- package/src/components/pages/PageNotFound.vue +11 -6
- package/src/components/pages/Participant.vue +3 -3
- package/src/components/pages/Participants.vue +2 -2
- package/src/components/pages/Playlist.vue +3 -3
- package/src/components/pages/Playlists.vue +2 -2
- package/src/components/pages/Podcast.vue +11 -8
- package/src/components/pages/Podcasts.vue +11 -9
- package/src/components/pages/Rubrique.vue +1 -1
- package/src/components/pages/Search.vue +1 -1
- package/src/main.ts +6 -4
- package/src/stores/ApiStore.ts +65 -0
- package/src/stores/AuthStore.ts +43 -0
- package/src/stores/CommentStore.ts +40 -0
- package/src/stores/FilterStore.ts +63 -0
- package/src/stores/GeneralStore.ts +40 -0
- package/src/stores/PlayerStore.ts +134 -0
- package/src/{store → stores}/class/general/playlist.ts +1 -1
- package/tsconfig.json +0 -1
- package/src/store/ApiStore.ts +0 -33
- package/src/store/AppStore.ts +0 -76
- package/src/store/PlayerStore.ts +0 -87
- package/src/store/classStore/typeApiStore.ts +0 -43
- package/src/store/classStore/typeAppStore.ts +0 -81
- package/src/store/classStore/typeAuthStore.ts +0 -44
- package/src/store/classStore/typePlayerStore.ts +0 -15
- package/src/vuex-shim.d.ts +0 -8
- /package/src/{store/paramStore.ts → stores/ParamSdkStore.ts} +0 -0
- /package/src/{store → stores}/class/adserver/adserverConfig.ts +0 -0
- /package/src/{store → stores}/class/adserver/adserverOtherEmission.ts +0 -0
- /package/src/{store → stores}/class/adserver/adserverTiming.ts +0 -0
- /package/src/{store → stores}/class/cartouchier/cartouche.ts +0 -0
- /package/src/{store → stores}/class/cartouchier/cartouchier.ts +0 -0
- /package/src/{store → stores}/class/conference/conference.ts +0 -0
- /package/src/{store → stores}/class/conference/conferenceMessage.ts +0 -0
- /package/src/{store → stores}/class/conference/conferenceParticipant.ts +0 -0
- /package/src/{store → stores}/class/conference/pad.ts +0 -0
- /package/src/{store → stores}/class/conference/studioCall.ts +0 -0
- /package/src/{store → stores}/class/contract/contract.ts +0 -0
- /package/src/{store → stores}/class/contract/contractOrganisation.ts +0 -0
- /package/src/{store → stores}/class/ftp/ftpEmission.ts +0 -0
- /package/src/{store → stores}/class/ftp/ftpParam.ts +0 -0
- /package/src/{store → stores}/class/ftp/testFtpEmission.ts +0 -0
- /package/src/{store → stores}/class/general/audioView.ts +0 -0
- /package/src/{store → stores}/class/general/category.ts +0 -0
- /package/src/{store → stores}/class/general/classicSelectType.ts +0 -0
- /package/src/{store → stores}/class/general/comment.ts +0 -0
- /package/src/{store → stores}/class/general/customPlayer.ts +0 -0
- /package/src/{store → stores}/class/general/emission.ts +0 -0
- /package/src/{store → stores}/class/general/fetchParam.ts +0 -0
- /package/src/{store → stores}/class/general/initState.ts +0 -0
- /package/src/{store → stores}/class/general/interfacePageable.ts +0 -0
- /package/src/{store → stores}/class/general/ituneCategory.ts +0 -0
- /package/src/{store → stores}/class/general/listReturn.ts +0 -0
- /package/src/{store → stores}/class/general/media.ts +0 -0
- /package/src/{store → stores}/class/general/organisation.ts +0 -0
- /package/src/{store → stores}/class/general/pageable.ts +0 -0
- /package/src/{store → stores}/class/general/participant.ts +0 -0
- /package/src/{store → stores}/class/general/player.ts +0 -0
- /package/src/{store → stores}/class/general/podcast.ts +0 -0
- /package/src/{store → stores}/class/general/sortPageable.ts +0 -0
- /package/src/{store → stores}/class/general/soundcastCategory.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTag.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTagInfo.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTagPage.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTagSeo.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTagVente.ts +0 -0
- /package/src/{store → stores}/class/ouestFrance/ofTagWithParents.ts +0 -0
- /package/src/{store → stores}/class/rss/aggregator.ts +0 -0
- /package/src/{store → stores}/class/rss/rssEmission.ts +0 -0
- /package/src/{store → stores}/class/rss/rssInfo.ts +0 -0
- /package/src/{store → stores}/class/rubrique/rubriquage.ts +0 -0
- /package/src/{store → stores}/class/rubrique/rubriquageFilter.ts +0 -0
- /package/src/{store → stores}/class/rubrique/rubrique.ts +0 -0
- /package/src/{store → stores}/class/stat/statArrayIncome.ts +0 -0
- /package/src/{store → stores}/class/stat/statArrayObject.ts +0 -0
- /package/src/{store → stores}/class/stat/statGraph.ts +0 -0
- /package/src/{store → stores}/class/user/person.ts +0 -0
- /package/src/{store → stores}/class/user/profile.ts +0 -0
- /package/src/{store → stores}/class/user/userKeycloak.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
v-if="
|
|
3
|
+
v-if="filterOrgaId || organisationId"
|
|
4
4
|
class="d-flex flex-column align-items-center"
|
|
5
5
|
>
|
|
6
6
|
<ClassicLoading
|
|
@@ -42,8 +42,10 @@ import octopusApi from '@saooti/octopus-api';
|
|
|
42
42
|
import dayjs from 'dayjs';
|
|
43
43
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
|
44
44
|
dayjs.extend(localizedFormat);
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
45
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
46
|
+
import { mapState } from 'pinia';
|
|
47
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
48
|
+
import { Conference } from '@/stores/class/conference/conference';
|
|
47
49
|
import { defineComponent } from 'vue'
|
|
48
50
|
import { AxiosError } from 'axios';
|
|
49
51
|
export default defineComponent({
|
|
@@ -69,6 +71,7 @@ export default defineComponent({
|
|
|
69
71
|
},
|
|
70
72
|
|
|
71
73
|
computed: {
|
|
74
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
72
75
|
livesArray(): Array<{status:string, title:string, lives:Array<Conference>}>{
|
|
73
76
|
return [
|
|
74
77
|
{status: "RECORDING", title:this.$t('In live'), lives:[]},
|
|
@@ -83,10 +86,7 @@ export default defineComponent({
|
|
|
83
86
|
return this.loaded && !this.livesArray[0].lives.length && !this.livesArray[2].lives.length && !this.livesArray[3].lives.length;
|
|
84
87
|
},
|
|
85
88
|
filterOrgaUsed(): string|undefined {
|
|
86
|
-
return this.
|
|
87
|
-
},
|
|
88
|
-
filterOrga(): string {
|
|
89
|
-
return this.$store.state.filter.organisationId;
|
|
89
|
+
return this.filterOrgaId?this.filterOrgaId:this.organisationId;
|
|
90
90
|
},
|
|
91
91
|
displayNextLiveMessage(): string {
|
|
92
92
|
if (0 !== this.livesArray[0].lives.length) return '';
|
|
@@ -120,7 +120,7 @@ export default defineComponent({
|
|
|
120
120
|
this.loaded = true;
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
|
-
|
|
123
|
+
filterOrgaId(): void {
|
|
124
124
|
if(!this.loading){
|
|
125
125
|
this.fetchContent();
|
|
126
126
|
}
|
|
@@ -119,9 +119,10 @@ import { orgaComputed } from '../../mixins/orgaComputed';
|
|
|
119
119
|
//@ts-ignore
|
|
120
120
|
import VueMultiselect from 'vue-multiselect';
|
|
121
121
|
import octopusApi from '@saooti/octopus-api';
|
|
122
|
-
import { state } from '../../../
|
|
123
|
-
import { Organisation } from '@/
|
|
124
|
-
|
|
122
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
123
|
+
import { Organisation } from '@/stores/class/general/organisation';
|
|
124
|
+
import { useAuthStore } from '@/stores/AuthStore';
|
|
125
|
+
import { mapState } from 'pinia';
|
|
125
126
|
const ELEMENTS_COUNT = 50;
|
|
126
127
|
const DEFAULT_ORGANISATION_ID = "";
|
|
127
128
|
const DEFAULT_ORGANISATION_IMAGE = '/img/emptypodcast.webp';
|
|
@@ -163,6 +164,7 @@ export default defineComponent({
|
|
|
163
164
|
},
|
|
164
165
|
|
|
165
166
|
computed: {
|
|
167
|
+
...mapState(useAuthStore, ['authOrganisation']),
|
|
166
168
|
myOrganisation(): Organisation|undefined {
|
|
167
169
|
if (!this.authenticated) return undefined;
|
|
168
170
|
return {
|
|
@@ -188,7 +190,7 @@ export default defineComponent({
|
|
|
188
190
|
async created() {
|
|
189
191
|
if (
|
|
190
192
|
this.authenticated &&
|
|
191
|
-
undefined === this
|
|
193
|
+
(undefined === this.authOrganisation.imageUrl ||'' === this.authOrganisation.imageUrl)
|
|
192
194
|
) {
|
|
193
195
|
const data = await octopusApi.fetchData<Organisation>(0,`organisation/${this.myOrganisationId ?this.myOrganisationId:""}`);
|
|
194
196
|
this.myImage = data.imageUrl;
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
</template>
|
|
27
27
|
|
|
28
28
|
<script lang="ts">
|
|
29
|
-
import { Organisation } from '@/
|
|
29
|
+
import { Organisation } from '@/stores/class/general/organisation';
|
|
30
30
|
import octopusApi from '@saooti/octopus-api';
|
|
31
31
|
import { defineComponent } from 'vue'
|
|
32
32
|
export default defineComponent({
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:to="{
|
|
8
8
|
name: 'participant',
|
|
9
9
|
params: { participantId: participant.participantId },
|
|
10
|
-
query: { productor:
|
|
10
|
+
query: { productor: filterOrgaId },
|
|
11
11
|
}"
|
|
12
12
|
class="mt-3 text-dark"
|
|
13
13
|
:title="$t('Participant')"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
:to="{
|
|
46
46
|
name: 'productor',
|
|
47
47
|
params: { productorId: participant.orga.id },
|
|
48
|
-
query: { productor:
|
|
48
|
+
query: { productor: filterOrgaId },
|
|
49
49
|
}"
|
|
50
50
|
class="participant-producer"
|
|
51
51
|
>
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
|
|
57
57
|
<script lang="ts">
|
|
58
58
|
import octopusApi from '@saooti/octopus-api';
|
|
59
|
-
import { Participant } from '@/
|
|
60
|
-
import { state } from '../../../
|
|
59
|
+
import { Participant } from '@/stores/class/general/participant';
|
|
60
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
61
61
|
import imageProxy from '../../mixins/imageProxy';
|
|
62
62
|
import displayMethods from '../../mixins/displayMethods';
|
|
63
63
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
64
64
|
import { defineComponent } from 'vue'
|
|
65
|
-
import { Podcast } from '@/
|
|
65
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
66
66
|
export default defineComponent({
|
|
67
67
|
name: 'ParticpantItem',
|
|
68
68
|
mixins: [displayMethods, orgaComputed, imageProxy],
|
|
@@ -32,7 +32,9 @@ import ListPaginate from '../list/ListPaginate.vue';
|
|
|
32
32
|
import { handle403 } from '../../mixins/handle403';
|
|
33
33
|
import octopusApi from '@saooti/octopus-api';
|
|
34
34
|
import ParticipantItem from './ParticipantItem.vue';
|
|
35
|
-
import {
|
|
35
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
36
|
+
import { mapState } from 'pinia';
|
|
37
|
+
import { Participant, emptyParticipantData } from '@/stores/class/general/participant';
|
|
36
38
|
import { defineComponent } from 'vue'
|
|
37
39
|
import { AxiosError } from 'axios';
|
|
38
40
|
export default defineComponent({
|
|
@@ -67,6 +69,7 @@ export default defineComponent({
|
|
|
67
69
|
|
|
68
70
|
|
|
69
71
|
computed: {
|
|
72
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
70
73
|
displayArray(): Array<Participant>{
|
|
71
74
|
if(this.isMobile){
|
|
72
75
|
return this.participants;
|
|
@@ -74,7 +77,7 @@ export default defineComponent({
|
|
|
74
77
|
return this.participants.slice(this.dfirst, Math.min(this.dfirst + this.dsize,this.totalCount));
|
|
75
78
|
},
|
|
76
79
|
organisation(): string|undefined {
|
|
77
|
-
return this.organisationId?this.organisationId:this
|
|
80
|
+
return this.organisationId?this.organisationId:this.filterOrgaId;
|
|
78
81
|
},
|
|
79
82
|
},
|
|
80
83
|
watch: {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:to="{
|
|
8
8
|
name: 'playlist',
|
|
9
9
|
params: { playlistId: playlist.playlistId },
|
|
10
|
-
query: { productor:
|
|
10
|
+
query: { productor: filterOrgaId },
|
|
11
11
|
}"
|
|
12
12
|
:title="$t('Playlist')"
|
|
13
13
|
class="d-flex flex-grow-1 text-dark"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
:to="{
|
|
46
46
|
name: 'productor',
|
|
47
47
|
params: { productorId: playlist.organisation.id },
|
|
48
|
-
query: { productor:
|
|
48
|
+
query: { productor: filterOrgaId },
|
|
49
49
|
}"
|
|
50
50
|
class="emission-producer text-primary mt-auto"
|
|
51
51
|
>
|
|
@@ -57,10 +57,12 @@
|
|
|
57
57
|
</template>
|
|
58
58
|
|
|
59
59
|
<script lang="ts">
|
|
60
|
-
import { Playlist } from '@/
|
|
61
|
-
import { state } from '../../../
|
|
60
|
+
import { Playlist } from '@/stores/class/general/playlist';
|
|
61
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
62
62
|
import imageProxy from '../../mixins/imageProxy';
|
|
63
63
|
import displayMethods from '../../mixins/displayMethods';
|
|
64
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
65
|
+
import { mapState } from 'pinia';
|
|
64
66
|
import { defineComponent } from 'vue'
|
|
65
67
|
export default defineComponent({
|
|
66
68
|
name: 'PlaylistItem',
|
|
@@ -72,6 +74,7 @@ export default defineComponent({
|
|
|
72
74
|
},
|
|
73
75
|
|
|
74
76
|
computed: {
|
|
77
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
75
78
|
isPodcastmaker(): boolean {
|
|
76
79
|
return (state.generalParameters.podcastmaker as boolean);
|
|
77
80
|
},
|
|
@@ -32,8 +32,10 @@ import ListPaginate from '../list/ListPaginate.vue';
|
|
|
32
32
|
import { handle403 } from '../../mixins/handle403';
|
|
33
33
|
import octopusApi from '@saooti/octopus-api';
|
|
34
34
|
import PlaylistItem from './PlaylistItem.vue';
|
|
35
|
-
import { Playlist, emptyPlaylistData } from '@/
|
|
36
|
-
import {
|
|
35
|
+
import { Playlist, emptyPlaylistData } from '@/stores/class/general/playlist';
|
|
36
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
37
|
+
import { mapState } from 'pinia';
|
|
38
|
+
import { defineComponent } from 'vue';
|
|
37
39
|
import { AxiosError } from 'axios';
|
|
38
40
|
export default defineComponent({
|
|
39
41
|
name: 'PlaylistList',
|
|
@@ -63,9 +65,9 @@ export default defineComponent({
|
|
|
63
65
|
isMobile: false as boolean,
|
|
64
66
|
};
|
|
65
67
|
},
|
|
66
|
-
|
|
67
68
|
|
|
68
69
|
computed: {
|
|
70
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
69
71
|
displayArray(): Array<Playlist>{
|
|
70
72
|
if(this.isMobile){
|
|
71
73
|
return this.playlists;
|
|
@@ -79,7 +81,7 @@ export default defineComponent({
|
|
|
79
81
|
return !this.query ?'NAME': 'SCORE';
|
|
80
82
|
},
|
|
81
83
|
organisation(): string|undefined {
|
|
82
|
-
return this.organisationId ?this.organisationId: this
|
|
84
|
+
return this.organisationId ?this.organisationId: this.filterOrgaId;
|
|
83
85
|
},
|
|
84
86
|
},
|
|
85
87
|
watch: {
|
|
@@ -46,10 +46,10 @@ import { handle403 } from '../../mixins/handle403';
|
|
|
46
46
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
47
47
|
import octopusApi from '@saooti/octopus-api';
|
|
48
48
|
import PodcastItem from '../podcasts/PodcastItem.vue';
|
|
49
|
-
import { state } from '../../../
|
|
49
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
50
50
|
import ClassicSearch from '../../form/ClassicSearch.vue';
|
|
51
|
-
import { Podcast } from '@/
|
|
52
|
-
import { Playlist } from '@/
|
|
51
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
52
|
+
import { Playlist } from '@/stores/class/general/playlist';
|
|
53
53
|
import { defineComponent } from 'vue'
|
|
54
54
|
import { AxiosError } from 'axios';
|
|
55
55
|
export default defineComponent({
|
|
@@ -63,9 +63,9 @@ import domHelper from '../../../helper/dom';
|
|
|
63
63
|
import PodcastItem from '../podcasts/PodcastItem.vue';
|
|
64
64
|
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
65
65
|
const PHONE_WIDTH = 960;
|
|
66
|
-
import { state } from '../../../
|
|
67
|
-
import { Podcast } from '@/
|
|
68
|
-
import { Playlist } from '@/
|
|
66
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
67
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
68
|
+
import { Playlist } from '@/stores/class/general/playlist';
|
|
69
69
|
import { defineComponent } from 'vue'
|
|
70
70
|
export default defineComponent({
|
|
71
71
|
name: 'PodcastPlaylistInlineList',
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:to="{
|
|
8
8
|
name: 'participant',
|
|
9
9
|
params: { participantId: animator.participantId },
|
|
10
|
-
query: { productor:
|
|
10
|
+
query: { productor: filterOrgaId },
|
|
11
11
|
}"
|
|
12
12
|
:title="$t('Participant')"
|
|
13
13
|
class="podcast-item-animator text-dark"
|
|
@@ -18,8 +18,10 @@
|
|
|
18
18
|
</template>
|
|
19
19
|
|
|
20
20
|
<script lang="ts">
|
|
21
|
-
import { Participant } from '@/
|
|
22
|
-
import {
|
|
21
|
+
import { Participant } from '@/stores/class/general/participant';
|
|
22
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
23
|
+
import { mapState } from 'pinia';
|
|
24
|
+
import { defineComponent } from 'vue';
|
|
23
25
|
export default defineComponent({
|
|
24
26
|
name: 'AnimatorsItem',
|
|
25
27
|
|
|
@@ -27,6 +29,7 @@ export default defineComponent({
|
|
|
27
29
|
animator: { default: undefined, type: Object as ()=> Participant},
|
|
28
30
|
},
|
|
29
31
|
computed:{
|
|
32
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
30
33
|
animatorName(): string{
|
|
31
34
|
return (`${this.animator?.firstName??''} ${this.animator?.lastName??''}`).trim();
|
|
32
35
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
name: 'participant',
|
|
42
42
|
params: { participantId: participant.participantId },
|
|
43
43
|
query: {
|
|
44
|
-
productor:
|
|
44
|
+
productor: filterOrgaId,
|
|
45
45
|
},
|
|
46
46
|
}"
|
|
47
47
|
>
|
|
@@ -52,8 +52,10 @@
|
|
|
52
52
|
|
|
53
53
|
<script lang="ts">
|
|
54
54
|
import Popover from '../../misc/Popover.vue';
|
|
55
|
-
import { Participant } from '@/
|
|
56
|
-
import {
|
|
55
|
+
import { Participant } from '@/stores/class/general/participant';
|
|
56
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
57
|
+
import { mapState } from 'pinia';
|
|
58
|
+
import { defineComponent } from 'vue';
|
|
57
59
|
export default defineComponent({
|
|
58
60
|
name: 'ParticipantDescription',
|
|
59
61
|
|
|
@@ -67,6 +69,7 @@ export default defineComponent({
|
|
|
67
69
|
},
|
|
68
70
|
|
|
69
71
|
computed:{
|
|
72
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
70
73
|
idPopover(): string{
|
|
71
74
|
return this.isGuest ? "popover-guests-help" : "popover-animators-help";
|
|
72
75
|
},
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
<script lang="ts">
|
|
38
38
|
import ClassicSearch from '../../form/ClassicSearch.vue';
|
|
39
39
|
import PodcastList from './PodcastList.vue';
|
|
40
|
-
import { Category } from '@/
|
|
40
|
+
import { Category } from '@/stores/class/general/category';
|
|
41
41
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
42
|
-
import { Podcast } from '@/
|
|
42
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
43
43
|
const CategoryChooser = defineAsyncComponent(() => import('../categories/CategoryChooser.vue'));
|
|
44
44
|
export default defineComponent({
|
|
45
45
|
components: {
|
|
@@ -88,12 +88,12 @@
|
|
|
88
88
|
</template>
|
|
89
89
|
|
|
90
90
|
<script lang="ts">
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import { Podcast } from '@/store/class/general/podcast';
|
|
95
|
-
import { Conference } from '@/store/class/conference/conference';
|
|
91
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
92
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
93
|
+
import { Conference } from '@/stores/class/conference/conference';
|
|
96
94
|
import imageProxy from '../../mixins/imageProxy';
|
|
95
|
+
import { usePlayerStore } from '@/stores/PlayerStore';
|
|
96
|
+
import { mapState, mapActions } from 'pinia';
|
|
97
97
|
import { defineComponent } from 'vue'
|
|
98
98
|
export default defineComponent({
|
|
99
99
|
name: 'PodcastImage',
|
|
@@ -113,19 +113,14 @@ export default defineComponent({
|
|
|
113
113
|
};
|
|
114
114
|
},
|
|
115
115
|
computed: {
|
|
116
|
-
...mapState(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
state.player.live.conferenceId ===
|
|
125
|
-
this.fetchConference.conferenceId)
|
|
126
|
-
);
|
|
127
|
-
},
|
|
128
|
-
}),
|
|
116
|
+
...mapState(usePlayerStore, ['playerPodcast', 'playerLive', 'playerStatus']),
|
|
117
|
+
playingPodcast(){
|
|
118
|
+
return (
|
|
119
|
+
(this.playerPodcast?.podcastId === this.podcast.podcastId) ||
|
|
120
|
+
(this.fetchConference && 'null' !== this.fetchConference.toString() &&
|
|
121
|
+
this.playerLive?.conferenceId ===this.fetchConference.conferenceId)
|
|
122
|
+
);
|
|
123
|
+
},
|
|
129
124
|
authenticated(): boolean {
|
|
130
125
|
return (state.generalParameters.authenticated as boolean);
|
|
131
126
|
},
|
|
@@ -252,18 +247,19 @@ export default defineComponent({
|
|
|
252
247
|
},
|
|
253
248
|
|
|
254
249
|
methods: {
|
|
250
|
+
...mapActions(usePlayerStore, ['playerChangeStatus', 'playerPlay']),
|
|
255
251
|
play(): void {
|
|
256
252
|
if (this.isLiveToBeRecorded) {
|
|
257
253
|
return;
|
|
258
254
|
}
|
|
259
255
|
if(this.playingPodcast){
|
|
260
|
-
this
|
|
256
|
+
this.playerChangeStatus("PLAYING"===this.playerStatus);
|
|
261
257
|
return;
|
|
262
258
|
}
|
|
263
259
|
if (!this.recordingLive) {
|
|
264
|
-
this
|
|
260
|
+
this.playerPlay(this.podcast);
|
|
265
261
|
}else{
|
|
266
|
-
this
|
|
262
|
+
this.playerPlay({
|
|
267
263
|
title: this.podcast.title,
|
|
268
264
|
audioUrl: this.podcast.audioUrl,
|
|
269
265
|
duration: this.podcast.duration,
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</template>
|
|
38
38
|
|
|
39
39
|
<script lang="ts">
|
|
40
|
-
import { state } from '../../../
|
|
40
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
41
41
|
import { defineAsyncComponent, defineComponent } from 'vue';
|
|
42
42
|
const PodcastInlineListClassic = defineAsyncComponent(() => import('./PodcastInlineListClassic.vue'));
|
|
43
43
|
const PodcastSwiperList = defineAsyncComponent(() => import('./PodcastSwiperList.vue'));
|
|
@@ -53,8 +53,10 @@ import domHelper from '../../../helper/dom';
|
|
|
53
53
|
import PodcastItem from './PodcastItem.vue';
|
|
54
54
|
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
55
55
|
const PHONE_WIDTH = 960;
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
56
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
57
|
+
import { mapState } from 'pinia';
|
|
58
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
59
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
58
60
|
import imageProxy from '../../mixins/imageProxy';
|
|
59
61
|
import { defineComponent } from 'vue'
|
|
60
62
|
export default defineComponent({
|
|
@@ -98,6 +100,7 @@ export default defineComponent({
|
|
|
98
100
|
};
|
|
99
101
|
},
|
|
100
102
|
computed: {
|
|
103
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
101
104
|
podcasts(): Array<Podcast> {
|
|
102
105
|
return this.allPodcasts.slice(this.index, this.index + this.size);
|
|
103
106
|
},
|
|
@@ -110,11 +113,8 @@ export default defineComponent({
|
|
|
110
113
|
isInlineAnimation(): boolean {
|
|
111
114
|
return (state.generalParameters.isInlineAnimation as boolean);
|
|
112
115
|
},
|
|
113
|
-
filterOrga(): string {
|
|
114
|
-
return this.$store.state.filter.organisationId;
|
|
115
|
-
},
|
|
116
116
|
organisation(): string|undefined {
|
|
117
|
-
return this.organisationId ?this.organisationId: this.
|
|
117
|
+
return this.organisationId ?this.organisationId: this.filterOrgaId;
|
|
118
118
|
},
|
|
119
119
|
previousAvailable(): boolean {
|
|
120
120
|
return this.index > 0;
|
|
@@ -126,7 +126,7 @@ export default defineComponent({
|
|
|
126
126
|
return this.direction > 0 ? 'out-left' : 'out-right';
|
|
127
127
|
},
|
|
128
128
|
watchVariable():string{
|
|
129
|
-
return `${this.emissionId}|${this.organisationId}|${this.
|
|
129
|
+
return `${this.emissionId}|${this.organisationId}|${this.filterOrgaId}|${this.iabId}|${this.rubriqueId}|${this.rubriquageId}|${this.query}`;
|
|
130
130
|
}
|
|
131
131
|
},
|
|
132
132
|
watch: {
|
|
@@ -72,10 +72,12 @@
|
|
|
72
72
|
</template>
|
|
73
73
|
|
|
74
74
|
<script lang="ts">
|
|
75
|
-
import { RubriquageFilter } from '@/
|
|
75
|
+
import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';
|
|
76
76
|
import { defineComponent } from 'vue'
|
|
77
77
|
import { RouteLocationRaw } from 'vue-router';
|
|
78
|
-
import {
|
|
78
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
79
|
+
import { mapState, mapActions } from 'pinia';
|
|
80
|
+
import { Rubrique } from '@/stores/class/rubrique/rubrique';
|
|
79
81
|
export default defineComponent({
|
|
80
82
|
name: 'PodcastInlineListTemplate',
|
|
81
83
|
|
|
@@ -104,9 +106,10 @@ export default defineComponent({
|
|
|
104
106
|
},
|
|
105
107
|
|
|
106
108
|
computed: {
|
|
109
|
+
...mapState(useFilterStore, ['filterOrgaId', 'filterRubrique', 'filterIab', 'filterRubriquage']),
|
|
107
110
|
rubriqueQueryParam(): string|undefined{
|
|
108
|
-
if(this
|
|
109
|
-
return this
|
|
111
|
+
if(this.filterRubrique?.length){
|
|
112
|
+
return this.filterRubrique.map((value: RubriquageFilter) => value.rubriquageId+':'+value.rubriqueId).join();
|
|
110
113
|
}
|
|
111
114
|
return undefined;
|
|
112
115
|
},
|
|
@@ -116,19 +119,20 @@ export default defineComponent({
|
|
|
116
119
|
return {
|
|
117
120
|
name: 'category',
|
|
118
121
|
params:{ 'iabId': this.iabId },
|
|
119
|
-
query: { productor: this
|
|
122
|
+
query: { productor: this.filterOrgaId },
|
|
120
123
|
};
|
|
121
124
|
}
|
|
122
125
|
return {
|
|
123
126
|
name: 'podcasts',
|
|
124
|
-
query: { productor: this
|
|
125
|
-
iabId:this
|
|
127
|
+
query: { productor: this.filterOrgaId,
|
|
128
|
+
iabId:this.filterIab?.id,
|
|
126
129
|
rubriquesId: this.rubriqueQueryParam },
|
|
127
130
|
};
|
|
128
131
|
},
|
|
129
132
|
},
|
|
130
133
|
|
|
131
134
|
methods: {
|
|
135
|
+
...mapActions(useFilterStore, ['filterUpdateRubrique']),
|
|
132
136
|
sortChrono():void{
|
|
133
137
|
this.$emit('sortChrono');
|
|
134
138
|
},
|
|
@@ -153,18 +157,18 @@ export default defineComponent({
|
|
|
153
157
|
nameRubriquage: '',
|
|
154
158
|
nameRubrique: ''
|
|
155
159
|
};
|
|
156
|
-
if(this
|
|
157
|
-
const rubriqueChosen = this
|
|
160
|
+
if(this.filterRubriquage.length){
|
|
161
|
+
const rubriqueChosen = this.filterRubriquage[this.rubriqueId.length - 1].rubriques.find((element: Rubrique) => element.rubriqueId === rubriqueChosenId);
|
|
158
162
|
filterToAdd = {
|
|
159
|
-
rubriquageId: this
|
|
163
|
+
rubriquageId: this.filterRubriquage[this.rubriqueId.length - 1].rubriquageId,
|
|
160
164
|
rubriqueId: rubriqueChosenId,
|
|
161
|
-
nameRubriquage: this
|
|
165
|
+
nameRubriquage: this.filterRubriquage[this.rubriqueId.length - 1].title,
|
|
162
166
|
nameRubrique: rubriqueChosen.name
|
|
163
167
|
};
|
|
164
168
|
}
|
|
165
|
-
const newFilter: Array<RubriquageFilter> = Array.from(this
|
|
169
|
+
const newFilter: Array<RubriquageFilter> = Array.from(this.filterRubrique);
|
|
166
170
|
newFilter.push(filterToAdd);
|
|
167
|
-
this
|
|
171
|
+
this.filterUpdateRubrique(newFilter);
|
|
168
172
|
const queries = this.$route.query;
|
|
169
173
|
const queryString = newFilter.map(value => value.rubriquageId+':'+value.rubriqueId).join();
|
|
170
174
|
this.$router.push({ name: 'podcasts',query: { ...queries, ...{ rubriquesId: queryString }} });
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
<script lang="ts">
|
|
53
53
|
import PodcastItemInfo from './PodcastItemInfo.vue';
|
|
54
54
|
import PodcastImage from './PodcastImage.vue';
|
|
55
|
-
import { state } from '../../../
|
|
55
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
56
56
|
import dayjs from 'dayjs';
|
|
57
|
-
import { Podcast } from '@/
|
|
57
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
58
58
|
import { defineComponent } from 'vue'
|
|
59
59
|
export default defineComponent({
|
|
60
60
|
name: 'PodcastItem',
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
:to="{
|
|
19
19
|
name: 'podcast',
|
|
20
20
|
params: { podcastId: podcastId },
|
|
21
|
-
query: { productor:
|
|
21
|
+
query: { productor: filterOrgaId },
|
|
22
22
|
}"
|
|
23
23
|
class="text-dark flex-grow-1 title-podcast-item"
|
|
24
24
|
>
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
:to="{
|
|
40
40
|
name: 'productor',
|
|
41
41
|
params: { productorId: podcastOrganisationId },
|
|
42
|
-
query: { productor:
|
|
42
|
+
query: { productor: filterOrgaId },
|
|
43
43
|
}"
|
|
44
44
|
class="text-dark producer-podcast-item"
|
|
45
45
|
>
|
|
@@ -50,14 +50,14 @@
|
|
|
50
50
|
|
|
51
51
|
<script lang="ts">
|
|
52
52
|
import AnimatorsItem from './AnimatorsItem.vue';
|
|
53
|
-
import { state } from '../../../
|
|
53
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
54
54
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
55
55
|
import dayjs from 'dayjs';
|
|
56
56
|
// @ts-ignore
|
|
57
57
|
import humanizeDuration from 'humanize-duration';
|
|
58
58
|
import PodcastPlayBar from './PodcastPlayBar.vue';
|
|
59
59
|
import { defineComponent } from 'vue'
|
|
60
|
-
import { Participant } from '@/
|
|
60
|
+
import { Participant } from '@/stores/class/general/participant';
|
|
61
61
|
export default defineComponent({
|
|
62
62
|
name: 'PodcastItemInfo',
|
|
63
63
|
|
|
@@ -34,10 +34,13 @@ import ListPaginate from '../list/ListPaginate.vue';
|
|
|
34
34
|
import { handle403 } from '../../mixins/handle403';
|
|
35
35
|
import octopusApi from '@saooti/octopus-api';
|
|
36
36
|
import PodcastItem from './PodcastItem.vue';
|
|
37
|
-
import { state } from '../../../
|
|
38
|
-
import {
|
|
37
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
38
|
+
import { useAuthStore } from '@/stores/AuthStore';
|
|
39
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
40
|
+
import { mapState } from 'pinia';
|
|
41
|
+
import { Podcast, emptyPodcastData } from '@/stores/class/general/podcast';
|
|
39
42
|
import { defineComponent } from 'vue'
|
|
40
|
-
import { FetchParam } from '@/
|
|
43
|
+
import { FetchParam } from '@/stores/class/general/fetchParam';
|
|
41
44
|
import { AxiosError } from 'axios';
|
|
42
45
|
export default defineComponent({
|
|
43
46
|
name: 'PodcastList',
|
|
@@ -86,6 +89,8 @@ export default defineComponent({
|
|
|
86
89
|
},
|
|
87
90
|
|
|
88
91
|
computed: {
|
|
92
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
93
|
+
...mapState(useAuthStore, ['authProfile']),
|
|
89
94
|
displayArray(): Array<Podcast>{
|
|
90
95
|
if(this.isMobile || this.justSizeChosen){
|
|
91
96
|
return this.podcasts;
|
|
@@ -98,7 +103,7 @@ export default defineComponent({
|
|
|
98
103
|
${this.rubriqueId}|${this.rubriquageId}|${this.before}|${this.after}|${this.includeHidden}|${this.noRubriquageId}|${this.notValid}`;
|
|
99
104
|
},
|
|
100
105
|
organisation(): string|undefined {
|
|
101
|
-
return this.organisationId ?this.organisationId: this
|
|
106
|
+
return this.organisationId ?this.organisationId: this.filterOrgaId;
|
|
102
107
|
},
|
|
103
108
|
sort(): string {
|
|
104
109
|
return this.popularSort? "POPULARITY" : this.sortCriteria??'DATE';
|
|
@@ -158,7 +163,7 @@ export default defineComponent({
|
|
|
158
163
|
rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
|
|
159
164
|
includeHidden: this.includeHidden,
|
|
160
165
|
validity: undefined !== this.notValid?!this.notValid: undefined,
|
|
161
|
-
publisherId:this.notValid && !(state.generalParameters.isProduction as boolean)?this
|
|
166
|
+
publisherId:this.notValid && !(state.generalParameters.isProduction as boolean)?this.authProfile.userId:undefined,
|
|
162
167
|
includeStatus:["READY","PROCESSING"]
|
|
163
168
|
};
|
|
164
169
|
try {
|