@saooti/octopus-sdk 41.12.0 → 41.12.1-beta2

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,22 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 41.12.1 (En cours)
4
+
5
+ **Features**
6
+
7
+ - Ajout de nouvelles fonctions dans l'api `rubriqueApi`
8
+ - Option de `AdvancedSearch` pour ne pas afficher le filtre de groupe
9
+ - Ajout callback sur fermeture de notifications
10
+
11
+ **Fixes**
12
+
13
+ - Correction d'une anomalie de chargement du style de la modale utilisée par
14
+ `ClassicNotifications`
15
+
16
+ **Misc**
17
+
18
+ - Suppression de la marge entre le titre et le contenu pour `PresentationLayout`
19
+
3
20
  ## 41.12.0 (13/07/2026)
4
21
 
5
22
  **Features**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "41.12.0",
3
+ "version": "41.12.1-beta2",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -24,6 +24,18 @@ async function searchRubriquages(organisationIds: Array<string>, searchOptions?:
24
24
  });
25
25
  }
26
26
 
27
+ /**
28
+ * Fetch rubriquage data by ID
29
+ * @param rubriquageId ID of the rubriquage to fetch
30
+ * @returns The rubriquage
31
+ */
32
+ async function getRubriquage(rubriquageId: number): Promise<Rubriquage> {
33
+ return classicApi.fetchData<Rubriquage>({
34
+ api: ModuleApi.DEFAULT,
35
+ path: `rubriquage/${rubriquageId}`
36
+ });
37
+ }
38
+
27
39
  async function searchRubriques(searchOptions?: {
28
40
  rubriquageId?: number;
29
41
  organisationId?: string|Array<string>;
@@ -61,6 +73,7 @@ async function getCachedRubrique(rubriqueId: number): Promise<Rubrique> {
61
73
  }
62
74
 
63
75
  export const rubriquesApi = {
76
+ getRubriquage,
64
77
  getRubrique,
65
78
  getCachedRubrique,
66
79
  searchRubriquages,
@@ -30,7 +30,7 @@
30
30
  <router-link
31
31
  v-if="href"
32
32
  :to="href"
33
- class="btn btn-primary align-self-center w-fit-content m-4 icon-available"
33
+ class="btn btn-primary align-self-center w-fit-content m-4"
34
34
  >
35
35
  {{ buttonText }}
36
36
  </router-link>
@@ -181,6 +181,8 @@ const props = withDefaults(defineProps<{
181
181
  rubriqueFilter?: Array<RubriquageFilter>;
182
182
  /** The filter on groups */
183
183
  emissionGroups?: Array<EmissionGroup>;
184
+ /** Force hide the emission group filter */
185
+ hideEmissionGroups?: boolean;
184
186
  }>(), {
185
187
  sort: "DATE",
186
188
  monetisable: "UNDEFINED",
@@ -217,6 +219,10 @@ const filterStore = useFilterStore();
217
219
  const authStore = useAuthStore();
218
220
 
219
221
  onMounted(async() => {
222
+ if (props.hideEmissionGroups) {
223
+ showEmissionGroups.value = false;
224
+ return;
225
+ }
220
226
  // Only show emission groups if there are some
221
227
  const nbGroups = await groupsApi.count({
222
228
  organisationIds: [props.organisationId]
@@ -3,10 +3,7 @@
3
3
  -->
4
4
  <template>
5
5
  <div class="d-flex flex-column p-3">
6
- <h2
7
- v-if="title"
8
- class="mb-3"
9
- >
6
+ <h2 v-if="title">
10
7
  {{ title }}
11
8
  </h2>
12
9
 
@@ -14,7 +14,10 @@
14
14
  <script setup lang="ts">
15
15
  import { storeToRefs } from 'pinia';
16
16
  import { useNotificationStore } from '../../stores/NotificationStore';
17
- import MessageModal from './modal/MessageModal.vue';
17
+
18
+ const MessageModal = defineAsyncComponent(() => import('./modal/MessageModal.vue'));
19
+
20
+ import { defineAsyncComponent } from 'vue';
18
21
 
19
22
  const {
20
23
  clearNotification
@@ -1,6 +1,5 @@
1
1
  <template>
2
2
  <section v-if="isInit" class="page-box">
3
- <!-- TODO à intégrer dans frontoffice -->
4
3
  <router-link
5
4
  v-if="isRolePlaylists && !isPodcastmaker"
6
5
  to="/main/priv/edit/playlist"
@@ -227,7 +227,8 @@ export const useAuthStore = defineStore("AuthStore", {
227
227
  });
228
228
  this.authUpdateOrganisation(activeOrganisation);
229
229
  this.fetchProfileAsynchrone();
230
- } catch {
230
+ } catch(error) {
231
+ console.error(error);
231
232
  if (this.authReload > 5) {
232
233
  return;
233
234
  }
@@ -15,6 +15,8 @@ interface Notification {
15
15
  type: NotificationType;
16
16
  /** When set to false, disallow manual closing of modal notification (default: true) */
17
17
  closeable?: boolean;
18
+ /** Callback called when the notification is closed */
19
+ closeCallback?: () => void;
18
20
  }
19
21
 
20
22
  export const useNotificationStore = defineStore('notifications', () => {
@@ -34,6 +36,10 @@ export const useNotificationStore = defineStore('notifications', () => {
34
36
  if (notif !== null) {
35
37
  const idx = notificationQueue.value.indexOf(notif);
36
38
  notificationQueue.value.splice(idx, 1);
39
+
40
+ if (notif.closeCallback) {
41
+ notif.closeCallback();
42
+ }
37
43
  }
38
44
  }
39
45