@saooti/octopus-sdk 39.3.11 → 39.3.13
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 +1 -0
- package/package.json +1 -1
- package/src/App.vue +7 -4
- package/src/api/classicApi.ts +3 -2
- package/src/assets/general.scss +3 -0
- package/src/components/display/categories/CategoryChooser.vue +6 -1
- package/src/components/display/categories/CategoryFilter.vue +3 -3
- package/src/components/display/comments/CommentSection.vue +2 -2
- package/src/components/display/comments/item/CommentBasicView.vue +3 -6
- package/src/components/display/emission/EmissionItem.vue +1 -0
- package/src/components/display/emission/EmissionPlayerItem.vue +1 -0
- package/src/components/display/emission/EmissionPresentationItem.vue +1 -0
- package/src/components/display/filter/AdvancedSearch.vue +4 -6
- package/src/components/display/filter/SearchOrder.vue +10 -13
- package/src/components/display/list/SwiperList.vue +0 -1
- package/src/components/display/live/LiveList.vue +2 -2
- package/src/components/display/live/RadioCurrently.vue +1 -0
- package/src/components/display/live/RadioImage.vue +1 -0
- package/src/components/display/live/RadioList.vue +2 -2
- package/src/components/display/live/RadioPlanning.vue +3 -2
- package/src/components/display/organisation/OrganisationChooser.vue +5 -1
- package/src/components/display/participant/ParticipantItem.vue +1 -0
- package/src/components/display/playlist/PlaylistItem.vue +1 -0
- package/src/components/display/podcasts/DownloadPodcastButton.vue +0 -26
- package/src/components/display/podcasts/PodcastFilterList.vue +2 -2
- package/src/components/display/podcasts/PodcastImage.vue +1 -0
- package/src/components/display/podcasts/PodcastModuleBox.vue +2 -2
- package/src/components/display/podcasts/TagList.vue +6 -6
- package/src/components/display/podcasts/VideoModuleBox.vue +2 -2
- package/src/components/display/sharing/ShareButtons.vue +2 -2
- package/src/components/display/sharing/ShareDistribution.vue +2 -2
- package/src/components/display/sharing/SharePlayer.vue +2 -2
- package/src/components/display/sharing/SharePlayerRadio.vue +2 -2
- package/src/components/display/sharing/SharePlayerTypes.vue +19 -18
- package/src/components/form/ClassicCheckbox.vue +3 -3
- package/src/components/form/ClassicMultiselect.vue +5 -0
- package/src/components/form/ClassicRadioLabel.vue +38 -0
- package/src/components/icons/AmazonMusicIcon.vue +0 -1
- package/src/components/icons/ApplePodcastIcon.vue +0 -1
- package/src/components/icons/DeezerIcon.vue +0 -1
- package/src/components/icons/EditFtpIcon.vue +0 -1
- package/src/components/icons/IHeartIcon.vue +0 -1
- package/src/components/icons/PlayVideoIcon.vue +0 -1
- package/src/components/icons/PlayerFmIcon.vue +0 -1
- package/src/components/icons/PocketCastIcon.vue +0 -1
- package/src/components/icons/PodcastAddictIcon.vue +0 -1
- package/src/components/icons/RadiolineIcon.vue +0 -1
- package/src/components/icons/TuninIcon.vue +0 -1
- package/src/components/icons/XIcon.vue +0 -1
- package/src/components/misc/AcpmImage.vue +1 -0
- package/src/components/misc/ClassicAccordion.vue +2 -1
- package/src/components/misc/ErrorMessage.vue +0 -1
- package/src/components/misc/FooterSection.vue +18 -10
- package/src/components/misc/HomeDropdown.vue +58 -46
- package/src/components/misc/TopBar.vue +3 -5
- package/src/components/misc/TopBarMainContent.vue +44 -33
- package/src/components/misc/modal/ClassicModal.vue +48 -94
- package/src/components/misc/modal/NewsletterModal.vue +1 -21
- package/src/components/misc/player/PlayerCompact.vue +0 -2
- package/src/components/misc/player/PlayerComponent.vue +2 -2
- package/src/components/misc/player/ads/AdsSkipButton.vue +1 -1
- package/src/components/misc/player/elements/PlayerImage.vue +1 -0
- package/src/components/mixins/metaTitle.ts +1 -1
- package/src/components/mixins/metaTitleWatch.ts +12 -4
- package/src/components/mixins/player/playerLogicProgress.ts +0 -1
- package/src/components/mixins/player/playerStitching.ts +3 -4
- package/src/components/mixins/player/playerVast.ts +2 -2
- package/src/components/mixins/routeParam/advancedParamInit.ts +8 -8
- package/src/components/mixins/seoTitleUrl.ts +1 -1
- package/src/components/pages/CategoryPage.vue +2 -2
- package/src/components/pages/EmissionPage.vue +7 -6
- package/src/components/pages/EmissionsPage.vue +2 -2
- package/src/components/pages/Error403Page.vue +6 -4
- package/src/components/pages/HomePage.vue +2 -2
- package/src/components/pages/LivesPage.vue +2 -2
- package/src/components/pages/MapPage.vue +4 -4
- package/src/components/pages/PageNotFound.vue +2 -2
- package/src/components/pages/ParticipantPage.vue +7 -6
- package/src/components/pages/ParticipantsPage.vue +2 -2
- package/src/components/pages/PlaylistPage.vue +8 -5
- package/src/components/pages/PlaylistsPage.vue +2 -2
- package/src/components/pages/PodcastPage.vue +13 -12
- package/src/components/pages/PodcastsPage.vue +2 -2
- package/src/components/pages/RadioPage.vue +4 -4
- package/src/components/pages/RubriquePage.vue +2 -2
- package/src/components/pages/SearchPage.vue +2 -2
- package/src/components/pages/VideoPage.vue +8 -6
- package/src/locale/de.ts +1 -0
- package/src/locale/en.ts +1 -0
- package/src/locale/es.ts +1 -0
- package/src/locale/fr.ts +1 -0
- package/src/locale/it.ts +1 -0
- package/src/locale/sl.ts +1 -0
- package/src/stores/PlayerStore.ts +1 -5
package/index.ts
CHANGED
|
@@ -73,6 +73,7 @@ export const getSearchOrder = () => import("./src/components/display/filter/Sear
|
|
|
73
73
|
export const getClassicSearch = () => import("./src/components/form/ClassicSearch.vue");
|
|
74
74
|
export const getClassicCheckbox = () => import("./src/components/form/ClassicCheckbox.vue");
|
|
75
75
|
export const getClassicRadio = () => import("./src/components/form/ClassicRadio.vue");
|
|
76
|
+
export const getClassicRadioLabel = () => import("./src/components/form/ClassicRadioLabel.vue");
|
|
76
77
|
export const getClassicLoading = () => import("./src/components/form/ClassicLoading.vue");
|
|
77
78
|
export const getClassicSelect = () => import("./src/components/form/ClassicSelect.vue");
|
|
78
79
|
export const getClassicDatePicker = () => import("./src/components/form/ClassicDatePicker.vue");
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
<div class="d-flex flex-column h-100 octopus-app">
|
|
3
3
|
<template v-if="pageFullyLoad">
|
|
4
4
|
<TopBar :is-education="false" />
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
<main>
|
|
6
|
+
<CategoryFilter v-if="firstDisplayCategoryFilter" />
|
|
7
|
+
<div v-else class="category-filter-no-filter" />
|
|
8
|
+
<router-view />
|
|
9
|
+
<PlayerComponent />
|
|
10
|
+
</main>
|
|
8
11
|
<ClassicLazy :min-height="123">
|
|
9
12
|
<FooterOctopus />
|
|
10
13
|
</ClassicLazy>
|
|
11
|
-
<PlayerComponent />
|
|
12
14
|
</template>
|
|
13
15
|
</div>
|
|
14
16
|
</template>
|
|
@@ -78,6 +80,7 @@ export default defineComponent({
|
|
|
78
80
|
},
|
|
79
81
|
},
|
|
80
82
|
"$i18n.locale"() {
|
|
83
|
+
this.updateMetaTitle();
|
|
81
84
|
this.$forceUpdate();
|
|
82
85
|
this.reload = !this.reload;
|
|
83
86
|
},
|
package/src/api/classicApi.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {getApiUrl, ModuleApi} from "./apiConnection";
|
|
2
2
|
import fetchHelper from "../helper/fetch";
|
|
3
|
-
import axios from 'axios';
|
|
3
|
+
import axios, { AxiosError } from 'axios';
|
|
4
4
|
import { FetchParam } from "@/stores/class/general/fetchParam";
|
|
5
5
|
import { state } from "../stores/ParamSdkStore";
|
|
6
6
|
|
|
@@ -77,7 +77,8 @@ export default {
|
|
|
77
77
|
if(params.catchFunction){
|
|
78
78
|
params.catchFunction();
|
|
79
79
|
}else{
|
|
80
|
-
|
|
80
|
+
const axiosError= error as AxiosError;
|
|
81
|
+
return Promise.reject(new Error(axiosError.message));
|
|
81
82
|
}
|
|
82
83
|
});
|
|
83
84
|
return response?.data;
|
package/src/assets/general.scss
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
ref="selectCategory"
|
|
5
5
|
:option-chosen="model"
|
|
6
6
|
option-label="name"
|
|
7
|
-
:
|
|
7
|
+
:displayLabel="displayLabel"
|
|
8
|
+
:label="label ?? $t('By category')"
|
|
9
|
+
:textDanger="textDanger"
|
|
8
10
|
:placeholder="$t('Type string to filter by categories')"
|
|
9
11
|
:max-element="maxElement"
|
|
10
12
|
:in-modal="inModal"
|
|
@@ -45,6 +47,9 @@ export default defineComponent({
|
|
|
45
47
|
},
|
|
46
48
|
inModal: { default: false, type: Boolean },
|
|
47
49
|
noDeselect: { default: true, type: Boolean },
|
|
50
|
+
label:{default: undefined, type: String },
|
|
51
|
+
displayLabel: { default: false, type: Boolean },
|
|
52
|
+
textDanger :{ default: undefined, type: String },
|
|
48
53
|
},
|
|
49
54
|
emits: [
|
|
50
55
|
"update:categorySelected",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section
|
|
3
3
|
v-show="isHeaderDisplay"
|
|
4
4
|
class="header-img flex-column justify-content-end"
|
|
5
5
|
:style="backgroundDisplay"
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
:rubriquages="rubriquageFilter"
|
|
63
63
|
/>
|
|
64
64
|
</div>
|
|
65
|
-
</
|
|
66
|
-
<
|
|
65
|
+
</section>
|
|
66
|
+
<section v-if="!isDisplay" class="category-filter-no-filter" />
|
|
67
67
|
</template>
|
|
68
68
|
|
|
69
69
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section v-show="displayCommentSection" class="module-box">
|
|
3
3
|
<div class="d-flex align-items-center">
|
|
4
4
|
<h3 class="mb-0 me-2">{{ $t("Podcast's comments") }}</h3>
|
|
5
5
|
<button
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
:config="configPodcast"
|
|
24
24
|
:event-to-handle="eventToHandle"
|
|
25
25
|
/>
|
|
26
|
-
</
|
|
26
|
+
</section>
|
|
27
27
|
</template>
|
|
28
28
|
|
|
29
29
|
<script lang="ts">
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-flex flex-column w-100">
|
|
3
3
|
<div class="d-flex align-items-center h6 mb-2">
|
|
4
|
-
<
|
|
4
|
+
<button
|
|
5
5
|
:id="'popover-comment' + comment.commentId"
|
|
6
|
-
role="button"
|
|
7
|
-
tabindex="-1"
|
|
8
6
|
:class="isValidComment ? 'c-hand-auto' : 'text-danger'"
|
|
9
|
-
class="me-2"
|
|
10
|
-
>{{ username }}</
|
|
11
|
-
>
|
|
7
|
+
class="btn-transparent me-2"
|
|
8
|
+
>{{ username }}</button>
|
|
12
9
|
<ClassicPopover
|
|
13
10
|
:disable="isValidComment"
|
|
14
11
|
:target="'popover-comment' + comment.commentId"
|
|
@@ -190,12 +190,10 @@ export default defineComponent({
|
|
|
190
190
|
},
|
|
191
191
|
searchPattern(value: string): void {
|
|
192
192
|
const search = value.trim();
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
? "LAST_PODCAST_DESC"
|
|
198
|
-
: "DATE";
|
|
193
|
+
let valSort = "SCORE"
|
|
194
|
+
if(search.length <= 3){
|
|
195
|
+
valSort = this.isEmission? "LAST_PODCAST_DESC" : "DATE";
|
|
196
|
+
}
|
|
199
197
|
if (valSort !== this.sort) {
|
|
200
198
|
this.$emit("update:sort", valSort);
|
|
201
199
|
}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@update:text-init="$emit('update:sort', $event)"
|
|
11
|
-
/>
|
|
12
|
-
</div>
|
|
2
|
+
<ClassicRadioLabel
|
|
3
|
+
:text-init="sort"
|
|
4
|
+
id-radio="sort-radio"
|
|
5
|
+
:options="optionsArray"
|
|
6
|
+
:radioLabel="$t('Sort')"
|
|
7
|
+
classLabel="text-primary mb-2"
|
|
8
|
+
@update:text-init="$emit('update:sort', $event)"
|
|
9
|
+
/>
|
|
13
10
|
</template>
|
|
14
11
|
|
|
15
12
|
<script lang="ts">
|
|
16
|
-
import
|
|
13
|
+
import ClassicRadioLabel from "../../form/ClassicRadioLabel.vue";
|
|
17
14
|
import { defineComponent } from "vue";
|
|
18
15
|
export default defineComponent({
|
|
19
16
|
components: {
|
|
20
|
-
|
|
17
|
+
ClassicRadioLabel,
|
|
21
18
|
},
|
|
22
19
|
props: {
|
|
23
20
|
isEmission: { default: false, type: Boolean },
|
|
@@ -103,7 +103,6 @@ export default defineComponent({
|
|
|
103
103
|
|
|
104
104
|
methods: {
|
|
105
105
|
slidesUpdated() {
|
|
106
|
-
//TODO CODE USELESS IF LIBRARY IS FIXED BUT FOR NOW IT IS IMPORTANT
|
|
107
106
|
if (!this.$el) return;
|
|
108
107
|
const slides = this.$el.getElementsByClassName("swiper-slide");
|
|
109
108
|
for (const slide of slides) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section v-if="displayLiveList" class="d-flex flex-column align-items-start mt-3">
|
|
3
3
|
<div
|
|
4
4
|
class="d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center"
|
|
5
5
|
>
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
</template>
|
|
40
40
|
</SwiperList>
|
|
41
41
|
</template>
|
|
42
|
-
</
|
|
42
|
+
</section>
|
|
43
43
|
</template>
|
|
44
44
|
|
|
45
45
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section
|
|
3
3
|
v-if="(filterOrgaId || organisationId) && radio.length"
|
|
4
4
|
class="d-flex flex-column align-items-start mt-3"
|
|
5
5
|
>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
:radio="radioItem"
|
|
14
14
|
/>
|
|
15
15
|
</template>
|
|
16
|
-
</
|
|
16
|
+
</section>
|
|
17
17
|
</template>
|
|
18
18
|
|
|
19
19
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section class="module-box">
|
|
3
3
|
<h2 class="mb-3">
|
|
4
4
|
{{ $t("Program") }}
|
|
5
5
|
</h2>
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
height="150"
|
|
84
84
|
class="m-2 program-item-img"
|
|
85
85
|
role="presentation"
|
|
86
|
+
alt=""
|
|
86
87
|
:title="
|
|
87
88
|
$t('Episode name image', {
|
|
88
89
|
name: planningItem.podcastData.title,
|
|
@@ -109,7 +110,7 @@
|
|
|
109
110
|
</template>
|
|
110
111
|
</div>
|
|
111
112
|
</div>
|
|
112
|
-
</
|
|
113
|
+
</section>
|
|
113
114
|
</template>
|
|
114
115
|
|
|
115
116
|
<script lang="ts">
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
id="organisation-chooser"
|
|
5
5
|
ref="selectOrganisation"
|
|
6
6
|
option-label="name"
|
|
7
|
-
:label="
|
|
7
|
+
:label="label ??$t('select productor')"
|
|
8
|
+
:display-label="displayLabel"
|
|
8
9
|
:max-element="maxElement"
|
|
9
10
|
:width="width"
|
|
10
11
|
:in-modal="inModal"
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
height="32"
|
|
27
28
|
class="me-2"
|
|
28
29
|
role="presentation"
|
|
30
|
+
alt=""
|
|
29
31
|
:title="$t('Organisation name image', { name: option.name })"
|
|
30
32
|
/>
|
|
31
33
|
<span>
|
|
@@ -63,6 +65,8 @@ export default defineComponent({
|
|
|
63
65
|
isImage: { default: true, type: Boolean },
|
|
64
66
|
inModal: { default: false, type: Boolean },
|
|
65
67
|
noDeselect: { default: true, type: Boolean },
|
|
68
|
+
label:{default: undefined, type: String },
|
|
69
|
+
displayLabel: { default: false, type: Boolean },
|
|
66
70
|
},
|
|
67
71
|
emits: ["selected"],
|
|
68
72
|
data() {
|
|
@@ -7,32 +7,6 @@
|
|
|
7
7
|
>
|
|
8
8
|
<DownloadIcon />
|
|
9
9
|
</button>
|
|
10
|
-
<!-- <template v-else>
|
|
11
|
-
<button
|
|
12
|
-
id="download-podcast-or-video"
|
|
13
|
-
class="btn btn-round-light ms-2"
|
|
14
|
-
:title="$t('Download')"
|
|
15
|
-
/>
|
|
16
|
-
<ClassicPopover
|
|
17
|
-
target="download-podcast-or-video"
|
|
18
|
-
relative-class="page-element"
|
|
19
|
-
:is-fixed="true"
|
|
20
|
-
:only-click="true"
|
|
21
|
-
>
|
|
22
|
-
<button
|
|
23
|
-
class="octopus-dropdown-item btn-transparent"
|
|
24
|
-
@mousedown="downloadPodcast"
|
|
25
|
-
>
|
|
26
|
-
{{ $t("Download audio") }}
|
|
27
|
-
</button>
|
|
28
|
-
<button
|
|
29
|
-
class="octopus-dropdown-item btn-transparent"
|
|
30
|
-
@mousedown="downloadVideo"
|
|
31
|
-
>
|
|
32
|
-
{{ $t("Download video") }}
|
|
33
|
-
</button>
|
|
34
|
-
</ClassicPopover>
|
|
35
|
-
</template> -->
|
|
36
10
|
</div>
|
|
37
11
|
</template>
|
|
38
12
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section v-if="podcast" class="module-box">
|
|
3
3
|
<div class="mb-2 d-flex">
|
|
4
4
|
<div class="w-100">
|
|
5
5
|
<PodcastImage
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
:display-studio-access="isDebriefing"
|
|
138
138
|
@validate-podcast="$emit('updatePodcast', $event)"
|
|
139
139
|
/>
|
|
140
|
-
</
|
|
140
|
+
</section>
|
|
141
141
|
</template>
|
|
142
142
|
|
|
143
143
|
<script lang="ts">
|
|
@@ -12,21 +12,21 @@
|
|
|
12
12
|
class="tag-list-element"
|
|
13
13
|
:class="ouestFranceMainTag === tag ? 'main-of-tag' : ''"
|
|
14
14
|
>
|
|
15
|
-
<
|
|
15
|
+
<button
|
|
16
16
|
:id="'tag-list-from-podcast-page' + index"
|
|
17
|
-
|
|
18
|
-
class="d-flex align-items-center"
|
|
17
|
+
class="btn-transparent d-flex align-items-center"
|
|
19
18
|
>
|
|
20
19
|
<img
|
|
21
20
|
v-if="isOuestFranceTag(tag)"
|
|
22
21
|
width="20"
|
|
23
22
|
height="20"
|
|
24
23
|
class="ouest-france-logo"
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
role="presentation"
|
|
25
|
+
alt=""
|
|
26
|
+
src="/img/ouest_france_logo.svg"
|
|
27
27
|
/>
|
|
28
28
|
{{ formateOfTag(tag) }}
|
|
29
|
-
</
|
|
29
|
+
</button>
|
|
30
30
|
<ClassicPopover
|
|
31
31
|
v-if="isOuestFranceTag(tag)"
|
|
32
32
|
:target="'tag-list-from-podcast-page' + index"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section v-if="podcast" class="d-flex flex-column flex-grow-1 mt-2">
|
|
3
3
|
<div class="d-flex justify-content-between flex-wrap">
|
|
4
4
|
<div v-if="0 !== date.length" class="me-2">
|
|
5
5
|
{{ date }}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<ParticipantDescription :participants="podcast.animators" />
|
|
20
20
|
<ParticipantDescription :participants="podcast.guests" :is-guest="true" />
|
|
21
21
|
<PodcastRawTranscript class="mt-3" :podcast-id="podcast.podcastId" />
|
|
22
|
-
</
|
|
22
|
+
</section>
|
|
23
23
|
</template>
|
|
24
24
|
|
|
25
25
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section v-if="!isLoading && (authOrgaId || !noSharing)" class="module-box">
|
|
3
3
|
<div class="share-buttons-display">
|
|
4
4
|
<div v-if="!isGarRole && !noSharing" class="d-flex flex-column me-2">
|
|
5
5
|
<h3 class="mb-2">
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
position="bottom-left"
|
|
123
123
|
/>
|
|
124
124
|
</div>
|
|
125
|
-
</
|
|
125
|
+
</section>
|
|
126
126
|
</template>
|
|
127
127
|
|
|
128
128
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section class="module-box">
|
|
3
3
|
<h2 class="mb-3">
|
|
4
4
|
{{ $t("Distribute") }}
|
|
5
5
|
</h2>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
ref="snackbar"
|
|
33
33
|
position="bottom-left"
|
|
34
34
|
/>
|
|
35
|
-
</
|
|
35
|
+
</section>
|
|
36
36
|
</template>
|
|
37
37
|
|
|
38
38
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section class="module-box overflow-visible">
|
|
3
3
|
<div class="d-flex justify-content-between align-items-center">
|
|
4
4
|
<h3 class="mb-3">
|
|
5
5
|
{{ $t("Embed") }}
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
<div v-else-if="!authenticated">
|
|
84
84
|
{{ $t("Only authenticated members can share the content") }}
|
|
85
85
|
</div>
|
|
86
|
-
</
|
|
86
|
+
</section>
|
|
87
87
|
</template>
|
|
88
88
|
|
|
89
89
|
<script lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section class="module-box overflow-visible">
|
|
3
3
|
<h2 class="mb-3">
|
|
4
4
|
{{ $t("Embed") }}
|
|
5
5
|
</h2>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
</button>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
38
|
-
</
|
|
38
|
+
</section>
|
|
39
39
|
</template>
|
|
40
40
|
|
|
41
41
|
<script lang="ts">
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<label for="iframe-select" title="select miniplayer"
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
>
|
|
8
|
-
<template v-for="option in optionsSelect" :key="option.value">
|
|
9
|
-
<option v-if="option.condition" :value="option.value">
|
|
10
|
-
{{ option.name }}
|
|
11
|
-
</option>
|
|
12
|
-
</template>
|
|
13
|
-
<option
|
|
14
|
-
v-for="player in customPlayersDisplay"
|
|
15
|
-
:key="player.customId"
|
|
16
|
-
:value="player.customId"
|
|
2
|
+
<label for="iframe-select" title="select miniplayer" >
|
|
3
|
+
<select
|
|
4
|
+
id="iframe-select"
|
|
5
|
+
:value="iFrameModel"
|
|
6
|
+
@change="selectChange($event)"
|
|
17
7
|
>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
<template v-for="option in optionsSelect" :key="option.value">
|
|
9
|
+
<option v-if="option.condition" :value="option.value">
|
|
10
|
+
{{ option.name }}
|
|
11
|
+
</option>
|
|
12
|
+
</template>
|
|
13
|
+
<option
|
|
14
|
+
v-for="player in customPlayersDisplay"
|
|
15
|
+
:key="player.customId"
|
|
16
|
+
:value="player.customId"
|
|
17
|
+
>
|
|
18
|
+
{{ $t("Custom version") + " «" + player.name + "»" }}
|
|
19
|
+
</option>
|
|
20
|
+
</select>
|
|
21
|
+
</label>
|
|
21
22
|
</template>
|
|
22
23
|
|
|
23
24
|
<script lang="ts">
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
@input="$emit('update:textInit', !textInit)"
|
|
13
13
|
@click="emitClickAction"
|
|
14
14
|
/>
|
|
15
|
-
<
|
|
15
|
+
<button
|
|
16
16
|
v-if="isSwitch"
|
|
17
|
-
class="slider"
|
|
18
|
-
|
|
17
|
+
class="slider btn-transparent"
|
|
18
|
+
:title="label"
|
|
19
19
|
@click="clickSlider"
|
|
20
20
|
@keydown.space.prevent="clickSlider"
|
|
21
21
|
/>
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"
|
|
28
28
|
:filter="fakeSearch"
|
|
29
29
|
:selectable="() => !maxOptionsSelected"
|
|
30
|
+
:class="{ 'border border-danger': textDanger?.length }"
|
|
30
31
|
@open="onSearch"
|
|
31
32
|
@search="onSearch"
|
|
32
33
|
@close="onClose"
|
|
@@ -67,6 +68,9 @@
|
|
|
67
68
|
<ChevronDownIcon v-bind="attributes" />
|
|
68
69
|
</template>
|
|
69
70
|
</vSelect>
|
|
71
|
+
<div v-if="textDanger" class="text-danger">
|
|
72
|
+
{{ textDanger }}
|
|
73
|
+
</div>
|
|
70
74
|
</div>
|
|
71
75
|
</template>
|
|
72
76
|
|
|
@@ -96,6 +100,7 @@ export default {
|
|
|
96
100
|
displayLabel: { default: false, type: Boolean },
|
|
97
101
|
maxOptions: { default: null, type: Number },
|
|
98
102
|
allowEmpty: { default: true, type: Boolean },
|
|
103
|
+
textDanger :{ default: undefined, type: String },
|
|
99
104
|
},
|
|
100
105
|
|
|
101
106
|
emits: ["onSearch", "selected", "onClose"],
|