hr-design-system-handlebars 1.114.41 → 1.114.43
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/.storybook/preview.js +4 -1
- package/CHANGELOG.md +24 -0
- package/dist/assets/index.css +15 -3
- package/dist/assets/js/components/newsletter/js/newNewsletterDs.feature.js +88 -0
- package/dist/assets/js/components/newsletter/js/newsletterDs.feature.js +22 -0
- package/dist/views/components/content/copytext/components/audio.hbs +2 -2
- package/dist/views/components/content/copytext/components/audioeventlivestream.hbs +2 -2
- package/dist/views/components/content/copytext/components/image/image.hbs +4 -4
- package/dist/views/components/content/copytext/components/media/media_figure.hbs +2 -2
- package/dist/views/components/content/copytext/components/posterteaser.hbs +1 -1
- package/dist/views/components/content/copytext/components/video/video.hbs +2 -2
- package/dist/views/components/content/copytext/components/videolivestream.hbs +2 -2
- package/dist/views/components/content/copytext/copytext.hbs +2 -2
- package/dist/views/components/content/copytext/copytext_body.hbs +12 -12
- package/dist/views/components/newsletter/components/new_newsletter_form.hbs +11 -14
- package/dist/views/components/newsletter/components/newsletter_form.hbs +60 -0
- package/dist/views/components/newsletter/newsletter.hbs +13 -13
- package/dist/views/components/podcast/podcast_player.hbs +1 -1
- package/dist/views_static/components/content/copytext/components/audio.hbs +2 -2
- package/dist/views_static/components/content/copytext/components/audioeventlivestream.hbs +2 -2
- package/dist/views_static/components/content/copytext/components/image/image.hbs +4 -4
- package/dist/views_static/components/content/copytext/components/media/media_figure.hbs +2 -2
- package/dist/views_static/components/content/copytext/components/posterteaser.hbs +1 -1
- package/dist/views_static/components/content/copytext/components/video/video.hbs +2 -2
- package/dist/views_static/components/content/copytext/components/videolivestream.hbs +2 -2
- package/dist/views_static/components/content/copytext/copytext.hbs +2 -2
- package/dist/views_static/components/content/copytext/copytext_body.hbs +12 -12
- package/dist/views_static/components/newsletter/components/new_newsletter_form.hbs +11 -14
- package/dist/views_static/components/newsletter/components/newsletter_form.hbs +60 -0
- package/dist/views_static/components/newsletter/newsletter.hbs +13 -13
- package/dist/views_static/components/podcast/podcast_player.hbs +1 -1
- package/package.json +1 -1
- package/src/assets/brand/_default/conf/locatags.json +14 -1
- package/src/stories/views/components/content/copytext/components/audio.hbs +2 -2
- package/src/stories/views/components/content/copytext/components/audioeventlivestream.hbs +2 -2
- package/src/stories/views/components/content/copytext/components/image/image.hbs +4 -4
- package/src/stories/views/components/content/copytext/components/media/media_figure.hbs +2 -2
- package/src/stories/views/components/content/copytext/components/posterteaser.hbs +1 -1
- package/src/stories/views/components/content/copytext/components/video/video.hbs +2 -2
- package/src/stories/views/components/content/copytext/components/videolivestream.hbs +2 -2
- package/src/stories/views/components/content/copytext/copytext.hbs +2 -2
- package/src/stories/views/components/content/copytext/copytext_body.hbs +12 -12
- package/src/stories/views/components/content/copytext/copytext_ticker.stories.js +405 -0
- package/src/stories/views/components/newsletter/components/new_newsletter_form.hbs +11 -14
- package/src/stories/views/components/newsletter/components/newsletter_form.hbs +60 -0
- package/src/stories/views/components/newsletter/fixtures/newsletter.json +10 -43
- package/src/stories/views/components/newsletter/js/newNewsletterDs.feature.js +88 -0
- package/src/stories/views/components/newsletter/js/newsletterDs.feature.js +22 -0
- package/src/stories/views/components/newsletter/newsletter.hbs +13 -13
- package/src/stories/views/components/podcast/podcast_player.hbs +1 -1
- package/src/stories/views/components/newsletter/components/newsletter_form.hbs.DEPRECATED +0 -106
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
import copytext from './copytext.hbs'
|
|
2
|
+
import copytext_json from './fixtures/copytext.json'
|
|
3
|
+
import copytext_media_components_json from './fixtures/copytext_media_components.json'
|
|
4
|
+
import copytext_non_media_components_json from './fixtures/copytext_non_media_components.json'
|
|
5
|
+
import copytext_posterteaser_json from './fixtures/copytext_posterteaser.json'
|
|
6
|
+
import copytext_additionalInfo_json from './fixtures/copytext_additionalInfo.json'
|
|
7
|
+
import copytext_cite_json from './fixtures/copytext_cite.json'
|
|
8
|
+
import copytext_podcastepisode_json from './fixtures/copytext_podcastepisode.json'
|
|
9
|
+
import copytext_faq_json from './fixtures/copytext_faq.json'
|
|
10
|
+
import copytext_jobposting_json from './fixtures/copytext_jobposting.json'
|
|
11
|
+
import copytext_image_json from './fixtures/copytext_image.json'
|
|
12
|
+
import copytext_infobox_json from './fixtures/copytext_infobox.json'
|
|
13
|
+
import copytext_downloadbox_json from './fixtures/copytext_downloadbox.json'
|
|
14
|
+
import copytext_filedownload_json from './fixtures/copytext_filedownload.json'
|
|
15
|
+
import copytext_externalservice_json from './fixtures/copytext_externalservice.json'
|
|
16
|
+
import copytext_video_json from './fixtures/copytext_video.json'
|
|
17
|
+
import copytext_audio_json from './fixtures/copytext_audio.json'
|
|
18
|
+
import copytext_audio_event_stream_json from './fixtures/copytext_audio_livestream.json'
|
|
19
|
+
import copytext_livestream_json from './fixtures/copytext_livestream.json'
|
|
20
|
+
|
|
21
|
+
const Template = ({ ...args }) => {
|
|
22
|
+
return copytext({ ...args })
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default {
|
|
26
|
+
title: 'Komponenten/Content/Copytext/Copytext im Ticker',
|
|
27
|
+
decorators: [
|
|
28
|
+
(Story) => {
|
|
29
|
+
return `
|
|
30
|
+
<div class="c-ticker__timelineBody timeline js-timeline-body">
|
|
31
|
+
<ul class="c-ticker__itemList">
|
|
32
|
+
<li class="c-tickerItem " id="">
|
|
33
|
+
<div class="c-tickerItem__anchor" id="5cc13944-0c1a-4066-9bc4-a8d387b6ee57"></div>
|
|
34
|
+
<div class="c-tickerItem__dekoline"></div>
|
|
35
|
+
<div class="c-tickerItem__header">
|
|
36
|
+
<div class="c-tickerItem__time">
|
|
37
|
+
<time datetime="2023-11-30T11:43+0100">
|
|
38
|
+
Do. 30.11.23, 11:43 Uhr
|
|
39
|
+
</time>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="c-tickerItem__istop"><span class="c-tickerItem__istop__text">Top-Thema</span></div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="c-ticker__timeline">
|
|
44
|
+
<div class="c-ticker__timeline__dot"></div>
|
|
45
|
+
<div class="c-ticker__timeline__line"></div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="c-tickerItem__content">
|
|
48
|
+
<h3 class="c-tickerItem__title text__headline copytext__headline">Nach Krawallen: Politiker fordert hartes
|
|
49
|
+
Durchgreifen</h3>
|
|
50
|
+
${Story()}
|
|
51
|
+
</div>
|
|
52
|
+
</li>
|
|
53
|
+
</ul>
|
|
54
|
+
</div>
|
|
55
|
+
<style>
|
|
56
|
+
@media (min-width: 48em) {
|
|
57
|
+
.timeline {
|
|
58
|
+
max-width: 685px;
|
|
59
|
+
margin-left: 6px;
|
|
60
|
+
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.c-ticker__timelineBody {
|
|
65
|
+
grid-area: content;
|
|
66
|
+
-webkit-order: 3;
|
|
67
|
+
-ms-flex-order: 3;
|
|
68
|
+
order: 3;
|
|
69
|
+
-ms-grid-column: 2;
|
|
70
|
+
-ms-grid-column-span: 3;
|
|
71
|
+
-ms-grid-row: 3
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@media (min-width: 64em) {
|
|
75
|
+
.c-ticker__timelineBody {
|
|
76
|
+
margin-top: 6px
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.c-ticker__timelineBody .pagination {
|
|
81
|
+
padding-top: .875em
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.c-ticker__timeline {
|
|
85
|
+
position: absolute;
|
|
86
|
+
height: 100%;
|
|
87
|
+
-webkit-order: 1;
|
|
88
|
+
-ms-flex-order: 1;
|
|
89
|
+
order: 1;
|
|
90
|
+
width: .21875rem;
|
|
91
|
+
margin-left: .625rem;
|
|
92
|
+
left: 0;
|
|
93
|
+
top: 2rem;
|
|
94
|
+
z-index: 1
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.c-ticker__timeline__dot {
|
|
98
|
+
width: .4375rem;
|
|
99
|
+
height: .4375rem;
|
|
100
|
+
background-color: #000;
|
|
101
|
+
position: relative;
|
|
102
|
+
top: -.0625rem;
|
|
103
|
+
left: -.125rem;
|
|
104
|
+
border-radius: .4375rem
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@media (min-width: 48em) {
|
|
108
|
+
.c-ticker__timeline__dot {
|
|
109
|
+
top: 0
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.c-ticker__timeline__line {
|
|
114
|
+
width: .0625rem;
|
|
115
|
+
height: 100%;
|
|
116
|
+
border-left: thin dotted #000;
|
|
117
|
+
position: relative;
|
|
118
|
+
left: .0625rem;
|
|
119
|
+
top: -.25rem
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
@media (min-width: 48em) {
|
|
123
|
+
.c-ticker__timeline {
|
|
124
|
+
top: 2.5rem;
|
|
125
|
+
left: 1.75rem
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
@media (min-width: 64em) {
|
|
130
|
+
.c-ticker__timeline {
|
|
131
|
+
top: 2.375rem;
|
|
132
|
+
left: .4375rem
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.c-tickerItem {
|
|
137
|
+
position: relative;
|
|
138
|
+
display: flex;
|
|
139
|
+
flex-direction: column;
|
|
140
|
+
border-bottom: 0.0625rem solid #efefef;
|
|
141
|
+
padding: 1.25rem 1.375rem 0rem 1.75rem;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@media (min-width: 48em) and (max-width: 63.9375em) {
|
|
145
|
+
.c-tickerItem {
|
|
146
|
+
padding: 1.875rem 2.5rem 2.5rem 5rem;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@media (min-width: 64em) {
|
|
151
|
+
.c-tickerItem {
|
|
152
|
+
padding: 1.75rem 1.25rem 1.75rem 2.5rem;
|
|
153
|
+
width: 100%;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.c-tickerItem__anchor {
|
|
158
|
+
padding-top: 4rem;
|
|
159
|
+
margin-top: -4rem;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@media (min-width: 64em) {
|
|
163
|
+
.c-tickerItem__anchor {
|
|
164
|
+
padding-top: 1rem;
|
|
165
|
+
margin-top: -1rem;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.c-tickerItem__dekoline {
|
|
170
|
+
position: absolute;
|
|
171
|
+
border-top: 0.0625rem solid #797979;
|
|
172
|
+
width: 0.75rem;
|
|
173
|
+
margin-left: -0.875rem;
|
|
174
|
+
margin-top: 0.875rem;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
@media (min-width: 48em) {
|
|
178
|
+
.c-tickerItem__dekoline {
|
|
179
|
+
width: 1.875rem;
|
|
180
|
+
margin-left: -2.5rem;
|
|
181
|
+
margin-top: 0.8125rem;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
@media (min-width: 64em) {
|
|
186
|
+
.c-tickerItem__dekoline {
|
|
187
|
+
width: 0.875rem;
|
|
188
|
+
margin-left: -1.25rem;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.c-tickerItem.-isPinned {
|
|
193
|
+
border-left: 0.875rem solid #006dc1;
|
|
194
|
+
padding-left: 0.875rem;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
@media (min-width: 48em) and (max-width: 63.9375em) {
|
|
198
|
+
.c-tickerItem.-isPinned {
|
|
199
|
+
border-left: 2.5rem solid #006dc1;
|
|
200
|
+
padding: 1.5rem 2.5rem 2.5rem 2.5rem;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@media (min-width: 64em) {
|
|
205
|
+
.c-tickerItem.-isPinned {
|
|
206
|
+
border-left: 1.25rem solid #006dc1;
|
|
207
|
+
padding: 1.5rem 1.25rem 1.75rem 1.25rem;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.c-tickerItem.-isPinned .c-tickerItem__dekoline {
|
|
212
|
+
display: none;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.c-tickerItem.-isPinned .c-tickerItem__time {
|
|
216
|
+
padding-left: 0;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.c-tickerItem.-isTopnews {
|
|
220
|
+
background: #efefef;
|
|
221
|
+
border-bottom: 0.0625rem solid #fff;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.c-tickerItem.-isTopnews+.c-tickerItem__separator {
|
|
225
|
+
background: #fff;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.c-tickerItem.-isTopnews .c-ticker__timeline__dot {
|
|
229
|
+
width: 0.75rem;
|
|
230
|
+
height: 0.75rem;
|
|
231
|
+
top: -0.1875rem;
|
|
232
|
+
left: -0.3125rem;
|
|
233
|
+
border-radius: 0.75rem;
|
|
234
|
+
background-color: #a3492d;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.c-tickerItem.-isTopnews .c-tickerItem__dekoline {
|
|
238
|
+
border-color: #a3492d;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.c-tickerItem__time {
|
|
242
|
+
font-family: RobotoSlab, serif;
|
|
243
|
+
font-weight: normal;
|
|
244
|
+
display: flex;
|
|
245
|
+
color: #606060;
|
|
246
|
+
font-size: 0.75rem;
|
|
247
|
+
padding-right: 0.625rem;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
@media (min-width: 48em) {
|
|
251
|
+
.c-tickerItem__time {
|
|
252
|
+
font-size: 0.875rem;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.c-tickerItem__pin {
|
|
257
|
+
display: inline-block;
|
|
258
|
+
fill: #a3492d;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.c-tickerItem__pin::before {
|
|
262
|
+
content: '|';
|
|
263
|
+
position: relative;
|
|
264
|
+
top: 0.1875rem;
|
|
265
|
+
color: #a3492d;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.c-tickerItem__pin .icon {
|
|
269
|
+
width: 1.0625rem;
|
|
270
|
+
height: 0.9375rem;
|
|
271
|
+
vertical-align: bottom;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
@media (min-width: 48em) {
|
|
275
|
+
.c-tickerItem__pin::before {
|
|
276
|
+
top: 0;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.c-tickerItem__pin .icon {
|
|
280
|
+
width: 1.1875rem;
|
|
281
|
+
height: 1.1875rem;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.c-tickerItem__istop {
|
|
286
|
+
font-family: RobotoSlab, serif;
|
|
287
|
+
font-weight: normal;
|
|
288
|
+
display: inline-block;
|
|
289
|
+
color: #a3492d;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
.c-tickerItem__istop::before {
|
|
293
|
+
content: '|';
|
|
294
|
+
position: relative;
|
|
295
|
+
left: 0.0625rem;
|
|
296
|
+
top: 0.0625rem;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.c-tickerItem__istop__text {
|
|
300
|
+
margin-left: 0.5625rem;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.c-tickerItem__header {
|
|
304
|
+
font-size: 0.75rem;
|
|
305
|
+
line-height: 1.0625rem;
|
|
306
|
+
order: 1;
|
|
307
|
+
display: flex;
|
|
308
|
+
width: 100%;
|
|
309
|
+
padding-top: 0.3125rem;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.c-tickerItem__header p:last-child {
|
|
313
|
+
margin-bottom: 0;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
@media (min-width: 48em) {
|
|
317
|
+
.c-tickerItem__header {
|
|
318
|
+
font-size: 0.875rem;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.c-tickerItem__content {
|
|
323
|
+
order: 2;
|
|
324
|
+
margin-left: 0;
|
|
325
|
+
margin-top: 0.625rem;
|
|
326
|
+
margin-bottom: 1.25rem;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.c-tickerItem__content .copytext__clearBox {
|
|
330
|
+
margin-top: 1.5rem;
|
|
331
|
+
margin-bottom: 0.875rem;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.c-tickerItem__footer {
|
|
335
|
+
order: 3;
|
|
336
|
+
margin-top: 1.25rem;
|
|
337
|
+
margin-bottom: 1.25rem;
|
|
338
|
+
display: block;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.c-tickerItem__footer :only-child.ticker_sharing {
|
|
342
|
+
margin-top: -0.25rem !important;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
@media (min-width: 48em) {
|
|
346
|
+
.c-tickerItem__footer {
|
|
347
|
+
margin-bottom: 0px;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.c-tickerItem__footer .c-tickerItem__authorWrapper {
|
|
352
|
+
min-height: 2.5rem;
|
|
353
|
+
min-width: 2.5rem;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.c-tickerItem__footer .ticker_sharing {
|
|
357
|
+
position: relative;
|
|
358
|
+
z-index: 1;
|
|
359
|
+
margin-top: -2.75rem;
|
|
360
|
+
float: right;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.c-tickerItem__footer .ticker_sharing .icon--teilen-button {
|
|
364
|
+
fill: #006dc1;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.c-tickerItem__title {
|
|
368
|
+
flex-grow: 1;
|
|
369
|
+
color: #000;
|
|
370
|
+
margin-top: 0.375rem;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.c-tickerItem__separator {
|
|
374
|
+
height: 0.0625rem;
|
|
375
|
+
background: #efefef;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
</style>`
|
|
380
|
+
},
|
|
381
|
+
],
|
|
382
|
+
parameters: { layout: 'fullscreen', chromatic: { disableSnapshot: true } }
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
export const SnapshotWithMedia = {
|
|
386
|
+
render: Template.bind({}),
|
|
387
|
+
name: 'Snapshot 1',
|
|
388
|
+
args: {
|
|
389
|
+
...copytext_media_components_json,
|
|
390
|
+
_isTickerCopytext: true},
|
|
391
|
+
parameters: {
|
|
392
|
+
chromatic: { disableSnapshot: false },
|
|
393
|
+
},
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
export const SnapshotWithoutMedia = {
|
|
397
|
+
render: Template.bind({}),
|
|
398
|
+
name: 'Snapshot 2',
|
|
399
|
+
args: {
|
|
400
|
+
...copytext_non_media_components_json,
|
|
401
|
+
_isTickerCopytext: true},
|
|
402
|
+
parameters: {
|
|
403
|
+
chromatic: { disableSnapshot: false },
|
|
404
|
+
},
|
|
405
|
+
}
|
|
@@ -1,37 +1,33 @@
|
|
|
1
|
+
<div class="js-newsletterFormWrapper">
|
|
1
2
|
<form class="c-form o-box -accented -breakout js-form js-load" id="form--{{nextRandom}}" data-hr-new-newsletter='{
|
|
2
|
-
"trackingInformations": {{this.trackingInformations}} }'
|
|
3
|
-
action="{{configProperty "newsletter.subscription.endpoint"}}" method="post" accept-charset="utf-8">
|
|
3
|
+
"trackingInformations": {{this.trackingInformations}} }' action="{{configProperty "newsletter.subscription.endpoint"}}" method="post" accept-charset="utf-8">
|
|
4
4
|
|
|
5
|
-
<div class="c-form__row -expanded">
|
|
6
5
|
{{~> components/forms/components/input
|
|
7
6
|
_type="email"
|
|
8
|
-
_isEmail=
|
|
7
|
+
_isEmail=true
|
|
9
8
|
_name="email"
|
|
10
9
|
_label="E-Mail"
|
|
11
10
|
_labelClass="hide"
|
|
12
11
|
_description=""
|
|
13
12
|
_wrapperClass=(if this.isHidden "hidden")
|
|
14
13
|
_tabindex=(if this.isHidden "-1")
|
|
15
|
-
_required=
|
|
14
|
+
_required=true
|
|
16
15
|
_maxLength="140"
|
|
17
16
|
_errorMandatory="Bitte füllen Sie dieses Pflichtfeld aus"
|
|
18
17
|
_errorEmail="Bitte geben Sie eine gültige E-Mail-Adresse ein."
|
|
19
18
|
_formId=../_formId
|
|
20
19
|
}}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<div class="c-form__row">
|
|
20
|
+
|
|
24
21
|
{{~> components/forms/components/choice
|
|
25
|
-
_inGroup=
|
|
22
|
+
_inGroup=false
|
|
26
23
|
_type="checkbox"
|
|
27
24
|
_name="checkbox"
|
|
28
25
|
_label=(loca "accept_data_privacy_regulation_link")
|
|
29
|
-
_description="
|
|
30
|
-
_required=
|
|
26
|
+
_description=""
|
|
27
|
+
_required=true
|
|
31
28
|
_errorMandatory="Bitte wählen Sie dieses Pflichtfeld aus"
|
|
32
29
|
}}
|
|
33
|
-
|
|
34
|
-
</div>
|
|
30
|
+
|
|
35
31
|
|
|
36
32
|
{{~> components/forms/components/controls }}
|
|
37
33
|
|
|
@@ -59,4 +55,5 @@
|
|
|
59
55
|
<script type="text/html" class="js-alreadyRegisteredMessage">
|
|
60
56
|
{{{include "components/newsletter/components/newsletter_already_registered" }}}
|
|
61
57
|
</script>
|
|
62
|
-
</form>
|
|
58
|
+
</form>
|
|
59
|
+
</div>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<form class="c-form o-box -accented -breakout js-form" id="form--{{nextRandom}}"
|
|
2
|
+
action="{{configProperty "mailserver.newsletter"}}" method="post" enctype="application/x-www-form-urlencoded"
|
|
3
|
+
accept-charset="utf-8">
|
|
4
|
+
|
|
5
|
+
{{~> components/forms/components/input
|
|
6
|
+
_type="email"
|
|
7
|
+
_isEmail="true"
|
|
8
|
+
_name="email"
|
|
9
|
+
_label="E-Mail"
|
|
10
|
+
_labelClass="hide"
|
|
11
|
+
_description=""
|
|
12
|
+
_wrapperClass=(if this.isHidden "hidden")
|
|
13
|
+
_tabindex=(if this.isHidden "-1")
|
|
14
|
+
_required="true"
|
|
15
|
+
_maxLength="140"
|
|
16
|
+
_errorMandatory="Bitte füllen Sie dieses Pflichtfeld aus"
|
|
17
|
+
_errorEmail="Bitte geben Sie eine gültige E-Mail-Adresse ein."
|
|
18
|
+
_formId=../_formId
|
|
19
|
+
}}
|
|
20
|
+
|
|
21
|
+
{{> components/forms/components/choiceGroup
|
|
22
|
+
_name="Registrierung"
|
|
23
|
+
_required=true
|
|
24
|
+
_inputClass=""
|
|
25
|
+
_type="radio"
|
|
26
|
+
_locaKey="newsletter_subscribe_text"
|
|
27
|
+
_inGroup=true
|
|
28
|
+
_isHorizontalLayout=true
|
|
29
|
+
_multipleChoice=false
|
|
30
|
+
_formId=../_formId
|
|
31
|
+
_items=this.items
|
|
32
|
+
}}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
{{~> components/forms/components/controls }}
|
|
36
|
+
|
|
37
|
+
{{~> components/forms/components/input
|
|
38
|
+
_formField=this.formData.INXMAIL_HTTP_REDIRECT
|
|
39
|
+
_name="INXMAIL_HTTP_REDIRECT"
|
|
40
|
+
_type="hidden"
|
|
41
|
+
_value=this.successLink
|
|
42
|
+
_hasLabel=false
|
|
43
|
+
}}
|
|
44
|
+
|
|
45
|
+
{{~>components/forms/components/input
|
|
46
|
+
_formField=this.formData.INXMAIL_HTTP_REDIRECT_ERROR
|
|
47
|
+
_name="INXMAIL_HTTP_REDIRECT_ERROR"
|
|
48
|
+
_type="hidden"
|
|
49
|
+
_value=this.errorLink
|
|
50
|
+
_hasLabel=false
|
|
51
|
+
}}
|
|
52
|
+
|
|
53
|
+
{{~> components/forms/components/input
|
|
54
|
+
_formField=this.formData.backlink
|
|
55
|
+
_name="backlink"
|
|
56
|
+
_type="hidden"
|
|
57
|
+
_value=this.backlinkUuid
|
|
58
|
+
_hasLabel=false
|
|
59
|
+
}}
|
|
60
|
+
</form>
|
|
@@ -1,46 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"useNewNewsletter":true,
|
|
3
3
|
"title":"hessenschau update - Der Newsletter für Hessen",
|
|
4
|
-
"description":"Hier können Sie sich für das hessenschau update anmelden. Der Newsletter wird Ihnen von Montag bis Freitag kostenlos und unverbindlich zugestellt. Wenn Sie sich in unseren Verteiler eintragen, erhalten Sie eine E-Mail mit der Bitte, Ihre Aufnahme noch einmal zu bestätigen. Sie können den Newsletter jederzeit wieder ",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"description":"Das ist der Beschreibungstext (*Pflichtfeld)",
|
|
15
|
-
"defaultValue":"",
|
|
16
|
-
"isHidden":false,
|
|
17
|
-
"isRequired":true,
|
|
18
|
-
"maxLength":"140"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"isGrouped":false,
|
|
22
|
-
"type":{
|
|
23
|
-
"isChoice":true,
|
|
24
|
-
"asString":"checkbox"
|
|
25
|
-
},
|
|
26
|
-
"name":"checkbox",
|
|
27
|
-
"label":"Ich bin damit einverstanden, dass der hr die von mir im vorstehenden Formular angegebenen personenbezogenen Daten für den Zweck der Kontaktaufnahme mit Upload verarbeitet. Eine Weitergabe an Dritte findet nicht statt, es sei denn, es wird ausdrücklich darauf hingewiesen. Unsere Datenschutzerklärung mit sämtlichen Informationen gemäß Art 13 DSGVO zur Datenverarbeitung durch den hr und zu Ihren Rechten können Sie unter Datenschutzerklärung einsehen. Den Datenschutzbeauftragten des hr erreichen Sie unter datenschutz@hr.de.",
|
|
28
|
-
"isMeta":false,
|
|
29
|
-
"description":"Das ist der Beschreibungstext von Checkbox",
|
|
30
|
-
"isRequired":true
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
"isGrouped":false,
|
|
34
|
-
"type":{
|
|
35
|
-
"isChoice":true,
|
|
36
|
-
"asString":"checkbox"
|
|
37
|
-
},
|
|
38
|
-
"name":"checkbox",
|
|
39
|
-
"label":"",
|
|
40
|
-
"isMeta":false,
|
|
41
|
-
"description":"Das ist der Beschreibungstext von Checkbox",
|
|
42
|
-
"isRequired":true
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
}
|
|
4
|
+
"description":"Hier können Sie sich für das hessenschau update anmelden. Der Newsletter wird Ihnen von Montag bis Freitag kostenlos und unverbindlich zugestellt. Wenn Sie sich in unseren Verteiler eintragen, erhalten Sie eine E-Mail mit der Bitte, Ihre Aufnahme noch einmal zu bestätigen. Sie können den Newsletter jederzeit wieder abbestellen." ,
|
|
5
|
+
"items":[
|
|
6
|
+
{"value":"","label":"Anmelden","title":"Anmelden","name":"Registrierung","isSelected":false},
|
|
7
|
+
{"value":"","label":"Abmelden","title":"Abmelden","name":"Registrierung","isSelected":false}
|
|
8
|
+
],
|
|
9
|
+
"successLink":"Link wenn erfolgreich",
|
|
10
|
+
"errorLink": "Link wenn Fehler",
|
|
11
|
+
"backlinkUuid": "Backlink mit UUID (altes Voting)",
|
|
12
|
+
"mailingList":"E-Mail-Liste"
|
|
13
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { hr$, listen, replaceAnimated } from 'hrQuery'
|
|
2
|
+
import { uxAction } from 'base/tracking/pianoHelper.subfeature'
|
|
3
|
+
|
|
4
|
+
const Newsletter = function (context) {
|
|
5
|
+
'use strict'
|
|
6
|
+
const { element: rootElement } = context,
|
|
7
|
+
actionUrl = rootElement && rootElement.getAttribute('action'),
|
|
8
|
+
formWrapper = rootElement.parentNode,
|
|
9
|
+
options = context.options,
|
|
10
|
+
trackingInformations = options.trackingInformations
|
|
11
|
+
|
|
12
|
+
async function postData() {
|
|
13
|
+
const formData = new FormData(rootElement)
|
|
14
|
+
// use timestamp in seconds because the newsletter tool cannot handle milliseconds
|
|
15
|
+
formData.set('confirm-data-protection', Math.ceil(Date.now() / 1000))
|
|
16
|
+
|
|
17
|
+
const response = await fetch(actionUrl, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
body: formData,
|
|
20
|
+
})
|
|
21
|
+
return response
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const handleSubmit = function (event) {
|
|
25
|
+
uxAction(trackingInformations)
|
|
26
|
+
event.preventDefault()
|
|
27
|
+
postData()
|
|
28
|
+
.then((response) => {
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
throw new Error('Netzwerk- oder Serverfehler')
|
|
31
|
+
}
|
|
32
|
+
return response.json()
|
|
33
|
+
})
|
|
34
|
+
.then((responseStatus) => {
|
|
35
|
+
switch (responseStatus.status) {
|
|
36
|
+
case 'success':
|
|
37
|
+
replaceAnimated(
|
|
38
|
+
formWrapper,
|
|
39
|
+
hr$('.js-successMessage', rootElement)[0].innerHTML,
|
|
40
|
+
true,
|
|
41
|
+
() => {
|
|
42
|
+
listen('click', handleFormReload, hr$('.js-formReload')[0])
|
|
43
|
+
},
|
|
44
|
+
)
|
|
45
|
+
break
|
|
46
|
+
case 'no_valid_newsletters':
|
|
47
|
+
replaceAnimated(
|
|
48
|
+
formWrapper,
|
|
49
|
+
hr$('.js-alreadyRegisteredMessage', rootElement)[0].innerHTML,
|
|
50
|
+
true,
|
|
51
|
+
() => {
|
|
52
|
+
listen('click', handleFormReload, hr$('.js-formReload')[0])
|
|
53
|
+
},
|
|
54
|
+
)
|
|
55
|
+
break
|
|
56
|
+
default:
|
|
57
|
+
replaceAnimated(
|
|
58
|
+
formWrapper,
|
|
59
|
+
hr$('.js-errorMessage', rootElement)[0].innerHTML,
|
|
60
|
+
true,
|
|
61
|
+
() => {
|
|
62
|
+
listen('click', handleFormReload, hr$('.js-formReload')[0])
|
|
63
|
+
},
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
console.error('Beim Ausführen des Fetch ist ein Fehler aufgetreten.', error)
|
|
69
|
+
replaceAnimated(
|
|
70
|
+
formWrapper,
|
|
71
|
+
hr$('.js-errorMessage', rootElement)[0].innerHTML,
|
|
72
|
+
true,
|
|
73
|
+
() => {
|
|
74
|
+
listen('click', handleFormReload, hr$('.js-formReload')[0])
|
|
75
|
+
},
|
|
76
|
+
)
|
|
77
|
+
})
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const handleFormReload = function (event) {
|
|
81
|
+
event.preventDefault()
|
|
82
|
+
replaceAnimated(formWrapper, rootElement.outerHTML, true)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
listen('submit', handleSubmit, rootElement)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export default Newsletter
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { hr$ } from 'hrQuery'
|
|
2
|
+
|
|
3
|
+
const Newsletter = function (context) {
|
|
4
|
+
'use strict'
|
|
5
|
+
|
|
6
|
+
const { element: rootElement } = context,
|
|
7
|
+
subscribeRadio = hr$('.js-newsletter-subscribe', rootElement)[0],
|
|
8
|
+
unsubscribeRadio = hr$('.js-newsletter-unsubscribe', rootElement)[0]
|
|
9
|
+
|
|
10
|
+
if (subscribeRadio && unsubscribeRadio) {
|
|
11
|
+
subscribeRadio.onclick = function () {
|
|
12
|
+
subscribeRadio.checked = true
|
|
13
|
+
unsubscribeRadio.checked = false
|
|
14
|
+
}
|
|
15
|
+
unsubscribeRadio.onclick = function () {
|
|
16
|
+
subscribeRadio.checked = false
|
|
17
|
+
unsubscribeRadio.checked = true
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default Newsletter
|