@saooti/octopus-sdk 41.0.12 → 41.0.13
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/EmissionPresentationItem.vue +14 -6
- package/src/components/display/rubriques/RubriqueChooser.vue +24 -2
- package/src/components/display/rubriques/RubriqueList.vue +18 -0
- package/src/components/pages/HomePage.vue +1 -1
- package/src/locale/de.ts +3 -2
- package/src/locale/en.ts +3 -2
- package/src/locale/es.ts +3 -2
- package/src/locale/fr.ts +3 -2
- package/src/locale/it.ts +3 -2
- package/src/locale/sl.ts +3 -2
package/package.json
CHANGED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
:class="isVertical ? 'flex-column' : ''"
|
|
14
14
|
>
|
|
15
15
|
<img
|
|
16
|
-
v-lazy="useProxyImageUrl(emission.imageUrl,
|
|
17
|
-
:width="
|
|
18
|
-
:height="
|
|
16
|
+
v-lazy="useProxyImageUrl(emission.imageUrl, tailleImage)"
|
|
17
|
+
:width="tailleImage"
|
|
18
|
+
:height="tailleImage"
|
|
19
19
|
:class="isVertical ? 'img-box-bigger' : ''"
|
|
20
20
|
class="img-box"
|
|
21
21
|
aria-hidden="true"
|
|
@@ -49,7 +49,7 @@ import {useResizePhone} from "../../composable/useResizePhone";
|
|
|
49
49
|
import { Emission } from "@/stores/class/general/emission";
|
|
50
50
|
import {useImageProxy} from "../../composable/useImageProxy";
|
|
51
51
|
import displayHelper from "../../../helper/displayHelper";
|
|
52
|
-
import { nextTick, useTemplateRef, watch } from "vue";
|
|
52
|
+
import { nextTick, useTemplateRef, watch, computed } from "vue";
|
|
53
53
|
import { useI18n } from "vue-i18n";
|
|
54
54
|
|
|
55
55
|
//Props
|
|
@@ -69,6 +69,13 @@ const { t } = useI18n();
|
|
|
69
69
|
const { isPhone } = useResizePhone();
|
|
70
70
|
const { useProxyImageUrl } = useImageProxy();
|
|
71
71
|
|
|
72
|
+
// Computed
|
|
73
|
+
// Calcul de la taille de l'image
|
|
74
|
+
const tailleImage = computed(() => {
|
|
75
|
+
// L'élément fait 400 de large à la verticale, mais on prend en compte les bordures
|
|
76
|
+
return props.isVertical ? '396' : '250';
|
|
77
|
+
});
|
|
78
|
+
|
|
72
79
|
//Watch
|
|
73
80
|
watch(isPhone, async () => {
|
|
74
81
|
nextTick(() => {
|
|
@@ -114,8 +121,9 @@ function urlify(text:string|undefined){
|
|
|
114
121
|
}
|
|
115
122
|
|
|
116
123
|
.img-box-bigger {
|
|
117
|
-
|
|
118
|
-
|
|
124
|
+
// L'élément fait 400 de large à la verticale, mais on prend en compte les bordures
|
|
125
|
+
width: 396px;
|
|
126
|
+
height: 396px;
|
|
119
127
|
}
|
|
120
128
|
}
|
|
121
129
|
</style>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:display-label="displayLabel"
|
|
8
8
|
:label="label ?? t('By rubric')"
|
|
9
9
|
:text-danger="textDanger"
|
|
10
|
-
:placeholder="
|
|
10
|
+
:placeholder="placeholderText"
|
|
11
11
|
:max-element="maxElement"
|
|
12
12
|
:multiple="multiple"
|
|
13
13
|
:min-search-length="1"
|
|
@@ -30,8 +30,14 @@ import { useI18n } from "vue-i18n";
|
|
|
30
30
|
const props = defineProps({
|
|
31
31
|
defaultanswer: { default: "", type: String },
|
|
32
32
|
width: { default: "100%", type: String },
|
|
33
|
+
/**
|
|
34
|
+
* Active la sélection multiple
|
|
35
|
+
*/
|
|
33
36
|
multiple: { default: false, type: Boolean },
|
|
34
37
|
reset: { default: false, type: Boolean },
|
|
38
|
+
/**
|
|
39
|
+
* Les rubriques à afficher
|
|
40
|
+
*/
|
|
35
41
|
allRubriques: { default: () => [], type: Array as () => Array<Rubrique> },
|
|
36
42
|
rubriqueSelected: { default: undefined, type: Number },
|
|
37
43
|
rubriqueSelectedArray: {
|
|
@@ -46,6 +52,10 @@ const props = defineProps({
|
|
|
46
52
|
label:{default: undefined, type: String },
|
|
47
53
|
displayLabel: { default: false, type: Boolean },
|
|
48
54
|
textDanger :{ default: undefined, type: String },
|
|
55
|
+
/**
|
|
56
|
+
* Le texte affiché là où l'utilisateur doit effectuer sa saisie
|
|
57
|
+
*/
|
|
58
|
+
placeholder: { type: String, required: false, default: undefined }
|
|
49
59
|
})
|
|
50
60
|
|
|
51
61
|
|
|
@@ -55,7 +65,9 @@ const emit = defineEmits([
|
|
|
55
65
|
"update:rubriqueSelectedArray",
|
|
56
66
|
"selected"
|
|
57
67
|
]);
|
|
58
|
-
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
//Composables
|
|
59
71
|
const { t } = useI18n();
|
|
60
72
|
|
|
61
73
|
|
|
@@ -102,6 +114,16 @@ const model = computed({
|
|
|
102
114
|
},
|
|
103
115
|
})
|
|
104
116
|
|
|
117
|
+
/**
|
|
118
|
+
* Le texte à afficher dans la saisie de l'utilisateur
|
|
119
|
+
*/
|
|
120
|
+
const placeholderText = computed(() => {
|
|
121
|
+
if (props.placeholder) {
|
|
122
|
+
return props.placeholder;
|
|
123
|
+
} else {
|
|
124
|
+
return t('Type string to filter by categories');
|
|
125
|
+
}
|
|
126
|
+
});
|
|
105
127
|
|
|
106
128
|
//Watch
|
|
107
129
|
watch(()=>props.rubriqueSelected, () => {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-inline-flex w-100 mb-3 px-3 hide-phone">
|
|
3
3
|
<div ref="rubriqueListContainer" class="rubrique-list-container">
|
|
4
|
+
|
|
5
|
+
<!-- Liste déroulante pour sélectionner le rubriquage -->
|
|
4
6
|
<select
|
|
5
7
|
v-model="rubriquage"
|
|
6
8
|
:title="t('By topic')"
|
|
@@ -15,6 +17,8 @@
|
|
|
15
17
|
{{ myRubriquage.title }}
|
|
16
18
|
</option>
|
|
17
19
|
</select>
|
|
20
|
+
|
|
21
|
+
<!-- Boutons de sélection de la rubrique -->
|
|
18
22
|
<button
|
|
19
23
|
v-for="rubrique in rubriqueDisplay"
|
|
20
24
|
:id="'rubrique' + rubrique.rubriqueId"
|
|
@@ -25,6 +29,8 @@
|
|
|
25
29
|
{{ rubrique.name }}
|
|
26
30
|
</button>
|
|
27
31
|
</div>
|
|
32
|
+
|
|
33
|
+
<!-- Bouton pour afficher les rubriques cachées -->
|
|
28
34
|
<button
|
|
29
35
|
v-show="hidenRubriques.length"
|
|
30
36
|
id="rubriques-dropdown"
|
|
@@ -33,6 +39,8 @@
|
|
|
33
39
|
>
|
|
34
40
|
<PlusIcon />
|
|
35
41
|
</button>
|
|
42
|
+
|
|
43
|
+
<!-- Popup de sélection des rubriques cachées -->
|
|
36
44
|
<ClassicPopover
|
|
37
45
|
ref="popoverRubrique"
|
|
38
46
|
target="rubriques-dropdown"
|
|
@@ -43,6 +51,7 @@
|
|
|
43
51
|
v-if="hidenRubriques.length"
|
|
44
52
|
class="rubrique-chooser-minwidth"
|
|
45
53
|
:all-rubriques="hidenRubriques"
|
|
54
|
+
:placeholder="rubriqueChooserText"
|
|
46
55
|
@selected="addFilterFromPopover($event)"
|
|
47
56
|
/>
|
|
48
57
|
</ClassicPopover>
|
|
@@ -107,6 +116,15 @@ const rubriquageDisplay = computed(() => {
|
|
|
107
116
|
});
|
|
108
117
|
});
|
|
109
118
|
|
|
119
|
+
// Retourne le texte à afficher dans le RubriqueChooser
|
|
120
|
+
const rubriqueChooserText = computed(() => {
|
|
121
|
+
if (!rubriquage.value) {
|
|
122
|
+
return '';
|
|
123
|
+
}
|
|
124
|
+
let topic = rubriquage.value.title;
|
|
125
|
+
return t('Enter name of topic', { topic });
|
|
126
|
+
});
|
|
127
|
+
|
|
110
128
|
|
|
111
129
|
//Watch
|
|
112
130
|
watch(()=>filterStore.filterRubrique, () => {
|
package/src/locale/de.ts
CHANGED
|
@@ -57,6 +57,9 @@ export default {
|
|
|
57
57
|
"Type string to filter by organisation": "Nach Organisation filtern",
|
|
58
58
|
"Type string to filter by emission": "Nach Reihe filtern",
|
|
59
59
|
"Type string to filter by podcast": "Nach Podcast filtern",
|
|
60
|
+
"Type string to filter by categories": "Nach Kategorien filtern",
|
|
61
|
+
"Type string to filter by rubrics": "Nach Rubriken filtern",
|
|
62
|
+
"Enter name of topic": "Geben Sie den Titel ein \"{topic}\"",
|
|
60
63
|
"No organisation filter": "Keine Organisation",
|
|
61
64
|
"No emission filter": "Keine Reihe",
|
|
62
65
|
"No podcast filter": "Kein Podcast",
|
|
@@ -74,7 +77,6 @@ export default {
|
|
|
74
77
|
Duration: "Dauer: {duration}",
|
|
75
78
|
Animator: "Autor",
|
|
76
79
|
"No category filter": "Keine Kategorie",
|
|
77
|
-
"Type string to filter by categories": "Nach Kategorien filtern",
|
|
78
80
|
Search: "Suche",
|
|
79
81
|
Close: "Schließen",
|
|
80
82
|
Embed: "Player",
|
|
@@ -131,7 +133,6 @@ export default {
|
|
|
131
133
|
Advertising: "Werbung",
|
|
132
134
|
"By topic": "Nach Thema",
|
|
133
135
|
"By rubric": "Nach Rubrik",
|
|
134
|
-
"Type string to filter by rubrics": "Nach Rubriken filtern",
|
|
135
136
|
"No rubric filter": "Keine Rubrik",
|
|
136
137
|
"From the :": "Vom:",
|
|
137
138
|
"To the :": "Bis zum:",
|
package/src/locale/en.ts
CHANGED
|
@@ -58,6 +58,9 @@ export default {
|
|
|
58
58
|
"Type string to filter by organisation": "Filter by organization",
|
|
59
59
|
"Type string to filter by emission": "Filter by series",
|
|
60
60
|
"Type string to filter by podcast": "Filter by podcast",
|
|
61
|
+
"Type string to filter by categories": "Filter categories by title",
|
|
62
|
+
"Type string to filter by rubrics": "Filter by rubrics",
|
|
63
|
+
"Enter name of topic": "Enter name of \"{topic}\"",
|
|
61
64
|
"No organisation filter": "No organization filter",
|
|
62
65
|
"No emission filter": "No series filter",
|
|
63
66
|
"No podcast filter": "No podcast filter",
|
|
@@ -75,7 +78,6 @@ export default {
|
|
|
75
78
|
Duration: "Duration : {duration}",
|
|
76
79
|
Animator: "Host",
|
|
77
80
|
"No category filter": "No category filter",
|
|
78
|
-
"Type string to filter by categories": "Filter categories by title",
|
|
79
81
|
Search: "Search",
|
|
80
82
|
Close: "Close",
|
|
81
83
|
Embed: "Player",
|
|
@@ -131,7 +133,6 @@ export default {
|
|
|
131
133
|
Advertising: "Advertising",
|
|
132
134
|
"By topic": "By topic",
|
|
133
135
|
"By rubric": "By rubric",
|
|
134
|
-
"Type string to filter by rubrics": "Filter by rubrics",
|
|
135
136
|
"No rubric filter": "No rubric filter",
|
|
136
137
|
"From the :": "From the :",
|
|
137
138
|
"To the :": "To the :",
|
package/src/locale/es.ts
CHANGED
|
@@ -57,6 +57,9 @@ export default {
|
|
|
57
57
|
"Type string to filter by organisation": "Filtrar por organización",
|
|
58
58
|
"Type string to filter by emission": "Filtrar por programa",
|
|
59
59
|
"Type string to filter by podcast": "Filtrar por pódcast",
|
|
60
|
+
"Type string to filter by categories": "Filtrar las categorías por título",
|
|
61
|
+
"Type string to filter by rubrics": "Filtrar por sección",
|
|
62
|
+
"Enter name of topic": "Introduzca el título de",
|
|
60
63
|
"No organisation filter": "Sin filtro de organización",
|
|
61
64
|
"No emission filter": "Sin filtro de programa",
|
|
62
65
|
"No podcast filter": "Sin filtro de pódcast",
|
|
@@ -74,7 +77,6 @@ export default {
|
|
|
74
77
|
Duration: "Duración: {duration}",
|
|
75
78
|
Animator: "Presentador/a",
|
|
76
79
|
"No category filter": "Sin filtro de categoría",
|
|
77
|
-
"Type string to filter by categories": "Filtrar las categorías por título",
|
|
78
80
|
Search: "Buscar",
|
|
79
81
|
Close: "Cerrar",
|
|
80
82
|
Embed: "Reproductor",
|
|
@@ -130,7 +132,6 @@ export default {
|
|
|
130
132
|
Advertising: "Publicidad",
|
|
131
133
|
"By topic": "Por tema",
|
|
132
134
|
"By rubric": "Por sección",
|
|
133
|
-
"Type string to filter by rubrics": "Filtrar por sección",
|
|
134
135
|
"No rubric filter": "Sin filtro de sección",
|
|
135
136
|
"From the :": "De:",
|
|
136
137
|
"To the :": "A:",
|
package/src/locale/fr.ts
CHANGED
|
@@ -58,6 +58,9 @@ export default {
|
|
|
58
58
|
"Type string to filter by organisation": "Filtrer les producteurs par nom",
|
|
59
59
|
"Type string to filter by emission": "Filtrer les émissions par titre",
|
|
60
60
|
"Type string to filter by podcast": "Filtrer les épisodes par titre",
|
|
61
|
+
"Type string to filter by rubrics": "Filtrer les rubriques",
|
|
62
|
+
"Type string to filter by categories": "Filtrer les thématiques par intitulé",
|
|
63
|
+
"Enter name of topic": "Saisir l'intitulé de \"{topic}\"",
|
|
61
64
|
"No organisation filter": "Tous les producteurs",
|
|
62
65
|
"No emission filter": "Toutes les émissions",
|
|
63
66
|
"No podcast filter": "Tous les épisodes",
|
|
@@ -74,7 +77,6 @@ export default {
|
|
|
74
77
|
Duration: "Durée : {duration}",
|
|
75
78
|
Animator: "Intervenant",
|
|
76
79
|
"No category filter": "Toutes les thématiques",
|
|
77
|
-
"Type string to filter by categories": "Filtrer les thématiques par intitulé",
|
|
78
80
|
Search: "Rechercher",
|
|
79
81
|
Close: "Fermer",
|
|
80
82
|
Embed: "Player",
|
|
@@ -131,7 +133,6 @@ export default {
|
|
|
131
133
|
Advertising: "Publicité",
|
|
132
134
|
"By topic": "Selon rubriquage",
|
|
133
135
|
"By rubric": "Par rubrique",
|
|
134
|
-
"Type string to filter by rubrics": "Filtrer les rubriques",
|
|
135
136
|
"No rubric filter": "Toutes les rubriques",
|
|
136
137
|
"From the :": "Depuis le :",
|
|
137
138
|
"To the :": "Jusqu'au :",
|
package/src/locale/it.ts
CHANGED
|
@@ -56,6 +56,9 @@ export default{
|
|
|
56
56
|
'Type string to filter by organisation': 'Filtra per organizzazione',
|
|
57
57
|
'Type string to filter by emission': 'Filtra per serie',
|
|
58
58
|
'Type string to filter by podcast': 'Filtra per podcast',
|
|
59
|
+
'Type string to filter by categories': 'Filtra la categoria tramite il titolo',
|
|
60
|
+
'Type string to filter by rubrics': 'Filtra per rubriche',
|
|
61
|
+
'Enter name of topic': 'Inserisci il titolo di {topic}',
|
|
59
62
|
'No organisation filter': 'Nessun filtro per organizzazione',
|
|
60
63
|
'No emission filter': 'Nessun filtro per serie',
|
|
61
64
|
'No podcast filter': 'Nessun filtro per podcast',
|
|
@@ -71,7 +74,6 @@ export default{
|
|
|
71
74
|
Duration: 'Durata: {duration}',
|
|
72
75
|
Animator: 'Host',
|
|
73
76
|
'No category filter': 'Nessun filtro per la categoria',
|
|
74
|
-
'Type string to filter by categories': 'Filtra la categoria tramite il titolo',
|
|
75
77
|
Search: 'Ricerca',
|
|
76
78
|
Close: 'Chiudi',
|
|
77
79
|
Embed: 'Player',
|
|
@@ -127,7 +129,6 @@ export default{
|
|
|
127
129
|
Advertising: 'Pubblicità',
|
|
128
130
|
'By topic': 'Per tema',
|
|
129
131
|
'By rubric': 'Per rubrica',
|
|
130
|
-
'Type string to filter by rubrics': 'Filtra per rubriche',
|
|
131
132
|
'No rubric filter': 'No filtri rubrica',
|
|
132
133
|
'From the :': 'Dal :',
|
|
133
134
|
'To the :': "Al :",
|
package/src/locale/sl.ts
CHANGED
|
@@ -56,6 +56,9 @@ export default {
|
|
|
56
56
|
"Type string to filter by organisation": "Išči po organizaciji",
|
|
57
57
|
"Type string to filter by emission": "Išči po oddaji",
|
|
58
58
|
"Type string to filter by podcast": "Išči po podkastu",
|
|
59
|
+
"Type string to filter by categories": "Razvrsti po kategorijah",
|
|
60
|
+
"Type string to filter by rubrics": "Razvrsti po rubrikah",
|
|
61
|
+
"Enter name of topic": "Vnesite naslov {topic}",
|
|
59
62
|
"No organisation filter": "Brez filtra za organizacije",
|
|
60
63
|
"No emission filter": "Brez filtra za oddaje",
|
|
61
64
|
"No podcast filter": "Brez filtra za podkaste",
|
|
@@ -72,7 +75,6 @@ export default {
|
|
|
72
75
|
Duration: "Trajanje: {duration}",
|
|
73
76
|
Animator: "Napovedovalec",
|
|
74
77
|
"No category filter": "Brez filtra za kategorijo",
|
|
75
|
-
"Type string to filter by categories": "Razvrsti po kategorijah",
|
|
76
78
|
Search: "Išči",
|
|
77
79
|
Close: "Zapri",
|
|
78
80
|
Embed: "Predvajalnik",
|
|
@@ -128,7 +130,6 @@ export default {
|
|
|
128
130
|
Advertising: "Oglaševanje",
|
|
129
131
|
"By topic": "Po temi",
|
|
130
132
|
"By rubric": "Po rubriki",
|
|
131
|
-
"Type string to filter by rubrics": "Razvrsti po rubrikah",
|
|
132
133
|
"No rubric filter": "Brez filtra po rubriki",
|
|
133
134
|
"From the :": "Od:",
|
|
134
135
|
"To the :": "Do:",
|