@saooti/octopus-sdk 41.1.10 → 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,18 @@
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
+
10
+ ## 41.1.11 (16/12/2025)
11
+
12
+ **Misc**
13
+
14
+ - Export de `ClassicWysiwyg`
15
+
3
16
  ## 41.1.10 (15/12/2025)
4
17
 
5
18
  **Misc**
package/index.ts CHANGED
@@ -40,8 +40,6 @@ export const getContractPreviewModal = () => import("./src/components/misc/modal
40
40
  export const getClassicModalInBody = () => import("./src/components/misc/modal/ClassicModalInBody.vue");
41
41
  export const getClassicHelpButton = () => import("./src/components/misc/ClassicHelpButton.vue");
42
42
  export const getClassicAlert = () => import("./src/components/misc/ClassicAlert.vue");
43
-
44
-
45
43
  //Display
46
44
  export const getCategoryChooser = () => import("./src/components/display/categories/CategoryChooser.vue");
47
45
  export const getCategoryList = () => import("./src/components/display/categories/CategoryList.vue");
@@ -99,7 +97,7 @@ export const getClassicContentEditable = () => import("./src/components/form/Cla
99
97
  export const getSwiperList = () => import("./src/components/display/list/SwiperList.vue");
100
98
  export const getClassicCopyButton = () => import("./src/components/form/ClassicCopyButton.vue");
101
99
  export const getClassicTagInput = () => import("./src/components/form/ClassicTagInput.vue");
102
-
100
+ export const getClassicWysiwyg = () => import("./src/components/form/ClassicWysiwyg.vue");
103
101
 
104
102
  //Composable
105
103
  import {useResizePhone} from "./src/components/composable/useResizePhone";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "41.1.10",
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,15 +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 },
181
- useEmissionTitle: { default: false, type: Boolean }
176
+ const props = withDefaults(defineProps<{
177
+ emissionId: number;
178
+ pr?: number;
179
+ ps?: number;
180
+ routeQuery?: string;
181
+ /** When true, display emission title in podcastmaker header */
182
+ useEmissionTitle?: boolean;
183
+ }>(), {
184
+ pr: 0,
185
+ ps: 30,
186
+ routeQuery: ''
182
187
  });
183
188
 
184
-
185
189
  //Data
186
190
  const loaded = ref(false);
187
191
  const error = ref(false);
@@ -270,4 +274,13 @@ function podcastsFetched(podcasts: Array<Podcast>) {
270
274
  }
271
275
  }
272
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
+ });
273
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),