@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "41.0.12",
3
+ "version": "41.0.13",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -13,9 +13,9 @@
13
13
  :class="isVertical ? 'flex-column' : ''"
14
14
  >
15
15
  <img
16
- v-lazy="useProxyImageUrl(emission.imageUrl, isVertical ? '400' : '250')"
17
- :width="isVertical ? '400' : '250'"
18
- :height="isVertical ? '400' : '250'"
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
- width: 400px;
118
- height: 400px;
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="t('Type string to filter by categories')"
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
- //COmposables
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, () => {
@@ -43,7 +43,7 @@
43
43
  name: 'podcasts',
44
44
  query: {
45
45
  iabId: filterStore.filterIab?.id,
46
- rubriquesId: rubriqueQueryParam.value,
46
+ rubriquesId: rubriqueQueryParam,
47
47
  productor: filterStore.filterOrgaId
48
48
  },
49
49
  }"
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:",