@saooti/octopus-sdk 41.1.11 → 41.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 41.1.12 (18/12/2025)
4
+
5
+ **Feature**
6
+
7
+ - Ajout option de configuration dans `SdkParam` pour désactiver l'affichage des
8
+ mots-clés.
9
+
3
10
  ## 41.1.11 (16/12/2025)
4
11
 
5
12
  **Misc**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "41.1.11",
3
+ "version": "41.1.12",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -130,7 +130,7 @@
130
130
  </div>
131
131
  </div>
132
132
  <TagList
133
- v-if="undefined !== tags && 0 !== tags.length"
133
+ v-if="showTags"
134
134
  :tag-list="tags"
135
135
  :orga-id="podcast.organisation.id"
136
136
  :podcast-annotations="podcast.annotations"
@@ -196,11 +196,11 @@ import { useI18n } from "vue-i18n";
196
196
  import { useRouter } from "vue-router";
197
197
 
198
198
  //Props
199
- const props = defineProps({
200
- playingPodcast: { default: undefined, type: Object as () => Podcast },
201
- podcast: { default: undefined, type: Object as () => Podcast },
202
- podcastConference: { default: undefined, type: Object as () => Conference },
203
- })
199
+ const props = defineProps<{
200
+ podcast: Podcast;
201
+ playingPodcast?: Podcast;
202
+ podcastConference?: Conference;
203
+ }>();
204
204
 
205
205
  //Emits
206
206
  const emit = defineEmits(["updatePodcast"]);
@@ -297,4 +297,12 @@ function removeDeleted(): void {
297
297
  router.push("/");
298
298
  }
299
299
  }
300
+
301
+ const showTags = computed((): boolean => {
302
+ if (state.emissionsPage.hideTags === true) {
303
+ return false;
304
+ }
305
+
306
+ return undefined !== tags.value && 0 !== tags.value.length;
307
+ });
300
308
  </script>
@@ -107,7 +107,7 @@ function urlify(text:string|undefined){
107
107
  }
108
108
  </script>
109
109
 
110
- <style lang="scss">
110
+ <style scoped lang="scss">
111
111
  .octopus-app {
112
112
  .item-presentation-container {
113
113
  @media (width <= 960px) {
@@ -60,7 +60,7 @@
60
60
 
61
61
  <!-- Tag list -->
62
62
  <TagList
63
- v-if="undefined !== emission.tags && 0 !== emission.tags.length"
63
+ v-if="showTags"
64
64
  :tag-list="emission.tags"
65
65
  :orga-id="authOrgaId"
66
66
  :emission-annotations="emission.annotations"
@@ -173,16 +173,19 @@ const TagList = defineAsyncComponent(() => import("../display/podcasts/TagList.v
173
173
 
174
174
 
175
175
  //Props
176
- const props = defineProps({
177
- emissionId: { default: undefined, type: Number },
178
- pr: { default: 0, type: Number },
179
- ps: { default: 30, type: Number },
180
- routeQuery: { default: "", type: String },
176
+ const props = withDefaults(defineProps<{
177
+ emissionId: number;
178
+ pr?: number;
179
+ ps?: number;
180
+ routeQuery?: string;
181
181
  /** When true, display emission title in podcastmaker header */
182
- useEmissionTitle: { default: false, type: Boolean }
182
+ useEmissionTitle?: boolean;
183
+ }>(), {
184
+ pr: 0,
185
+ ps: 30,
186
+ routeQuery: ''
183
187
  });
184
188
 
185
-
186
189
  //Data
187
190
  const loaded = ref(false);
188
191
  const error = ref(false);
@@ -271,4 +274,13 @@ function podcastsFetched(podcasts: Array<Podcast>) {
271
274
  }
272
275
  }
273
276
  }
277
+
278
+ /** Indicates whether to show tags */
279
+ const showTags = computed((): boolean => {
280
+ if (state.podcastPage.hideTags === true) {
281
+ return false;
282
+ }
283
+
284
+ return undefined !== emission.value.tags && 0 !== emission.value.tags.length;
285
+ });
274
286
  </script>
@@ -110,13 +110,13 @@ const PodcastmakerHeader = defineAsyncComponent(
110
110
  );
111
111
 
112
112
  //Props
113
- const props = defineProps({
114
- updateStatus: { default: undefined, type: String },
115
- playingPodcast: { default: undefined, type: Object as () => Podcast },
116
- podcastId: { default: 0, type: Number },
113
+ const props = defineProps<{
114
+ updateStatus?: string;
115
+ playingPodcast?: Podcast;
116
+ podcastId: number;
117
117
  /** When true, display emission title in podcastmaker header */
118
- useEmissionTitle: { default: false, type: Boolean }
119
- });
118
+ useEmissionTitle?: boolean;
119
+ }>();
120
120
 
121
121
 
122
122
  //Data
@@ -24,6 +24,7 @@ const state: ParamStore = {
24
24
  isVideoPage:false,
25
25
  },
26
26
  };
27
+
27
28
  export interface ParamStore {
28
29
  generalParameters: {
29
30
  forceOrganisationId?: string;
@@ -38,6 +39,8 @@ export interface ParamStore {
38
39
  ShareButtons?: boolean;
39
40
  mainRubrique?: number;
40
41
  downloadButton?:boolean;
42
+ /** If true, hide tags on podcast page */
43
+ hideTags?: boolean;
41
44
  };
42
45
  emissionsPage: {
43
46
  itemPlayer?: boolean;
@@ -45,14 +48,23 @@ export interface ParamStore {
45
48
  mainRubrique?: number;
46
49
  buttonMore?: boolean;
47
50
  progressBar?: boolean;
51
+ /** If true, hide tags on emission page */
52
+ hideTags?: boolean;
48
53
  },
49
54
  player: {
50
55
  isVideoPage?:boolean;
51
56
  };
52
57
  }
53
- const definedProps = (obj:unknown) => Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
54
58
 
55
- const initialize = function initialize(initObject: ParamStore): void {
59
+ function definedProps<T>(obj: Partial<T>|undefined): Partial<T> {
60
+ if (obj === undefined) {
61
+ return {};
62
+ } else {
63
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined)) as Partial<T>;
64
+ }
65
+ }
66
+
67
+ const initialize = function initialize(initObject: Partial<ParamStore>): void {
56
68
  state.generalParameters = Object.assign(
57
69
  state.generalParameters,
58
70
  definedProps(initObject.generalParameters),