@saooti/octopus-sdk 32.0.18 → 32.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/package.json +1 -1
- package/src/components/display/filter/AdvancedSearch.vue +4 -6
- package/src/components/display/filter/DateFilter.vue +0 -1
- package/src/components/display/filter/RubriqueFilter.vue +1 -1
- package/src/components/display/filter/SearchOrder.vue +1 -1
- package/src/components/display/list/ListPaginate.vue +8 -4
- package/src/components/display/playlist/PlaylistItem.vue +1 -1
- package/src/components/display/playlist/PodcastList.vue +2 -6
- package/src/components/display/podcasts/PodcastItem.vue +0 -1
- package/src/components/display/podcasts/PodcastItemInfo.vue +0 -5
- package/src/components/display/podcasts/PodcastList.vue +4 -2
- package/src/components/misc/Footer.vue +3 -3
- package/src/components/pages/Playlists.vue +1 -1
package/README.md
CHANGED
|
@@ -661,4 +661,7 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
661
661
|
* 32.0.15 Pb lié refactor
|
|
662
662
|
* 32.0.16 Pb lié refactor
|
|
663
663
|
* 32.0.17 AdvancedSearch components
|
|
664
|
-
* 32.0.18 AdvancedSearch components
|
|
664
|
+
* 32.0.18 AdvancedSearch components
|
|
665
|
+
* 32.0.19 Playlist publique
|
|
666
|
+
* 32.0.20 Playlist publique
|
|
667
|
+
* 32.0.21 Amélioration List Paginate
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
@updateRubriquageFilter="updateRubriquageFilter"
|
|
31
31
|
/>
|
|
32
32
|
<DateFilter
|
|
33
|
-
:
|
|
33
|
+
:is-emission="isEmission"
|
|
34
34
|
@updateToDate="updateToDate"
|
|
35
35
|
@updateFromDate="updateFromDate"
|
|
36
36
|
/>
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
{{ $t('Sort') }}
|
|
64
64
|
</div>
|
|
65
65
|
<SearchOrder
|
|
66
|
-
:
|
|
67
|
-
:
|
|
68
|
-
:
|
|
66
|
+
:is-emission="isEmission"
|
|
67
|
+
:is-search-bar="isSearchBar"
|
|
68
|
+
:sort-criteria="sortCriteria"
|
|
69
69
|
@updateSortCriteria="updateSortCriteria"
|
|
70
70
|
/>
|
|
71
71
|
</div>
|
|
@@ -81,7 +81,6 @@ 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 ClassicRadio from '../../form/ClassicRadio.vue';
|
|
85
84
|
import { RubriquageFilter } from '@/store/class/rubrique/rubriquageFilter';
|
|
86
85
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
87
86
|
const MonetizableFilter = defineAsyncComponent(() => import('./MonetizableFilter.vue'));
|
|
@@ -91,7 +90,6 @@ export default defineComponent({
|
|
|
91
90
|
CategorySearchFilter,
|
|
92
91
|
RubriqueFilter,
|
|
93
92
|
ClassicCheckbox,
|
|
94
|
-
ClassicRadio,
|
|
95
93
|
DateFilter,
|
|
96
94
|
SearchOrder
|
|
97
95
|
},
|
|
@@ -168,7 +168,7 @@ export default defineComponent({
|
|
|
168
168
|
|
|
169
169
|
created() {
|
|
170
170
|
if(!this.modifyFilter){
|
|
171
|
-
if(this.initRubriqueFilter){
|
|
171
|
+
if(this.initRubriqueFilter && this.initRubriqueFilter.length > 0){
|
|
172
172
|
this.arrayFilter = Array.from(this.initRubriqueFilter);
|
|
173
173
|
this.isRubriquage = true;
|
|
174
174
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
{title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
|
|
7
7
|
{title:$t('Sort name'), value:'NAME'}]:
|
|
8
8
|
[{title:$t('Sort last'), value:isEmission?'LAST_PODCAST_DESC':'DATE'},
|
|
9
|
-
|
|
9
|
+
{title:$t('Sort name'), value:'NAME'}]"
|
|
10
10
|
/>
|
|
11
11
|
</template>
|
|
12
12
|
|
|
@@ -8,14 +8,17 @@
|
|
|
8
8
|
:error-text="errorText"
|
|
9
9
|
/>
|
|
10
10
|
<template v-if="!loading">
|
|
11
|
-
<div
|
|
11
|
+
<div
|
|
12
|
+
v-if="!justSizeChosen"
|
|
13
|
+
class="paginate-section mb-2 page-box"
|
|
14
|
+
>
|
|
12
15
|
<div class="text-secondary">
|
|
13
16
|
<template v-if="textCount && (windowWidth > 1300 || windowWidth<=960)">
|
|
14
17
|
{{ textCount }}
|
|
15
18
|
</template>
|
|
16
19
|
</div>
|
|
17
20
|
<Paginate
|
|
18
|
-
v-if="!isPhone"
|
|
21
|
+
v-if="!isPhone && !justSizeChosen"
|
|
19
22
|
:first="first"
|
|
20
23
|
:rows-per-page="rowsPerPage"
|
|
21
24
|
:total-count="totalCount"
|
|
@@ -27,7 +30,7 @@
|
|
|
27
30
|
</template>
|
|
28
31
|
<slot name="list" />
|
|
29
32
|
<button
|
|
30
|
-
v-show="((first+rowsPerPage) < totalCount) && isPhone"
|
|
33
|
+
v-show="((first+rowsPerPage) < totalCount) && (isPhone || justSizeChosen)"
|
|
31
34
|
:disabled="loading"
|
|
32
35
|
class="btn"
|
|
33
36
|
:class="buttonPlus ? 'btn-primary align-self-center width-fit-content m-4' : 'btn-more'"
|
|
@@ -66,7 +69,8 @@ export default defineComponent({
|
|
|
66
69
|
loadingText:{ default: undefined, type: String},
|
|
67
70
|
errorText:{ default: undefined, type: String},
|
|
68
71
|
loading: { default: false, type:Boolean},
|
|
69
|
-
isMobile: { default: false, type: Boolean}
|
|
72
|
+
isMobile: { default: false, type: Boolean},
|
|
73
|
+
justSizeChosen:{default: false, type: Boolean}
|
|
70
74
|
},
|
|
71
75
|
|
|
72
76
|
emits: ['update:first', 'update:rowsPerPage', 'update:isMobile'],
|
|
@@ -100,7 +100,7 @@ export default defineComponent({
|
|
|
100
100
|
true == state.generalParameters.isAdmin;
|
|
101
101
|
},
|
|
102
102
|
activePlaylist(): boolean {
|
|
103
|
-
return 0 !== Object.keys(this.playlist.samplingViews).length;
|
|
103
|
+
return 0 !== Object.keys(this.playlist.samplingViews??[]).length;
|
|
104
104
|
},
|
|
105
105
|
},
|
|
106
106
|
mounted() {
|
|
@@ -85,7 +85,7 @@ export default defineComponent({
|
|
|
85
85
|
return this.notEmptyPlaylist ? this.$t('Podcasts in the playlist') : this.$t('No podcasts in the playlist');
|
|
86
86
|
},
|
|
87
87
|
notEmptyPlaylist(): boolean {
|
|
88
|
-
return 0 !== Object.keys(this.playlist.
|
|
88
|
+
return 0 !== Object.keys(this.playlist.samplingViews??[]).length;
|
|
89
89
|
},
|
|
90
90
|
podcastsDisplay(): Array<Podcast>{
|
|
91
91
|
if(this.isMobile){
|
|
@@ -122,11 +122,7 @@ export default defineComponent({
|
|
|
122
122
|
this.podcasts.length = 0;
|
|
123
123
|
this.loading = true;
|
|
124
124
|
try {
|
|
125
|
-
|
|
126
|
-
for (let index = 0, len = content.length; index < len; index++) {
|
|
127
|
-
content[index].order = this.playlist.podcasts[content[index].podcastId];
|
|
128
|
-
}
|
|
129
|
-
this.podcasts = content;
|
|
125
|
+
this.podcasts = await octopusApi.fetchData<Array<Podcast>>(0, 'playlist/'+this.playlist.playlistId+'/content');
|
|
130
126
|
if (!this.editRight) {
|
|
131
127
|
this.podcasts = this.podcasts.filter((p: Podcast|null) => {
|
|
132
128
|
return (
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
:pub-date="podcast.pubDate"
|
|
39
39
|
:podcast-organisation-id="podcast.organisation.id"
|
|
40
40
|
:podcast-organisation-name="podcast.organisation.name"
|
|
41
|
-
:podcast-order="podcast.order"
|
|
42
41
|
:duration="podcast.duration"
|
|
43
42
|
:animators="podcast.animators"
|
|
44
43
|
@mouseenter="showDescription"
|
|
@@ -45,10 +45,6 @@
|
|
|
45
45
|
>
|
|
46
46
|
<div>{{ '© ' + podcastOrganisationName }}</div>
|
|
47
47
|
</router-link>
|
|
48
|
-
<span
|
|
49
|
-
v-if="editRight && podcastOrder && podcastOrder > 1"
|
|
50
|
-
class="saooti-pin text-danger pe-2"
|
|
51
|
-
/>
|
|
52
48
|
</div>
|
|
53
49
|
</div>
|
|
54
50
|
</template>
|
|
@@ -79,7 +75,6 @@ export default defineComponent({
|
|
|
79
75
|
pubDate: { default: "", type: String},
|
|
80
76
|
podcastOrganisationId: { default: "", type: String},
|
|
81
77
|
podcastOrganisationName: { default: "", type: String},
|
|
82
|
-
podcastOrder: { default: undefined, type: Number},
|
|
83
78
|
duration: { default: 0, type: Number},
|
|
84
79
|
animators: { default: undefined, type: Object as ()=> Array<Participant>},
|
|
85
80
|
},
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
:loading="loading"
|
|
10
10
|
:loading-text="loading?$t('Loading podcasts ...'):undefined"
|
|
11
11
|
:error-text="!loading && !podcasts.length?$t(`No podcast match your query`):undefined"
|
|
12
|
+
:just-size-chosen="justSizeChosen"
|
|
12
13
|
>
|
|
13
14
|
<template #list>
|
|
14
15
|
<ul
|
|
@@ -69,6 +70,7 @@ export default defineComponent({
|
|
|
69
70
|
rubriqueId: { default: () => [], type: Array as ()=>Array<number> },
|
|
70
71
|
rubriquageId:{ default: () => [], type: Array as ()=>Array<number> },
|
|
71
72
|
noRubriquageId: { default: () => [], type: Array as ()=>Array<number> },
|
|
73
|
+
justSizeChosen:{default: false, type: Boolean}
|
|
72
74
|
},
|
|
73
75
|
emits: ['fetch', 'emptyList'],
|
|
74
76
|
|
|
@@ -85,7 +87,7 @@ export default defineComponent({
|
|
|
85
87
|
|
|
86
88
|
computed: {
|
|
87
89
|
displayArray(): Array<Podcast>{
|
|
88
|
-
if(this.isMobile){
|
|
90
|
+
if(this.isMobile || this.justSizeChosen){
|
|
89
91
|
return this.podcasts;
|
|
90
92
|
}
|
|
91
93
|
return this.podcasts.slice(this.dfirst, Math.min(this.dfirst + this.dsize,this.totalCount));
|
|
@@ -176,7 +178,7 @@ export default defineComponent({
|
|
|
176
178
|
});
|
|
177
179
|
this.podcasts = this.podcasts.slice(0, this.dfirst).concat(responsePodcasts).concat(this.podcasts.slice(this.dfirst+this.dsize, this.podcasts.length));
|
|
178
180
|
this.$emit('fetch', this.podcasts);
|
|
179
|
-
this.totalCount = data.count;
|
|
181
|
+
this.totalCount = this.justSizeChosen ? this.size : data.count;
|
|
180
182
|
if (0 === this.podcasts.length) {
|
|
181
183
|
this.$emit('emptyList');
|
|
182
184
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="bg-dark">
|
|
3
3
|
<div
|
|
4
|
+
v-if="displayFooter"
|
|
4
5
|
id="footer"
|
|
5
6
|
ref="footer"
|
|
6
7
|
class="d-flex-column p-3 secondary-bg border-top"
|
|
7
|
-
v-if="displayFooter"
|
|
8
8
|
>
|
|
9
9
|
<div class="d-flex flex-column flex-grow-1 align-items-end">
|
|
10
10
|
<div class="d-flex flex-column">
|
|
@@ -107,11 +107,11 @@ export default defineComponent({
|
|
|
107
107
|
Player,
|
|
108
108
|
ClassicSelect
|
|
109
109
|
},
|
|
110
|
+
|
|
111
|
+
mixins:[cookies],
|
|
110
112
|
props: {
|
|
111
113
|
displayFooter: { default: true, type: Boolean},
|
|
112
114
|
},
|
|
113
|
-
|
|
114
|
-
mixins:[cookies],
|
|
115
115
|
data() {
|
|
116
116
|
return {
|
|
117
117
|
language: this.$i18n.locale as string,
|