@saooti/octopus-sdk 31.0.1 → 31.0.4
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 +19 -1
- package/index.ts +8 -2
- package/package.json +3 -3
- package/src/assets/general.scss +8 -0
- package/src/assets/share.scss +21 -0
- package/src/components/display/categories/CategoryFilter.vue +14 -12
- package/src/components/display/categories/CategoryList.vue +27 -25
- package/src/components/display/comments/CommentInput.vue +21 -19
- package/src/components/display/comments/CommentList.vue +2 -0
- package/src/components/display/comments/CommentPlayer.vue +2 -0
- package/src/components/display/emission/EmissionInlineList.vue +32 -29
- package/src/components/display/emission/EmissionList.vue +12 -8
- package/src/components/display/emission/EmissionPlayerItem.vue +16 -1
- package/src/components/display/filter/AdvancedSearch.vue +2 -0
- package/src/components/display/filter/CategoryFilter.vue +1 -1
- package/src/components/display/filter/ProductorSearch.vue +16 -5
- package/src/components/display/filter/RubriqueFilter.vue +1 -1
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/LiveItem.vue +2 -1
- package/src/components/display/live/LiveList.vue +51 -41
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/organisation/OrganisationChooserLight.vue +28 -19
- package/src/components/display/participant/ParticipantItem.vue +2 -0
- package/src/components/display/participant/ParticipantList.vue +30 -19
- package/src/components/display/playlist/PlaylistList.vue +12 -3
- package/src/components/display/playlist/PodcastList.vue +26 -16
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +204 -0
- package/src/components/display/podcasts/AnimatorsItem.vue +2 -0
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -5
- package/src/components/display/podcasts/PodcastImage.vue +2 -1
- package/src/components/display/podcasts/PodcastInlineList.vue +40 -28
- package/src/components/display/podcasts/PodcastItem.vue +12 -0
- package/src/components/display/podcasts/PodcastList.vue +11 -3
- package/src/components/display/podcasts/PodcastPlayBar.vue +2 -0
- package/src/components/display/podcasts/TagList.vue +2 -0
- package/src/components/display/rubriques/RubriqueList.vue +4 -2
- package/src/components/display/sharing/PlayerParameters.vue +2 -0
- package/src/components/display/sharing/QrCode.vue +7 -0
- package/src/components/display/sharing/ShareDistribution.vue +2 -0
- package/src/components/display/sharing/SharePlayer.vue +3 -12
- package/src/components/display/sharing/SharePlayerTypes.vue +48 -1
- package/src/components/form/ClassicSearch.vue +2 -0
- package/src/components/misc/ErrorMessage.vue +2 -0
- package/src/components/misc/Footer.vue +2 -0
- package/src/components/misc/LeftMenu.vue +2 -0
- package/src/components/misc/Player.vue +14 -0
- package/src/components/misc/PlayerButtons.vue +2 -14
- package/src/components/misc/PlayerClockAndTimeline.vue +2 -0
- package/src/components/misc/PlayerProgressBar.vue +2 -0
- package/src/components/misc/Popover.vue +5 -0
- package/src/components/misc/Snackbar.vue +2 -0
- package/src/components/misc/TopBar.vue +2 -0
- package/src/components/misc/modal/NewsletterModal.vue +11 -3
- package/src/components/misc/modal/ShareModalPlayer.vue +2 -0
- package/src/components/mixins/handle403.ts +17 -0
- package/src/components/pages/Emission.vue +17 -4
- package/src/components/pages/Error403Page.vue +24 -0
- package/src/components/pages/Participant.vue +19 -4
- package/src/components/pages/Playlist.vue +17 -3
- package/src/components/pages/Podcast.vue +28 -12
- package/src/components/pages/Podcasts.vue +4 -0
- package/src/locale/en.ts +1 -0
- package/src/locale/fr.ts +1 -0
- package/src/locale/it.ts +298 -0
- package/src/locale/messages.ts +2 -0
- package/src/router/router.ts +6 -0
- package/src/store/class/general/customPlayer.ts +2 -1
- package/src/store/class/general/organisation.ts +1 -0
- package/src/store/paramStore.ts +12 -11
- package/src/store/typeAppStore.ts +0 -4
package/README.md
CHANGED
|
@@ -551,6 +551,24 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
551
551
|
* 30.0.52 Ajout rubriqueIdFilter
|
|
552
552
|
* 30.0.53 Commentaires live
|
|
553
553
|
* 30.0.54 Multiselect not reload on close
|
|
554
|
-
|
|
554
|
+
* 30.0.55 Align participant img
|
|
555
|
+
* 30.0.56 Popover title
|
|
556
|
+
* 30.0.57 podcastmaker Le soir améliorations
|
|
557
|
+
* 30.0.58 Prefix css dans component par octopus-app
|
|
558
|
+
* 30.0.59 Pb productorChooser
|
|
559
|
+
* 30.0.60 PlaylistPodcastInlineList
|
|
560
|
+
* 30.0.61 Page podcast -> init recherche
|
|
561
|
+
* 30.0.62 Italian translation
|
|
562
|
+
* 30.0.63 Italian translation
|
|
563
|
+
* 30.0.64 Modif Le soir
|
|
564
|
+
* 30.0.65 OAuthType
|
|
565
|
+
* 30.0.66 ScrollBehavior
|
|
566
|
+
|
|
555
567
|
* 31.0.0 Passage en 31
|
|
556
568
|
* 31.0.1 Ajout pocket casts
|
|
569
|
+
* 31.0.2 Gestion des 403
|
|
570
|
+
* 31.0.3 Merge 30
|
|
571
|
+
* 31.0.4 Selection des customPlayers
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
package/index.ts
CHANGED
|
@@ -32,6 +32,7 @@ import EmissionChooser from "./src/components/display/emission/EmissionChooser.v
|
|
|
32
32
|
import EmissionList from "./src/components/display/emission/EmissionList.vue";
|
|
33
33
|
/*import MonetizableFilter from "./src/components/display/filter/MonetizableFilter.vue";
|
|
34
34
|
import ProductorSearch from "./src/components/display/filter/ProductorSearch.vue";*/
|
|
35
|
+
import AdvancedSearch from "./src/components/display/filter/AdvancedSearch.vue";
|
|
35
36
|
import OrganisationChooser from "./src/components/display/organisation/OrganisationChooser.vue";
|
|
36
37
|
/*import ParticipantItem from "./src/components/display/participant/ParticipantItem.vue";
|
|
37
38
|
import ParticipantList from "./src/components/display/participant/ParticipantList.vue";
|
|
@@ -48,6 +49,7 @@ import EmissionInlineList from "./src/components/display/emission/EmissionInline
|
|
|
48
49
|
import RubriqueChooser from "./src/components/display/rubriques/RubriqueChooser.vue";
|
|
49
50
|
import CommentList from "./src/components/display/comments/CommentList.vue";
|
|
50
51
|
import CommentInput from "./src/components/display/comments/CommentInput.vue";
|
|
52
|
+
import PodcastPlaylistInlineList from "./src/components/display/playlist/PodcastPlaylistInlineList.vue";
|
|
51
53
|
|
|
52
54
|
//form
|
|
53
55
|
import ClassicSearch from "./src/components/form/ClassicSearch.vue";
|
|
@@ -110,7 +112,9 @@ const components = {
|
|
|
110
112
|
ClassicSearch,
|
|
111
113
|
ClassicCheckbox,
|
|
112
114
|
ClassicRadio,
|
|
113
|
-
ClassicLoading
|
|
115
|
+
ClassicLoading,
|
|
116
|
+
AdvancedSearch,
|
|
117
|
+
PodcastPlaylistInlineList
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
export default components;
|
|
@@ -162,5 +166,7 @@ export {
|
|
|
162
166
|
ClassicSearch,
|
|
163
167
|
ClassicCheckbox,
|
|
164
168
|
ClassicRadio,
|
|
165
|
-
ClassicLoading
|
|
169
|
+
ClassicLoading,
|
|
170
|
+
AdvancedSearch,
|
|
171
|
+
PodcastPlaylistInlineList
|
|
166
172
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "31.0.
|
|
3
|
+
"version": "31.0.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"main": "./dist/octopus.common.js",
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@popperjs/core": "^2.11.0",
|
|
18
|
-
"@saooti/octopus-api": "^0.
|
|
18
|
+
"@saooti/octopus-api": "^0.31.0",
|
|
19
19
|
"@vue/cli": "^5.0.0-rc.1",
|
|
20
20
|
"@vue/compat": "^3.2.26",
|
|
21
21
|
"axios": "^0.24.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"no-debugger": "off",
|
|
81
81
|
"@typescript-eslint/ban-ts-ignore": "off",
|
|
82
82
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
83
|
-
"no-async-promise-executor":"off"
|
|
83
|
+
"no-async-promise-executor": "off"
|
|
84
84
|
},
|
|
85
85
|
"parserOptions": {
|
|
86
86
|
"parser": "@typescript-eslint/parser"
|
package/src/assets/general.scss
CHANGED
|
@@ -212,6 +212,7 @@ body{
|
|
|
212
212
|
border-radius: 50%;
|
|
213
213
|
background-size: cover;
|
|
214
214
|
box-shadow: 0px 8px 26px 6px rgba(64, 163, 114, 0.3);
|
|
215
|
+
margin: auto;
|
|
215
216
|
}
|
|
216
217
|
|
|
217
218
|
.comma {
|
|
@@ -237,6 +238,13 @@ body{
|
|
|
237
238
|
.c-hand-auto {
|
|
238
239
|
cursor: auto;
|
|
239
240
|
}
|
|
241
|
+
.two-line-clamp{
|
|
242
|
+
overflow: hidden;
|
|
243
|
+
display: -webkit-box;
|
|
244
|
+
-webkit-line-clamp: 2;
|
|
245
|
+
-webkit-box-orient: vertical;
|
|
246
|
+
word-break: break-word;
|
|
247
|
+
}
|
|
240
248
|
|
|
241
249
|
.html-wysiwyg-content{
|
|
242
250
|
h3,h4{
|
package/src/assets/share.scss
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
@import '../sass/_variables.scss';
|
|
2
2
|
.octopus-app{
|
|
3
|
+
.page-box-absolute{
|
|
4
|
+
position: absolute;
|
|
5
|
+
top: 0;
|
|
6
|
+
right: 0;
|
|
7
|
+
left: 0;
|
|
8
|
+
height: max-content;
|
|
9
|
+
min-height: 100%;
|
|
10
|
+
z-index: 11;
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
&.page-box-player{
|
|
14
|
+
padding-bottom: 120px;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
3
17
|
.saooti-help {
|
|
4
18
|
font-size: 1.5rem;
|
|
5
19
|
border-radius: 50%;
|
|
@@ -213,4 +227,11 @@
|
|
|
213
227
|
left: 0.7rem;
|
|
214
228
|
}
|
|
215
229
|
}
|
|
230
|
+
|
|
231
|
+
.logo-octopus{
|
|
232
|
+
width: 350px;
|
|
233
|
+
@media (max-width: 960px) {
|
|
234
|
+
width: 200px;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
216
237
|
}
|
|
@@ -122,7 +122,7 @@ export default defineComponent({
|
|
|
122
122
|
this.$store.commit('filterRubrique', filter);
|
|
123
123
|
const queries = this.$route.query;
|
|
124
124
|
const queryString = filter.map(value => value.rubriquageId+':'+value.rubriqueId).join();
|
|
125
|
-
this.$router.
|
|
125
|
+
this.$router.replace({ query: { ...queries, ...{ rubriquesId: queryString }} });
|
|
126
126
|
}
|
|
127
127
|
},
|
|
128
128
|
getRubriques(rubriquageId: number): Array<Rubrique>{
|
|
@@ -138,7 +138,7 @@ export default defineComponent({
|
|
|
138
138
|
const queries = this.$route.query;
|
|
139
139
|
if(this.categoryFilter){
|
|
140
140
|
if (queries.iabId) {
|
|
141
|
-
this.$router.
|
|
141
|
+
this.$router.replace({ query: {...queries, ...{iabId: undefined} } });
|
|
142
142
|
}
|
|
143
143
|
this.$store.commit('filterIab', undefined);
|
|
144
144
|
}else{
|
|
@@ -147,9 +147,9 @@ export default defineComponent({
|
|
|
147
147
|
if (queries.rubriquesId) {
|
|
148
148
|
const queryString = newFilter.map(value => value.rubriquageId+':'+value.rubriqueId).join();
|
|
149
149
|
if("" !== queryString){
|
|
150
|
-
this.$router.
|
|
150
|
+
this.$router.replace({ query: { ...queries, ...{ rubriquesId: queryString }} });
|
|
151
151
|
}else{
|
|
152
|
-
this.$router.
|
|
152
|
+
this.$router.replace({ query: { ...queries, ...{ rubriquesId: undefined }} });
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
this.$store.commit('filterRubrique', newFilter);
|
|
@@ -162,13 +162,15 @@ export default defineComponent({
|
|
|
162
162
|
})
|
|
163
163
|
</script>
|
|
164
164
|
<style lang="scss">
|
|
165
|
-
.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
165
|
+
.octopus-app{
|
|
166
|
+
.categary-filter-no-filter{
|
|
167
|
+
position: absolute;
|
|
168
|
+
top: 0;
|
|
169
|
+
bottom: 0;
|
|
170
|
+
right: 0;
|
|
171
|
+
left: 0;
|
|
172
|
+
background: white;
|
|
173
|
+
z-index: -1;
|
|
174
|
+
}
|
|
173
175
|
}
|
|
174
176
|
</style>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
class="dropdown btn-group"
|
|
23
23
|
>
|
|
24
24
|
<button
|
|
25
|
-
class="btn dropdown-toggle admin-button dropdown-toggle-no-caret saooti-
|
|
25
|
+
class="btn dropdown-toggle admin-button dropdown-toggle-no-caret saooti-more"
|
|
26
26
|
data-bs-toggle="dropdown"
|
|
27
27
|
aria-expanded="false"
|
|
28
28
|
:title="$t('See more')"
|
|
@@ -139,7 +139,7 @@ export default defineComponent({
|
|
|
139
139
|
}
|
|
140
140
|
const queries = this.$route.query;
|
|
141
141
|
if(!queries.iabId || ('string'===typeof queries.iabId && parseInt(queries.iabId ,10) !== category.id)) {
|
|
142
|
-
this.$router.
|
|
142
|
+
this.$router.replace({ query: { ...queries, ...{ iabId: category.id.toString() }} });
|
|
143
143
|
}
|
|
144
144
|
this.$store.commit('filterIab',category);
|
|
145
145
|
},
|
|
@@ -178,29 +178,31 @@ export default defineComponent({
|
|
|
178
178
|
</script>
|
|
179
179
|
<style lang="scss">
|
|
180
180
|
@import '../../../sass/_variables.scss';
|
|
181
|
-
.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
181
|
+
.octopus-app{
|
|
182
|
+
.category-list-container {
|
|
183
|
+
display: inline-flex;
|
|
184
|
+
justify-content: flex-start;
|
|
185
|
+
overflow: hidden;
|
|
186
|
+
flex-grow: 1;
|
|
187
|
+
width: 0;
|
|
188
|
+
padding: 0 4rem;
|
|
189
|
+
}
|
|
190
|
+
.category-item {
|
|
191
|
+
font-size: 0.6rem;
|
|
192
|
+
margin: 0.2rem;
|
|
193
|
+
padding: 0.5rem;
|
|
194
|
+
display: block;
|
|
195
|
+
height: 1.5rem;
|
|
196
|
+
border-radius: 1.5rem;
|
|
197
|
+
border: 0;
|
|
198
|
+
display: flex;
|
|
199
|
+
align-items: center;
|
|
200
|
+
justify-content: center;
|
|
201
|
+
white-space: nowrap;
|
|
202
|
+
flex-shrink: 0;
|
|
203
|
+
.router-link-active,&:hover {
|
|
204
|
+
background: $octopus-secondary-color !important;
|
|
205
|
+
}
|
|
204
206
|
}
|
|
205
207
|
}
|
|
206
208
|
</style>
|
|
@@ -320,25 +320,27 @@ export default defineComponent({
|
|
|
320
320
|
|
|
321
321
|
<style lang="scss">
|
|
322
322
|
@import '../../../sass/_variables.scss';
|
|
323
|
-
.
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
323
|
+
.octopus-app{
|
|
324
|
+
.comment-input-container {
|
|
325
|
+
textarea::placeholder {
|
|
326
|
+
color: $octopus-primary-dark;
|
|
327
|
+
}
|
|
328
|
+
textarea:focus::placeholder {
|
|
329
|
+
color: black;
|
|
330
|
+
}
|
|
331
|
+
textarea {
|
|
332
|
+
outline-width: 0 !important;
|
|
333
|
+
border-top: 0;
|
|
334
|
+
border-right: 0;
|
|
335
|
+
border-left: 0;
|
|
336
|
+
border-bottom: 0.1rem solid #ddd !important;
|
|
337
|
+
overflow: hidden !important;
|
|
338
|
+
box-shadow: unset !important;
|
|
339
|
+
background: transparent !important;
|
|
340
|
+
height: 50px;
|
|
341
|
+
&.short{
|
|
342
|
+
max-height: 38px;
|
|
343
|
+
}
|
|
342
344
|
}
|
|
343
345
|
}
|
|
344
346
|
}
|
|
@@ -248,6 +248,7 @@ export default defineComponent({
|
|
|
248
248
|
|
|
249
249
|
<style lang="scss">
|
|
250
250
|
@import '../../../sass/_variables.scss';
|
|
251
|
+
.octopus-app{
|
|
251
252
|
.my-transition-list-comments {
|
|
252
253
|
position: relative;
|
|
253
254
|
.comment-list-enter-active,
|
|
@@ -284,4 +285,5 @@ export default defineComponent({
|
|
|
284
285
|
background-color: $primaryColorReallyTransparent;
|
|
285
286
|
}
|
|
286
287
|
}
|
|
288
|
+
}
|
|
287
289
|
</style>
|
|
@@ -75,6 +75,7 @@ export default defineComponent({
|
|
|
75
75
|
</script>
|
|
76
76
|
|
|
77
77
|
<style lang="scss">
|
|
78
|
+
.octopus-app{
|
|
78
79
|
.comment-player-container {
|
|
79
80
|
position: relative;
|
|
80
81
|
width: 100%;
|
|
@@ -96,4 +97,5 @@ export default defineComponent({
|
|
|
96
97
|
position: absolute;
|
|
97
98
|
}
|
|
98
99
|
}
|
|
100
|
+
}
|
|
99
101
|
</style>
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
alignLeft ? 'justify-content-start' : '',
|
|
44
44
|
overflowScroll ? 'overflowScroll' : '',
|
|
45
45
|
]"
|
|
46
|
+
:css="isInlineAnimation"
|
|
46
47
|
>
|
|
47
48
|
<EmissionPlayerItem
|
|
48
49
|
v-for="e in emissions"
|
|
@@ -70,18 +71,22 @@ import octopusApi from '@saooti/octopus-api';
|
|
|
70
71
|
import domHelper from '../../../helper/dom';
|
|
71
72
|
import EmissionPlayerItem from './EmissionPlayerItem.vue';
|
|
72
73
|
import { state } from '../../../store/paramStore';
|
|
73
|
-
|
|
74
|
+
import { handle403 } from '../../mixins/handle403';
|
|
74
75
|
const PHONE_WIDTH = 960;
|
|
75
76
|
|
|
76
77
|
import { Emission } from '@/store/class/general/emission';
|
|
77
78
|
import { Rubrique } from '@/store/class/rubrique/rubrique';
|
|
78
79
|
import { defineComponent } from 'vue'
|
|
80
|
+
import { AxiosError } from 'axios';
|
|
79
81
|
export default defineComponent({
|
|
80
82
|
name: 'EmissionInlineList',
|
|
81
83
|
|
|
82
84
|
components: {
|
|
83
85
|
EmissionPlayerItem,
|
|
84
86
|
},
|
|
87
|
+
|
|
88
|
+
mixins: [handle403],
|
|
89
|
+
|
|
85
90
|
props: {
|
|
86
91
|
organisationId: { default: undefined, type: String},
|
|
87
92
|
href: { default: undefined, type: String},
|
|
@@ -127,7 +132,10 @@ export default defineComponent({
|
|
|
127
132
|
},
|
|
128
133
|
transitionName(): string {
|
|
129
134
|
return this.direction > 0 ? 'out-left' : 'out-right';
|
|
130
|
-
}
|
|
135
|
+
},
|
|
136
|
+
isInlineAnimation(): boolean {
|
|
137
|
+
return (state.generalParameters.isInlineAnimation as boolean);
|
|
138
|
+
},
|
|
131
139
|
},
|
|
132
140
|
|
|
133
141
|
watch: {
|
|
@@ -153,35 +161,30 @@ export default defineComponent({
|
|
|
153
161
|
},
|
|
154
162
|
methods: {
|
|
155
163
|
async fetchNext(): Promise<void> {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
this.loading = false;
|
|
165
|
-
this.loaded = true;
|
|
166
|
-
this.totalCount = data.count;
|
|
167
|
-
/* if(this.first === 0 && this.displayRubriquage && state.emissionsPage.mainRubrique){
|
|
168
|
-
data.result.sort((a, b)=>{
|
|
169
|
-
if (a.rubriqueIds[0] === state.emissionsPage.mainRubrique)
|
|
170
|
-
return 1;
|
|
171
|
-
if (b.rubriqueIds[0] === state.emissionsPage.mainRubrique)
|
|
172
|
-
return -1;
|
|
173
|
-
return 0;
|
|
164
|
+
try {
|
|
165
|
+
const data = await octopusApi.fetchEmissions({
|
|
166
|
+
first: this.first,
|
|
167
|
+
size: this.size + 1,
|
|
168
|
+
organisationId: this.organisationId,
|
|
169
|
+
rubriqueId: this.rubriqueId ? [this.rubriqueId] : [],
|
|
170
|
+
rubriquageId: this.rubriquageId ? [this.rubriquageId] : [],
|
|
171
|
+
sort: 'LAST_PODCAST_DESC',
|
|
174
172
|
});
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
this.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
this.
|
|
173
|
+
this.loading = false;
|
|
174
|
+
this.loaded = true;
|
|
175
|
+
this.totalCount = data.count;
|
|
176
|
+
if (this.allEmissions.length + data.result.length < this.totalCount) {
|
|
177
|
+
const nexEl = data.result.pop() as Emission;
|
|
178
|
+
this.preloadImage(nexEl.imageUrl ? nexEl.imageUrl : "");
|
|
179
|
+
}
|
|
180
|
+
this.allEmissions = this.allEmissions.concat(data.result);
|
|
181
|
+
if (this.allEmissions.length <= 3) {
|
|
182
|
+
this.alignLeft = true;
|
|
183
|
+
}
|
|
184
|
+
this.first += this.size;
|
|
185
|
+
} catch (error) {
|
|
186
|
+
this.handle403((error as AxiosError));
|
|
183
187
|
}
|
|
184
|
-
this.first += this.size;
|
|
185
188
|
},
|
|
186
189
|
displayPrevious(): void {
|
|
187
190
|
this.direction = -1;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
</template>
|
|
52
52
|
<div
|
|
53
53
|
:class="buttonPlus?'ms-1':''"
|
|
54
|
-
class="saooti-
|
|
54
|
+
class="saooti-more"
|
|
55
55
|
/>
|
|
56
56
|
</button>
|
|
57
57
|
</template>
|
|
@@ -60,12 +60,14 @@
|
|
|
60
60
|
|
|
61
61
|
<script lang="ts">
|
|
62
62
|
import octopusApi from '@saooti/octopus-api';
|
|
63
|
+
import { handle403 } from '../../mixins/handle403';
|
|
63
64
|
import { state } from '../../../store/paramStore';
|
|
64
65
|
import ClassicLoading from '../../form/ClassicLoading.vue';
|
|
65
66
|
import { Emission } from '@/store/class/general/emission';
|
|
66
67
|
import { Rubrique } from '@/store/class/rubrique/rubrique';
|
|
67
68
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
68
69
|
import { FetchParam } from '@/store/class/general/fetchParam';
|
|
70
|
+
import { AxiosError } from 'axios';
|
|
69
71
|
const EmissionItem = defineAsyncComponent(() => import('./EmissionItem.vue'));
|
|
70
72
|
const EmissionPlayerItem = defineAsyncComponent(() => import('./EmissionPlayerItem.vue'));
|
|
71
73
|
export default defineComponent({
|
|
@@ -77,6 +79,8 @@ export default defineComponent({
|
|
|
77
79
|
ClassicLoading
|
|
78
80
|
},
|
|
79
81
|
|
|
82
|
+
mixins: [handle403],
|
|
83
|
+
|
|
80
84
|
props: {
|
|
81
85
|
first: { default: 0, type: Number },
|
|
82
86
|
size: { default: 12, type: Number },
|
|
@@ -156,8 +160,6 @@ export default defineComponent({
|
|
|
156
160
|
},
|
|
157
161
|
},
|
|
158
162
|
|
|
159
|
-
|
|
160
|
-
|
|
161
163
|
mounted() {
|
|
162
164
|
this.fetchContent(true);
|
|
163
165
|
if (this.displayRubriquage) {
|
|
@@ -185,8 +187,12 @@ export default defineComponent({
|
|
|
185
187
|
rubriquageId: this.rubriquageId.length ? this.rubriquageId : undefined,
|
|
186
188
|
includeHidden:this.includeHidden,
|
|
187
189
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
+
try {
|
|
191
|
+
const data = await octopusApi.fetchEmissions(param);
|
|
192
|
+
this.afterFetching(reset, data);
|
|
193
|
+
} catch (error) {
|
|
194
|
+
this.handle403((error as AxiosError));
|
|
195
|
+
}
|
|
190
196
|
},
|
|
191
197
|
afterFetching(reset: boolean, data: {count: number, result: Array<Emission>, sort: string}): void {
|
|
192
198
|
if (reset) {
|
|
@@ -234,6 +240,4 @@ export default defineComponent({
|
|
|
234
240
|
},
|
|
235
241
|
},
|
|
236
242
|
})
|
|
237
|
-
</script>
|
|
238
|
-
|
|
239
|
-
<style lang="scss"></style>
|
|
243
|
+
</script>
|
|
@@ -50,11 +50,23 @@
|
|
|
50
50
|
<div
|
|
51
51
|
v-for="p in podcasts"
|
|
52
52
|
:key="p.podcastId"
|
|
53
|
-
class="border-top emission-item-border-color p-2 secondary-bg d-flex"
|
|
53
|
+
class="border-top emission-item-border-color p-2 secondary-bg d-flex flex-column"
|
|
54
54
|
>
|
|
55
|
+
<router-link
|
|
56
|
+
v-if="isProgressBar"
|
|
57
|
+
:to="{
|
|
58
|
+
name: 'podcast',
|
|
59
|
+
params: { podcastId: p.podcastId },
|
|
60
|
+
query: { productor: $store.state.filter.organisationId },
|
|
61
|
+
}"
|
|
62
|
+
class="text-dark fw-bold two-line-clamp"
|
|
63
|
+
>
|
|
64
|
+
{{ p.title }}
|
|
65
|
+
</router-link>
|
|
55
66
|
<div class="d-flex justify-content-between flex-grow-1">
|
|
56
67
|
<div class="d-flex flex-column">
|
|
57
68
|
<router-link
|
|
69
|
+
v-if="!isProgressBar"
|
|
58
70
|
:to="{
|
|
59
71
|
name: 'podcast',
|
|
60
72
|
params: { podcastId: p.podcastId },
|
|
@@ -153,6 +165,9 @@ export default defineComponent({
|
|
|
153
165
|
},
|
|
154
166
|
|
|
155
167
|
computed: {
|
|
168
|
+
isProgressBar(): boolean{
|
|
169
|
+
return (state.emissionsPage.progressBar as boolean);
|
|
170
|
+
},
|
|
156
171
|
buttonMore(): boolean {
|
|
157
172
|
return (state.emissionsPage.buttonMore as boolean);
|
|
158
173
|
},
|
|
@@ -330,6 +330,7 @@ export default defineComponent({
|
|
|
330
330
|
</script>
|
|
331
331
|
|
|
332
332
|
<style lang="scss">
|
|
333
|
+
.octopus-app{
|
|
333
334
|
.advanced-search-container {
|
|
334
335
|
background: #fff;
|
|
335
336
|
border-radius: 0.8rem;
|
|
@@ -360,4 +361,5 @@ export default defineComponent({
|
|
|
360
361
|
padding-right: 40px;
|
|
361
362
|
}
|
|
362
363
|
}
|
|
364
|
+
}
|
|
363
365
|
</style>
|
|
@@ -105,7 +105,7 @@ export default defineComponent({
|
|
|
105
105
|
}
|
|
106
106
|
const queries = this.$route.query;
|
|
107
107
|
if (queries.iabId) {
|
|
108
|
-
this.$router.
|
|
108
|
+
this.$router.replace({ query: {...queries, ...{iabId: undefined} } });
|
|
109
109
|
}
|
|
110
110
|
this.$store.commit('filterIab', undefined);
|
|
111
111
|
}
|
|
@@ -86,6 +86,7 @@ export default defineComponent({
|
|
|
86
86
|
},
|
|
87
87
|
watch: {
|
|
88
88
|
queryIntern(): void {
|
|
89
|
+
if(this.queryIntern !== this.searchPattern)
|
|
89
90
|
this.$emit('updateSearchPattern', this.queryIntern);
|
|
90
91
|
},
|
|
91
92
|
filterOrga(): void {
|
|
@@ -98,6 +99,9 @@ export default defineComponent({
|
|
|
98
99
|
},
|
|
99
100
|
},
|
|
100
101
|
async created() {
|
|
102
|
+
if(this.searchPattern){
|
|
103
|
+
this.queryIntern=this.searchPattern;
|
|
104
|
+
}
|
|
101
105
|
if (!this.organisationId) return;
|
|
102
106
|
if(this.$store.state.filter.organisationId === this.organisationId){
|
|
103
107
|
this.keepOrganisation = true;
|
|
@@ -114,11 +118,17 @@ export default defineComponent({
|
|
|
114
118
|
});
|
|
115
119
|
this.keepOrganisation = false;
|
|
116
120
|
if (organisation && organisation.id) {
|
|
117
|
-
this.showBubble = true;
|
|
118
|
-
setTimeout(() => {
|
|
119
|
-
this.showBubble = false;
|
|
120
|
-
}, 6000);
|
|
121
121
|
this.$emit('updateOrganisationId', organisation.id);
|
|
122
|
+
if(organisation.private){
|
|
123
|
+
this.$nextTick(() => {
|
|
124
|
+
this.onKeepOrganisation();
|
|
125
|
+
});
|
|
126
|
+
} else{
|
|
127
|
+
this.showBubble = true;
|
|
128
|
+
setTimeout(() => {
|
|
129
|
+
this.showBubble = false;
|
|
130
|
+
}, 6000);
|
|
131
|
+
}
|
|
122
132
|
} else {
|
|
123
133
|
this.$emit('updateOrganisationId', undefined);
|
|
124
134
|
}
|
|
@@ -143,7 +153,7 @@ export default defineComponent({
|
|
|
143
153
|
|
|
144
154
|
<style lang="scss">
|
|
145
155
|
@import '../../../sass/_variables.scss';
|
|
146
|
-
|
|
156
|
+
.octopus-app{
|
|
147
157
|
.filter-speech-bubble {
|
|
148
158
|
position: absolute;
|
|
149
159
|
background: $octopus-primary-dark;
|
|
@@ -208,4 +218,5 @@ export default defineComponent({
|
|
|
208
218
|
margin-right: 0;
|
|
209
219
|
}
|
|
210
220
|
}
|
|
221
|
+
}
|
|
211
222
|
</style>
|
|
@@ -229,7 +229,7 @@ export default defineComponent({
|
|
|
229
229
|
}
|
|
230
230
|
const queries = this.$route.query;
|
|
231
231
|
if (queries.rubriquesId) {
|
|
232
|
-
this.$router.
|
|
232
|
+
this.$router.replace({ query: {...queries, ...{rubriquesId: undefined} } });
|
|
233
233
|
}
|
|
234
234
|
this.$store.commit('filterRubrique', []);
|
|
235
235
|
}
|
|
@@ -273,6 +273,7 @@ export default defineComponent({
|
|
|
273
273
|
</script>
|
|
274
274
|
|
|
275
275
|
<style lang="scss">
|
|
276
|
+
.octopus-app{
|
|
276
277
|
.live-date-box {
|
|
277
278
|
width: 200px;
|
|
278
279
|
display: flex;
|
|
@@ -304,5 +305,5 @@ export default defineComponent({
|
|
|
304
305
|
width: 0;
|
|
305
306
|
flex-grow: 1;
|
|
306
307
|
}
|
|
307
|
-
|
|
308
|
+
}
|
|
308
309
|
</style>
|