@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
|
@@ -38,11 +38,12 @@
|
|
|
38
38
|
import CommentList from './CommentList.vue';
|
|
39
39
|
import CommentInput from './CommentInput.vue';
|
|
40
40
|
import cookies from '../../mixins/cookies';
|
|
41
|
-
import { Podcast } from '@/
|
|
42
|
-
import { Conference } from '@/
|
|
43
|
-
|
|
41
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
42
|
+
import { Conference } from '@/stores/class/conference/conference';
|
|
43
|
+
import { useCommentStore } from '@/stores/CommentStore';
|
|
44
|
+
import { mapState, mapActions } from 'pinia';
|
|
44
45
|
import { defineComponent } from 'vue'
|
|
45
|
-
import { CommentPodcast } from '@/
|
|
46
|
+
import { CommentPodcast } from '@/stores/class/general/comment';
|
|
46
47
|
export default defineComponent({
|
|
47
48
|
name: 'CommentSection',
|
|
48
49
|
components: {
|
|
@@ -62,6 +63,7 @@ export default defineComponent({
|
|
|
62
63
|
};
|
|
63
64
|
},
|
|
64
65
|
computed: {
|
|
66
|
+
...mapState(useCommentStore, ['commentKnownIdentity']),
|
|
65
67
|
commentTitle():string{
|
|
66
68
|
const count = this.loaded && this.totalCount > 0 ? this.$t('()', { nb: this.totalCount }) : '';
|
|
67
69
|
return this.$t("Podcast's comments")+count;
|
|
@@ -89,10 +91,10 @@ export default defineComponent({
|
|
|
89
91
|
},
|
|
90
92
|
knownIdentity: {
|
|
91
93
|
get(): string|null {
|
|
92
|
-
return this
|
|
94
|
+
return this.commentKnownIdentity;
|
|
93
95
|
},
|
|
94
96
|
set(value: string|null) {
|
|
95
|
-
this
|
|
97
|
+
this.setCommentIdentity(value);
|
|
96
98
|
},
|
|
97
99
|
},
|
|
98
100
|
isLive(): boolean {
|
|
@@ -109,9 +111,10 @@ export default defineComponent({
|
|
|
109
111
|
this.knownIdentity = this.getCookie('comment-octopus-name');
|
|
110
112
|
},
|
|
111
113
|
methods: {
|
|
114
|
+
...mapActions(useGeneralStore, ['setCommentIdentity', 'setCommentLoaded']),
|
|
112
115
|
updateFetch(value: { count: number, comments: Array<CommentPodcast> }): void {
|
|
113
116
|
this.loaded = true;
|
|
114
|
-
this
|
|
117
|
+
this.setCommentLoaded({
|
|
115
118
|
...value,
|
|
116
119
|
podcastId: this.podcast? this.podcast.podcastId: undefined,
|
|
117
120
|
});
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
|
|
70
70
|
<script lang="ts">
|
|
71
71
|
import selenium from '../../mixins/selenium';
|
|
72
|
-
import { CommentPodcast } from '@/
|
|
72
|
+
import { CommentPodcast } from '@/stores/class/general/comment';
|
|
73
73
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
74
74
|
const MessageModal = defineAsyncComponent(
|
|
75
75
|
() => import('@/components/misc/modal/MessageModal.vue')
|
|
@@ -106,7 +106,7 @@ const getDefaultEmission = (defaultName: string): Emission|undefined => {
|
|
|
106
106
|
};
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
import { Emission } from '@/
|
|
109
|
+
import { Emission } from '@/stores/class/general/emission';
|
|
110
110
|
import { defineComponent } from 'vue'
|
|
111
111
|
export default defineComponent({
|
|
112
112
|
components: {
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
import octopusApi from '@saooti/octopus-api';
|
|
61
61
|
import domHelper from '../../../helper/dom';
|
|
62
62
|
import EmissionPlayerItem from './EmissionPlayerItem.vue';
|
|
63
|
-
import { state } from '../../../
|
|
63
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
64
64
|
import { handle403 } from '../../mixins/handle403';
|
|
65
65
|
const PHONE_WIDTH = 960;
|
|
66
66
|
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
67
|
-
import { Emission } from '@/
|
|
68
|
-
import { Rubrique } from '@/
|
|
67
|
+
import { Emission } from '@/stores/class/general/emission';
|
|
68
|
+
import { Rubrique } from '@/stores/class/rubrique/rubrique';
|
|
69
69
|
import { defineComponent } from 'vue'
|
|
70
70
|
import { AxiosError } from 'axios';
|
|
71
71
|
import imageProxy from '../../mixins/imageProxy';
|
|
72
|
-
import { Rubriquage } from '@/
|
|
72
|
+
import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
|
|
73
73
|
export default defineComponent({
|
|
74
74
|
name: 'EmissionInlineList',
|
|
75
75
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
:to="{
|
|
7
7
|
name: 'emission',
|
|
8
8
|
params: { emissionId: emission.emissionId },
|
|
9
|
-
query: { productor:
|
|
9
|
+
query: { productor: filterOrgaId },
|
|
10
10
|
}"
|
|
11
11
|
:title="$t('Emission')"
|
|
12
12
|
class="d-flex flex-grow-1 text-dark"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
:to="{
|
|
46
46
|
name: 'productor',
|
|
47
47
|
params: { productorId: emission.orga.id },
|
|
48
|
-
query: { productor:
|
|
48
|
+
query: { productor: filterOrgaId },
|
|
49
49
|
}"
|
|
50
50
|
>
|
|
51
51
|
© {{ emission.orga.name }}
|
|
@@ -57,13 +57,13 @@
|
|
|
57
57
|
|
|
58
58
|
<script lang="ts">
|
|
59
59
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
60
|
-
import { Emission } from '@/
|
|
61
|
-
import { state } from '../../../
|
|
60
|
+
import { Emission } from '@/stores/class/general/emission';
|
|
61
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
62
62
|
import octopusApi from '@saooti/octopus-api';
|
|
63
63
|
import imageProxy from '../../mixins/imageProxy';
|
|
64
64
|
import displayMethods from '../../mixins/displayMethods';
|
|
65
65
|
import { defineComponent } from 'vue'
|
|
66
|
-
import { Podcast } from '@/
|
|
66
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
67
67
|
export default defineComponent({
|
|
68
68
|
name: 'EmissionItem',
|
|
69
69
|
|
|
@@ -51,13 +51,15 @@
|
|
|
51
51
|
import ListPaginate from '../list/ListPaginate.vue';
|
|
52
52
|
import octopusApi from '@saooti/octopus-api';
|
|
53
53
|
import { handle403 } from '../../mixins/handle403';
|
|
54
|
-
import { state } from '../../../
|
|
55
|
-
import { Emission, emptyEmissionData } from '@/
|
|
56
|
-
import { Rubrique } from '@/
|
|
54
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
55
|
+
import { Emission, emptyEmissionData } from '@/stores/class/general/emission';
|
|
56
|
+
import { Rubrique } from '@/stores/class/rubrique/rubrique';
|
|
57
57
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
58
|
-
import { FetchParam } from '@/
|
|
58
|
+
import { FetchParam } from '@/stores/class/general/fetchParam';
|
|
59
59
|
import { AxiosError } from 'axios';
|
|
60
|
-
import { Rubriquage } from '@/
|
|
60
|
+
import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
|
|
61
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
62
|
+
import { mapState } from 'pinia';
|
|
61
63
|
const EmissionItem = defineAsyncComponent(() => import('./EmissionItem.vue'));
|
|
62
64
|
const EmissionPlayerItem = defineAsyncComponent(() => import('./EmissionPlayerItem.vue'));
|
|
63
65
|
export default defineComponent({
|
|
@@ -102,6 +104,7 @@ export default defineComponent({
|
|
|
102
104
|
},
|
|
103
105
|
|
|
104
106
|
computed: {
|
|
107
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
105
108
|
displayArray(): Array<Emission>{
|
|
106
109
|
if(this.isMobile){
|
|
107
110
|
return this.emissions;
|
|
@@ -134,7 +137,7 @@ export default defineComponent({
|
|
|
134
137
|
}
|
|
135
138
|
},
|
|
136
139
|
organisation(): string|undefined {
|
|
137
|
-
return this.organisationId ?this.organisationId:this
|
|
140
|
+
return this.organisationId ?this.organisationId:this.filterOrgaId;
|
|
138
141
|
},
|
|
139
142
|
},
|
|
140
143
|
watch: {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
:to="{
|
|
7
7
|
name: 'emission',
|
|
8
8
|
params: { emissionId: emission.emissionId },
|
|
9
|
-
query: { productor:
|
|
9
|
+
query: { productor: filterOrgaId },
|
|
10
10
|
}"
|
|
11
11
|
class="d-flex flex-column text-dark"
|
|
12
12
|
>
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
:to="{
|
|
62
62
|
name: 'podcast',
|
|
63
63
|
params: { podcastId: p.podcastId },
|
|
64
|
-
query: { productor:
|
|
64
|
+
query: { productor: filterOrgaId },
|
|
65
65
|
}"
|
|
66
66
|
class="text-dark fw-bold two-line-clamp"
|
|
67
67
|
>
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
:to="{
|
|
75
75
|
name: 'podcast',
|
|
76
76
|
params: { podcastId: p.podcastId },
|
|
77
|
-
query: { productor:
|
|
77
|
+
query: { productor: filterOrgaId },
|
|
78
78
|
}"
|
|
79
79
|
class="d-flex flex-column define-width text-dark"
|
|
80
80
|
>
|
|
@@ -97,9 +97,9 @@
|
|
|
97
97
|
</div>
|
|
98
98
|
<button
|
|
99
99
|
v-if="
|
|
100
|
-
|
|
101
|
-
(
|
|
102
|
-
'PAUSED' ===
|
|
100
|
+
playerPodcast !== p ||
|
|
101
|
+
(playerPodcast === p &&
|
|
102
|
+
'PAUSED' === playerStatus)
|
|
103
103
|
"
|
|
104
104
|
class="play-button-box bg-secondary"
|
|
105
105
|
@click="play(p)"
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
:to="{
|
|
130
130
|
name: 'emission',
|
|
131
131
|
params: { emissionId: emission.emissionId },
|
|
132
|
-
query: { productor:
|
|
132
|
+
query: { productor: filterOrgaId },
|
|
133
133
|
}"
|
|
134
134
|
class="btn"
|
|
135
135
|
>
|
|
@@ -141,12 +141,15 @@
|
|
|
141
141
|
|
|
142
142
|
<script lang="ts">
|
|
143
143
|
import octopusApi from '@saooti/octopus-api';
|
|
144
|
-
import { Emission } from '@/
|
|
145
|
-
import { Podcast } from '@/
|
|
146
|
-
import { state } from '../../../
|
|
144
|
+
import { Emission } from '@/stores/class/general/emission';
|
|
145
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
146
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
147
147
|
import PodcastPlayBar from '../podcasts/PodcastPlayBar.vue';
|
|
148
148
|
import imageProxy from '../../mixins/imageProxy';
|
|
149
149
|
import displayMethods from '../../mixins/displayMethods';
|
|
150
|
+
import { usePlayerStore } from '@/stores/PlayerStore';
|
|
151
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
152
|
+
import { mapState, mapActions } from 'pinia';
|
|
150
153
|
import { defineComponent } from 'vue'
|
|
151
154
|
export default defineComponent({
|
|
152
155
|
name: 'EmissionPlayerItem',
|
|
@@ -169,6 +172,8 @@ export default defineComponent({
|
|
|
169
172
|
},
|
|
170
173
|
|
|
171
174
|
computed: {
|
|
175
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
176
|
+
...mapState(usePlayerStore, ['playerPodcast', 'playerStatus']),
|
|
172
177
|
isProgressBar(): boolean{
|
|
173
178
|
return (state.emissionsPage.progressBar as boolean);
|
|
174
179
|
},
|
|
@@ -204,6 +209,17 @@ export default defineComponent({
|
|
|
204
209
|
}
|
|
205
210
|
},
|
|
206
211
|
methods: {
|
|
212
|
+
...mapActions(usePlayerStore, ['playerPlay', 'playerChangeStatus']),
|
|
213
|
+
play(podcast: Podcast): void {
|
|
214
|
+
if (podcast === this.playerPodcast) {
|
|
215
|
+
this.playerChangeStatus(false);
|
|
216
|
+
} else {
|
|
217
|
+
this.playerPlay(podcast);
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
pause(): void {
|
|
221
|
+
this.playerChangeStatus(true);
|
|
222
|
+
},
|
|
207
223
|
async loadPodcasts(): Promise<void> {
|
|
208
224
|
const nb = this.nbPodcasts ? this.nbPodcasts : 2;
|
|
209
225
|
const data = await octopusApi.fetchDataWithParams<{count: number;result:Array<Podcast>;sort: string;}>(0, 'podcast/search',{
|
|
@@ -228,16 +244,6 @@ export default defineComponent({
|
|
|
228
244
|
}
|
|
229
245
|
});
|
|
230
246
|
},
|
|
231
|
-
play(podcast: Podcast): void {
|
|
232
|
-
if (podcast === this.$store.state.player.podcast) {
|
|
233
|
-
this.$store.commit('player/pause', false);
|
|
234
|
-
} else {
|
|
235
|
-
this.$store.commit('player/playPodcast', podcast);
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
pause(): void {
|
|
239
|
-
this.$store.commit('player/pause', true);
|
|
240
|
-
},
|
|
241
247
|
},
|
|
242
248
|
})
|
|
243
249
|
</script>
|
|
@@ -74,14 +74,14 @@
|
|
|
74
74
|
</template>
|
|
75
75
|
|
|
76
76
|
<script lang="ts">
|
|
77
|
-
import { state } from '../../../
|
|
77
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
78
78
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
79
79
|
import CategorySearchFilter from './CategorySearchFilter.vue';
|
|
80
80
|
import DateFilter from './DateFilter.vue';
|
|
81
81
|
import SearchOrder from './SearchOrder.vue';
|
|
82
82
|
import RubriqueFilter from './RubriqueFilter.vue';
|
|
83
83
|
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
84
|
-
import { RubriquageFilter } from '@/
|
|
84
|
+
import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';
|
|
85
85
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
86
86
|
const MonetizableFilter = defineAsyncComponent(() => import('./MonetizableFilter.vue'));
|
|
87
87
|
export default defineComponent({
|
|
@@ -136,7 +136,7 @@ export default defineComponent({
|
|
|
136
136
|
true === state.generalParameters.isAdmin;
|
|
137
137
|
},
|
|
138
138
|
organisation(): string|undefined {
|
|
139
|
-
return this.organisationId??this.
|
|
139
|
+
return this.organisationId??this.filterOrgaId;
|
|
140
140
|
},
|
|
141
141
|
textNotVisible(): string {
|
|
142
142
|
return this.isEmission? this.$t('Consider podcasts no visible') : this.$t('See podcasts no visible');
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
<script lang="ts">
|
|
18
18
|
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
19
19
|
import CategoryChooser from '../categories/CategoryChooser.vue';
|
|
20
|
-
import {
|
|
20
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
21
|
+
import { mapState, mapActions } from 'pinia';
|
|
21
22
|
import { defineComponent } from 'vue'
|
|
22
23
|
export default defineComponent({
|
|
23
24
|
components: {
|
|
@@ -34,9 +35,7 @@ export default defineComponent({
|
|
|
34
35
|
};
|
|
35
36
|
},
|
|
36
37
|
computed: {
|
|
37
|
-
|
|
38
|
-
return this.$store.state.filter.iab;
|
|
39
|
-
},
|
|
38
|
+
...mapState(useFilterStore, ['filterIab']),
|
|
40
39
|
},
|
|
41
40
|
watch: {
|
|
42
41
|
isCategory(): void {
|
|
@@ -63,15 +62,15 @@ export default defineComponent({
|
|
|
63
62
|
this.isInternChanged = false;
|
|
64
63
|
});
|
|
65
64
|
},
|
|
66
|
-
|
|
65
|
+
filterIab:{
|
|
67
66
|
deep: true,
|
|
68
67
|
handler(){
|
|
69
68
|
if(this.isInternChanged){
|
|
70
69
|
return;
|
|
71
70
|
}
|
|
72
71
|
this.isInternChanged = true;
|
|
73
|
-
this.iabId = this.
|
|
74
|
-
this.isCategory = this.
|
|
72
|
+
this.iabId = this.filterIab ? this.filterIab.id : 0;
|
|
73
|
+
this.isCategory = this.filterIab ? true : false;
|
|
75
74
|
this.$emit('updateCategory', this.iabId);
|
|
76
75
|
this.$nextTick(() => {
|
|
77
76
|
this.isInternChanged = false;
|
|
@@ -81,8 +80,8 @@ export default defineComponent({
|
|
|
81
80
|
},
|
|
82
81
|
|
|
83
82
|
created() {
|
|
84
|
-
if(this.
|
|
85
|
-
this.iabId = this.
|
|
83
|
+
if(this.filterIab){
|
|
84
|
+
this.iabId = this.filterIab.id;
|
|
86
85
|
this.isCategory = true;
|
|
87
86
|
}
|
|
88
87
|
this.$nextTick(() => {
|
|
@@ -90,15 +89,16 @@ export default defineComponent({
|
|
|
90
89
|
});
|
|
91
90
|
},
|
|
92
91
|
methods: {
|
|
92
|
+
...mapActions(useFilterStore, ['filterUpdateIab']),
|
|
93
93
|
resetCategoryFilter(): void{
|
|
94
|
-
if(!this.
|
|
94
|
+
if(!this.filterIab || this.isInit){
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
97
|
const queries = this.$route.query;
|
|
98
98
|
if (queries.iabId) {
|
|
99
99
|
this.$router.replace({ query: {...queries, ...{iabId: undefined} } });
|
|
100
100
|
}
|
|
101
|
-
this
|
|
101
|
+
this.filterUpdateIab(undefined);
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex align-items-center my-3">
|
|
3
3
|
<div
|
|
4
|
-
v-if="!isPodcastmaker && !
|
|
4
|
+
v-if="!isPodcastmaker && !filterOrgaId"
|
|
5
5
|
class="filter-organisation-chooser"
|
|
6
6
|
>
|
|
7
7
|
<OrganisationChooser
|
|
@@ -42,9 +42,11 @@
|
|
|
42
42
|
|
|
43
43
|
<script lang="ts">
|
|
44
44
|
import ClassicSearch from '../../form/ClassicSearch.vue';
|
|
45
|
-
import { state } from '../../../
|
|
45
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
46
46
|
import orgaFilter from '../../mixins/organisationFilter';
|
|
47
|
-
import { Organisation } from '@/
|
|
47
|
+
import { Organisation } from '@/stores/class/general/organisation';
|
|
48
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
49
|
+
import { mapState, mapActions } from 'pinia';
|
|
48
50
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
49
51
|
const OrganisationChooser = defineAsyncComponent(() => import('../organisation/OrganisationChooser.vue'));
|
|
50
52
|
const ClassicCheckbox = defineAsyncComponent(() => import('../../form/ClassicCheckbox.vue'));
|
|
@@ -70,6 +72,7 @@ export default defineComponent({
|
|
|
70
72
|
};
|
|
71
73
|
},
|
|
72
74
|
computed: {
|
|
75
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
73
76
|
isPodcastmaker(): boolean {
|
|
74
77
|
return (state.generalParameters.podcastmaker as boolean);
|
|
75
78
|
},
|
|
@@ -79,30 +82,28 @@ export default defineComponent({
|
|
|
79
82
|
if ('playlist' === this.type) return this.$t('Look for playlist name');
|
|
80
83
|
return this.$t('Look for podcast name');
|
|
81
84
|
},
|
|
82
|
-
filterOrga(): string {
|
|
83
|
-
return this.$store.state.filter.organisationId;
|
|
84
|
-
},
|
|
85
85
|
},
|
|
86
86
|
watch: {
|
|
87
|
-
|
|
88
|
-
this.keepOrganisation = undefined!==this.
|
|
89
|
-
if (this.
|
|
90
|
-
this.$emit('update:organisationId', this.
|
|
87
|
+
filterOrgaId():void{
|
|
88
|
+
this.keepOrganisation = undefined!==this.filterOrgaId;
|
|
89
|
+
if (this.filterOrgaId) {
|
|
90
|
+
this.$emit('update:organisationId', this.filterOrgaId);
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
},
|
|
94
94
|
async created() {
|
|
95
95
|
if (!this.organisationId) return;
|
|
96
|
-
if(this
|
|
96
|
+
if(this.filterOrgaId === this.organisationId){
|
|
97
97
|
this.keepOrganisation = true;
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
methods: {
|
|
101
|
+
...mapActions(useFilterStore, ['filterUpdateOrga']),
|
|
101
102
|
onOrganisationSelected(organisation: Organisation): void {
|
|
102
103
|
if (this.$route.query.productor) {
|
|
103
104
|
this.$router.push({ query: { productor: undefined } });
|
|
104
105
|
}
|
|
105
|
-
this
|
|
106
|
+
this.filterUpdateOrga({orgaId: undefined});
|
|
106
107
|
this.keepOrganisation = false;
|
|
107
108
|
if (organisation && organisation.id) {
|
|
108
109
|
this.$emit('update:organisationId', organisation.id);
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
</template>
|
|
45
45
|
|
|
46
46
|
<script lang="ts">
|
|
47
|
-
import { Rubriquage } from '@/
|
|
48
|
-
import { Rubrique } from '@/
|
|
47
|
+
import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
|
|
48
|
+
import { Rubrique } from '@/stores/class/rubrique/rubrique';
|
|
49
49
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
50
50
|
const RubriqueChooser = defineAsyncComponent(() => import('../rubriques/RubriqueChooser.vue'));
|
|
51
51
|
export default defineComponent({
|
|
@@ -39,8 +39,10 @@
|
|
|
39
39
|
<script lang="ts">
|
|
40
40
|
import octopusApi from '@saooti/octopus-api';
|
|
41
41
|
import ClassicCheckbox from '../../form/ClassicCheckbox.vue';
|
|
42
|
-
import { Rubriquage } from '@/
|
|
43
|
-
import { RubriquageFilter } from '@/
|
|
42
|
+
import { Rubriquage } from '@/stores/class/rubrique/rubriquage';
|
|
43
|
+
import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';
|
|
44
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
45
|
+
import { mapState, mapActions } from 'pinia';
|
|
44
46
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
45
47
|
const RubriqueChoice = defineAsyncComponent(() => import('./RubriqueChoice.vue'));
|
|
46
48
|
export default defineComponent({
|
|
@@ -70,14 +72,9 @@ export default defineComponent({
|
|
|
70
72
|
},
|
|
71
73
|
|
|
72
74
|
computed: {
|
|
73
|
-
|
|
74
|
-
return this.$store.state.filter.organisationId;
|
|
75
|
-
},
|
|
75
|
+
...mapState(useFilterStore, ['filterRubrique', 'filterOrgaId']),
|
|
76
76
|
organisation(): string|undefined {
|
|
77
|
-
return this.organisationId ?this.organisationId: this.
|
|
78
|
-
},
|
|
79
|
-
rubriqueFilter(): Array<RubriquageFilter>{
|
|
80
|
-
return this.$store.state.filter.rubriqueFilter;
|
|
77
|
+
return this.organisationId ?this.organisationId: this.filterOrgaId;
|
|
81
78
|
},
|
|
82
79
|
availableRubriquage(): Array<Rubriquage>{
|
|
83
80
|
if(this.arrayFilter.length){
|
|
@@ -138,18 +135,18 @@ export default defineComponent({
|
|
|
138
135
|
});
|
|
139
136
|
}
|
|
140
137
|
},
|
|
141
|
-
|
|
138
|
+
filterRubrique:{
|
|
142
139
|
deep: true,
|
|
143
140
|
async handler(){
|
|
144
141
|
if(this.isInternChanged || !this.modifyFilter){
|
|
145
142
|
return;
|
|
146
143
|
}
|
|
147
144
|
this.isInternChanged = true;
|
|
148
|
-
if(this.saveOrganisation !== this.
|
|
145
|
+
if(this.saveOrganisation !== this.filterOrgaId){
|
|
149
146
|
await this.fetchTopics(false);
|
|
150
147
|
}
|
|
151
|
-
if(this.
|
|
152
|
-
this.arrayFilter = Array.from(this.
|
|
148
|
+
if(this.filterRubrique.length){
|
|
149
|
+
this.arrayFilter = Array.from(this.filterRubrique);
|
|
153
150
|
this.isRubriquage = true;
|
|
154
151
|
}else if(this.rubriquageData[0].rubriquageId){
|
|
155
152
|
this.arrayFilter = [{rubriquageId: this.rubriquageData[0].rubriquageId, rubriqueId: 0, nameRubriquage:this.rubriquageData[0].title, nameRubrique:""}];
|
|
@@ -172,8 +169,8 @@ export default defineComponent({
|
|
|
172
169
|
this.arrayFilter = Array.from(this.initRubriqueFilter);
|
|
173
170
|
this.isRubriquage = true;
|
|
174
171
|
}
|
|
175
|
-
}else if(this.
|
|
176
|
-
this.arrayFilter = Array.from(this.
|
|
172
|
+
}else if(this.filterRubrique.length){
|
|
173
|
+
this.arrayFilter = Array.from(this.filterRubrique);
|
|
177
174
|
this.isRubriquage = true;
|
|
178
175
|
}
|
|
179
176
|
this.fetchTopics(false);
|
|
@@ -182,6 +179,7 @@ export default defineComponent({
|
|
|
182
179
|
});
|
|
183
180
|
},
|
|
184
181
|
methods: {
|
|
182
|
+
...mapActions(useFilterStore, ['filterUpdateRubrique']),
|
|
185
183
|
deleteRubriqueChoice(index: number): void{
|
|
186
184
|
this.arrayFilter.splice(index,1);
|
|
187
185
|
},
|
|
@@ -229,14 +227,14 @@ export default defineComponent({
|
|
|
229
227
|
}
|
|
230
228
|
},
|
|
231
229
|
resetRubriqueFilter(): void{
|
|
232
|
-
if(0===this.
|
|
230
|
+
if(0===this.filterRubrique.length || this.isInit || !this.modifyFilter){
|
|
233
231
|
return;
|
|
234
232
|
}
|
|
235
233
|
const queries = this.$route.query;
|
|
236
234
|
if (queries.rubriquesId) {
|
|
237
235
|
this.$router.replace({ query: {...queries, ...{rubriquesId: undefined} } });
|
|
238
236
|
}
|
|
239
|
-
this
|
|
237
|
+
this.filterUpdateRubrique([]);
|
|
240
238
|
}
|
|
241
239
|
},
|
|
242
240
|
})
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<script lang="ts">
|
|
52
52
|
import domHelper from '../../../helper/dom';
|
|
53
53
|
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
54
|
-
import { state } from '../../../
|
|
54
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
55
55
|
import Paginate from './Paginate.vue';
|
|
56
56
|
import { defineComponent } from 'vue'
|
|
57
57
|
export default defineComponent({
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
import ListPaginate from '../list/ListPaginate.vue';
|
|
38
38
|
import octopusApi from '@saooti/octopus-api';
|
|
39
39
|
import PodcastItem from '../podcasts/PodcastItem.vue';
|
|
40
|
-
import { Podcast, emptyPodcastData } from '@/
|
|
40
|
+
import { Podcast, emptyPodcastData } from '@/stores/class/general/podcast';
|
|
41
41
|
import { defineComponent } from 'vue'
|
|
42
42
|
export default defineComponent({
|
|
43
43
|
name: 'LiveHorizontalList',
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:to="{
|
|
9
9
|
name: 'podcast',
|
|
10
10
|
params: { podcastId: live.podcastId },
|
|
11
|
-
query: { productor:
|
|
11
|
+
query: { productor: filterOrgaId },
|
|
12
12
|
}"
|
|
13
13
|
>
|
|
14
14
|
<div class="fw-bold">
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
:to="{
|
|
26
26
|
name: 'podcast',
|
|
27
27
|
params: { podcastId: live.podcastId },
|
|
28
|
-
query: { productor:
|
|
28
|
+
query: { productor: filterOrgaId },
|
|
29
29
|
}"
|
|
30
30
|
>
|
|
31
31
|
<PodcastImage
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
:to="{
|
|
51
51
|
name: 'podcast',
|
|
52
52
|
params: { podcastId: live.podcastId },
|
|
53
|
-
query: { productor:
|
|
53
|
+
query: { productor: filterOrgaId },
|
|
54
54
|
}"
|
|
55
55
|
>
|
|
56
56
|
{{ live.title }}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
:to="{
|
|
61
61
|
name: 'emission',
|
|
62
62
|
params: { emissionId: live.emission.emissionId },
|
|
63
|
-
query: { productor:
|
|
63
|
+
query: { productor: filterOrgaId },
|
|
64
64
|
}"
|
|
65
65
|
>
|
|
66
66
|
{{ live.emission.name }}
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
:to="{
|
|
92
92
|
name: 'participant',
|
|
93
93
|
params: { participantId: animator.participantId },
|
|
94
|
-
query: { productor:
|
|
94
|
+
query: { productor: filterOrgaId },
|
|
95
95
|
}"
|
|
96
96
|
>
|
|
97
97
|
{{ getName(animator) }}
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
:to="{
|
|
105
105
|
name: 'productor',
|
|
106
106
|
params: { productorId: live.organisation.id },
|
|
107
|
-
query: { productor:
|
|
107
|
+
query: { productor: filterOrgaId },
|
|
108
108
|
}"
|
|
109
109
|
>
|
|
110
110
|
{{ live.organisation.name }}
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
</template>
|
|
124
124
|
|
|
125
125
|
<script lang="ts">
|
|
126
|
-
import { state } from '../../../
|
|
126
|
+
import { state } from '../../../stores/ParamSdkStore';
|
|
127
127
|
import octopusApi from '@saooti/octopus-api';
|
|
128
128
|
import PodcastImage from '../podcasts/PodcastImage.vue';
|
|
129
129
|
import crudApi from '@/api/classicCrud';
|
|
@@ -131,9 +131,10 @@ import dayjs from 'dayjs';
|
|
|
131
131
|
// @ts-ignore
|
|
132
132
|
import humanizeDuration from 'humanize-duration';
|
|
133
133
|
import displayMethods from '../../mixins/displayMethods';
|
|
134
|
-
import { Podcast } from '@/
|
|
135
|
-
import { Participant } from '@/
|
|
136
|
-
|
|
134
|
+
import { Podcast } from '@/stores/class/general/podcast';
|
|
135
|
+
import { Participant } from '@/stores/class/general/participant';
|
|
136
|
+
import { useFilterStore } from '@/stores/FilterStore';
|
|
137
|
+
import { mapState } from 'pinia';
|
|
137
138
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
138
139
|
const RecordingItemButton = defineAsyncComponent(() => import('@/components/display/studio/RecordingItemButton.vue'));
|
|
139
140
|
export default defineComponent({
|
|
@@ -157,6 +158,7 @@ export default defineComponent({
|
|
|
157
158
|
},
|
|
158
159
|
|
|
159
160
|
computed: {
|
|
161
|
+
...mapState(useFilterStore, ['filterOrgaId']),
|
|
160
162
|
isEditBox(): boolean {
|
|
161
163
|
return (state.podcastPage.EditBox as boolean);
|
|
162
164
|
},
|
|
@@ -223,7 +225,7 @@ export default defineComponent({
|
|
|
223
225
|
} catch {
|
|
224
226
|
this.$emit('deleteItem', this.index);
|
|
225
227
|
if(this.fetchConference.conferenceId){
|
|
226
|
-
await crudApi.deleteData(
|
|
228
|
+
await crudApi.deleteData(9 ,'conference/'+this.fetchConference.conferenceId);
|
|
227
229
|
}
|
|
228
230
|
}
|
|
229
231
|
},
|