@saooti/octopus-sdk 33.2.10 → 33.2.12
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 +1 -1
- package/src/components/display/emission/EmissionItem.vue +1 -1
- package/src/components/display/emission/EmissionPlayerItem.vue +1 -1
- package/src/components/display/filter/DateFilter.vue +2 -2
- package/src/components/display/filter/ProductorSearch.vue +6 -15
- package/src/components/display/list/Paginate.vue +11 -22
- package/src/components/display/organisation/OrganisationChooser.vue +4 -4
- package/src/components/display/organisation/OrganisationChooserLight.vue +5 -5
- package/src/components/display/participant/ParticipantItem.vue +1 -1
- package/src/components/display/playlist/PlaylistItem.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +1 -1
- package/src/components/display/podcasts/PodcastItem.vue +12 -9
- package/src/components/display/podcasts/PodcastItemInfo.vue +5 -2
- package/src/components/display/podcasts/TagList.vue +1 -1
- package/src/components/display/sharing/SharePlayerColors.vue +6 -39
- package/src/components/form/ClassicCheckbox.vue +3 -23
- package/src/components/form/ClassicDatePicker.vue +5 -2
- package/src/components/form/ClassicRadio.vue +2 -22
- package/src/components/form/ClassicSearch.vue +4 -24
- package/src/components/form/ClassicSelect.vue +3 -22
- package/src/components/misc/Accordion.vue +1 -1
- package/src/components/misc/Footer.vue +9 -6
- package/src/components/misc/Nav.vue +8 -2
- package/src/components/misc/Popover.vue +1 -1
- package/src/components/misc/player/PlayerCompact.vue +1 -1
- package/src/components/misc/player/PlayerLarge.vue +1 -1
- package/src/components/pages/Emission.vue +1 -1
- package/src/components/pages/Emissions.vue +16 -16
- package/src/components/pages/Participant.vue +1 -1
- package/src/components/pages/Participants.vue +2 -4
- package/src/components/pages/Playlist.vue +1 -1
- package/src/components/pages/Playlists.vue +1 -3
- package/src/components/pages/Podcasts.vue +18 -21
package/package.json
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
class="d-flex flex-grow-1 text-dark"
|
|
13
13
|
>
|
|
14
14
|
<img
|
|
15
|
+
v-lazy="proxyImageUrl(emission.imageUrl, '260')"
|
|
15
16
|
width="260"
|
|
16
17
|
height="260"
|
|
17
|
-
v-lazy="proxyImageUrl(emission.imageUrl, '260')"
|
|
18
18
|
class="img-box"
|
|
19
19
|
:title="$t('Emission name image', {name:emission.name})"
|
|
20
20
|
:alt="$t('Emission name image', {name:emission.name})"
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
class="img-box rounded-0"
|
|
21
21
|
>
|
|
22
22
|
<img
|
|
23
|
+
v-lazy="proxyImageUrl(emission.imageUrl, '260')"
|
|
23
24
|
width="260"
|
|
24
25
|
height="260"
|
|
25
|
-
v-lazy="proxyImageUrl(emission.imageUrl, '260')"
|
|
26
26
|
:title="$t('Emission name image', {name:emission.name})"
|
|
27
27
|
:alt="$t('Emission name image', {name:emission.name})"
|
|
28
28
|
class="img-box rounded-0"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<ClassicDatePicker
|
|
17
17
|
class="ps-3 pe-3"
|
|
18
18
|
:date="fromDate"
|
|
19
|
-
|
|
19
|
+
template-class="px-2 py-1 border rounded focus:border-blue-300"
|
|
20
20
|
@updateDate="fromDate=$event;updateFromDate"
|
|
21
21
|
/>
|
|
22
22
|
</div>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<ClassicDatePicker
|
|
31
31
|
class="ps-3"
|
|
32
32
|
:date="toDate"
|
|
33
|
-
|
|
33
|
+
template-class="px-2 py-1 border rounded focus:border-blue-300"
|
|
34
34
|
@updateDate="toDate=$event;updateToDate"
|
|
35
35
|
/>
|
|
36
36
|
</div>
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
32
32
|
<ClassicSearch
|
|
33
|
-
|
|
33
|
+
:text-init="searchPattern"
|
|
34
34
|
class="d-flex align-items-center flex-grow-1"
|
|
35
35
|
:autofocus="true"
|
|
36
36
|
id-checkbox="productor-search-input"
|
|
37
37
|
:label="searchText"
|
|
38
|
+
@update:textInit="$emit('update:searchPattern', $event)"
|
|
38
39
|
/>
|
|
39
40
|
</div>
|
|
40
41
|
</template>
|
|
@@ -60,16 +61,14 @@ export default defineComponent({
|
|
|
60
61
|
searchPattern: { default: '', type: String },
|
|
61
62
|
type: { default: 'podcast', type: String },
|
|
62
63
|
},
|
|
63
|
-
emits: ['
|
|
64
|
+
emits: ['update:organisationId', 'update:searchPattern'],
|
|
64
65
|
|
|
65
66
|
data() {
|
|
66
67
|
return {
|
|
67
68
|
keepOrganisation: false as boolean,
|
|
68
69
|
showBubble: false as boolean,
|
|
69
|
-
queryIntern: '' as string,
|
|
70
70
|
};
|
|
71
71
|
},
|
|
72
|
-
|
|
73
72
|
computed: {
|
|
74
73
|
isPodcastmaker(): boolean {
|
|
75
74
|
return (state.generalParameters.podcastmaker as boolean);
|
|
@@ -85,22 +84,14 @@ export default defineComponent({
|
|
|
85
84
|
},
|
|
86
85
|
},
|
|
87
86
|
watch: {
|
|
88
|
-
queryIntern(): void {
|
|
89
|
-
if(this.queryIntern !== this.searchPattern){
|
|
90
|
-
this.$emit('updateSearchPattern', this.queryIntern);
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
87
|
filterOrga():void{
|
|
94
88
|
this.keepOrganisation = undefined!==this.filterOrga;
|
|
95
89
|
if (this.filterOrga) {
|
|
96
|
-
this.$emit('
|
|
90
|
+
this.$emit('update:organisationId', this.filterOrga);
|
|
97
91
|
}
|
|
98
92
|
},
|
|
99
93
|
},
|
|
100
94
|
async created() {
|
|
101
|
-
if(this.searchPattern){
|
|
102
|
-
this.queryIntern=this.searchPattern;
|
|
103
|
-
}
|
|
104
95
|
if (!this.organisationId) return;
|
|
105
96
|
if(this.$store.state.filter.organisationId === this.organisationId){
|
|
106
97
|
this.keepOrganisation = true;
|
|
@@ -114,7 +105,7 @@ export default defineComponent({
|
|
|
114
105
|
this.$store.commit('filterOrga', {orgaId: undefined});
|
|
115
106
|
this.keepOrganisation = false;
|
|
116
107
|
if (organisation && organisation.id) {
|
|
117
|
-
this.$emit('
|
|
108
|
+
this.$emit('update:organisationId', organisation.id);
|
|
118
109
|
if("PUBLIC"!==organisation.privacy){
|
|
119
110
|
this.$nextTick(() => {
|
|
120
111
|
this.onKeepOrganisation();
|
|
@@ -126,7 +117,7 @@ export default defineComponent({
|
|
|
126
117
|
}, 6000);
|
|
127
118
|
}
|
|
128
119
|
} else {
|
|
129
|
-
this.$emit('
|
|
120
|
+
this.$emit('update:organisationId', undefined);
|
|
130
121
|
}
|
|
131
122
|
},
|
|
132
123
|
async onKeepOrganisation(): Promise<void> {
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
<label for="rows-per-page-select">{{ $t('Items per page :') }}</label>
|
|
8
8
|
<select
|
|
9
9
|
id="rows-per-page-select"
|
|
10
|
-
|
|
10
|
+
:model-value="rowsPerPage"
|
|
11
11
|
class="c-hand p-1 mx-2"
|
|
12
|
+
@update:modelValue="$emit('update:rowsPerPage',$event)"
|
|
12
13
|
>
|
|
13
14
|
<option
|
|
14
15
|
v-for="option in optionsRowsPerPage"
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
v-else
|
|
58
59
|
class="btn"
|
|
59
60
|
:class="{ 'active': page === (pageNumber-1) }"
|
|
60
|
-
@click="changeFirst((pageNumber-1)*
|
|
61
|
+
@click="changeFirst((pageNumber-1)*rowsPerPage)"
|
|
61
62
|
>
|
|
62
63
|
{{ pageNumber }}
|
|
63
64
|
</button>
|
|
@@ -87,26 +88,26 @@
|
|
|
87
88
|
</div>
|
|
88
89
|
</div>
|
|
89
90
|
</template>
|
|
90
|
-
|
|
91
91
|
<script lang="ts">
|
|
92
92
|
import { defineComponent } from 'vue';
|
|
93
93
|
export default defineComponent({
|
|
94
94
|
name: "Paginate",
|
|
95
|
-
|
|
96
|
-
},
|
|
95
|
+
|
|
97
96
|
props: {
|
|
98
97
|
totalCount: { default: 0, type: Number },
|
|
99
98
|
first: { default: 0, type: Number },
|
|
100
99
|
rowsPerPage:{ default:0, type:Number},
|
|
101
100
|
rangeSize:{default:1, type: Number}
|
|
102
101
|
},
|
|
102
|
+
|
|
103
103
|
emits:['update:first', 'update:rowsPerPage'],
|
|
104
|
+
|
|
104
105
|
data() {
|
|
105
106
|
return {
|
|
106
|
-
rowsPerPageIntern: 30 as number,
|
|
107
107
|
optionsRowsPerPage: [5, 10, 15, 20, 25 , 30, 50] as Array<number>,
|
|
108
108
|
};
|
|
109
109
|
},
|
|
110
|
+
|
|
110
111
|
computed:{
|
|
111
112
|
buttonsLeft(){
|
|
112
113
|
return [{
|
|
@@ -144,18 +145,6 @@ export default defineComponent({
|
|
|
144
145
|
return (this.totalPage-1)*this.rowsPerPage;
|
|
145
146
|
}
|
|
146
147
|
},
|
|
147
|
-
watch: {
|
|
148
|
-
rowsPerPageIntern(){
|
|
149
|
-
if(this.rowsPerPage !== this.rowsPerPageIntern){
|
|
150
|
-
this.$emit('update:rowsPerPage', this.rowsPerPageIntern);
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
rowsPerPage(){
|
|
154
|
-
if(this.rowsPerPage !== this.rowsPerPageIntern){
|
|
155
|
-
this.rowsPerPageIntern =this.rowsPerPage;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
148
|
created(){
|
|
160
149
|
this.initRowsPerPage();
|
|
161
150
|
},
|
|
@@ -189,11 +178,11 @@ export default defineComponent({
|
|
|
189
178
|
return res;
|
|
190
179
|
},
|
|
191
180
|
initRowsPerPage(){
|
|
192
|
-
if(
|
|
193
|
-
|
|
194
|
-
this.optionsRowsPerPage.sort((a,b)=>a-b);
|
|
181
|
+
if(this.optionsRowsPerPage.includes(this.rowsPerPage)){
|
|
182
|
+
return;
|
|
195
183
|
}
|
|
196
|
-
this.
|
|
184
|
+
this.optionsRowsPerPage.push(this.rowsPerPage);
|
|
185
|
+
this.optionsRowsPerPage.sort((a,b)=>a-b);
|
|
197
186
|
},
|
|
198
187
|
changeFirst(newFirst: number){
|
|
199
188
|
this.$emit('update:first', newFirst);
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
<template #singleLabel="{ option }">
|
|
45
45
|
<div class="multiselect-octopus-proposition">
|
|
46
46
|
<img
|
|
47
|
-
width="32"
|
|
48
|
-
height="32"
|
|
49
47
|
v-if="!light"
|
|
50
48
|
v-lazy="proxyImageUrl(option.imageUrl, '32')"
|
|
49
|
+
width="32"
|
|
50
|
+
height="32"
|
|
51
51
|
class="option__image"
|
|
52
52
|
:alt="option.name"
|
|
53
53
|
>
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"
|
|
67
67
|
>
|
|
68
68
|
<img
|
|
69
|
-
width="32"
|
|
70
|
-
height="32"
|
|
71
69
|
v-if="!light"
|
|
72
70
|
v-lazy="proxyImageUrl(option.imageUrl, '32')"
|
|
71
|
+
width="32"
|
|
72
|
+
height="32"
|
|
73
73
|
class="option__image"
|
|
74
74
|
:alt="option.name"
|
|
75
75
|
>
|
|
@@ -80,10 +80,10 @@ export default defineComponent({
|
|
|
80
80
|
|
|
81
81
|
<style lang="scss">
|
|
82
82
|
.octopus-app{
|
|
83
|
-
.organisation-chooser-light select {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
83
|
+
.organisation-chooser-light select {
|
|
84
|
+
-webkit-appearance: none;
|
|
85
|
+
-moz-appearance: none;
|
|
86
|
+
appearance: none;
|
|
87
|
+
}
|
|
88
88
|
}
|
|
89
89
|
</style>
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
:title="$t('Participant')"
|
|
14
14
|
>
|
|
15
15
|
<img
|
|
16
|
+
v-lazy="proxyImageUrl(participant.imageUrl, '200')"
|
|
16
17
|
width="200"
|
|
17
18
|
height="200"
|
|
18
|
-
v-lazy="proxyImageUrl(participant.imageUrl, '200')"
|
|
19
19
|
:title="$t('Animator image')"
|
|
20
20
|
:alt="$t('Animator image')"
|
|
21
21
|
class="img-box-circle"
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
class="d-flex flex-grow-1 text-dark"
|
|
14
14
|
>
|
|
15
15
|
<img
|
|
16
|
+
v-lazy="proxyImageUrl(playlist.imageUrl, '260')"
|
|
16
17
|
width="260"
|
|
17
18
|
height="260"
|
|
18
|
-
v-lazy="proxyImageUrl(playlist.imageUrl, '260')"
|
|
19
19
|
:title="$t('Playlist name image', {name:name})"
|
|
20
20
|
:alt="$t('Playlist name image', {name:name})"
|
|
21
21
|
class="img-box"
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
class="img-box d-flex flex-column justify-content-start align-items-start position-relative justify rounded-lg flex-shrink-0 float-start"
|
|
5
5
|
>
|
|
6
6
|
<img
|
|
7
|
+
v-lazy="proxyImageUrl(podcast.imageUrl,'260')"
|
|
7
8
|
width="260"
|
|
8
9
|
height="260"
|
|
9
|
-
v-lazy="proxyImageUrl(podcast.imageUrl,'260')"
|
|
10
10
|
class="img-box"
|
|
11
11
|
:alt="$t('Episode name image', {name:podcast.title})"
|
|
12
12
|
>
|
|
@@ -33,17 +33,20 @@
|
|
|
33
33
|
/>
|
|
34
34
|
<!-- eslint-enable -->
|
|
35
35
|
</div>
|
|
36
|
-
<
|
|
37
|
-
:podcast-id="podcast.podcastId"
|
|
38
|
-
:title="podcast.title"
|
|
39
|
-
:pub-date="podcast.pubDate"
|
|
40
|
-
:podcast-organisation-id="podcast.organisation.id"
|
|
41
|
-
:podcast-organisation-name="podcast.organisation.name"
|
|
42
|
-
:duration="podcast.duration"
|
|
43
|
-
:animators="podcast.animators"
|
|
36
|
+
<div
|
|
44
37
|
@mouseenter="showDescription"
|
|
45
38
|
@mouseleave="hideDescription"
|
|
46
|
-
|
|
39
|
+
>
|
|
40
|
+
<PodcastItemInfo
|
|
41
|
+
:podcast-id="podcast.podcastId"
|
|
42
|
+
:title="podcast.title"
|
|
43
|
+
:pub-date="podcast.pubDate"
|
|
44
|
+
:podcast-organisation-id="podcast.organisation.id"
|
|
45
|
+
:podcast-organisation-name="podcast.organisation.name"
|
|
46
|
+
:duration="podcast.duration"
|
|
47
|
+
:animators="podcast.animators"
|
|
48
|
+
/>
|
|
49
|
+
</div>
|
|
47
50
|
</div>
|
|
48
51
|
</template>
|
|
49
52
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
}"
|
|
23
23
|
class="text-dark flex-grow-1 title-podcast-item"
|
|
24
24
|
>
|
|
25
|
-
|
|
25
|
+
{{ title }}
|
|
26
26
|
</router-link>
|
|
27
27
|
<PodcastPlayBar
|
|
28
28
|
:podcast-id="podcastId"
|
|
@@ -30,7 +30,10 @@
|
|
|
30
30
|
class="mx-2"
|
|
31
31
|
/>
|
|
32
32
|
<div class="d-flex justify-content-between">
|
|
33
|
-
<div
|
|
33
|
+
<div
|
|
34
|
+
v-if="isPodcastmaker"
|
|
35
|
+
class="useless-div-for-podcastmaker"
|
|
36
|
+
/>
|
|
34
37
|
<router-link
|
|
35
38
|
v-if="!isPodcastmaker"
|
|
36
39
|
:to="{
|
|
@@ -3,23 +3,25 @@
|
|
|
3
3
|
<div class="d-flex flex-column align-items-center flex-shrink-0 me-3">
|
|
4
4
|
<div>{{ $t('Choose color') }}</div>
|
|
5
5
|
<VSwatches
|
|
6
|
-
|
|
6
|
+
:model-value="color"
|
|
7
7
|
class="c-hand "
|
|
8
8
|
show-fallback
|
|
9
9
|
colors="text-advanced"
|
|
10
10
|
popover-to="right"
|
|
11
|
-
:data-color="
|
|
11
|
+
:data-color="color"
|
|
12
|
+
@update:modelValue="$emit('update:color',$event)"
|
|
12
13
|
/>
|
|
13
14
|
</div>
|
|
14
15
|
<div class="d-flex flex-column align-items-center">
|
|
15
16
|
<div>{{ $t('Choose theme') }}</div>
|
|
16
17
|
<VSwatches
|
|
17
|
-
|
|
18
|
+
:model-value="theme"
|
|
18
19
|
class="c-hand "
|
|
19
20
|
show-fallback
|
|
20
21
|
colors="text-advanced"
|
|
21
22
|
popover-to="right"
|
|
22
|
-
:data-color="
|
|
23
|
+
:data-color="theme"
|
|
24
|
+
@update:modelValue="$emit('update:theme',$event)"
|
|
23
25
|
/>
|
|
24
26
|
</div>
|
|
25
27
|
</div>
|
|
@@ -39,40 +41,5 @@ export default defineComponent({
|
|
|
39
41
|
theme: { default: '#000000', type: String},
|
|
40
42
|
},
|
|
41
43
|
emits:['update:color', 'update:theme'],
|
|
42
|
-
|
|
43
|
-
data() {
|
|
44
|
-
return {
|
|
45
|
-
internColor:'#40a372' as string,
|
|
46
|
-
internTheme:'#000000' as string,
|
|
47
|
-
};
|
|
48
|
-
},
|
|
49
|
-
watch:{
|
|
50
|
-
internColor(){
|
|
51
|
-
if(this.color !== this.internColor){
|
|
52
|
-
this.$emit('update:color', this.internColor);
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
internTheme(){
|
|
56
|
-
if(this.theme !== this.internTheme ){
|
|
57
|
-
this.$emit('update:theme', this.internTheme);
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
theme: {
|
|
61
|
-
immediate: true,
|
|
62
|
-
handler() {
|
|
63
|
-
if(this.theme !== this.internTheme){
|
|
64
|
-
this.internTheme = this.theme;
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
color: {
|
|
69
|
-
immediate: true,
|
|
70
|
-
handler() {
|
|
71
|
-
if(this.color !== this.internColor){
|
|
72
|
-
this.internColor = this.color;
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
44
|
})
|
|
78
45
|
</script>
|
|
@@ -5,17 +5,18 @@
|
|
|
5
5
|
>
|
|
6
6
|
<input
|
|
7
7
|
:id="idCheckbox"
|
|
8
|
-
|
|
8
|
+
:model-value="textInit"
|
|
9
9
|
type="checkbox"
|
|
10
10
|
:disabled="isDisabled"
|
|
11
11
|
:title="displayLabel?'':label"
|
|
12
12
|
:data-selenium="selenium"
|
|
13
|
+
@update:modelValue="$emit('update:textInit',$event)"
|
|
13
14
|
@click="emitClickAction"
|
|
14
15
|
>
|
|
15
16
|
<span
|
|
16
17
|
v-if="isSwitch"
|
|
17
18
|
class="slider"
|
|
18
|
-
@click="
|
|
19
|
+
@click="$emit('update:textInit',!textInit);emitClickAction"
|
|
19
20
|
/>
|
|
20
21
|
</div>
|
|
21
22
|
<label
|
|
@@ -41,27 +42,6 @@ export default defineComponent({
|
|
|
41
42
|
selenium: { default: '', type: String },
|
|
42
43
|
},
|
|
43
44
|
emits: ['update:textInit', 'clickAction'],
|
|
44
|
-
|
|
45
|
-
data() {
|
|
46
|
-
return {
|
|
47
|
-
textValue: false as boolean,
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
watch: {
|
|
51
|
-
textValue(){
|
|
52
|
-
if(this.textInit !== this.textValue){
|
|
53
|
-
this.$emit('update:textInit', this.textValue)
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
textInit: {
|
|
57
|
-
immediate: true,
|
|
58
|
-
handler() {
|
|
59
|
-
if(this.textInit !== this.textValue){
|
|
60
|
-
this.textValue =this.textInit;
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
45
|
methods:{
|
|
66
46
|
emitClickAction():void{
|
|
67
47
|
this.$emit('clickAction');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<DatePicker
|
|
3
3
|
ref="datePicker"
|
|
4
|
-
:
|
|
4
|
+
:model-value="undefined!==range ? range : date"
|
|
5
5
|
:mode="mode"
|
|
6
6
|
color="green"
|
|
7
7
|
is24hr
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
:masks="isMask ? masks : undefined"
|
|
15
15
|
@update:modelValue="$emit('updateDate', $event)"
|
|
16
16
|
>
|
|
17
|
-
<template
|
|
17
|
+
<template
|
|
18
|
+
v-if="templateClass"
|
|
19
|
+
#default="{ inputValue, inputEvents }"
|
|
20
|
+
>
|
|
18
21
|
<input
|
|
19
22
|
:class="templateClass"
|
|
20
23
|
:value="inputValue"
|
|
@@ -11,11 +11,12 @@
|
|
|
11
11
|
>
|
|
12
12
|
<input
|
|
13
13
|
:id="idRadio + option.value"
|
|
14
|
-
|
|
14
|
+
:model-value="textInit"
|
|
15
15
|
type="radio"
|
|
16
16
|
:name="idRadio"
|
|
17
17
|
:value="option.value"
|
|
18
18
|
:disabled="isDisabled"
|
|
19
|
+
@update:modelValue="$emit('update:textInit',$event)"
|
|
19
20
|
>
|
|
20
21
|
<label
|
|
21
22
|
class="c-hand"
|
|
@@ -40,27 +41,6 @@ export default defineComponent({
|
|
|
40
41
|
isColumn: {default:true, type:Boolean}
|
|
41
42
|
},
|
|
42
43
|
emits: ['update:textInit'],
|
|
43
|
-
|
|
44
|
-
data() {
|
|
45
|
-
return {
|
|
46
|
-
textValue: undefined as string|undefined,
|
|
47
|
-
};
|
|
48
|
-
},
|
|
49
|
-
watch: {
|
|
50
|
-
textValue(){
|
|
51
|
-
if(this.textInit !== this.textValue){
|
|
52
|
-
this.$emit('update:textInit', this.textValue)
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
textInit: {
|
|
56
|
-
immediate: true,
|
|
57
|
-
handler() {
|
|
58
|
-
if(this.textInit !== this.textValue){
|
|
59
|
-
this.textValue =this.textInit;
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
}
|
|
64
44
|
});
|
|
65
45
|
</script>
|
|
66
46
|
<style lang="scss">
|
|
@@ -3,24 +3,25 @@
|
|
|
3
3
|
<input
|
|
4
4
|
:id="idSearch"
|
|
5
5
|
ref="search"
|
|
6
|
-
|
|
6
|
+
:model-value="textInit"
|
|
7
7
|
type="text"
|
|
8
8
|
class="search-input w-100 p-2 "
|
|
9
9
|
:placeholder="label"
|
|
10
10
|
:autofocus="autofocus"
|
|
11
|
+
@update:modelValue="$emit('update:textInit',$event)"
|
|
11
12
|
>
|
|
12
13
|
<label
|
|
13
14
|
:for="idSearch"
|
|
14
15
|
:title="label"
|
|
15
16
|
/>
|
|
16
17
|
<div
|
|
17
|
-
v-if="!
|
|
18
|
+
v-if="!textInit"
|
|
18
19
|
class="saooti-search search-icon-container"
|
|
19
20
|
/>
|
|
20
21
|
<div
|
|
21
22
|
v-else
|
|
22
23
|
class="saooti-remove search-icon-container c-hand"
|
|
23
|
-
@click="
|
|
24
|
+
@click="$emit('update:textInit','')"
|
|
24
25
|
/>
|
|
25
26
|
</div>
|
|
26
27
|
</template>
|
|
@@ -37,27 +38,6 @@ export default defineComponent({
|
|
|
37
38
|
},
|
|
38
39
|
|
|
39
40
|
emits: ['update:textInit'],
|
|
40
|
-
|
|
41
|
-
data() {
|
|
42
|
-
return {
|
|
43
|
-
textValue: '' as string,
|
|
44
|
-
};
|
|
45
|
-
},
|
|
46
|
-
watch: {
|
|
47
|
-
textValue(){
|
|
48
|
-
if(this.textInit !== this.textValue){
|
|
49
|
-
this.$emit('update:textInit', this.textValue)
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
textInit: {
|
|
53
|
-
immediate: true,
|
|
54
|
-
handler() {
|
|
55
|
-
if(this.textInit !== this.textValue){
|
|
56
|
-
this.textValue =this.textInit;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
}
|
|
61
41
|
});
|
|
62
42
|
</script>
|
|
63
43
|
<style lang="scss">
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
>{{ label }}</label>
|
|
8
8
|
<select
|
|
9
9
|
:id="idSelect"
|
|
10
|
-
|
|
10
|
+
:model-value="textInit"
|
|
11
11
|
:disabled="isDisabled"
|
|
12
12
|
class="c-hand w-100"
|
|
13
13
|
:class="transparent?'transparent':''"
|
|
14
14
|
:style="getFontFamily"
|
|
15
|
+
@update:modelValue="$emit('update:textInit',$event)"
|
|
15
16
|
>
|
|
16
17
|
<option
|
|
17
18
|
v-for="option in options"
|
|
@@ -38,15 +39,10 @@ export default defineComponent({
|
|
|
38
39
|
textInit: { default: undefined, type: String },
|
|
39
40
|
},
|
|
40
41
|
emits: ['update:textInit'],
|
|
41
|
-
data() {
|
|
42
|
-
return {
|
|
43
|
-
textValue: undefined as string|undefined,
|
|
44
|
-
};
|
|
45
|
-
},
|
|
46
42
|
computed:{
|
|
47
43
|
getFontFamily(): string{
|
|
48
44
|
const item = this.options.find((x) => {
|
|
49
|
-
return this.
|
|
45
|
+
return this.textInit === x.value;
|
|
50
46
|
});
|
|
51
47
|
if(item && item.fontFamily){
|
|
52
48
|
return 'font-family:'+item.fontFamily;
|
|
@@ -54,21 +50,6 @@ export default defineComponent({
|
|
|
54
50
|
return "";
|
|
55
51
|
}
|
|
56
52
|
},
|
|
57
|
-
watch: {
|
|
58
|
-
textValue(){
|
|
59
|
-
if(this.textInit !== this.textValue){
|
|
60
|
-
this.$emit('update:textInit', this.textValue)
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
textInit: {
|
|
64
|
-
immediate: true,
|
|
65
|
-
handler() {
|
|
66
|
-
if(this.textInit !== this.textValue){
|
|
67
|
-
this.textValue =this.textInit;
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
53
|
});
|
|
73
54
|
</script>
|
|
74
55
|
<style lang="scss">
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
ref="footer"
|
|
5
5
|
class="d-flex align-items-center justify-content-between border-top mt-auto"
|
|
6
6
|
>
|
|
7
|
-
<div
|
|
7
|
+
<div
|
|
8
|
+
v-if="!isPodcastmaker"
|
|
9
|
+
class="d-flex align-items-center px-1"
|
|
10
|
+
>
|
|
8
11
|
<div class="text-dark me-2">
|
|
9
12
|
© Saooti 2019
|
|
10
13
|
</div>
|
|
@@ -23,11 +26,11 @@
|
|
|
23
26
|
:label="$t('Change locale')"
|
|
24
27
|
:transparent="true"
|
|
25
28
|
:options="[{title:'Deutsch', value:'de'},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
{title:'English', value:'en'},
|
|
30
|
+
{title:'Español', value:'es'},
|
|
31
|
+
{title:'Français', value:'fr'},
|
|
32
|
+
{title:'Italiano', value:'it'},
|
|
33
|
+
{title:'Slovenščina', value:'sl'}]"
|
|
31
34
|
/>
|
|
32
35
|
</div>
|
|
33
36
|
<a
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<ul
|
|
2
|
+
<ul
|
|
3
|
+
class="octopus-nav"
|
|
4
|
+
:class="light?'light':''"
|
|
5
|
+
>
|
|
3
6
|
<li
|
|
4
7
|
v-for="index in tabNumber"
|
|
5
8
|
v-show="hasSlot(index-1)"
|
|
@@ -23,7 +26,10 @@
|
|
|
23
26
|
class="octopus-tab-pane"
|
|
24
27
|
:class="activeTab === (index-1)? 'active':''"
|
|
25
28
|
>
|
|
26
|
-
<slot
|
|
29
|
+
<slot
|
|
30
|
+
:name="'tab'+(index-1)"
|
|
31
|
+
:isActive="activeTab === (index-1)"
|
|
32
|
+
/>
|
|
27
33
|
</div>
|
|
28
34
|
</div>
|
|
29
35
|
</template>
|
|
@@ -110,7 +110,7 @@ export default defineComponent({
|
|
|
110
110
|
if("true"===myElement.getAttribute('reallink')){
|
|
111
111
|
await myElement.click();
|
|
112
112
|
}else{
|
|
113
|
-
await this.$router.push((myElement as
|
|
113
|
+
await this.$router.push((myElement as HTMLAnchorElement).pathname);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
this.$nextTick(() => {
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
</h2>
|
|
20
20
|
<div class="mb-5 mt-3 descriptionText">
|
|
21
21
|
<img
|
|
22
|
+
v-lazy="proxyImageUrl(imageUrl, '260')"
|
|
22
23
|
width="260"
|
|
23
24
|
height="260"
|
|
24
|
-
v-lazy="proxyImageUrl(imageUrl, '260')"
|
|
25
25
|
:alt="$t('Emission name image', { name: name })"
|
|
26
26
|
class="img-box shadow-element float-start me-3 mb-3"
|
|
27
27
|
>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<ProductorSearch
|
|
5
5
|
v-if="isProductorSearch"
|
|
6
6
|
v-model:organisationId="organisationId"
|
|
7
|
-
:search-pattern="searchPattern"
|
|
7
|
+
v-model:search-pattern="searchPattern"
|
|
8
8
|
type="emission"
|
|
9
9
|
@updateOrganisationId="updateOrganisationId"
|
|
10
10
|
@updateSearchPattern="updateSearchPattern"
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
/>
|
|
28
28
|
<EmissionList
|
|
29
29
|
:show-count="true"
|
|
30
|
-
:first="
|
|
31
|
-
:size="
|
|
30
|
+
:first="0"
|
|
31
|
+
:size="30"
|
|
32
32
|
:query="searchPattern"
|
|
33
33
|
:organisation-id="organisationId"
|
|
34
34
|
:monetization="monetization"
|
|
@@ -66,8 +66,7 @@ export default defineComponent({
|
|
|
66
66
|
|
|
67
67
|
data() {
|
|
68
68
|
return {
|
|
69
|
-
|
|
70
|
-
size: 30 as number,
|
|
69
|
+
isInit: false as boolean,
|
|
71
70
|
searchPattern: '' as string,
|
|
72
71
|
organisationId: undefined as string | undefined,
|
|
73
72
|
monetization: 'UNDEFINED' as string, // UNDEFINED, YES, NO
|
|
@@ -99,6 +98,18 @@ export default defineComponent({
|
|
|
99
98
|
return this.organisationId?this.organisationId:this.filterOrga;
|
|
100
99
|
},
|
|
101
100
|
},
|
|
101
|
+
watch:{
|
|
102
|
+
organisationId(): void {
|
|
103
|
+
if(!this.isInit){return;}
|
|
104
|
+
this.resetRubriquage = !this.resetRubriquage;
|
|
105
|
+
this.rubriquageId = [];
|
|
106
|
+
this.rubriqueId = [];
|
|
107
|
+
this.noRubriquageId = [];
|
|
108
|
+
},
|
|
109
|
+
searchPattern(value: string): void {
|
|
110
|
+
this.sortEmission = '' !== value ? 'SCORE' : 'DATE';
|
|
111
|
+
},
|
|
112
|
+
},
|
|
102
113
|
|
|
103
114
|
created() {
|
|
104
115
|
this.initComponent();
|
|
@@ -132,17 +143,6 @@ export default defineComponent({
|
|
|
132
143
|
this.rubriqueId = rubriqueId;
|
|
133
144
|
this.noRubriquageId = noRubriquageId;
|
|
134
145
|
},
|
|
135
|
-
updateOrganisationId(value: string | undefined): void {
|
|
136
|
-
this.resetRubriquage = !this.resetRubriquage;
|
|
137
|
-
this.rubriquageId = [];
|
|
138
|
-
this.rubriqueId = [];
|
|
139
|
-
this.noRubriquageId = [];
|
|
140
|
-
this.organisationId = value;
|
|
141
|
-
},
|
|
142
|
-
updateSearchPattern(value: string): void {
|
|
143
|
-
this.sortEmission = '' !== value ? 'SCORE' : 'LAST_PODCAST_DESC';
|
|
144
|
-
this.searchPattern = value;
|
|
145
|
-
},
|
|
146
146
|
},
|
|
147
147
|
})
|
|
148
148
|
</script>
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
class="d-flex flex-column align-items-center mb-3"
|
|
11
11
|
>
|
|
12
12
|
<img
|
|
13
|
+
v-lazy="proxyImageUrl(participant.imageUrl, '200')"
|
|
13
14
|
width="200"
|
|
14
15
|
height="200"
|
|
15
|
-
v-lazy="proxyImageUrl(participant.imageUrl, '200')"
|
|
16
16
|
:title="$t('Animator image')"
|
|
17
17
|
:alt="$t('Animator image')"
|
|
18
18
|
class="img-box-circle mb-3"
|
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
<div class="page-box">
|
|
3
3
|
<h1>{{ titleDisplay }}</h1>
|
|
4
4
|
<ProductorSearch
|
|
5
|
-
:organisation-id="organisationId"
|
|
6
|
-
:search-pattern="searchPattern"
|
|
5
|
+
v-model:organisation-id="organisationId"
|
|
6
|
+
v-model:search-pattern="searchPattern"
|
|
7
7
|
type="participant"
|
|
8
|
-
@updateOrganisationId="organisationId = $event"
|
|
9
|
-
@updateSearchPattern="searchPattern = $event"
|
|
10
8
|
/>
|
|
11
9
|
<ParticipantList
|
|
12
10
|
:show-count="true"
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
<h2>{{ name }}</h2>
|
|
15
15
|
<div class="mb-5 mt-3 descriptionText">
|
|
16
16
|
<img
|
|
17
|
+
v-lazy="proxyImageUrl(imageUrl, '260')"
|
|
17
18
|
width="260"
|
|
18
19
|
height="260"
|
|
19
|
-
v-lazy="proxyImageUrl(imageUrl, '260')"
|
|
20
20
|
:alt="$t('Playlist name image', { name: name })"
|
|
21
21
|
class="img-box shadow-element float-start me-3 mb-3"
|
|
22
22
|
>
|
|
@@ -13,10 +13,8 @@
|
|
|
13
13
|
<ProductorSearch
|
|
14
14
|
v-if="isProductorSearch"
|
|
15
15
|
v-model:organisationId="organisationId"
|
|
16
|
-
:search-pattern="searchPattern"
|
|
16
|
+
v-model:search-pattern="searchPattern"
|
|
17
17
|
type="playlist"
|
|
18
|
-
@updateOrganisationId="organisationId = $event"
|
|
19
|
-
@updateSearchPattern="searchPattern = $event"
|
|
20
18
|
/>
|
|
21
19
|
<PlaylistList
|
|
22
20
|
:show-count="true"
|
|
@@ -19,10 +19,8 @@
|
|
|
19
19
|
</div>
|
|
20
20
|
<ProductorSearch
|
|
21
21
|
v-if="pageParameters.isProductorSearch"
|
|
22
|
-
:organisation-id="organisationId"
|
|
23
|
-
:search-pattern="searchPattern"
|
|
24
|
-
@updateOrganisationId="updateOrganisationId"
|
|
25
|
-
@updateSearchPattern="updateSearchPattern"
|
|
22
|
+
v-model:organisation-id="organisationId"
|
|
23
|
+
v-model:search-pattern="searchPattern"
|
|
26
24
|
/>
|
|
27
25
|
<AdvancedSearch
|
|
28
26
|
:is-education="isEducation"
|
|
@@ -43,8 +41,8 @@
|
|
|
43
41
|
/>
|
|
44
42
|
<PodcastList
|
|
45
43
|
:show-count="true"
|
|
46
|
-
:first="
|
|
47
|
-
:size="
|
|
44
|
+
:first="0"
|
|
45
|
+
:size="30"
|
|
48
46
|
:organisation-id="organisationId"
|
|
49
47
|
:query="searchPattern"
|
|
50
48
|
:monetization="monetization"
|
|
@@ -89,8 +87,7 @@ export default defineComponent({
|
|
|
89
87
|
},
|
|
90
88
|
data() {
|
|
91
89
|
return {
|
|
92
|
-
|
|
93
|
-
size: 30 as number,
|
|
90
|
+
isInit: false as boolean,
|
|
94
91
|
searchPattern: '' as string,
|
|
95
92
|
organisationId: undefined as string|undefined,
|
|
96
93
|
monetization: 'UNDEFINED' as string, // UNDEFINED, YES, NO
|
|
@@ -126,11 +123,21 @@ export default defineComponent({
|
|
|
126
123
|
}
|
|
127
124
|
}
|
|
128
125
|
},
|
|
129
|
-
|
|
126
|
+
watch:{
|
|
127
|
+
organisationId(): void {
|
|
128
|
+
if(!this.isInit){return;}
|
|
129
|
+
this.resetRubriquage = !this.resetRubriquage;
|
|
130
|
+
this.rubriquageId = [];
|
|
131
|
+
this.rubriqueId = [];
|
|
132
|
+
this.noRubriquageId = [];
|
|
133
|
+
},
|
|
134
|
+
searchPattern(value: string): void {
|
|
135
|
+
this.sortCriteria = '' !== value ? 'SCORE' : 'DATE';
|
|
136
|
+
},
|
|
137
|
+
},
|
|
130
138
|
created() {
|
|
131
139
|
this.initPodcastsPage();
|
|
132
140
|
},
|
|
133
|
-
|
|
134
141
|
methods: {
|
|
135
142
|
initPodcastsPage(){
|
|
136
143
|
this.searchPattern = this.searchInit ?? '';
|
|
@@ -140,6 +147,7 @@ export default defineComponent({
|
|
|
140
147
|
if(this.$store.state.filter.rubriqueFilter.length){
|
|
141
148
|
this.updateRubriquageFilter(this.$store.state.filter.rubriqueFilter);
|
|
142
149
|
}
|
|
150
|
+
this.isInit=true;
|
|
143
151
|
},
|
|
144
152
|
updateRubriquageFilter(value: Array<RubriquageFilter>){
|
|
145
153
|
const length = value.length;
|
|
@@ -159,17 +167,6 @@ export default defineComponent({
|
|
|
159
167
|
this.rubriqueId = rubriqueId;
|
|
160
168
|
this.noRubriquageId = noRubriquageId;
|
|
161
169
|
},
|
|
162
|
-
updateOrganisationId(value: string): void {
|
|
163
|
-
this.resetRubriquage = !this.resetRubriquage;
|
|
164
|
-
this.rubriquageId = [];
|
|
165
|
-
this.rubriqueId = [];
|
|
166
|
-
this.noRubriquageId = [];
|
|
167
|
-
this.organisationId = value;
|
|
168
|
-
},
|
|
169
|
-
updateSearchPattern(value: string): void {
|
|
170
|
-
this.sortCriteria = '' !== value ? 'SCORE' : 'DATE';
|
|
171
|
-
this.searchPattern = value;
|
|
172
|
-
},
|
|
173
170
|
emissionSelected(emission: Emission): void {
|
|
174
171
|
this.emissionId = emission && emission.emissionId ? emission.emissionId : undefined;
|
|
175
172
|
},
|