hr-design-system-handlebars 0.91.0 → 0.91.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/CHANGELOG.md +12 -0
- package/dist/assets/index.css +6 -6
- package/dist/assets/vendor/js/podcast_player.alpine.js +25 -25
- package/dist/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
- package/dist/views/components/teaser/podcast/podcast.hbs +1 -1
- package/dist/views/components/teaser/podcast/podcast_downloadbutton.hbs +1 -1
- package/dist/views/components/teaser/podcast/podcast_player.hbs +15 -76
- package/dist/views/components/teaser/podcast/podcast_player_ui.hbs +2 -1
- package/dist/views/components/teaser/podcast/podcast_playlist_player.hbs +2 -2
- package/dist/views/components/teaser/podcast/podcast_title.hbs +2 -2
- package/package.json +1 -1
- package/src/assets/vendor/js/podcast_player.alpine.js +25 -25
- package/src/stories/views/components/teaser/podcast/podcast-playlist.hbs +1 -1
- package/src/stories/views/components/teaser/podcast/podcast.hbs +1 -1
- package/src/stories/views/components/teaser/podcast/podcast_downloadbutton.hbs +1 -1
- package/src/stories/views/components/teaser/podcast/podcast_player.hbs +15 -76
- package/src/stories/views/components/teaser/podcast/podcast_player_ui.hbs +2 -1
- package/src/stories/views/components/teaser/podcast/podcast_playlist_player.hbs +2 -2
- package/src/stories/views/components/teaser/podcast/podcast_title.hbs +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v0.91.1 (Mon Nov 28 2022)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- Podcast delivery integration fixes [#401](https://github.com/mumprod/hr-design-system-handlebars/pull/401) ([@vascoeduardo](https://github.com/vascoeduardo))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Vasco ([@vascoeduardo](https://github.com/vascoeduardo))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v0.91.0 (Mon Nov 28 2022)
|
|
2
14
|
|
|
3
15
|
#### 🚀 Enhancement
|
package/dist/assets/index.css
CHANGED
|
@@ -1256,6 +1256,9 @@ video {
|
|
|
1256
1256
|
-ms-flex-pack: distribute;
|
|
1257
1257
|
justify-content: space-around;
|
|
1258
1258
|
}
|
|
1259
|
+
.gap-5 {
|
|
1260
|
+
gap: 1.25rem;
|
|
1261
|
+
}
|
|
1259
1262
|
.gap-1\.5 {
|
|
1260
1263
|
gap: 0.375rem;
|
|
1261
1264
|
}
|
|
@@ -1265,9 +1268,6 @@ video {
|
|
|
1265
1268
|
.gap-2 {
|
|
1266
1269
|
gap: 0.5rem;
|
|
1267
1270
|
}
|
|
1268
|
-
.gap-5 {
|
|
1269
|
-
gap: 1.25rem;
|
|
1270
|
-
}
|
|
1271
1271
|
.gap-x-2 {
|
|
1272
1272
|
-webkit-column-gap: 0.5rem;
|
|
1273
1273
|
-moz-column-gap: 0.5rem;
|
|
@@ -2253,7 +2253,7 @@ video {
|
|
|
2253
2253
|
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
|
|
2254
2254
|
}
|
|
2255
2255
|
.counter-reset {
|
|
2256
|
-
counter-reset:
|
|
2256
|
+
counter-reset: cnt1669646367612;
|
|
2257
2257
|
}
|
|
2258
2258
|
.line-clamp-4 {
|
|
2259
2259
|
overflow: hidden;
|
|
@@ -2639,7 +2639,7 @@ video {
|
|
|
2639
2639
|
--tw-ring-color: rgba(255, 255, 255, 0.5);
|
|
2640
2640
|
}
|
|
2641
2641
|
.-ordered {
|
|
2642
|
-
counter-increment:
|
|
2642
|
+
counter-increment: cnt1669646367612 1;
|
|
2643
2643
|
}
|
|
2644
2644
|
.-ordered::before {
|
|
2645
2645
|
position: absolute;
|
|
@@ -2655,7 +2655,7 @@ video {
|
|
|
2655
2655
|
letter-spacing: .0125em;
|
|
2656
2656
|
--tw-text-opacity: 1;
|
|
2657
2657
|
color: rgba(0, 0, 0, var(--tw-text-opacity));
|
|
2658
|
-
content: counter(
|
|
2658
|
+
content: counter(cnt1669646367612);
|
|
2659
2659
|
}
|
|
2660
2660
|
.\[-T\:\+Z\] {
|
|
2661
2661
|
--t: +Z;
|
|
@@ -6,6 +6,8 @@ export default function playaudio(){
|
|
|
6
6
|
let _player = {}
|
|
7
7
|
_player.id = id
|
|
8
8
|
_player.button = document.querySelector('#playbutton'+id)
|
|
9
|
+
_player.playIcon = _player.button.querySelector('.js-playbutton')
|
|
10
|
+
_player.pauseIcon = _player.button.querySelector('.js-pausebutton')
|
|
9
11
|
_player.range = document.querySelector('#range'+id)
|
|
10
12
|
_player.timeDisplay = document.querySelector('#timedisplay'+id)
|
|
11
13
|
_player.audioElement = this.$el
|
|
@@ -22,7 +24,7 @@ export default function playaudio(){
|
|
|
22
24
|
},
|
|
23
25
|
listenToGlobalStop(){
|
|
24
26
|
console.log('global listener init')
|
|
25
|
-
window.addEventListener('hr:global:stopOtherAVs', this.
|
|
27
|
+
window.addEventListener('hr:global:stopOtherAVs', this.stopAllPlayersBecauseOfGlobalStop.bind(this))
|
|
26
28
|
},
|
|
27
29
|
rangeInput(id) {
|
|
28
30
|
if(this.playlist[id].init == false) {
|
|
@@ -31,7 +33,6 @@ export default function playaudio(){
|
|
|
31
33
|
}
|
|
32
34
|
this.playlist[id].audioElement.currentTime = (this.playlist[id].range.value/1000) * this.playlist[id].audioElement.duration
|
|
33
35
|
},
|
|
34
|
-
|
|
35
36
|
setTime(duration, id) {
|
|
36
37
|
console.log('time set: ' + duration)
|
|
37
38
|
|
|
@@ -67,35 +68,34 @@ export default function playaudio(){
|
|
|
67
68
|
if(this.playlist[id].init == true){
|
|
68
69
|
this.stopAudio(id)
|
|
69
70
|
} else {
|
|
70
|
-
|
|
71
|
-
this.stopAllOtherPlayers(id)
|
|
72
|
-
|
|
71
|
+
this.stopAllOtherPlayers(id, false)
|
|
73
72
|
this.startAudio(id)
|
|
74
73
|
this.playlist[id].range.parentNode.classList.remove('max-h-0')
|
|
75
74
|
this.playlist[id].range.parentNode.classList.add('max-h-9')
|
|
76
|
-
this.playlist[id].
|
|
77
|
-
this.playlist[id].
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
this.playlist[id].playIcon.classList.add('hidden')
|
|
76
|
+
this.playlist[id].pauseIcon.classList.remove('hidden')
|
|
77
|
+
let event = new Event("hr:global:stopOtherAVs");
|
|
78
|
+
event.id = id;
|
|
79
|
+
window.dispatchEvent(event);
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
|
|
83
|
-
stopAllOtherPlayers(id){
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
this.stopAudio(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// this.playlist[players[i].dataset.id].button.querySelector('.js-pausebutton').classList.add('hidden')
|
|
93
|
-
this.playlist[players[i].dataset.id].range.parentNode.classList.add('max-h-0')
|
|
94
|
-
this.playlist[players[i].dataset.id].range.parentNode.classList.remove('max-h-9')
|
|
83
|
+
stopAllOtherPlayers(id, preventMinimize){
|
|
84
|
+
for (const index in this.playlist) {
|
|
85
|
+
if(index != id && this.playlist[index].currentlyPlaying == true){
|
|
86
|
+
console.log("STOP: ", index)
|
|
87
|
+
this.stopAudio(index)
|
|
88
|
+
if(!preventMinimize){
|
|
89
|
+
this.playlist[index].range.parentNode.classList.add('max-h-0')
|
|
90
|
+
this.playlist[index].range.parentNode.classList.remove('max-h-9')
|
|
91
|
+
}
|
|
95
92
|
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
93
|
+
}
|
|
98
94
|
|
|
95
|
+
},
|
|
96
|
+
stopAllPlayersBecauseOfGlobalStop(event){
|
|
97
|
+
this.stopAllOtherPlayers(event.id, true);
|
|
98
|
+
},
|
|
99
99
|
startAudio(id) {
|
|
100
100
|
console.log('start audio '+ id )
|
|
101
101
|
if(this.playlist[id].init == false){
|
|
@@ -111,8 +111,8 @@ export default function playaudio(){
|
|
|
111
111
|
this.playlist[id].audioElement.pause()
|
|
112
112
|
this.playlist[id].init = false;
|
|
113
113
|
this.playlist[id].currentlyPlaying = false;
|
|
114
|
-
this.playlist[id].
|
|
115
|
-
this.playlist[id].
|
|
114
|
+
this.playlist[id].playIcon.classList.remove('hidden')
|
|
115
|
+
this.playlist[id].pauseIcon.classList.add('hidden')
|
|
116
116
|
},
|
|
117
117
|
|
|
118
118
|
initAudioEventListener(id) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
<div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{
|
|
2
|
+
<div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{inline-switch this.teaserSize '["50"]' '["md:col-span-6"," "]'}}" >
|
|
3
3
|
{{> components/teaser/podcast/podcast_playlist_player _linkTitle="true" _isSinglePage=false _type="podcastPlaylistPlayerTeaser" }}
|
|
4
4
|
</div>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"
|
|
1
|
+
<div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
|
|
2
2
|
{{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _type="podcastEpisodePlayerTeaser" }}
|
|
3
3
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<button class="flex {{#if _addClass}} {{_addClass}} {{/if}}">
|
|
2
|
-
<a href="{{_url}}" class="h-6
|
|
2
|
+
<a href="{{_url}}" class="h-6 js-load" {{#with this.trackingData}} data-hr-click-tracking='{"settings": [{"type": "download", "clickLabel": "{{this.pageName}}", "secondLevelId": "{{this.secondLevelId}}"}, {"type": "uxAction", "clickLabel": "medienDownload::podcast::{{../_type}}", "secondLevelId": "{{this.secondLevelId}}" }]}'{{/with}}>
|
|
3
3
|
{{> components/base/image/icon _icon='download-neu' _addClass=_iconClass }}
|
|
4
4
|
</a>
|
|
5
5
|
</button>
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
<div class="flex flex-col ">
|
|
38
38
|
<div class="w-24 md:w-42">
|
|
39
39
|
{{> components/base/image/responsive_image this.teaseritem
|
|
40
|
-
_type=
|
|
40
|
+
_type="podcastEpisodePlayer"
|
|
41
41
|
_variant="default"
|
|
42
|
-
_addClass="
|
|
42
|
+
_addClass="overflow-hidden"
|
|
43
43
|
_noDelay=this.dontLazyload
|
|
44
44
|
_addClassImg="w-full h-24 md:h-42 block"
|
|
45
45
|
}}
|
|
@@ -54,91 +54,30 @@
|
|
|
54
54
|
x-init="listenToGlobalStop()"
|
|
55
55
|
ax-load
|
|
56
56
|
x-ignore
|
|
57
|
-
ax-load-src="/vendor/
|
|
57
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
58
58
|
{{> components/teaser/podcast/podcast_player_ui
|
|
59
59
|
_isPlaylistPlayer=false
|
|
60
|
-
_podcastDuration=podcastDuration
|
|
60
|
+
_podcastDuration=podcastDuration
|
|
61
|
+
_id=(nextRandom)
|
|
61
62
|
_first=true
|
|
62
63
|
}}
|
|
63
64
|
</div>
|
|
64
65
|
|
|
65
66
|
{{!-- Abo-Dropdown --}}
|
|
66
67
|
<div class="flex flex-row p-5 md:pr-0">
|
|
67
|
-
{{#with this.podcastChannel}}
|
|
68
|
-
|
|
69
|
-
{{!-- Container --}}
|
|
70
|
-
<div x-cloak x-data="{
|
|
71
|
-
open: false,
|
|
72
|
-
toggle() {
|
|
73
|
-
if (this.open) {
|
|
74
|
-
return this.close()
|
|
75
|
-
}
|
|
76
|
-
this.$refs.button.focus()
|
|
77
|
-
this.open = true
|
|
78
|
-
},
|
|
79
|
-
close(focusAfter) {
|
|
80
|
-
if (! this.open) return
|
|
81
|
-
this.open = false
|
|
82
|
-
focusAfter && focusAfter.focus()
|
|
83
|
-
}}"
|
|
84
|
-
x-on:keydown.escape.prevent.stop="close($refs.button)"
|
|
85
|
-
x-on:focusin.window="! $refs.panel.contains($event.target) && close()"
|
|
86
|
-
x-id="['dropdown-button']"
|
|
87
|
-
class="relative"
|
|
88
|
-
>
|
|
89
|
-
|
|
90
|
-
{{!-- Button --}}
|
|
91
|
-
<button
|
|
92
|
-
x-ref="button"
|
|
93
|
-
x-on:click="toggle()"
|
|
94
|
-
:aria-expanded="open"
|
|
95
|
-
:aria-controls="$id('dropdown-button')"
|
|
96
|
-
type="button"
|
|
97
|
-
class="flex items-center gap-1.5 px-2 py-2 text-white shadow font-heading bg-orange-layout">Abonnieren
|
|
98
|
-
<div x-show="open">
|
|
99
|
-
{{> components/base/image/icon _icon='arrow-up' _addClass="flex self-center w-3 h-3 fill-white" }}
|
|
100
|
-
</div>
|
|
101
|
-
<div x-show="!open">
|
|
102
|
-
{{> components/base/image/icon _icon='arrow-down' _addClass="flex self-center mt-0.5 w-3 h-3 fill-white" }}
|
|
103
|
-
</div>
|
|
104
|
-
</button>
|
|
105
|
-
|
|
106
|
-
{{!-- Flyout --}}
|
|
107
|
-
<div
|
|
108
|
-
x-ref="panel"
|
|
109
|
-
x-show="open"
|
|
110
|
-
x-transition.origin.top.left
|
|
111
|
-
x-on:click.outside="close($refs.button)"
|
|
112
|
-
:id="$id('dropdown-button')"
|
|
113
|
-
style="display: none;"
|
|
114
|
-
class="absolute left-0 flex flex-col w-full px-2 text-sm text-white shadow-md font-heading shadow-insetfromtop grow bg-orange-layout"
|
|
115
|
-
>
|
|
116
|
-
{{#with this.podcastHoster}}
|
|
117
|
-
<ul>
|
|
118
|
-
{{#each this}}
|
|
119
|
-
<li class="border-b last:border-0">
|
|
120
|
-
<a class="flex items-center w-full gap-2 py-2 text-left hover:underline disabled:text-gray-500"
|
|
121
|
-
title="{{this.podcastHosterName}}"
|
|
122
|
-
target="_blank"
|
|
123
|
-
rel="noopener noreferrer"
|
|
124
|
-
href="{{this.podcastHosterUrl}}">{{this.podcastHosterName}}</a>
|
|
125
|
-
</li>
|
|
126
|
-
{{/each}}
|
|
127
|
-
</ul>
|
|
128
|
-
{{/with}}
|
|
129
|
-
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
68
|
+
{{#with this.podcastChannel}}
|
|
69
|
+
{{> components/teaser/podcast/podcast_subscribe_button}}
|
|
133
70
|
{{/with}}
|
|
134
71
|
|
|
135
|
-
{{
|
|
136
|
-
|
|
137
|
-
<div class="flex
|
|
138
|
-
<
|
|
139
|
-
|
|
72
|
+
{{#with this.podcastChannel}}
|
|
73
|
+
{{!-- Sendungs-Link --}}
|
|
74
|
+
<div class="flex justify-end w-full pl-4 md:pr-52">
|
|
75
|
+
<div class="flex flex-wrap self-end text-xs font-heading text-blue-science">
|
|
76
|
+
<span class="flex pr-2 font-bold whitespace-nowrap">Zur Sendung: </span>
|
|
77
|
+
<a class="underline" href="{{this.url}}">{{this.title}}</a>
|
|
78
|
+
</div>
|
|
140
79
|
</div>
|
|
141
|
-
|
|
80
|
+
{{/with}}
|
|
142
81
|
</div>
|
|
143
82
|
</div>
|
|
144
83
|
</div>
|
|
@@ -73,7 +73,8 @@
|
|
|
73
73
|
_duration=podcastDuration
|
|
74
74
|
_currentTimeClasses="font-bold text-orange-layout"
|
|
75
75
|
_durationClasses="text-blue-science"
|
|
76
|
-
|
|
76
|
+
_id=_id
|
|
77
|
+
_containerCss="pl-16 -mt-3 flex text-xs grow font-headingSerif"}}
|
|
77
78
|
</div>
|
|
78
79
|
{{/unless}}
|
|
79
80
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<div class="flex flex-col ">
|
|
37
37
|
<div class="w-24 md:w-42">
|
|
38
38
|
{{> components/base/image/responsive_image this.teaseritem
|
|
39
|
-
_type=
|
|
39
|
+
_type="podcastEpisodePlayer"
|
|
40
40
|
_variant="default"
|
|
41
41
|
_addClass="overflow-hidden"
|
|
42
42
|
_noDelay=this.dontLazyload
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
x-init="listenToGlobalStop()"
|
|
66
66
|
ax-load
|
|
67
67
|
x-ignore
|
|
68
|
-
ax-load-src="/vendor/
|
|
68
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
69
69
|
{{#with this.playlistItems}}
|
|
70
70
|
{{#each this}}
|
|
71
71
|
<div class="flex pb-5 border-b {{#unless @last}}border-white{{/unless}}" >
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{#decorator 'components/base/link' _css="font-headingSerif font-bold text-base mt-2.5 text-toplineColor line-clamp-4 md:line-clamp-2 ..." }}
|
|
2
|
-
<span class="block mt-0.5 group-hover:underline text-blue-science {{#if _ordered}} pl-8 {{/if}} {{~ inline-switch _teaserSize '["100","50"]''["text-base md:text-2xl","text-base md:text-lg"]' ~}}">
|
|
3
|
-
|
|
2
|
+
<span class="block mt-0.5 group-hover:underline text-blue-science {{#if _ordered}} pl-8 {{/if}} {{~ inline-switch _teaserSize '["hero","100","50"]''["text-base md:text-2xl","text-base md:text-2xl","text-base md:text-lg"]' ~}}">
|
|
3
|
+
{{~_title~}}
|
|
4
4
|
</span>
|
|
5
5
|
{{/decorator}}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"repository": "https://github.com/szuelch/hr-design-system-handlebars",
|
|
9
|
-
"version": "0.91.
|
|
9
|
+
"version": "0.91.1",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
12
|
"storybook": "start-storybook -p 6006 public",
|
|
@@ -6,6 +6,8 @@ export default function playaudio(){
|
|
|
6
6
|
let _player = {}
|
|
7
7
|
_player.id = id
|
|
8
8
|
_player.button = document.querySelector('#playbutton'+id)
|
|
9
|
+
_player.playIcon = _player.button.querySelector('.js-playbutton')
|
|
10
|
+
_player.pauseIcon = _player.button.querySelector('.js-pausebutton')
|
|
9
11
|
_player.range = document.querySelector('#range'+id)
|
|
10
12
|
_player.timeDisplay = document.querySelector('#timedisplay'+id)
|
|
11
13
|
_player.audioElement = this.$el
|
|
@@ -22,7 +24,7 @@ export default function playaudio(){
|
|
|
22
24
|
},
|
|
23
25
|
listenToGlobalStop(){
|
|
24
26
|
console.log('global listener init')
|
|
25
|
-
window.addEventListener('hr:global:stopOtherAVs', this.
|
|
27
|
+
window.addEventListener('hr:global:stopOtherAVs', this.stopAllPlayersBecauseOfGlobalStop.bind(this))
|
|
26
28
|
},
|
|
27
29
|
rangeInput(id) {
|
|
28
30
|
if(this.playlist[id].init == false) {
|
|
@@ -31,7 +33,6 @@ export default function playaudio(){
|
|
|
31
33
|
}
|
|
32
34
|
this.playlist[id].audioElement.currentTime = (this.playlist[id].range.value/1000) * this.playlist[id].audioElement.duration
|
|
33
35
|
},
|
|
34
|
-
|
|
35
36
|
setTime(duration, id) {
|
|
36
37
|
console.log('time set: ' + duration)
|
|
37
38
|
|
|
@@ -67,35 +68,34 @@ export default function playaudio(){
|
|
|
67
68
|
if(this.playlist[id].init == true){
|
|
68
69
|
this.stopAudio(id)
|
|
69
70
|
} else {
|
|
70
|
-
|
|
71
|
-
this.stopAllOtherPlayers(id)
|
|
72
|
-
|
|
71
|
+
this.stopAllOtherPlayers(id, false)
|
|
73
72
|
this.startAudio(id)
|
|
74
73
|
this.playlist[id].range.parentNode.classList.remove('max-h-0')
|
|
75
74
|
this.playlist[id].range.parentNode.classList.add('max-h-9')
|
|
76
|
-
this.playlist[id].
|
|
77
|
-
this.playlist[id].
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
this.playlist[id].playIcon.classList.add('hidden')
|
|
76
|
+
this.playlist[id].pauseIcon.classList.remove('hidden')
|
|
77
|
+
let event = new Event("hr:global:stopOtherAVs");
|
|
78
|
+
event.id = id;
|
|
79
|
+
window.dispatchEvent(event);
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
|
|
83
|
-
stopAllOtherPlayers(id){
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
this.stopAudio(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// this.playlist[players[i].dataset.id].button.querySelector('.js-pausebutton').classList.add('hidden')
|
|
93
|
-
this.playlist[players[i].dataset.id].range.parentNode.classList.add('max-h-0')
|
|
94
|
-
this.playlist[players[i].dataset.id].range.parentNode.classList.remove('max-h-9')
|
|
83
|
+
stopAllOtherPlayers(id, preventMinimize){
|
|
84
|
+
for (const index in this.playlist) {
|
|
85
|
+
if(index != id && this.playlist[index].currentlyPlaying == true){
|
|
86
|
+
console.log("STOP: ", index)
|
|
87
|
+
this.stopAudio(index)
|
|
88
|
+
if(!preventMinimize){
|
|
89
|
+
this.playlist[index].range.parentNode.classList.add('max-h-0')
|
|
90
|
+
this.playlist[index].range.parentNode.classList.remove('max-h-9')
|
|
91
|
+
}
|
|
95
92
|
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
93
|
+
}
|
|
98
94
|
|
|
95
|
+
},
|
|
96
|
+
stopAllPlayersBecauseOfGlobalStop(event){
|
|
97
|
+
this.stopAllOtherPlayers(event.id, true);
|
|
98
|
+
},
|
|
99
99
|
startAudio(id) {
|
|
100
100
|
console.log('start audio '+ id )
|
|
101
101
|
if(this.playlist[id].init == false){
|
|
@@ -111,8 +111,8 @@ export default function playaudio(){
|
|
|
111
111
|
this.playlist[id].audioElement.pause()
|
|
112
112
|
this.playlist[id].init = false;
|
|
113
113
|
this.playlist[id].currentlyPlaying = false;
|
|
114
|
-
this.playlist[id].
|
|
115
|
-
this.playlist[id].
|
|
114
|
+
this.playlist[id].playIcon.classList.remove('hidden')
|
|
115
|
+
this.playlist[id].pauseIcon.classList.add('hidden')
|
|
116
116
|
},
|
|
117
117
|
|
|
118
118
|
initAudioEventListener(id) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
<div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{
|
|
2
|
+
<div id="4" class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{inline-switch this.teaserSize '["50"]' '["md:col-span-6"," "]'}}" >
|
|
3
3
|
{{> components/teaser/podcast/podcast_playlist_player _linkTitle="true" _isSinglePage=false _type="podcastPlaylistPlayerTeaser" }}
|
|
4
4
|
</div>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"
|
|
1
|
+
<div class="grid gap-y-6 relative gap-x-4 flex-col pt-5 mx-0 md:pt-5 bg-blue-accented rounded-tl-3xl rounded-br-3xl col-span-12 {{~inline-switch this.teaserSize '["50"]' '[" md:col-span-6",""]'}}" >
|
|
2
2
|
{{> components/teaser/podcast/podcast_player _linkTitle="true" _isSinglePage=true _type="podcastEpisodePlayerTeaser" }}
|
|
3
3
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<button class="flex {{#if _addClass}} {{_addClass}} {{/if}}">
|
|
2
|
-
<a href="{{_url}}" class="h-6
|
|
2
|
+
<a href="{{_url}}" class="h-6 js-load" {{#with this.trackingData}} data-hr-click-tracking='{"settings": [{"type": "download", "clickLabel": "{{this.pageName}}", "secondLevelId": "{{this.secondLevelId}}"}, {"type": "uxAction", "clickLabel": "medienDownload::podcast::{{../_type}}", "secondLevelId": "{{this.secondLevelId}}" }]}'{{/with}}>
|
|
3
3
|
{{> components/base/image/icon _icon='download-neu' _addClass=_iconClass }}
|
|
4
4
|
</a>
|
|
5
5
|
</button>
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
<div class="flex flex-col ">
|
|
38
38
|
<div class="w-24 md:w-42">
|
|
39
39
|
{{> components/base/image/responsive_image this.teaseritem
|
|
40
|
-
_type=
|
|
40
|
+
_type="podcastEpisodePlayer"
|
|
41
41
|
_variant="default"
|
|
42
|
-
_addClass="
|
|
42
|
+
_addClass="overflow-hidden"
|
|
43
43
|
_noDelay=this.dontLazyload
|
|
44
44
|
_addClassImg="w-full h-24 md:h-42 block"
|
|
45
45
|
}}
|
|
@@ -54,91 +54,30 @@
|
|
|
54
54
|
x-init="listenToGlobalStop()"
|
|
55
55
|
ax-load
|
|
56
56
|
x-ignore
|
|
57
|
-
ax-load-src="/vendor/
|
|
57
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
58
58
|
{{> components/teaser/podcast/podcast_player_ui
|
|
59
59
|
_isPlaylistPlayer=false
|
|
60
|
-
_podcastDuration=podcastDuration
|
|
60
|
+
_podcastDuration=podcastDuration
|
|
61
|
+
_id=(nextRandom)
|
|
61
62
|
_first=true
|
|
62
63
|
}}
|
|
63
64
|
</div>
|
|
64
65
|
|
|
65
66
|
{{!-- Abo-Dropdown --}}
|
|
66
67
|
<div class="flex flex-row p-5 md:pr-0">
|
|
67
|
-
{{#with this.podcastChannel}}
|
|
68
|
-
|
|
69
|
-
{{!-- Container --}}
|
|
70
|
-
<div x-cloak x-data="{
|
|
71
|
-
open: false,
|
|
72
|
-
toggle() {
|
|
73
|
-
if (this.open) {
|
|
74
|
-
return this.close()
|
|
75
|
-
}
|
|
76
|
-
this.$refs.button.focus()
|
|
77
|
-
this.open = true
|
|
78
|
-
},
|
|
79
|
-
close(focusAfter) {
|
|
80
|
-
if (! this.open) return
|
|
81
|
-
this.open = false
|
|
82
|
-
focusAfter && focusAfter.focus()
|
|
83
|
-
}}"
|
|
84
|
-
x-on:keydown.escape.prevent.stop="close($refs.button)"
|
|
85
|
-
x-on:focusin.window="! $refs.panel.contains($event.target) && close()"
|
|
86
|
-
x-id="['dropdown-button']"
|
|
87
|
-
class="relative"
|
|
88
|
-
>
|
|
89
|
-
|
|
90
|
-
{{!-- Button --}}
|
|
91
|
-
<button
|
|
92
|
-
x-ref="button"
|
|
93
|
-
x-on:click="toggle()"
|
|
94
|
-
:aria-expanded="open"
|
|
95
|
-
:aria-controls="$id('dropdown-button')"
|
|
96
|
-
type="button"
|
|
97
|
-
class="flex items-center gap-1.5 px-2 py-2 text-white shadow font-heading bg-orange-layout">Abonnieren
|
|
98
|
-
<div x-show="open">
|
|
99
|
-
{{> components/base/image/icon _icon='arrow-up' _addClass="flex self-center w-3 h-3 fill-white" }}
|
|
100
|
-
</div>
|
|
101
|
-
<div x-show="!open">
|
|
102
|
-
{{> components/base/image/icon _icon='arrow-down' _addClass="flex self-center mt-0.5 w-3 h-3 fill-white" }}
|
|
103
|
-
</div>
|
|
104
|
-
</button>
|
|
105
|
-
|
|
106
|
-
{{!-- Flyout --}}
|
|
107
|
-
<div
|
|
108
|
-
x-ref="panel"
|
|
109
|
-
x-show="open"
|
|
110
|
-
x-transition.origin.top.left
|
|
111
|
-
x-on:click.outside="close($refs.button)"
|
|
112
|
-
:id="$id('dropdown-button')"
|
|
113
|
-
style="display: none;"
|
|
114
|
-
class="absolute left-0 flex flex-col w-full px-2 text-sm text-white shadow-md font-heading shadow-insetfromtop grow bg-orange-layout"
|
|
115
|
-
>
|
|
116
|
-
{{#with this.podcastHoster}}
|
|
117
|
-
<ul>
|
|
118
|
-
{{#each this}}
|
|
119
|
-
<li class="border-b last:border-0">
|
|
120
|
-
<a class="flex items-center w-full gap-2 py-2 text-left hover:underline disabled:text-gray-500"
|
|
121
|
-
title="{{this.podcastHosterName}}"
|
|
122
|
-
target="_blank"
|
|
123
|
-
rel="noopener noreferrer"
|
|
124
|
-
href="{{this.podcastHosterUrl}}">{{this.podcastHosterName}}</a>
|
|
125
|
-
</li>
|
|
126
|
-
{{/each}}
|
|
127
|
-
</ul>
|
|
128
|
-
{{/with}}
|
|
129
|
-
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
68
|
+
{{#with this.podcastChannel}}
|
|
69
|
+
{{> components/teaser/podcast/podcast_subscribe_button}}
|
|
133
70
|
{{/with}}
|
|
134
71
|
|
|
135
|
-
{{
|
|
136
|
-
|
|
137
|
-
<div class="flex
|
|
138
|
-
<
|
|
139
|
-
|
|
72
|
+
{{#with this.podcastChannel}}
|
|
73
|
+
{{!-- Sendungs-Link --}}
|
|
74
|
+
<div class="flex justify-end w-full pl-4 md:pr-52">
|
|
75
|
+
<div class="flex flex-wrap self-end text-xs font-heading text-blue-science">
|
|
76
|
+
<span class="flex pr-2 font-bold whitespace-nowrap">Zur Sendung: </span>
|
|
77
|
+
<a class="underline" href="{{this.url}}">{{this.title}}</a>
|
|
78
|
+
</div>
|
|
140
79
|
</div>
|
|
141
|
-
|
|
80
|
+
{{/with}}
|
|
142
81
|
</div>
|
|
143
82
|
</div>
|
|
144
83
|
</div>
|
|
@@ -73,7 +73,8 @@
|
|
|
73
73
|
_duration=podcastDuration
|
|
74
74
|
_currentTimeClasses="font-bold text-orange-layout"
|
|
75
75
|
_durationClasses="text-blue-science"
|
|
76
|
-
|
|
76
|
+
_id=_id
|
|
77
|
+
_containerCss="pl-16 -mt-3 flex text-xs grow font-headingSerif"}}
|
|
77
78
|
</div>
|
|
78
79
|
{{/unless}}
|
|
79
80
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<div class="flex flex-col ">
|
|
37
37
|
<div class="w-24 md:w-42">
|
|
38
38
|
{{> components/base/image/responsive_image this.teaseritem
|
|
39
|
-
_type=
|
|
39
|
+
_type="podcastEpisodePlayer"
|
|
40
40
|
_variant="default"
|
|
41
41
|
_addClass="overflow-hidden"
|
|
42
42
|
_noDelay=this.dontLazyload
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
x-init="listenToGlobalStop()"
|
|
66
66
|
ax-load
|
|
67
67
|
x-ignore
|
|
68
|
-
ax-load-src="/vendor/
|
|
68
|
+
ax-load-src={{resourceUrl "assets/js/vendor/podcast_player.alpine.js" }}>
|
|
69
69
|
{{#with this.playlistItems}}
|
|
70
70
|
{{#each this}}
|
|
71
71
|
<div class="flex pb-5 border-b {{#unless @last}}border-white{{/unless}}" >
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{#decorator 'components/base/link' _css="font-headingSerif font-bold text-base mt-2.5 text-toplineColor line-clamp-4 md:line-clamp-2 ..." }}
|
|
2
|
-
<span class="block mt-0.5 group-hover:underline text-blue-science {{#if _ordered}} pl-8 {{/if}} {{~ inline-switch _teaserSize '["100","50"]''["text-base md:text-2xl","text-base md:text-lg"]' ~}}">
|
|
3
|
-
|
|
2
|
+
<span class="block mt-0.5 group-hover:underline text-blue-science {{#if _ordered}} pl-8 {{/if}} {{~ inline-switch _teaserSize '["hero","100","50"]''["text-base md:text-2xl","text-base md:text-2xl","text-base md:text-lg"]' ~}}">
|
|
3
|
+
{{~_title~}}
|
|
4
4
|
</span>
|
|
5
5
|
{{/decorator}}
|