@saooti/octopus-sdk 40.2.10 → 40.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "40.2.10",
3
+ "version": "40.2.12",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -16,17 +16,25 @@ export const useRubriquesFilterParam = ()=>{
16
16
  .map((value) => value.rubriquageId + ":" + value.rubriqueId)
17
17
  .join();
18
18
  }
19
-
20
- function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){
19
+ function returnValToUpdate(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){
21
20
  const newFilter = modifyFunction( Array.from(filterStore.filterRubrique));
22
21
  const queryString = stringifyRubriquesFilter(newFilter);
23
- const valToUpdate = "" !== queryString ? queryString : undefined;
22
+ return "" !== queryString ? queryString : undefined;
23
+ }
24
+ function modifyRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){
25
+ const valToUpdate = returnValToUpdate(modifyFunction);
24
26
  updateFiltersParam({ rubriquesId: valToUpdate }, {r: valToUpdate});
25
27
  }
26
28
 
29
+ function returnRubriquesFilter(modifyFunction: (a: Array<RubriquageFilter>)=> Array<RubriquageFilter>){
30
+ const valToUpdate = returnValToUpdate(modifyFunction);
31
+ return { rubriquesId: valToUpdate, r: valToUpdate };
32
+ }
33
+
27
34
  return {
28
35
  stringifyRubriquesFilter,
29
36
  modifyRubriquesFilter,
30
- updateRouteParamAdvanced
37
+ updateRouteParamAdvanced,
38
+ returnRubriquesFilter
31
39
  }
32
40
  }
@@ -91,16 +91,16 @@ export default defineComponent({
91
91
  },
92
92
  emits: ["sortChrono", "sortPopular", "displayPrevious", "displayNext"],
93
93
  setup(){
94
- const { modifyRubriquesFilter } = useRubriquesFilterParam();
94
+ const { returnRubriquesFilter } = useRubriquesFilterParam();
95
95
  const { rubriqueQueryParam } = useRubriquesFilterComputed();
96
- return { modifyRubriquesFilter, rubriqueQueryParam }
96
+ return { returnRubriquesFilter, rubriqueQueryParam }
97
97
  },
98
98
  data() {
99
99
  return {};
100
100
  },
101
101
 
102
102
  computed: {
103
- ...mapState(useFilterStore, ["filterIab", "filterRubriquage"]),
103
+ ...mapState(useFilterStore, ["filterIab", "filterRubriquage", "filterOrgaId"]),
104
104
  refTo(): string | RouteLocationRaw {
105
105
  if (this.href) return this.href;
106
106
  if (this.iabId) {
@@ -114,6 +114,7 @@ export default defineComponent({
114
114
  query: {
115
115
  iabId: this.filterIab?.id,
116
116
  rubriquesId: this.rubriqueQueryParam,
117
+ productor: this.filterOrgaId
117
118
  },
118
119
  };
119
120
  },
@@ -142,12 +143,7 @@ export default defineComponent({
142
143
  }
143
144
  event.preventDefault();
144
145
  const rubriqueChosenId = this.rubriqueId.at(-1);
145
- let filterToAdd: RubriquageFilter = {
146
- rubriquageId: 0,
147
- rubriqueId: rubriqueChosenId,
148
- nameRubriquage: "",
149
- nameRubrique: "",
150
- };
146
+ let filterToAdd: RubriquageFilter|undefined;
151
147
  if (this.filterRubriquage.length) {
152
148
  for (let i = 0, len = this.filterRubriquage.length; i < len; i++) {
153
149
  const rubriqueChosen = this.filterRubriquage[i].rubriques.find(
@@ -164,9 +160,19 @@ export default defineComponent({
164
160
  }
165
161
  }
166
162
  }
167
- this.modifyRubriquesFilter((a) => {
168
- a.push(filterToAdd);
163
+ if(!filterToAdd){return;}
164
+ const queries = this.returnRubriquesFilter((a) => {
165
+ let indexRubriquage = a.findIndex(filter => filter.rubriquageId === filterToAdd.rubriquageId);
166
+ if (indexRubriquage === -1) {
167
+ a.push(filterToAdd);
168
+ } else {
169
+ a[indexRubriquage] = filterToAdd;
170
+ }
169
171
  return a;
172
+ })
173
+ this.$router.push({
174
+ name: "podcasts",
175
+ query: {...this.$route.query, ...queries}
170
176
  });
171
177
  },
172
178
  },
@@ -133,10 +133,7 @@ export default defineComponent({
133
133
  methods: {
134
134
  ...mapActions(useFilterStore, ["filterUpdateRubriqueDisplay"]),
135
135
  initRubriques(): void {
136
- if (!this.rubriquage) {
137
- return;
138
- }
139
- this.filterUpdateRubriqueDisplay(this.rubriquage.rubriques);
136
+ this.filterUpdateRubriqueDisplay(this.rubriquage?.rubriques ?? []);
140
137
  window.addEventListener("resize", this.resizeWindow);
141
138
  this.$nextTick(() => {
142
139
  this.resizeWindow();
@@ -51,7 +51,7 @@
51
51
  v-model:insert-code="insertCode"
52
52
  :display-is-visible="displayIsVisible"
53
53
  :is-podcast-not-visible="isPodcastNotVisible"
54
- :chose-number-episode="choseNumberEpisodes"
54
+ :chose-number-episode="displayChoiceAllEpisodes"
55
55
  :display-choice-all-episodes="displayChoiceAllEpisodes"
56
56
  :display-transcript-param="displayTranscriptParam"
57
57
  :display-article-param="displayArticleParam"
@@ -155,18 +155,14 @@ export default defineComponent({
155
155
  displayWaveParam(): boolean {
156
156
  return "default" === this.iFrameModel || "emission" === this.iFrameModel;
157
157
  },
158
- choseNumberEpisodes(): boolean {
159
- return this.displayChoiceAllEpisodes || this.isTypeSuggestion;
160
- },
161
158
  displayIsVisible(): boolean {
162
- return this.choseNumberEpisodes || this.isPodcastNotVisible;
159
+ return this.displayChoiceAllEpisodes || this.isPodcastNotVisible;
163
160
  },
164
161
  isPodcastNotVisible(): boolean {
165
162
  return (
166
163
  undefined !== this.podcast &&
167
164
  !this.podcast.availability.visibility &&
168
- !this.isTypeEmission &&
169
- !this.isTypeSuggestion
165
+ !this.isTypeEmission
170
166
  );
171
167
  },
172
168
  displayArticleParam(): boolean {
@@ -218,12 +214,6 @@ export default defineComponent({
218
214
  isLargeEmission(): boolean {
219
215
  return "emissionLarge" === this.iFrameModel;
220
216
  },
221
- isTypeSuggestion(): boolean {
222
- return (
223
- "largeSuggestion" === this.iFrameModel ||
224
- "SUGGESTION" === this.typeCustomPlayer
225
- );
226
- },
227
217
  isTypeEmission(): boolean {
228
218
  return (
229
219
  this.isEmission ||
@@ -272,8 +262,6 @@ export default defineComponent({
272
262
  url.push(
273
263
  `${this.emission.emissionId}${iFrameNumber}/${this.podcast.podcastId}`,
274
264
  );
275
- } else if (this.isTypeSuggestion) {
276
- url.push(`${this.podcast.podcastId}${iFrameNumber}`);
277
265
  } else {
278
266
  url.push(`${this.podcast.podcastId}`);
279
267
  }
@@ -290,10 +278,9 @@ export default defineComponent({
290
278
  case "largeMore":
291
279
  return "210px";
292
280
  case "emissionLarge":
293
- case "largeSuggestion":
294
281
  return "350px";
295
282
  case "emission":
296
- return "520px";
283
+ return "540px";
297
284
  case "videoLive":
298
285
  return "450px";
299
286
  default:
@@ -85,10 +85,10 @@ export default defineComponent({
85
85
  condition: this.isVideoPodcast,
86
86
  },
87
87
  { name: this.$t("Default version"), value: "default", condition: true },
88
- { name: this.$t("Large version"), value: "large", condition: true },
88
+ { name: this.$t("Large version"), value: "largeMore", condition: this.podcast?.podcastId, },
89
89
  {
90
- name: this.$t("Full Large version"),
91
- value: "largeMore",
90
+ name: this.$t("Minimalist length version"),
91
+ value: "large",
92
92
  condition: this.podcast?.podcastId,
93
93
  },
94
94
  {
@@ -101,18 +101,12 @@ export default defineComponent({
101
101
  value: "emissionLarge",
102
102
  condition: this.podcast?.podcastId,
103
103
  },
104
- {
105
- name: this.$t("Large suggestion version"),
106
- value: "largeSuggestion",
107
- condition: this.podcast?.podcastId,
108
- },
109
104
  ];
110
105
  },
111
106
  customPlayersDisplay(): Array<CustomPlayer> {
112
107
  return this.customPlayers.filter((player: CustomPlayer) => {
113
108
  return (
114
- (("EPISODE" === player.typePlayer ||
115
- "SUGGESTION" === player.typePlayer) &&
109
+ (("EPISODE" === player.typePlayer) &&
116
110
  this.podcast?.podcastId) ||
117
111
  ("EMISSION" === player.typePlayer &&
118
112
  this.emission &&
@@ -214,14 +208,10 @@ export default defineComponent({
214
208
  this.fetchCustomPlayers("EMISSION");
215
209
  } else {
216
210
  const episodeSelected = await this.fetchCustomPlayers("EPISODE");
217
- const emissionSelected = await this.fetchCustomPlayers(
211
+ await this.fetchCustomPlayers(
218
212
  "EMISSION",
219
213
  !episodeSelected,
220
214
  );
221
- await this.fetchCustomPlayers(
222
- "SUGGESTION",
223
- !episodeSelected && !emissionSelected,
224
- );
225
215
  }
226
216
  },
227
217
  },
@@ -36,7 +36,7 @@
36
36
  <ul class="p-0 m-0">
37
37
  <template v-if="!isAuthenticated">
38
38
  <li class="li-style-none">
39
- <a class="octopus-dropdown-item" href="/sso/login" realLink="true">
39
+ <a class="octopus-dropdown-item" :href="pathLogin" realLink="true">
40
40
  {{ $t("Login") }}
41
41
  </a>
42
42
  </li>
@@ -109,6 +109,7 @@ import { useAuthStore } from "../../stores/AuthStore";
109
109
  import { mapState } from "pinia";
110
110
  import { defineComponent } from "vue";
111
111
  import { Organisation } from "@/stores/class/general/organisation";
112
+ import { useApiStore } from "../../stores/ApiStore";
112
113
  export default defineComponent({
113
114
  name: "HomeDropdown",
114
115
  components: {
@@ -131,6 +132,10 @@ export default defineComponent({
131
132
  "isRoleContribution",
132
133
  "isRoleOrganisation",
133
134
  ]),
135
+ ...mapState(useApiStore, ["frontendUrl"]),
136
+ pathLogin(){
137
+ return "/sso/login?redirect_url="+encodeURI(this.frontendUrl + this.$route.fullPath);
138
+ },
134
139
  organisationsAvailable(): Array<Organisation> {
135
140
  return this.authProfile.organisations ?? [];
136
141
  },
@@ -37,7 +37,7 @@
37
37
  <a
38
38
  v-if="!isAuthenticatedWithOrga"
39
39
  class="octopus-dropdown-item"
40
- href="/sso/login"
40
+ :href="pathLogin"
41
41
  realLink="true"
42
42
  >
43
43
  {{ $t("Login") }}
@@ -64,6 +64,7 @@ import { defineComponent, defineAsyncComponent } from "vue";
64
64
  import { useFilterStore } from "../../stores/FilterStore";
65
65
  import { useAuthStore } from "../../stores/AuthStore";
66
66
  import { mapState } from "pinia";
67
+ import { useApiStore } from "../../stores/ApiStore";
67
68
  const ClassicPopover = defineAsyncComponent(
68
69
  () => import("../misc/ClassicPopover.vue"),
69
70
  );
@@ -91,9 +92,13 @@ export default defineComponent({
91
92
  computed: {
92
93
  ...mapState(useAuthStore, ["authOrgaId", "isGarRole"]),
93
94
  ...mapState(useFilterStore, ["filterLive", "filterOrgaId", "filterIab"]),
95
+ ...mapState(useApiStore, ["frontendUrl"]),
94
96
  isAuthenticatedWithOrga(): boolean {
95
97
  return undefined !== this.authOrgaId;
96
98
  },
99
+ pathLogin(){
100
+ return "/sso/login?redirect_url="+encodeURI(this.frontendUrl + this.$route.fullPath);
101
+ },
97
102
  routerLinkArray() {
98
103
  return [
99
104
  {
@@ -4,10 +4,7 @@
4
4
  class="top-bar-logo d-flex align-items-center"
5
5
  :to="{
6
6
  name: 'home',
7
- query: {
8
- iabId: filterIab?.id,
9
- rubriquesId: rubriqueQueryParam,
10
- },
7
+ query: getQueriesRouter('home'),
11
8
  }"
12
9
  :title="$t('Home')"
13
10
  >
@@ -274,7 +271,7 @@ export default defineComponent({
274
271
  },
275
272
  methods: {
276
273
  getQueriesRouter(routeName: string) {
277
- if ("podcasts" !== routeName && "emissions" !== routeName) {
274
+ if ("podcasts" !== routeName && "emissions" !== routeName && "home" !== routeName) {
278
275
  return { productor: this.filterOrgaId };
279
276
  }
280
277
  return {
@@ -25,11 +25,12 @@
25
25
  <a v-if="authOrgaId" class="btn btn-primary" href="/logout">
26
26
  {{ authText }}
27
27
  </a>
28
- <a v-else class="btn btn-primary" href="/sso/login">{{ authText }}</a>
28
+ <a v-else class="btn btn-primary" :href="pathLogin">{{ authText }}</a>
29
29
  </section>
30
30
  </template>
31
31
 
32
32
  <script lang="ts">
33
+ import { useApiStore } from "../../stores/ApiStore";
33
34
  import { useAuthStore } from "../../stores/AuthStore";
34
35
  import { mapState } from "pinia";
35
36
  import { defineComponent } from "vue";
@@ -37,9 +38,13 @@ export default defineComponent({
37
38
  name: "Error403Page",
38
39
  computed: {
39
40
  ...mapState(useAuthStore, ["authOrgaId"]),
41
+ ...mapState(useApiStore, ["frontendUrl"]),
40
42
  authText(): string {
41
43
  return this.authOrgaId ? this.$t("Logout") : this.$t("Login");
42
44
  },
45
+ pathLogin(){
46
+ return "/sso/login?redirect_url="+encodeURI(this.frontendUrl + this.$route.fullPath);
47
+ },
43
48
  },
44
49
  });
45
50
  </script>
@@ -44,6 +44,7 @@
44
44
  query: {
45
45
  iabId: filterIab?.id,
46
46
  rubriquesId: rubriqueQueryParam,
47
+ productor: filterOrgaId
47
48
  },
48
49
  }"
49
50
  class="btn btn-primary align-self-center w-fit-content mt-5 m-auto"
@@ -13,6 +13,7 @@
13
13
  query: {
14
14
  iabId: filterStore.filterIab?.id,
15
15
  rubriquesId: rubriqueQueryParam,
16
+ productor: filterStore.filterOrgaId
16
17
  },
17
18
  }"
18
19
  >
package/src/locale/de.ts CHANGED
@@ -124,7 +124,6 @@ export default {
124
124
  "Large version": "Großer Player",
125
125
  "Emission version": "Player für Reihe",
126
126
  "Large emission version": "Großer Player für Reihe",
127
- "Large suggestion version": "Großer Player mit Hörvorschlägen",
128
127
  "Embed link": "Miniplayer einbetten",
129
128
  "Embedly link": "Link zum Player",
130
129
  "Direct link": "Link zum Audio",
@@ -330,7 +329,7 @@ export default {
330
329
  "List":"Aufführen",
331
330
  "Display HTML":"HTML anzeigen",
332
331
  "Video is unavailable":"Video ist nicht verfügbar",
333
- 'Full Large version': 'Vollständige große Version',
332
+ 'Minimalist length version': 'Version mit minimalistischer Länge',
334
333
  "Show only episodes with video":"Nur Episoden mit Video anzeigen",
335
334
  "Video":"Video",
336
335
  "Video Version":"Videoversion",
package/src/locale/en.ts CHANGED
@@ -124,7 +124,6 @@ export default {
124
124
  "Large version": "Large version",
125
125
  "Emission version": "Series version",
126
126
  "Large emission version": "Large series version",
127
- "Large suggestion version": "Large suggestion version",
128
127
  "Embed link": "Embed miniplayer",
129
128
  "Embedly link": "Player link",
130
129
  "Direct link": "Audio link",
@@ -333,7 +332,7 @@ export default {
333
332
  "List":"List",
334
333
  "Display HTML":"Display HTML",
335
334
  "Video is unavailable":"Video is unavailable",
336
- 'Full Large version': 'Full large version',
335
+ 'Minimalist length version': 'Versión de longitud minimalista',
337
336
  "Show only episodes with video":"Show only episodes with video",
338
337
  "Video":"Video",
339
338
  "Video Version":"Video version",
package/src/locale/es.ts CHANGED
@@ -123,7 +123,6 @@ export default {
123
123
  "Large version": "Versión ampliada",
124
124
  "Emission version": "Versión de programa",
125
125
  "Large emission version": "Versión de programa ampliada",
126
- "Large suggestion version": "Versión con sugerencias ampliada",
127
126
  "Embed link": "Integrar minirreproductor",
128
127
  "Embedly link": "Enlace al reproductor",
129
128
  "Direct link": "Enlace de audio",
@@ -331,7 +330,7 @@ export default {
331
330
  "List":"Lista",
332
331
  "Display HTML":"Mostrar HTML",
333
332
  "Video is unavailable":"El vídeo no está disponible",
334
- 'Full Large version': 'Versión grande completa',
333
+ 'Minimalist length version': 'Versión grande completa',
335
334
  "Show only episodes with video":"Mostrar solo episodios con video",
336
335
  "Video":"Video",
337
336
  "Video Version":"Versión de vídeo",
package/src/locale/fr.ts CHANGED
@@ -124,7 +124,6 @@ export default {
124
124
  "Large version": "Version en longueur",
125
125
  "Emission version": "Version émission",
126
126
  "Large emission version": "Version large émission",
127
- "Large suggestion version": "Version large suggestion",
128
127
  "Embed link": "Player intégré",
129
128
  "Embedly link": "Lien player",
130
129
  "Direct link": "Lien audio",
@@ -340,7 +339,7 @@ export default {
340
339
  "List":"Liste",
341
340
  "Display HTML":"Afficher HTML",
342
341
  "Video is unavailable":"La vidéo est indisponible",
343
- 'Full Large version': 'Version en longueur complète',
342
+ 'Minimalist length version': 'Version en longueur minimaliste',
344
343
  "Show only episodes with video":"Afficher uniquement les épisodes avec une vidéo",
345
344
  "Video":"Vidéo",
346
345
  "Video Version":"Version vidéo",
package/src/locale/it.ts CHANGED
@@ -120,7 +120,6 @@ export default{
120
120
  'Large version': 'Versione estesa',
121
121
  'Emission version': 'Versione della serie',
122
122
  'Large emission version': 'Versione estesa della serie',
123
- 'Large suggestion version': 'Versione estesa consigliata',
124
123
  'Embed link': 'Inserisci lettore',
125
124
  'Embedly link': 'Player link',
126
125
  'Direct link': 'Audio link',
@@ -327,7 +326,7 @@ export default{
327
326
  "List":"Elenco",
328
327
  "Display HTML":"Visualizza HTML",
329
328
  "Video is unavailable":"Il video non è disponibile",
330
- 'Full Large version': 'Versione completa di grandi dimensioni',
329
+ 'Minimalist length version': 'Versione di lunghezza minimalista',
331
330
  "Show only episodes with video":"Mostra solo episodi con video",
332
331
  "Video":"Video",
333
332
  "Video Version":"Versione video",
package/src/locale/sl.ts CHANGED
@@ -121,7 +121,6 @@ export default {
121
121
  "Large version": "Velika različica",
122
122
  "Emission version": "Različica oddaje",
123
123
  "Large emission version": "Velika različica oddaje",
124
- "Large suggestion version": "Velika različica predlogov prevajanja",
125
124
  "Embed link": "Vgradi mini predvajalnik",
126
125
  "Embedly link": "Povezava do predvajalnika",
127
126
  "Direct link": "Povezava do zvočnega posnetka",
@@ -322,7 +321,7 @@ export default {
322
321
  "List":"Seznam",
323
322
  "Display HTML":"Prikaži HTML",
324
323
  "Video is unavailable":"Videoposnetek ni na voljo",
325
- 'Full Large version': 'Popolna velika različica',
324
+ 'Minimalist length version': 'Minimalistična različica dolžine',
326
325
  "Show only episodes with video":"Prikaži samo epizode z videom",
327
326
  "Video":"Video",
328
327
  "Video Version":"Video različica",
@@ -97,7 +97,7 @@ const routes: Array<RouteRecordRaw> = [
97
97
  routeValidity:route.query.vl ?? "",
98
98
  routeOnlyVideo:route.query.v ?? "",
99
99
  routeOrga:route.query.o,
100
- routeRubriques :route.query.r,
100
+ routeRubriques :route.query.r ?? route.query.rubriquesId,
101
101
  }),
102
102
  meta:{
103
103
  title: "Podcasts",
@@ -118,7 +118,7 @@ const routes: Array<RouteRecordRaw> = [
118
118
  routeFrom: route.query.from,
119
119
  routeTo: route.query.to,
120
120
  routeOrga:route.query.o,
121
- routeRubriques :route.query.r,
121
+ routeRubriques :route.query.r ?? route.query.rubriquesId,
122
122
  }),
123
123
  meta:{
124
124
  title: "Emissions",