@saooti/octopus-sdk 29.0.0 → 29.0.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/README.md +5 -0
- package/index.ts +5 -2
- package/package.json +12 -11
- package/src/assets/bootstrap-diff.scss +5 -0
- package/src/assets/form.scss +19 -0
- package/src/assets/modal.scss +9 -10
- package/src/components/display/categories/CategoryList.vue +20 -19
- package/src/components/display/comments/AddCommentModal.vue +67 -67
- package/src/components/display/comments/CommentItem.vue +6 -4
- package/src/components/display/emission/EmissionInlineList.vue +4 -2
- package/src/components/display/filter/AdvancedSearch.vue +40 -27
- package/src/components/display/filter/RubriqueFilter.vue +3 -0
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/participant/ParticipantItem.vue +3 -0
- package/src/components/display/podcasts/ParticipantDescription.vue +8 -4
- package/src/components/display/podcasts/PodcastInlineList.vue +4 -2
- package/src/components/display/rubriques/RubriqueList.vue +22 -21
- package/src/components/display/sharing/PlayerParameters.vue +8 -4
- package/src/components/display/sharing/ShareButtons.vue +5 -3
- package/src/components/misc/HomeDropdown.vue +116 -87
- package/src/components/misc/Popover.vue +86 -0
- package/src/components/misc/modal/MessageModal.vue +51 -50
- package/src/components/misc/modal/NewsletterModal.vue +88 -82
- package/src/components/misc/modal/QrCodeModal.vue +31 -21
- package/src/components/misc/modal/ShareModalPlayer.vue +91 -51
- package/src/components/pages/Home.vue +8 -1
- package/src/components/pages/Participant.vue +2 -1
- package/src/helper/useEventListener.ts +18 -0
- package/src/main.ts +5 -24
package/README.md
CHANGED
|
@@ -462,8 +462,13 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
462
462
|
* 0.28.9 QrCode
|
|
463
463
|
* 0.28.10 QrCode icone
|
|
464
464
|
* 0.28.11 Podcastmaker modif
|
|
465
|
+
* 0.28.12 Rubriquage
|
|
465
466
|
|
|
466
467
|
* 29.0.0 Vue3
|
|
468
|
+
* 29.0.1 Upgrade npm
|
|
469
|
+
* 29.0.2 Début de suppression bootstrap vue
|
|
470
|
+
* 29.0.3 Début de suppression bootstrap vue
|
|
471
|
+
* 29.0.4 vue3
|
|
467
472
|
|
|
468
473
|
|
|
469
474
|
|
package/index.ts
CHANGED
|
@@ -21,6 +21,7 @@ import TopBar from "./src/components/misc/TopBar.vue";
|
|
|
21
21
|
import HomeDropdown from "./src/components/misc/HomeDropdown.vue";
|
|
22
22
|
import MessageModal from "./src/components/misc/modal/MessageModal.vue";
|
|
23
23
|
import ErrorMessage from "./src/components/misc/ErrorMessage.vue";
|
|
24
|
+
import Popover from "./src/components/misc/Popover.vue";
|
|
24
25
|
//Display
|
|
25
26
|
import CategoryChooser from "./src/components/display/categories/CategoryChooser.vue";
|
|
26
27
|
import CategoryList from "./src/components/display/categories/CategoryList.vue";
|
|
@@ -95,7 +96,8 @@ const components = {
|
|
|
95
96
|
Rubrique,
|
|
96
97
|
CategoryFilter,
|
|
97
98
|
orgaFilter,
|
|
98
|
-
initSDK
|
|
99
|
+
initSDK,
|
|
100
|
+
Popover
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
export default components;
|
|
@@ -140,5 +142,6 @@ export {
|
|
|
140
142
|
Rubrique,
|
|
141
143
|
CategoryFilter,
|
|
142
144
|
orgaFilter,
|
|
143
|
-
initSDK
|
|
145
|
+
initSDK,
|
|
146
|
+
Popover
|
|
144
147
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "29.0.
|
|
3
|
+
"version": "29.0.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -19,20 +19,19 @@
|
|
|
19
19
|
"@vue/cli": "^5.0.0-beta.4",
|
|
20
20
|
"@vue/compat": "^3.1.0",
|
|
21
21
|
"axios": "^0.21.4",
|
|
22
|
-
"bootstrap": "^5.1.
|
|
23
|
-
"
|
|
24
|
-
"bootstrap-vue-3": "0.0.4",
|
|
25
|
-
"core-js": "^3.18.1",
|
|
22
|
+
"bootstrap": "^5.1.2",
|
|
23
|
+
"core-js": "^3.18.2",
|
|
26
24
|
"hls.js": "^1.0.10",
|
|
27
25
|
"humanize-duration": "^3.27.0",
|
|
26
|
+
"jquery": "^3.6.0",
|
|
28
27
|
"luxon": "^2.0.2",
|
|
29
28
|
"moment": "^2.29.0",
|
|
30
29
|
"moment-locales-webpack-plugin": "^1.2.0",
|
|
31
|
-
"
|
|
30
|
+
"popper.js": "^1.16.1",
|
|
32
31
|
"qrcode.vue": "^3.3.2",
|
|
33
32
|
"sass": "^1.42.1",
|
|
34
33
|
"sass-loader": "^12.1.0",
|
|
35
|
-
"v-calendar": "^3.0.0-alpha.
|
|
34
|
+
"v-calendar": "^3.0.0-alpha.6",
|
|
36
35
|
"vue": "^3.1.0",
|
|
37
36
|
"vue-class-component": "^7.2.3",
|
|
38
37
|
"vue-i18n": "^9.2.0-beta.7",
|
|
@@ -42,13 +41,15 @@
|
|
|
42
41
|
"vue-router": "^4.0.11",
|
|
43
42
|
"vue3-swatches": "^1.0.3",
|
|
44
43
|
"vuex": "^4.0.2",
|
|
45
|
-
"webpack": "^5.
|
|
44
|
+
"webpack": "^5.58.0"
|
|
46
45
|
},
|
|
47
46
|
"devDependencies": {
|
|
47
|
+
"@types/bootstrap": "^5.1.6",
|
|
48
48
|
"@types/hls.js": "^1.0.0",
|
|
49
|
+
"@types/jquery": "^3.5.6",
|
|
49
50
|
"@types/vue-datetime": "^1.0.1",
|
|
50
|
-
"@typescript-eslint/eslint-plugin": "^4.
|
|
51
|
-
"@typescript-eslint/parser": "^4.
|
|
51
|
+
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
52
|
+
"@typescript-eslint/parser": "^4.33.0",
|
|
52
53
|
"@vue/cli-plugin-babel": "^5.0.0-beta.4",
|
|
53
54
|
"@vue/cli-plugin-eslint": "^5.0.0-beta.4",
|
|
54
55
|
"@vue/cli-plugin-typescript": "^5.0.0-beta.4",
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
"@vue/eslint-config-typescript": "^7.0.0",
|
|
58
59
|
"babel-eslint": "^10.0.3",
|
|
59
60
|
"eslint": "^7.32.0",
|
|
60
|
-
"eslint-plugin-vue": "^7.
|
|
61
|
+
"eslint-plugin-vue": "^7.19.1",
|
|
61
62
|
"typescript": "^4.4.3"
|
|
62
63
|
},
|
|
63
64
|
"eslintConfig": {
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
.btn{
|
|
11
|
+
font-size:.7rem;
|
|
11
12
|
border-radius: 50px;
|
|
12
13
|
background: $octopus-light-secondary-color;
|
|
13
14
|
transition: background .2s, border .2s, box-shadow .2s, color .2s;
|
|
14
15
|
text-decoration: none !important;
|
|
16
|
+
white-space: nowrap;
|
|
15
17
|
&:hover,
|
|
16
18
|
&:focus,
|
|
17
19
|
&:active,
|
|
@@ -230,6 +232,9 @@
|
|
|
230
232
|
//border: 1px solid #ddd;
|
|
231
233
|
border-radius: 5px;
|
|
232
234
|
}
|
|
235
|
+
.dropdown-toggle-no-caret::after{
|
|
236
|
+
display: none;
|
|
237
|
+
}
|
|
233
238
|
.dropdown-menu {
|
|
234
239
|
padding: $dropdown-padding-y 0.5rem;
|
|
235
240
|
@media (max-width: 450px) {
|
package/src/assets/form.scss
CHANGED
|
@@ -81,4 +81,23 @@ background: $octopus-primary-color;
|
|
|
81
81
|
.theme-saooti .vdatetime-time-picker__item--selected,
|
|
82
82
|
.theme-saooti .vdatetime-popup__actions__button {
|
|
83
83
|
color: $octopus-primary-color;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//Navigation Bar
|
|
87
|
+
.nav{
|
|
88
|
+
border-bottom: 0.05rem solid #ddd;
|
|
89
|
+
.nav-item{
|
|
90
|
+
flex-grow: 1;
|
|
91
|
+
text-align: center;
|
|
92
|
+
a {
|
|
93
|
+
color: black;
|
|
94
|
+
}
|
|
95
|
+
.nav-link{
|
|
96
|
+
border-bottom: 0.1rem solid transparent;
|
|
97
|
+
}
|
|
98
|
+
.active{
|
|
99
|
+
border-bottom-color: $octopus-primary-color;
|
|
100
|
+
color: $octopus-primary-color;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
84
103
|
}
|
package/src/assets/modal.scss
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
//Modal
|
|
2
|
-
.modal
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
transition: opacity .3s ease;
|
|
2
|
+
.modal{
|
|
3
|
+
display: block;
|
|
4
|
+
}
|
|
5
|
+
.modal-backdrop{
|
|
6
|
+
|
|
7
|
+
}
|
|
8
|
+
.modal-backdrop {
|
|
9
|
+
opacity: 0.5;
|
|
10
|
+
z-index: 0;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
.modal-wrapper {
|
|
@@ -14,28 +14,29 @@
|
|
|
14
14
|
{{ category.name }}
|
|
15
15
|
</button>
|
|
16
16
|
</div>
|
|
17
|
-
<
|
|
17
|
+
<div
|
|
18
18
|
v-show="hidenCategories.length"
|
|
19
|
-
|
|
20
|
-
toggle-class="text-decoration-none text-dark category-item category-item-plus"
|
|
21
|
-
no-caret
|
|
22
|
-
:aria-label="$t('See more')"
|
|
19
|
+
class="dropdown btn-group"
|
|
23
20
|
>
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
</template>
|
|
30
|
-
<b-dropdown-item
|
|
31
|
-
v-for="category in hidenCategories"
|
|
32
|
-
:key="category.id"
|
|
33
|
-
class="me-3"
|
|
34
|
-
@click="checkIfFilter(category)"
|
|
21
|
+
<button
|
|
22
|
+
class="btn dropdown-toggle btn-secondary text-decoration-none text-dark category-item category-item-plus dropdown-toggle-no-caret"
|
|
23
|
+
data-bs-toggle="dropdown"
|
|
24
|
+
aria-expanded="false"
|
|
25
|
+
:aria-label="$t('See more')"
|
|
35
26
|
>
|
|
36
|
-
|
|
37
|
-
</
|
|
38
|
-
|
|
27
|
+
<i class="saooti-plus" />
|
|
28
|
+
</button>
|
|
29
|
+
<ul class="dropdown-menu dropdown-menu-right px-4">
|
|
30
|
+
<div
|
|
31
|
+
v-for="category in hidenCategories"
|
|
32
|
+
:key="category.id"
|
|
33
|
+
class="me-3 dropdown-item"
|
|
34
|
+
@click="checkIfFilter(category)"
|
|
35
|
+
>
|
|
36
|
+
{{ category.name }}
|
|
37
|
+
</div>
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
39
40
|
</div>
|
|
40
41
|
</template>
|
|
41
42
|
|
|
@@ -1,73 +1,73 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#default
|
|
14
|
-
>
|
|
15
|
-
<div>{{ $t("Let's get acquainted :") }}</div>
|
|
16
|
-
<input
|
|
17
|
-
v-model="name"
|
|
18
|
-
class="form-input"
|
|
19
|
-
type="text"
|
|
20
|
-
:placeholder="$t('Your name')"
|
|
21
|
-
>
|
|
22
|
-
<div
|
|
23
|
-
v-if="sendError"
|
|
24
|
-
class="mt-1 text-danger"
|
|
25
|
-
>
|
|
26
|
-
{{ $t('Recaptcha error') }}
|
|
2
|
+
<div
|
|
3
|
+
id="add-comment-modal"
|
|
4
|
+
class="modal"
|
|
5
|
+
>
|
|
6
|
+
<div class="modal-backdrop" />
|
|
7
|
+
<div class="modal-dialog">
|
|
8
|
+
<div class="modal-content">
|
|
9
|
+
<div class="modal-header">
|
|
10
|
+
<h5 class="modal-title">
|
|
11
|
+
{{ $t('Welcome, thanks for your comment') }}
|
|
12
|
+
</h5>
|
|
27
13
|
</div>
|
|
28
|
-
<div
|
|
29
|
-
v-if="
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
14
|
+
<div class="modal-body">
|
|
15
|
+
<template v-if="!sending">
|
|
16
|
+
<div>{{ $t("Let's get acquainted :") }}</div>
|
|
17
|
+
<input
|
|
18
|
+
v-model="name"
|
|
19
|
+
class="form-input"
|
|
20
|
+
type="text"
|
|
21
|
+
:placeholder="$t('Your name')"
|
|
22
|
+
>
|
|
23
|
+
<div
|
|
24
|
+
v-if="sendError"
|
|
25
|
+
class="mt-1 text-danger"
|
|
26
|
+
>
|
|
27
|
+
{{ $t('Recaptcha error') }}
|
|
28
|
+
</div>
|
|
29
|
+
<div
|
|
30
|
+
v-if="isCaptchaTest"
|
|
31
|
+
class="mt-1 text-danger"
|
|
32
|
+
>
|
|
33
|
+
{{ $t('Recaptcha not active') }}
|
|
34
|
+
</div>
|
|
35
|
+
</template>
|
|
36
|
+
<template v-else>
|
|
37
|
+
<div>{{ $t('Send in progress') }}</div>
|
|
38
|
+
</template>
|
|
33
39
|
</div>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@click="closePopup"
|
|
66
|
-
>
|
|
67
|
-
{{ $t('Close') }}
|
|
68
|
-
</button>
|
|
69
|
-
</template>
|
|
70
|
-
</b-modal>
|
|
40
|
+
<div class="modal-footer">
|
|
41
|
+
<template
|
|
42
|
+
v-if="!sending"
|
|
43
|
+
>
|
|
44
|
+
<button
|
|
45
|
+
class="btn btn-light m-1"
|
|
46
|
+
@click="closePopup"
|
|
47
|
+
>
|
|
48
|
+
{{ $t('Cancel') }}
|
|
49
|
+
</button>
|
|
50
|
+
<button
|
|
51
|
+
class="btn btn-primary m-1"
|
|
52
|
+
:disabled="name.length <= 2"
|
|
53
|
+
@click="recaptcha"
|
|
54
|
+
>
|
|
55
|
+
{{ $t('Validate') }}
|
|
56
|
+
</button>
|
|
57
|
+
</template>
|
|
58
|
+
<template
|
|
59
|
+
v-else
|
|
60
|
+
>
|
|
61
|
+
<button
|
|
62
|
+
class="btn m-1"
|
|
63
|
+
@click="closePopup"
|
|
64
|
+
>
|
|
65
|
+
{{ $t('Close') }}
|
|
66
|
+
</button>
|
|
67
|
+
</template>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
71
|
</div>
|
|
72
72
|
</template>
|
|
73
73
|
|
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
<template v-else>
|
|
19
19
|
<b
|
|
20
20
|
:id="'popover-comment' + comment.comId"
|
|
21
|
-
class="
|
|
21
|
+
class="mr-2 text-danger"
|
|
22
22
|
>{{
|
|
23
23
|
comment.name
|
|
24
24
|
}}</b>
|
|
25
|
-
<
|
|
25
|
+
<Popover
|
|
26
26
|
:target="'popover-comment' + comment.comId"
|
|
27
27
|
triggers="hover"
|
|
28
28
|
custom-class="wizard-help"
|
|
29
29
|
>
|
|
30
30
|
{{ $t('Comment waiting') }}
|
|
31
|
-
</
|
|
31
|
+
</Popover>
|
|
32
32
|
</template>
|
|
33
33
|
</template>
|
|
34
34
|
<template v-else>
|
|
@@ -177,6 +177,7 @@ import { CommentPodcast } from '@/store/class/comment';
|
|
|
177
177
|
import { Podcast } from '@/store/class/podcast';
|
|
178
178
|
import { Conference } from '@/store/class/conference';
|
|
179
179
|
const moment = require('moment');
|
|
180
|
+
import Popover from '../../misc/Popover.vue';
|
|
180
181
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
181
182
|
const CommentInput = defineAsyncComponent(() => import('./CommentInput.vue'));
|
|
182
183
|
const CommentParentInfo = defineAsyncComponent(() => import('./CommentParentInfo.vue'));
|
|
@@ -189,7 +190,8 @@ export default defineComponent({
|
|
|
189
190
|
CommentInput,
|
|
190
191
|
CommentParentInfo,
|
|
191
192
|
EditCommentBox,
|
|
192
|
-
CommentList
|
|
193
|
+
CommentList,
|
|
194
|
+
Popover
|
|
193
195
|
},
|
|
194
196
|
|
|
195
197
|
mixins:[displayMethods, selenium],
|
|
@@ -238,9 +238,11 @@ export default defineComponent({
|
|
|
238
238
|
)
|
|
239
239
|
return undefined;
|
|
240
240
|
const rubrique = this.rubriques.find(
|
|
241
|
-
(element: Rubrique) => emission.rubriqueIds.includes(element.rubriqueId
|
|
241
|
+
(element: Rubrique) => element.rubriqueId && emission.rubriqueIds.includes(element.rubriqueId) && element.rubriquageId === parseInt(this.displayRubriquage)
|
|
242
242
|
);
|
|
243
|
-
|
|
243
|
+
if(rubrique){
|
|
244
|
+
return rubrique.name;
|
|
245
|
+
}
|
|
244
246
|
},
|
|
245
247
|
mainRubriquage(emission: Emission): string {
|
|
246
248
|
if (
|
|
@@ -149,38 +149,51 @@
|
|
|
149
149
|
<div class="primary-color mb-2 padding-left-custom-radio">
|
|
150
150
|
{{ $t('Sort') }}
|
|
151
151
|
</div>
|
|
152
|
-
<
|
|
153
|
-
v-
|
|
154
|
-
class="
|
|
152
|
+
<div
|
|
153
|
+
v-if="isSearchBar"
|
|
154
|
+
class="form-check"
|
|
155
155
|
>
|
|
156
|
-
<
|
|
157
|
-
|
|
156
|
+
<input
|
|
157
|
+
id="radio_score"
|
|
158
|
+
v-model="sort"
|
|
159
|
+
class="form-check-input"
|
|
160
|
+
type="radio"
|
|
161
|
+
name="sortRadio"
|
|
158
162
|
value="SCORE"
|
|
159
163
|
>
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
</
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
<label
|
|
165
|
+
class="form-check-label"
|
|
166
|
+
for="radio_score"
|
|
167
|
+
>{{ $t('Sort score') }}</label>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="form-check">
|
|
170
|
+
<input
|
|
171
|
+
id="radio_podcast"
|
|
172
|
+
v-model="sort"
|
|
173
|
+
class="form-check-input"
|
|
174
|
+
type="radio"
|
|
175
|
+
name="sortRadio"
|
|
176
|
+
:value="isEmission?'LAST_PODCAST_DESC':'DATE'"
|
|
167
177
|
>
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
</
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
178
|
+
<label
|
|
179
|
+
class="form-check-label"
|
|
180
|
+
for="radio_podcast"
|
|
181
|
+
>{{ $t('Sort last') }}</label>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="form-check">
|
|
184
|
+
<input
|
|
185
|
+
id="radio_name"
|
|
186
|
+
v-model="sort"
|
|
187
|
+
class="form-check-input"
|
|
188
|
+
type="radio"
|
|
189
|
+
name="sortRadio"
|
|
190
|
+
value="NAME"
|
|
175
191
|
>
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
</
|
|
180
|
-
|
|
181
|
-
{{ $t('Sort name') }}
|
|
182
|
-
</b-form-radio>
|
|
183
|
-
</b-form-radio-group>
|
|
192
|
+
<label
|
|
193
|
+
class="form-check-label"
|
|
194
|
+
for="radio_name"
|
|
195
|
+
>{{ $t('Sort name') }}</label>
|
|
196
|
+
</div>
|
|
184
197
|
</div>
|
|
185
198
|
</div>
|
|
186
199
|
</div>
|
|
@@ -106,6 +106,9 @@ export default defineComponent({
|
|
|
106
106
|
return;
|
|
107
107
|
}
|
|
108
108
|
this.isInternChanged = true;
|
|
109
|
+
if(0===this.arrayFilter.length && this.availableRubriquage[0].rubriquageId){
|
|
110
|
+
this.arrayFilter.push({rubriquageId: this.availableRubriquage[0].rubriquageId, rubriqueId: 0, name:""});
|
|
111
|
+
}
|
|
109
112
|
if(this.isRubriquage){
|
|
110
113
|
if(this.saveOrganisation !== this.organisation){
|
|
111
114
|
this.fetchTopics(true);
|
|
@@ -147,7 +147,7 @@ export default defineComponent({
|
|
|
147
147
|
defaultanswer: { default: '', type: String},
|
|
148
148
|
stats: { default: false, type: Boolean},
|
|
149
149
|
displayArrow: { default: true, type: Boolean},
|
|
150
|
-
value: { default: undefined, type:
|
|
150
|
+
value: { default: undefined, type: String},
|
|
151
151
|
light: { default: false, type: Boolean},
|
|
152
152
|
reset: { default: false, type: Boolean},
|
|
153
153
|
all: { default: false, type: Boolean},
|
|
@@ -99,6 +99,9 @@ export default defineComponent({
|
|
|
99
99
|
return state.generalParameters.authenticated;
|
|
100
100
|
},
|
|
101
101
|
editRight(): boolean {
|
|
102
|
+
if(!this.participant || !this.participant.orga){
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
102
105
|
if (
|
|
103
106
|
(this.authenticated &&
|
|
104
107
|
this.organisationId === this.participant.orga.id) ||
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
:aria-label="$t('Help')"
|
|
11
11
|
/>
|
|
12
12
|
<span class="mx-1">:</span>
|
|
13
|
-
<
|
|
13
|
+
<Popover
|
|
14
14
|
:target="idPopover"
|
|
15
15
|
triggers="hover"
|
|
16
16
|
custom-class="participant-help"
|
|
17
17
|
>
|
|
18
|
-
<div class="text-center
|
|
18
|
+
<div class="text-center font-weight-bold">
|
|
19
19
|
{{ title }}
|
|
20
20
|
</div>
|
|
21
21
|
<div class="horizontal-separator my-1" />
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
/>
|
|
33
33
|
<div class="horizontal-separator my-1" />
|
|
34
34
|
</div>
|
|
35
|
-
</
|
|
35
|
+
</Popover>
|
|
36
36
|
<router-link
|
|
37
37
|
v-for="participant in participants"
|
|
38
38
|
:key="participant.participantId"
|
|
@@ -52,11 +52,16 @@
|
|
|
52
52
|
</template>
|
|
53
53
|
|
|
54
54
|
<script lang="ts">
|
|
55
|
+
import Popover from '../../misc/Popover.vue';
|
|
55
56
|
import { Participant } from '@/store/class/participant';
|
|
56
57
|
import { defineComponent } from 'vue'
|
|
57
58
|
export default defineComponent({
|
|
58
59
|
name: 'ParticipantDescription',
|
|
59
60
|
|
|
61
|
+
components:{
|
|
62
|
+
Popover
|
|
63
|
+
},
|
|
64
|
+
|
|
60
65
|
props: {
|
|
61
66
|
participants: { default: () => [], type: Array as ()=> Array<Participant>},
|
|
62
67
|
isGuest: { default: false, type: Boolean},
|
|
@@ -80,7 +85,6 @@ export default defineComponent({
|
|
|
80
85
|
return this.$t('Animated by').toString();
|
|
81
86
|
}
|
|
82
87
|
},
|
|
83
|
-
|
|
84
88
|
methods: {
|
|
85
89
|
getName(person: any): string {
|
|
86
90
|
const first = person.firstName || '';
|
|
@@ -110,6 +110,7 @@ export default defineComponent({
|
|
|
110
110
|
buttonPlus: { default:false, type: Boolean},
|
|
111
111
|
rubriqueId: { default: () => [], type: Array as ()=> Array<number> },
|
|
112
112
|
rubriquageId:{ default: () => [], type: Array as ()=> Array<number> },
|
|
113
|
+
noRubriquageId: { default: () => [], type: Array as ()=> Array<number> },
|
|
113
114
|
},
|
|
114
115
|
emits: ['update:isArrow'],
|
|
115
116
|
|
|
@@ -224,8 +225,9 @@ export default defineComponent({
|
|
|
224
225
|
organisationId: this.organisation,
|
|
225
226
|
emissionId: this.emissionId,
|
|
226
227
|
iabId: this.iabId,
|
|
227
|
-
rubriqueId: this.rubriqueId,
|
|
228
|
-
rubriquageId: this.rubriquageId,
|
|
228
|
+
rubriqueId: this.rubriqueId.length ?this.rubriqueId:undefined,
|
|
229
|
+
rubriquageId: this.rubriquageId.length ?this.rubriquageId : undefined,
|
|
230
|
+
noRubriquageId: this.noRubriquageId.length ? this.noRubriquageId : undefined,
|
|
229
231
|
sort: this.popularSort ? 'POPULARITY' : 'DATE',
|
|
230
232
|
});
|
|
231
233
|
this.loading = false;
|
|
@@ -27,28 +27,29 @@
|
|
|
27
27
|
{{ rubrique.name }}
|
|
28
28
|
</button>
|
|
29
29
|
</div>
|
|
30
|
-
<
|
|
30
|
+
<div
|
|
31
31
|
v-show="hidenRubriques.length"
|
|
32
|
-
|
|
33
|
-
toggle-class="text-decoration-none text-dark rubrique-item rubrique-item-plus"
|
|
34
|
-
no-caret
|
|
35
|
-
:aria-label="$t('See more')"
|
|
32
|
+
class="dropdown btn-group"
|
|
36
33
|
>
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
</template>
|
|
43
|
-
<b-dropdown-item
|
|
44
|
-
v-for="rubrique in hidenRubriques"
|
|
45
|
-
:key="rubrique.rubriqueId"
|
|
46
|
-
class="me-3"
|
|
47
|
-
@click="addFilter(rubrique)"
|
|
34
|
+
<button
|
|
35
|
+
class="btn dropdown-toggle btn-secondary text-decoration-none text-dark category-item category-item-plus dropdown-toggle-no-caret"
|
|
36
|
+
data-bs-toggle="dropdown"
|
|
37
|
+
aria-expanded="false"
|
|
38
|
+
:aria-label="$t('See more')"
|
|
48
39
|
>
|
|
49
|
-
|
|
50
|
-
</
|
|
51
|
-
|
|
40
|
+
<i class="saooti-plus" />
|
|
41
|
+
</button>
|
|
42
|
+
<ul class="dropdown-menu dropdown-menu-right px-4">
|
|
43
|
+
<div
|
|
44
|
+
v-for="rubrique in hidenRubriques"
|
|
45
|
+
:key="rubrique.rubriqueId"
|
|
46
|
+
class="me-3 dropdown-item"
|
|
47
|
+
@click="addFilter(rubrique)"
|
|
48
|
+
>
|
|
49
|
+
{{ rubrique.name }}
|
|
50
|
+
</div>
|
|
51
|
+
</ul>
|
|
52
|
+
</div>
|
|
52
53
|
</div>
|
|
53
54
|
</template>
|
|
54
55
|
|
|
@@ -80,7 +81,7 @@ export default defineComponent({
|
|
|
80
81
|
return this.$store.state.filter.rubriqueFilter;
|
|
81
82
|
},
|
|
82
83
|
rubriqueDisplay(): Array<Rubrique>{
|
|
83
|
-
return this.$store.state.filter.rubriqueDisplay;
|
|
84
|
+
return this.$store.state.filter.rubriqueDisplay.filter((rubrique: Rubrique) => 0 !== rubrique.podcastCount );
|
|
84
85
|
},
|
|
85
86
|
rubriquageDisplay(): Array<Rubriquage>{
|
|
86
87
|
const elementToNotShow = Array.from(this.rubriqueFilter);
|
|
@@ -119,7 +120,7 @@ export default defineComponent({
|
|
|
119
120
|
const filterToAdd = {
|
|
120
121
|
rubriquageId: this.rubriquage.rubriquageId?this.rubriquage.rubriquageId: 0,
|
|
121
122
|
rubriqueId: rubrique.rubriqueId? rubrique.rubriqueId:0,
|
|
122
|
-
name: this.rubriquage.title +": "+rubrique.name
|
|
123
|
+
name: this.rubriquage.title +" : "+rubrique.name
|
|
123
124
|
};
|
|
124
125
|
const newFilter: Array<RubriquageFilter> = Array.from(this.$store.state.filter.rubriqueFilter);
|
|
125
126
|
newFilter.push(filterToAdd);
|