@saooti/octopus-sdk 39.3.2 → 39.3.4

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/index.ts CHANGED
@@ -55,6 +55,8 @@ export const getPodcastPlaylistInlineList = () => import("./src/components/displ
55
55
  export const getLiveList = () => import("./src/components/display/live/LiveList.vue");
56
56
  export const getEmissionPresentationList = () => import("./src/components/display/emission/EmissionPresentationList.vue");
57
57
  export const getPodcastPlayButton = () => import("./src/components/display/podcasts/PodcastPlayButton.vue");
58
+ export const getParticipantInlineList = () => import("./src/components/display/participant/ParticipantInlineList.vue");
59
+
58
60
 
59
61
  //Radio
60
62
  export const getRadioCurrently = () => import("./src/components/display/live/RadioCurrently.vue");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "39.3.2",
3
+ "version": "39.3.4",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -12,45 +12,41 @@
12
12
  "proxy_non_authentifié": "node proxy.ts false",
13
13
  "lint": "eslint --ext .js,.vue --fix src",
14
14
  "build_bundle": "vue-cli-service build --target lib --name octopus ./index.js",
15
- "sonar": "node sonarqube-scanner.js",
16
- "test": "jest --coverage"
15
+ "sonar": "node sonarqube-scanner.js"
17
16
  },
18
17
  "dependencies": {
19
18
  "@multiformats/murmur3": "^2.1.8",
20
19
  "@popperjs/core": "^2.11.8",
21
20
  "@stomp/stompjs": "^7.0.0",
22
- "@tato30/vue-pdf": "^1.11.2",
21
+ "@tato30/vue-pdf": "^1.11.3",
23
22
  "@tiptap/extension-hard-break": "^2.9.1",
24
23
  "@tiptap/extension-link": "^2.9.1",
25
24
  "@tiptap/extension-text-style": "^2.9.1",
26
25
  "@tiptap/extension-underline": "^2.9.1",
27
26
  "@tiptap/starter-kit": "^2.9.1",
28
27
  "@tiptap/vue-3": "^2.9.1",
29
- "@vue/cli": "^5.0.8",
30
- "@vue/compat": "^3.5.12",
31
28
  "@vuepic/vue-datepicker": "^10.0.0",
32
- "@vueuse/core": "^11.2.0",
29
+ "@vueuse/core": "^12.0.0",
33
30
  "autoprefixer": "^10.4.20",
34
- "axios": "^1.7.7",
31
+ "axios": "^1.7.9",
35
32
  "dayjs": "^1.11.13",
36
33
  "emoji-mart-vue-fast": "^15.0.3",
37
34
  "eslint-config-prettier": "^9.1.0",
38
35
  "eslint-plugin-prettier": "^5.2.1",
39
- "express": "^4.21.1",
36
+ "express": "^4.21.2",
40
37
  "hls.js": "^1.5.17",
41
38
  "humanize-duration": "^3.32.1",
42
- "jest": "^29.7.0",
43
- "pinia": "^2.2.6",
39
+ "pinia": "^2.3.0",
44
40
  "qrcode.vue": "^3.6.0",
45
- "sass": "^1.80.7",
41
+ "sass": "^1.82.0",
46
42
  "sockjs-client": "^1.6.1",
47
43
  "sonarqube-scanner": "^3.3.0",
48
44
  "swiper": "^11.1.14",
49
- "video.js": "^8.19.1",
45
+ "video.js": "^8.21.0",
50
46
  "videojs-quality-selector-hls": "^1.1.1",
51
47
  "vite": "^5.4.11",
52
48
  "vue": "^3.5.12",
53
- "vue-i18n": "^9.14.1",
49
+ "vue-i18n": "^10.0.5",
54
50
  "vue-material-design-icons": "^5.3.1",
55
51
  "vue-recaptcha": "^2.0.3",
56
52
  "vue-router": "^4.4.5",
@@ -60,14 +56,11 @@
60
56
  },
61
57
  "devDependencies": {
62
58
  "@types/sockjs-client": "^1.5.4",
63
- "@types/vue-select": "^3.16.8",
64
- "@typescript-eslint/eslint-plugin": "^7.18.0",
65
- "@typescript-eslint/parser": "^7.18.0",
59
+ "@typescript-eslint/eslint-plugin": "^8.18.0",
60
+ "@typescript-eslint/parser": "^8.18.0",
66
61
  "@vitejs/plugin-vue": "^5.1.4",
67
- "@vue/compiler-sfc": "^3.5.12",
68
- "@vue/eslint-config-typescript": "^13.0.0",
69
- "eslint": "^8.57.0",
70
- "eslint-plugin-vue": "^9.29.1",
62
+ "eslint": "^9.16.0",
63
+ "eslint-plugin-vue": "^9.32.0",
71
64
  "typescript": "^5.6.3"
72
65
  },
73
66
  "eslintConfig": {
@@ -122,10 +115,5 @@
122
115
  "repository": {
123
116
  "type": "git",
124
117
  "url": "git+https://github.com/saooti/octopus-sdk.git"
125
- },
126
- "jestSonar": {
127
- "reportPath": "coverage",
128
- "reportFile": "test-reporter.xml",
129
- "indent": 4
130
118
  }
131
119
  }
@@ -0,0 +1,96 @@
1
+ <template>
2
+ <div class="d-flex flex-column p-3 list-participants">
3
+ <ClassicLoading
4
+ :loading-text="loading ? $t('Loading participants ...') : undefined"
5
+ />
6
+ <SwiperList
7
+ v-if="!loading && allParticipants.length"
8
+ :size-item-overload="itemSize"
9
+ :list-object="allParticipants"
10
+ >
11
+ <template #octopusSlide="{ option }">
12
+ <ParticipantItem
13
+ v-if="0 !== option.participantId"
14
+ :participant="option"
15
+ />
16
+ </template>
17
+ </SwiperList>
18
+ <router-link
19
+ :to="href"
20
+ class="btn btn-primary align-self-center width-fit-content m-4"
21
+ >
22
+ {{ buttonText }}
23
+ </router-link>
24
+ </div>
25
+ </template>
26
+
27
+ <script lang="ts">
28
+ import ParticipantItem from "./ParticipantItem.vue";
29
+ import SwiperList from "../list/SwiperList.vue";
30
+ import classicApi from "../../../api/classicApi";
31
+ import { handle403 } from "../../mixins/handle403";
32
+ import ClassicLoading from "../../form/ClassicLoading.vue";
33
+ import { defineComponent } from "vue";
34
+ import { AxiosError } from "axios";
35
+ import imageProxy from "../../mixins/imageProxy";
36
+ import resizePhone from "../../mixins/resizePhone";
37
+ import { ListClassicReturn } from "@/stores/class/general/listReturn";
38
+ import { Participant } from "@/stores/class/general/participant";
39
+ export default defineComponent({
40
+ name: "ParticipantInlineList",
41
+
42
+ components: {
43
+ ParticipantItem,
44
+ ClassicLoading,
45
+ SwiperList,
46
+ },
47
+
48
+ mixins: [handle403, imageProxy, resizePhone],
49
+
50
+ props: {
51
+ organisationId: { default: undefined, type: String },
52
+ href: { default: undefined, type: String },
53
+ buttonText: { default: undefined, type: String },
54
+ itemSize: { default: undefined, type: Number },
55
+ },
56
+
57
+ data() {
58
+ return {
59
+ loading: true as boolean,
60
+ allParticipants: [] as Array<Participant>,
61
+ };
62
+ },
63
+
64
+ mounted() {
65
+ this.fetchNext();
66
+ },
67
+ methods: {
68
+ async fetchNext(): Promise<void> {
69
+ try {
70
+ const data = await classicApi.fetchData<ListClassicReturn<Participant>>({
71
+ api: 0,
72
+ path: "participant/search",
73
+ parameters: {
74
+ first: 0,
75
+ size: 10,
76
+ organisationId: this.organisationId,
77
+ sort: "LAST_PODCAST_DESC",
78
+ },
79
+ specialTreatement: true,
80
+ });
81
+ this.allParticipants = this.allParticipants.concat(
82
+ data.result.filter((part: Participant | null) => null !== part),
83
+ );
84
+ this.loading = false;
85
+ } catch (error) {
86
+ this.handle403(error as AxiosError);
87
+ }
88
+ },
89
+
90
+ reset(): void {
91
+ this.loading = true;
92
+ this.allParticipants.length = 0;
93
+ },
94
+ },
95
+ });
96
+ </script>
@@ -3,6 +3,7 @@
3
3
  <VueDatePicker
4
4
  :model-value="modelVal"
5
5
  :time-picker="isTimePicker"
6
+ :time-picker-inline="isTimePicker && timePickerInline"
6
7
  :input-class-name="templateClass"
7
8
  :clearable="false"
8
9
  :text-input="true"
@@ -70,6 +71,7 @@ export default defineComponent({
70
71
  monthPicker: { default: false, type: Boolean },
71
72
  customPosition: { default: null, type: Function },
72
73
  isInline: { default: false, type: Boolean },
74
+ timePickerInline: { default: false, type: Boolean },
73
75
  },
74
76
 
75
77
  emits: ["updateDate", "update:date"],
@@ -190,6 +190,10 @@ export default defineComponent({
190
190
  this.isTabAction = false;
191
191
  return;
192
192
  }
193
+ //Exception timepicker in popover
194
+ if (e?.target?.classList?.contains("dp__time_display")) {
195
+ return;
196
+ }
193
197
  if (!e.relatedTarget) {
194
198
  return this.clearClick();
195
199
  }