@saooti/octopus-sdk 31.0.45 → 32.0.1
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/package.json +1 -1
- package/src/api/classicCrud.ts +5 -0
- package/src/assets/bootstrap-diff.scss +0 -1
- package/src/assets/form.scss +3 -7
- package/src/assets/general.scss +4 -1
- package/src/assets/multiselect.scss +0 -6
- package/src/assets/share.scss +1 -0
- package/src/components/display/comments/CommentInput.vue +0 -1
- package/src/components/display/comments/CommentItem.vue +5 -1
- package/src/components/display/emission/EmissionItem.vue +1 -1
- package/src/components/display/filter/AdvancedSearch.vue +6 -6
- package/src/components/display/list/ListPaginate.vue +1 -1
- package/src/components/display/list/Paginate.vue +0 -1
- package/src/components/display/playlist/PlaylistItem.vue +18 -27
- package/src/components/display/playlist/PodcastList.vue +1 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
- package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +8 -3
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +1 -1
- package/src/components/display/sharing/PlayerParameters.vue +1 -1
- package/src/components/display/sharing/ShareButtons.vue +1 -1
- package/src/components/display/sharing/ShareButtonsIntern.vue +7 -13
- package/src/components/display/sharing/SharePlayer.vue +0 -1
- package/src/components/display/sharing/SharePlayerColors.vue +2 -2
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
- package/src/components/display/sharing/SubscribeButtons.vue +1 -1
- package/src/components/form/ClassicSearch.vue +1 -1
- package/src/components/misc/TopBar.vue +4 -5
- package/src/components/misc/modal/ClipboardModal.vue +4 -0
- package/src/components/misc/modal/MessageModal.vue +6 -0
- package/src/components/misc/modal/NewsletterModal.vue +1 -4
- package/src/components/misc/modal/QrCodeModal.vue +4 -0
- package/src/components/misc/modal/ShareModalPlayer.vue +4 -0
- package/src/components/mixins/player/playerLive.ts +1 -1
- package/src/components/pages/Playlists.vue +2 -2
package/README.md
CHANGED
package/package.json
CHANGED
package/src/api/classicCrud.ts
CHANGED
|
@@ -14,6 +14,11 @@ enum ModuleApi {
|
|
|
14
14
|
}
|
|
15
15
|
/* eslint-disable */
|
|
16
16
|
export default {
|
|
17
|
+
async fetchData<Type>(state: StoreState,moduleName: ModuleApi,wsPath:string): Promise<Type>{
|
|
18
|
+
console.log(state,moduleName,wsPath);
|
|
19
|
+
const response = await axios.get('/mock');
|
|
20
|
+
return response.data;
|
|
21
|
+
},
|
|
17
22
|
async postData<Type>(state: StoreState,moduleName: ModuleApi,wsPath:string, elementToCreate: unknown): Promise<Type>{
|
|
18
23
|
console.log(state,moduleName,wsPath);
|
|
19
24
|
const response = await axios.post('/mock', elementToCreate, {
|
package/src/assets/form.scss
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
.octopus-app{
|
|
2
|
-
.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
:-moz-focusring {
|
|
6
|
-
outline: 0px solid black;
|
|
2
|
+
button.btn-transparent{
|
|
3
|
+
background: transparent;
|
|
4
|
+
border: 0;
|
|
7
5
|
}
|
|
8
6
|
.width-auto{
|
|
9
7
|
width: auto !important;
|
|
10
8
|
}
|
|
11
9
|
select {
|
|
12
10
|
background: white !important;
|
|
13
|
-
outline-color: transparent !important;
|
|
14
11
|
padding: 0.5rem;
|
|
15
12
|
border: 0.1rem solid #dee2e6;
|
|
16
13
|
border-radius: 0.3rem;
|
|
@@ -38,7 +35,6 @@
|
|
|
38
35
|
height: 2rem;
|
|
39
36
|
line-height: 1.2rem;
|
|
40
37
|
max-width: 100%;
|
|
41
|
-
outline: none;
|
|
42
38
|
padding: 0.25rem 0.4rem;
|
|
43
39
|
position: relative;
|
|
44
40
|
-webkit-transition: background 0.2s, border 0.2s, color 0.2s, -webkit-box-shadow 0.2s;
|
package/src/assets/general.scss
CHANGED
|
@@ -13,6 +13,10 @@ body{
|
|
|
13
13
|
overscroll-behavior-y: contain;
|
|
14
14
|
}
|
|
15
15
|
.octopus-app{
|
|
16
|
+
*:focus-visible{
|
|
17
|
+
outline: none;
|
|
18
|
+
box-shadow: 0 0 10px 1px $octopus-primary-color !important;
|
|
19
|
+
}
|
|
16
20
|
a{
|
|
17
21
|
word-break: break-word;
|
|
18
22
|
}
|
|
@@ -138,7 +142,6 @@ body{
|
|
|
138
142
|
}
|
|
139
143
|
a, a:hover{
|
|
140
144
|
text-decoration: none;
|
|
141
|
-
outline-width: 0;
|
|
142
145
|
}
|
|
143
146
|
a.link-hover{
|
|
144
147
|
color: black !important;
|
|
@@ -140,10 +140,6 @@
|
|
|
140
140
|
box-sizing: border-box;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
.multiselect:focus {
|
|
144
|
-
outline: none;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
143
|
.multiselect--disabled {
|
|
148
144
|
background: #ededed;
|
|
149
145
|
pointer-events: none;
|
|
@@ -195,7 +191,6 @@
|
|
|
195
191
|
.multiselect__input:focus,
|
|
196
192
|
.multiselect__single:focus {
|
|
197
193
|
border-color: #a8a8a8;
|
|
198
|
-
outline: none;
|
|
199
194
|
}
|
|
200
195
|
|
|
201
196
|
.multiselect__single {
|
|
@@ -392,7 +387,6 @@
|
|
|
392
387
|
|
|
393
388
|
.multiselect__option--highlight {
|
|
394
389
|
background: #f8f9fa;
|
|
395
|
-
outline: none;
|
|
396
390
|
color: #000;
|
|
397
391
|
}
|
|
398
392
|
|
package/src/assets/share.scss
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
/>
|
|
9
9
|
<template v-else>
|
|
10
10
|
<input
|
|
11
|
+
ref="focusElement"
|
|
11
12
|
v-model="temporaryName"
|
|
12
13
|
class="form-input"
|
|
13
14
|
type="text"
|
|
@@ -135,7 +136,7 @@ import { Podcast } from '@/store/class/general/podcast';
|
|
|
135
136
|
import { Conference } from '@/store/class/conference/conference';
|
|
136
137
|
import CommentBasicView from './CommentBasicView.vue';
|
|
137
138
|
import Constants from '../../../../public/config';
|
|
138
|
-
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
139
|
+
import { defineComponent, defineAsyncComponent, nextTick } from 'vue';
|
|
139
140
|
const CommentInput = defineAsyncComponent(() => import('./CommentInput.vue'));
|
|
140
141
|
const CommentParentInfo = defineAsyncComponent(() => import('./CommentParentInfo.vue'));
|
|
141
142
|
const EditCommentBox = defineAsyncComponent(() => import('@/components/display/edit/EditCommentBox.vue'));
|
|
@@ -250,6 +251,9 @@ export default defineComponent({
|
|
|
250
251
|
this.temporaryName = this.comment.name && null !== this.comment.name ? this.comment.name : '';
|
|
251
252
|
this.temporaryContent = this.comment.content && null !== this.comment.content ? this.comment.content : '';
|
|
252
253
|
this.isEditing = true;
|
|
254
|
+
this.$nextTick(() => {
|
|
255
|
+
(this.$refs.focusElement as HTMLElement)?.focus();
|
|
256
|
+
});
|
|
253
257
|
},
|
|
254
258
|
validEdit(): void {
|
|
255
259
|
const comment = this.comment;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<
|
|
4
|
-
class="d-flex justify-content-center mb-3 text-secondary
|
|
2
|
+
<div class="d-flex flex-column justify-content-center align-items-center">
|
|
3
|
+
<button
|
|
4
|
+
class="d-flex justify-content-center mb-3 text-secondary btn-transparent"
|
|
5
5
|
@click="showFilters = !showFilters"
|
|
6
6
|
>
|
|
7
7
|
<div>{{ $t('Advanced filters') }}</div>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
class="h3 saooti-arrow_down m-0"
|
|
10
10
|
:class="{ 'arrow-transform': showFilters }"
|
|
11
11
|
/>
|
|
12
|
-
</
|
|
12
|
+
</button>
|
|
13
13
|
<div
|
|
14
14
|
v-show="showFilters"
|
|
15
15
|
class="advanced-search-container"
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
>
|
|
54
54
|
<template #default="{ inputValue, inputEvents }">
|
|
55
55
|
<input
|
|
56
|
-
class="px-2 py-1 border rounded focus:
|
|
56
|
+
class="px-2 py-1 border rounded focus:border-blue-300"
|
|
57
57
|
:value="inputValue"
|
|
58
58
|
v-on="inputEvents"
|
|
59
59
|
>
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
>
|
|
78
78
|
<template #default="{ inputValue, inputEvents }">
|
|
79
79
|
<input
|
|
80
|
-
class="px-2 py-1 border rounded focus:
|
|
80
|
+
class="px-2 py-1 border rounded focus:border-blue-300"
|
|
81
81
|
:value="inputValue"
|
|
82
82
|
v-on="inputEvents"
|
|
83
83
|
>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
:error-text="errorText"
|
|
9
9
|
/>
|
|
10
10
|
<template v-if="!loading">
|
|
11
|
-
<div class="paginate-section page-box">
|
|
11
|
+
<div class="paginate-section mb-2 page-box">
|
|
12
12
|
<div class="text-secondary">
|
|
13
13
|
<template v-if="textCount && (windowWidth > 1300 || windowWidth<=960)">
|
|
14
14
|
{{ textCount }}
|
|
@@ -10,23 +10,14 @@
|
|
|
10
10
|
query: { productor: $store.state.filter.organisationId },
|
|
11
11
|
}"
|
|
12
12
|
:title="$t('Playlist')"
|
|
13
|
-
class="text-dark"
|
|
13
|
+
class="d-flex flex-grow-1 text-dark"
|
|
14
14
|
>
|
|
15
15
|
<img
|
|
16
16
|
v-lazy="playlist.imageUrl"
|
|
17
17
|
:title="$t('Playlist name image', {name:name})"
|
|
18
18
|
class="img-box"
|
|
19
19
|
>
|
|
20
|
-
|
|
21
|
-
<div class="emission-item-text">
|
|
22
|
-
<router-link
|
|
23
|
-
:to="{
|
|
24
|
-
name: 'playlist',
|
|
25
|
-
params: { playlistId: playlist.playlistId },
|
|
26
|
-
query: { productor: $store.state.filter.organisationId },
|
|
27
|
-
}"
|
|
28
|
-
class="text-dark"
|
|
29
|
-
>
|
|
20
|
+
<div class="emission-item-text">
|
|
30
21
|
<div class="emission-name">
|
|
31
22
|
<img
|
|
32
23
|
v-if="!activePlaylist && !isPodcastmaker"
|
|
@@ -46,22 +37,22 @@
|
|
|
46
37
|
/>
|
|
47
38
|
<!-- eslint-enable -->
|
|
48
39
|
</div>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
</
|
|
63
|
-
</
|
|
64
|
-
</
|
|
40
|
+
<div class="flex-grow-1" />
|
|
41
|
+
<router-link
|
|
42
|
+
v-if="!isPodcastmaker && playlist.organisation"
|
|
43
|
+
:to="{
|
|
44
|
+
name: 'productor',
|
|
45
|
+
params: { productorId: playlist.organisation.id },
|
|
46
|
+
query: { productor: $store.state.filter.organisationId },
|
|
47
|
+
}"
|
|
48
|
+
class="text-dark"
|
|
49
|
+
>
|
|
50
|
+
<div class="emission-producer primary-darker">
|
|
51
|
+
© {{ playlist.organisation.name }}
|
|
52
|
+
</div>
|
|
53
|
+
</router-link>
|
|
54
|
+
</div>
|
|
55
|
+
</router-link>
|
|
65
56
|
</li>
|
|
66
57
|
</template>
|
|
67
58
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
>
|
|
30
30
|
{{ $t('Recorded in live') }}
|
|
31
31
|
</div>
|
|
32
|
-
<
|
|
32
|
+
<button
|
|
33
33
|
v-if="hidePlay || recordingLive"
|
|
34
34
|
class="podcast-image-play-button"
|
|
35
35
|
:class="classicPodcastPlay ? '' : 'transparent-background'"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
>
|
|
75
75
|
{{ textVisible }}
|
|
76
76
|
</div>
|
|
77
|
-
</
|
|
77
|
+
</button>
|
|
78
78
|
<div
|
|
79
79
|
v-if="displayDescription && isMobile"
|
|
80
80
|
class="background-icon primary-bg saooti-arrow-up2"
|
|
@@ -330,7 +330,7 @@ export default defineComponent({
|
|
|
330
330
|
.transparent-background {
|
|
331
331
|
background-color: rgba(255, 255, 255, 0.5);
|
|
332
332
|
}
|
|
333
|
-
.podcast-image-play-button
|
|
333
|
+
.podcast-image-play-button{
|
|
334
334
|
position: absolute;
|
|
335
335
|
display: flex;
|
|
336
336
|
align-items: center;
|
|
@@ -341,6 +341,11 @@ export default defineComponent({
|
|
|
341
341
|
bottom: 0;
|
|
342
342
|
cursor: pointer;
|
|
343
343
|
flex-direction: column;
|
|
344
|
+
background: transparent;
|
|
345
|
+
border-width: 0;
|
|
346
|
+
&:focus{
|
|
347
|
+
background: rgba(0, 0, 0, 0.5);
|
|
348
|
+
}
|
|
344
349
|
|
|
345
350
|
.icon-container {
|
|
346
351
|
background: #00000050;
|
|
@@ -42,34 +42,28 @@
|
|
|
42
42
|
>
|
|
43
43
|
<div class="saooti-rss-bounty" />
|
|
44
44
|
</a>
|
|
45
|
-
<
|
|
46
|
-
rel="noopener"
|
|
47
|
-
target="_blank"
|
|
45
|
+
<button
|
|
48
46
|
:class="getClass()"
|
|
49
47
|
:title="$t('Copy this page URL')"
|
|
50
48
|
@click="onCopyCode(urlPage,afterCopy)"
|
|
51
49
|
>
|
|
52
50
|
<div class="saooti-link" />
|
|
53
|
-
</
|
|
54
|
-
<
|
|
51
|
+
</button>
|
|
52
|
+
<button
|
|
55
53
|
v-if="podcast"
|
|
56
|
-
rel="noopener"
|
|
57
|
-
target="_blank"
|
|
58
54
|
:class="getClass()"
|
|
59
55
|
:title="$t('Share newsletter')"
|
|
60
56
|
@click="newsletter = true"
|
|
61
57
|
>
|
|
62
58
|
<div class="saooti-newsletter" />
|
|
63
|
-
</
|
|
64
|
-
<
|
|
65
|
-
rel="noopener"
|
|
66
|
-
target="_blank"
|
|
59
|
+
</button>
|
|
60
|
+
<button
|
|
67
61
|
:class="getClass()"
|
|
68
62
|
:title="$t('Share QR Code')"
|
|
69
63
|
@click="qrCode = true"
|
|
70
64
|
>
|
|
71
65
|
<div class="saooti-qrcode" />
|
|
72
|
-
</
|
|
66
|
+
</button>
|
|
73
67
|
<ClipboardModal
|
|
74
68
|
v-if="dataRSSSave"
|
|
75
69
|
:link="rssUrl"
|
|
@@ -195,7 +189,7 @@ export default defineComponent({
|
|
|
195
189
|
|
|
196
190
|
methods: {
|
|
197
191
|
getClass(className='btn-rss'): string{
|
|
198
|
-
let returnString = `btn ${className} share-btn mb-2`;
|
|
192
|
+
let returnString = `btn ${className} share-btn mb-2 text-dark`;
|
|
199
193
|
returnString+= this.verticalDisplay ? '' : ' mx-2';
|
|
200
194
|
return returnString;
|
|
201
195
|
},
|
|
@@ -291,7 +291,6 @@ export default defineComponent({
|
|
|
291
291
|
color: white;
|
|
292
292
|
font-weight: bold;
|
|
293
293
|
letter-spacing: 1px;
|
|
294
|
-
outline: none;
|
|
295
294
|
box-shadow: 10px 10px 34px -15px hsla(0, 0%, 0%, 0.4);
|
|
296
295
|
border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
|
|
297
296
|
border: solid 2px #41403e;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div>{{ $t('Choose color') }}</div>
|
|
5
5
|
<VSwatches
|
|
6
6
|
v-model="internColor"
|
|
7
|
-
class="c-hand
|
|
7
|
+
class="c-hand "
|
|
8
8
|
show-fallback
|
|
9
9
|
colors="text-advanced"
|
|
10
10
|
popover-to="right"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<div>{{ $t('Choose theme') }}</div>
|
|
16
16
|
<VSwatches
|
|
17
17
|
v-model="internTheme"
|
|
18
|
-
class="c-hand
|
|
18
|
+
class="c-hand "
|
|
19
19
|
show-fallback
|
|
20
20
|
colors="text-advanced"
|
|
21
21
|
popover-to="right"
|
|
@@ -45,7 +45,7 @@ export default defineComponent({
|
|
|
45
45
|
{name:'applePodcast', icon:'saooti-apple', url : this.getUrl('applePodcast')},
|
|
46
46
|
{name:'deezer', icon:'saooti-deezer', url : this.getUrl('deezer')},
|
|
47
47
|
{name:'googlePodcasts', icon:"saooti-google-podcasts", url : this.getUrl('googlePodcasts')},
|
|
48
|
-
{name:'playerFm', icon: 'saooti-
|
|
48
|
+
{name:'playerFm', icon: 'saooti-playerfm', url : this.getUrl('playerFm')},
|
|
49
49
|
{name:'pocketCasts', icon:'saooti-pocket-casts', url : this.getUrl('pocketCasts')},
|
|
50
50
|
{name:'podcastAddict', icon: 'saooti-podcast-addict', url : this.getUrl('podcastAddict')},
|
|
51
51
|
{name:'radioline', icon:'saooti-radioline', url : this.getUrl('radioline')},
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
</router-link>
|
|
47
47
|
</template>
|
|
48
48
|
</div>
|
|
49
|
-
<
|
|
50
|
-
class="saooti-burger-menu"
|
|
49
|
+
<button
|
|
50
|
+
class="btn-transparent saooti-burger-menu"
|
|
51
51
|
:title="$t('open left Menu')"
|
|
52
52
|
@click="onDisplayMenu(false)"
|
|
53
53
|
/>
|
|
@@ -63,9 +63,8 @@
|
|
|
63
63
|
name: 'podcasts',
|
|
64
64
|
query: { productor: $store.state.filter.organisationId },
|
|
65
65
|
}"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
</router-link>
|
|
66
|
+
class="btn admin-button m-1 saooti-search"
|
|
67
|
+
/>
|
|
69
68
|
</div>
|
|
70
69
|
</div>
|
|
71
70
|
</div>
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
{{ $t('RSS Link') }}
|
|
9
9
|
</div>
|
|
10
10
|
<button
|
|
11
|
+
ref="focusElement"
|
|
11
12
|
type="button"
|
|
12
13
|
class="btn-close btn-close-white"
|
|
13
14
|
title="Close"
|
|
@@ -53,6 +54,9 @@ export default defineComponent({
|
|
|
53
54
|
emission: { default: undefined, type: Object as ()=> Emission},
|
|
54
55
|
},
|
|
55
56
|
emits: ['close', 'copy'],
|
|
57
|
+
mounted(){
|
|
58
|
+
(this.$refs.focusElement as HTMLElement)?.focus();
|
|
59
|
+
},
|
|
56
60
|
|
|
57
61
|
methods: {
|
|
58
62
|
closePopup(): void {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
</h5>
|
|
13
13
|
<button
|
|
14
14
|
v-if="closable"
|
|
15
|
+
:ref="closable?'focusElement':''"
|
|
15
16
|
type="button"
|
|
16
17
|
class="btn-close btn-close-white"
|
|
17
18
|
title="Close"
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
>
|
|
33
34
|
<button
|
|
34
35
|
v-if="canceltext"
|
|
36
|
+
:ref="!closable && canceltext?'focusElement':''"
|
|
35
37
|
class="btn m-1"
|
|
36
38
|
@click="onCancel"
|
|
37
39
|
>
|
|
@@ -46,6 +48,7 @@
|
|
|
46
48
|
</button>
|
|
47
49
|
<button
|
|
48
50
|
class="btn btn-primary m-1"
|
|
51
|
+
:ref="!closable && !canceltext?'focusElement':''"
|
|
49
52
|
@click="onValid"
|
|
50
53
|
>
|
|
51
54
|
{{ validatetext }}
|
|
@@ -70,6 +73,9 @@ export default defineComponent({
|
|
|
70
73
|
thirdText: { default: undefined, type: String},
|
|
71
74
|
},
|
|
72
75
|
emits: ['close', 'validate', 'cancel', 'thirdEvent'],
|
|
76
|
+
mounted(){
|
|
77
|
+
(this.$refs.focusElement as HTMLElement)?.focus();
|
|
78
|
+
},
|
|
73
79
|
methods: {
|
|
74
80
|
closePopup(): void {
|
|
75
81
|
this.$emit('close');
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<div class="d-flex align-items-center mt-2">
|
|
35
35
|
<VSwatches
|
|
36
36
|
v-model="color"
|
|
37
|
-
class="c-hand
|
|
37
|
+
class="c-hand me-2 mt-2"
|
|
38
38
|
show-fallback
|
|
39
39
|
colors="text-advanced"
|
|
40
40
|
popover-to="right"
|
|
@@ -319,9 +319,6 @@ export default defineComponent({
|
|
|
319
319
|
height: 200px;
|
|
320
320
|
padding: 1em;
|
|
321
321
|
border-radius: 1em;
|
|
322
|
-
&:focus {
|
|
323
|
-
outline-width: 0;
|
|
324
|
-
}
|
|
325
322
|
}
|
|
326
323
|
|
|
327
324
|
.modal-dialog {
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
{{ $t('Share QR Code') }}
|
|
12
12
|
</h5>
|
|
13
13
|
<button
|
|
14
|
+
ref="focusElement"
|
|
14
15
|
type="button"
|
|
15
16
|
class="btn-close btn-close-white"
|
|
16
17
|
title="Close"
|
|
@@ -45,6 +46,9 @@ export default defineComponent({
|
|
|
45
46
|
urlPage: { default: undefined, type: String},
|
|
46
47
|
},
|
|
47
48
|
emits: ['close'],
|
|
49
|
+
mounted(){
|
|
50
|
+
(this.$refs.focusElement as HTMLElement)?.focus();
|
|
51
|
+
},
|
|
48
52
|
methods:{
|
|
49
53
|
closePopup(): void {
|
|
50
54
|
this.$emit('close');
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
{{ $t('Share the player') }}
|
|
13
13
|
</h5>
|
|
14
14
|
<button
|
|
15
|
+
ref="focusElement"
|
|
15
16
|
type="button"
|
|
16
17
|
class="btn-close btn-close-white"
|
|
17
18
|
title="Close"
|
|
@@ -126,6 +127,9 @@ export default defineComponent({
|
|
|
126
127
|
return [this.$t('Embed link'),this.$t('Embedly link')];
|
|
127
128
|
}
|
|
128
129
|
},
|
|
130
|
+
mounted(){
|
|
131
|
+
(this.$refs.focusElement as HTMLElement)?.focus();
|
|
132
|
+
},
|
|
129
133
|
methods: {
|
|
130
134
|
closePopup(event: { preventDefault: () => void }): void {
|
|
131
135
|
event.preventDefault();
|
|
@@ -55,7 +55,7 @@ export const playerLive = defineComponent({
|
|
|
55
55
|
if (!Hls.isSupported()) {
|
|
56
56
|
reject('Hls is not supported ! ');
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
const hls = new Hls();
|
|
59
59
|
/* if(this.$store.state.authentication.isAuthenticated && this.$store.state.oAuthParam.accessToken){
|
|
60
60
|
hls = new Hls({xhrSetup:
|
|
61
61
|
(xhr: XMLHttpRequest) => {
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
to="/main/priv/edit/playlist"
|
|
7
7
|
class="d-flex justify-content-center my-3"
|
|
8
8
|
>
|
|
9
|
-
<
|
|
9
|
+
<div class="btn btn-primary">
|
|
10
10
|
{{ $t('Create playlist') }}
|
|
11
|
-
</
|
|
11
|
+
</div>
|
|
12
12
|
</router-link>
|
|
13
13
|
<ProductorSearch
|
|
14
14
|
v-if="isProductorSearch"
|