hr-design-system-handlebars 1.114.84 → 1.114.86
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 +26 -0
- package/dist/assets/brand/hessenschau/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-bigband/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-fernsehen/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-inforadio/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr-werbung/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr1/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/hr2/conf/locatags.merged.json +5 -3
- package/dist/assets/brand/hr3/conf/locatags.merged.json +5 -3
- package/dist/assets/brand/hr4/conf/locatags.merged.json +3 -1
- package/dist/assets/brand/you-fm/conf/locatags.merged.json +3 -1
- package/dist/assets/index.css +3 -3
- package/dist/assets/js/components/content/copytext/components/gallery/js/gallerySlider.alpine.js +3 -2
- package/dist/assets/js/components/newsletter/js/newsletterForm.alpine.js +13 -7
- package/dist/views/components/content/copytext/components/gallery/galleryitem_figure.hbs +6 -9
- package/dist/views/components/content/copytext/components/newsletter.hbs +1 -1
- package/dist/views/components/content/copytext/copytext_body.hbs +1 -1
- package/dist/views/components/newsletter/components/new_newsletter_form.hbs +40 -69
- package/dist/{views_static/components/newsletter/components/controls_no_alpine.hbs → views/components/newsletter/components/newsletter_controls.hbs} +1 -1
- package/dist/views/components/newsletter/components/newsletter_fields.hbs +44 -0
- package/dist/views/components/newsletter/components/newsletter_form.hbs +24 -56
- package/dist/views/components/newsletter/components/newsletter_result.hbs +31 -15
- package/dist/views/components/newsletter/components/newsletter_success.hbs +1 -0
- package/dist/views/components/newsletter/newsletter.hbs +4 -23
- package/dist/views_static/components/content/copytext/components/gallery/galleryitem_figure.hbs +6 -9
- package/dist/views_static/components/content/copytext/components/newsletter.hbs +1 -1
- package/dist/views_static/components/content/copytext/copytext_body.hbs +1 -1
- package/dist/views_static/components/newsletter/components/new_newsletter_form.hbs +40 -69
- package/dist/{views/components/newsletter/components/controls_no_alpine.hbs → views_static/components/newsletter/components/newsletter_controls.hbs} +1 -1
- package/dist/views_static/components/newsletter/components/newsletter_fields.hbs +44 -0
- package/dist/views_static/components/newsletter/components/newsletter_form.hbs +24 -56
- package/dist/views_static/components/newsletter/components/newsletter_result.hbs +31 -15
- package/dist/views_static/components/newsletter/components/newsletter_success.hbs +1 -0
- package/dist/views_static/components/newsletter/newsletter.hbs +4 -23
- package/package.json +1 -1
- package/src/assets/brand/_default/conf/locatags.json +3 -1
- package/src/assets/brand/hessenschau/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-bigband/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr-werbung/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr1/conf/locatags.merged.json +3 -1
- package/src/assets/brand/hr2/conf/locatags.merged.json +5 -3
- package/src/assets/brand/hr3/conf/locatags.merged.json +5 -3
- package/src/assets/brand/hr4/conf/locatags.merged.json +3 -1
- package/src/assets/brand/you-fm/conf/locatags.merged.json +3 -1
- package/src/stories/views/components/content/copytext/components/gallery/galleryitem_figure.hbs +6 -9
- package/src/stories/views/components/content/copytext/components/gallery/js/gallerySlider.alpine.js +3 -2
- package/src/stories/views/components/content/copytext/components/newsletter.hbs +1 -1
- package/src/stories/views/components/content/copytext/copytext-newsletter.stories.js +97 -0
- package/src/stories/views/components/content/copytext/copytext.stories.js +0 -2
- package/src/stories/views/components/content/copytext/copytext_body.hbs +1 -1
- package/src/stories/views/components/content/copytext/fixtures/copytext_newsletter.json +18 -0
- package/src/stories/views/components/newsletter/components/new_newsletter_form.hbs +40 -69
- package/src/stories/views/components/newsletter/components/{controls_no_alpine.hbs → newsletter_controls.hbs} +1 -1
- package/src/stories/views/components/newsletter/components/newsletter_fields.hbs +44 -0
- package/src/stories/views/components/newsletter/components/newsletter_form.hbs +24 -56
- package/src/stories/views/components/newsletter/components/newsletter_result.hbs +31 -15
- package/src/stories/views/components/newsletter/components/newsletter_success.hbs +1 -0
- package/src/stories/views/components/newsletter/fixtures/new_newsletter.json +4 -8
- package/src/stories/views/components/newsletter/js/newsletterForm.alpine.js +13 -7
- package/src/stories/views/components/newsletter/newsletter.hbs +4 -23
- package/src/stories/views/components/newsletter/newsletter.stories.js +5 -16
- package/dist/assets/js/components/newsletter/js/newNewsletterDs.feature.js +0 -88
- package/dist/assets/js/components/newsletter/js/newsletterDs.feature.js +0 -22
- package/dist/views/components/newsletter/newsletter_registered.hbs +0 -0
- package/dist/views/components/newsletter/newsletter_success.hbs +0 -0
- package/dist/views_static/components/newsletter/newsletter_registered.hbs +0 -0
- package/dist/views_static/components/newsletter/newsletter_success.hbs +0 -0
- package/src/stories/views/components/newsletter/fixtures/newsletter.json +0 -15
- package/src/stories/views/components/newsletter/js/newNewsletterDs.feature.js +0 -88
- package/src/stories/views/components/newsletter/js/newsletterDs.feature.js +0 -22
- package/src/stories/views/components/newsletter/newsletter_registered.hbs +0 -0
- package/src/stories/views/components/newsletter/newsletter_success.hbs +0 -0
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
<
|
|
1
|
+
<h3 class="mb-6 text-2xl md:text-3xl font-headingSerif sm:mb-12 text-text dark:text-text-dark">
|
|
2
|
+
{{this.title}}
|
|
3
|
+
</h3>
|
|
4
|
+
<div id="formWrapper">
|
|
2
5
|
<form class="relative flex flex-col justify-center overflow-hidden group"
|
|
3
6
|
id="form{{nextRandom}}"
|
|
4
7
|
x-ref="form{{getRandom}}"
|
|
@@ -7,78 +10,46 @@
|
|
|
7
10
|
x-init="formInit()"
|
|
8
11
|
x-ignore
|
|
9
12
|
@submit.prevent
|
|
10
|
-
action="
|
|
13
|
+
action="{{~#if (isStorybook)~}}{{this.jsonURL}}{{else}}{{configProperty "newsletter.subscription.endpoint"}}{{/if}}"
|
|
11
14
|
method="post"
|
|
12
15
|
accept-charset="utf-8"
|
|
13
16
|
>
|
|
17
|
+
<div x-show="!wasPosted"
|
|
18
|
+
x-transition:enter="transition ease-out duration-300 delay-300"
|
|
19
|
+
x-transition:enter-start="opacity-0 transform scale-90"
|
|
20
|
+
x-transition:enter-end="opacity-100 transform scale-100"
|
|
21
|
+
x-transition:leave="transition ease-in duration-75 delay-0"
|
|
22
|
+
x-transition:leave-start="opacity-100 transform scale-100"
|
|
23
|
+
x-transition:leave-end="opacity-0 transform scale-90"
|
|
24
|
+
>
|
|
25
|
+
{{> components/newsletter/components/newsletter_fields }}
|
|
14
26
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
_isEmail=true
|
|
18
|
-
_name="email"
|
|
19
|
-
_label="E-Mail"
|
|
20
|
-
_labelClass=""
|
|
21
|
-
_description=""
|
|
22
|
-
_required=true
|
|
23
|
-
_maxLength="140"
|
|
24
|
-
_errorMandatory="Bitte füllen Sie dieses Pflichtfeld aus"
|
|
25
|
-
_errorEmail="Bitte geben Sie eine gültige E-Mail-Adresse ein."
|
|
26
|
-
_formId=../_formId
|
|
27
|
-
}}
|
|
28
|
-
|
|
29
|
-
{{~> components/forms/components/choice
|
|
30
|
-
_inGroup=false
|
|
31
|
-
_type="checkbox"
|
|
32
|
-
_name="checkbox"
|
|
33
|
-
_label=(loca "accept_data_privacy_regulation_link")
|
|
34
|
-
_description=""
|
|
35
|
-
_required=true
|
|
36
|
-
_errorMandatory="Bitte wählen Sie dieses Pflichtfeld aus"
|
|
37
|
-
}}
|
|
38
|
-
|
|
27
|
+
{{> components/newsletter/components/newsletter_controls }}
|
|
28
|
+
</div>
|
|
39
29
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
>
|
|
65
|
-
{{{include "components/newsletter/components/newsletter_success" }}}
|
|
66
|
-
</div>
|
|
67
|
-
<div class="flex flex-col gap-6 js-errorMessage md:gap-10" id="errorMessage" x-show="wasPostedWithError"
|
|
68
|
-
x-transition:enter="transition ease-out duration-300 delay-75"
|
|
69
|
-
x-transition:enter-start="opacity-0 transform scale-90"
|
|
70
|
-
x-transition:enter-end="opacity-100 transform scale-100"
|
|
71
|
-
x-cloak
|
|
72
|
-
>
|
|
73
|
-
{{{include "components/newsletter/components/newsletter_error" }}}
|
|
74
|
-
</div>
|
|
75
|
-
<div class="flex flex-col gap-6 js-alreadyRegisteredMessage md:gap-10" id="alreadyRegisteredMessage" x-show="wasPostedAlreadyRegistered"
|
|
76
|
-
x-transition:enter="transition ease-out duration-300 delay-75"
|
|
77
|
-
x-transition:enter-start="opacity-0 transform scale-90"
|
|
78
|
-
x-transition:enter-end="opacity-100 transform scale-100"
|
|
79
|
-
x-cloak
|
|
80
|
-
>
|
|
81
|
-
{{{include "components/newsletter/components/newsletter_already_registered" }}}
|
|
82
|
-
</div>
|
|
30
|
+
<div class="flex flex-col gap-6 js-successMessage md:gap-10" id="successMessage" x-show="wasPostedWithSuccess"
|
|
31
|
+
x-transition:enter="transition ease-out duration-300 delay-75"
|
|
32
|
+
x-transition:enter-start="opacity-0 transform scale-90"
|
|
33
|
+
x-transition:enter-end="opacity-100 transform scale-100"
|
|
34
|
+
x-cloak
|
|
35
|
+
>
|
|
36
|
+
{{{include "components/newsletter/components/newsletter_success" _success="true" _locaKeyText="newsletter_text_success"}}}
|
|
37
|
+
</div>
|
|
38
|
+
<div class="flex flex-col gap-6 js-errorMessage md:gap-10" id="errorMessage" x-show="wasPostedWithError"
|
|
39
|
+
x-transition:enter="transition ease-out duration-300 delay-75"
|
|
40
|
+
x-transition:enter-start="opacity-0 transform scale-90"
|
|
41
|
+
x-transition:enter-end="opacity-100 transform scale-100"
|
|
42
|
+
x-cloak
|
|
43
|
+
>
|
|
44
|
+
{{{include "components/newsletter/components/newsletter_error" _locaKeyText="newsletter_text_error"}}}
|
|
45
|
+
</div>
|
|
46
|
+
<div class="flex flex-col gap-6 js-alreadyRegisteredMessage md:gap-10" id="alreadyRegisteredMessage" x-show="wasPostedAlreadyRegistered"
|
|
47
|
+
x-transition:enter="transition ease-out duration-300 delay-75"
|
|
48
|
+
x-transition:enter-start="opacity-0 transform scale-90"
|
|
49
|
+
x-transition:enter-end="opacity-100 transform scale-100"
|
|
50
|
+
x-cloak
|
|
51
|
+
>
|
|
52
|
+
{{{include "components/newsletter/components/newsletter_already_registered" _alreadyRegistered="true" _locaKeyText="newsletter_text_already_registered" }}}
|
|
53
|
+
</div>
|
|
83
54
|
</form>
|
|
84
55
|
</div>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<label class="order-2 cursor-pointer {{> components/button/utilities/button_base_classes}} {{> components/button/utilities/button_variation_classes _variant='primary'}} {{> components/button/utilities/button_dimension_classes _size='lg'}}">
|
|
5
5
|
<span class="hidden" :class="{'hidden': !isPosting}">{{> components/base/image/icon _icon="reload" _addClass="w-5 h-5 fill-white dark:fill-text-dark animate-spin"}}</span>
|
|
6
6
|
<span class="" :class="{'hidden': isPosting}">{{> components/base/image/icon _icon="send-ds" _addClass="w-5 h-5 fill-white dark:fill-text-dark "}}</span>
|
|
7
|
-
<input type="submit" class="pl-2 cursor-pointer" value="{{loca "form_button_submit"}}" @click.prevent=""/>
|
|
7
|
+
<input type="submit" class="pl-2 cursor-pointer" value="{{loca "form_button_submit"}}" @click.prevent="submitButtonHandler($event)"/>
|
|
8
8
|
</label>
|
|
9
9
|
|
|
10
10
|
{{#> components/button/button _variant="tertiary"_size="lg" _css="order-1 mr-4" _type="reset"}}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{{#if this.description}}
|
|
2
|
+
<p class="mb-6 text-base font-copy sm:text-lg dark:text-text-dark">
|
|
3
|
+
{{{this.description}}}
|
|
4
|
+
</p>
|
|
5
|
+
{{/if}}
|
|
6
|
+
{{~> components/forms/components/input
|
|
7
|
+
_type="email"
|
|
8
|
+
_isEmail=true
|
|
9
|
+
_name="email"
|
|
10
|
+
_label="E-Mail"
|
|
11
|
+
_labelClass=""
|
|
12
|
+
_description=""
|
|
13
|
+
_required=true
|
|
14
|
+
_maxLength="140"
|
|
15
|
+
_errorMandatory="Bitte füllen Sie dieses Pflichtfeld aus"
|
|
16
|
+
_errorEmail="Bitte geben Sie eine gültige E-Mail-Adresse ein."
|
|
17
|
+
_formId=../_formId
|
|
18
|
+
}}
|
|
19
|
+
|
|
20
|
+
{{~> components/forms/components/choice
|
|
21
|
+
_inGroup=false
|
|
22
|
+
_type="checkbox"
|
|
23
|
+
_name="checkbox"
|
|
24
|
+
_label=(loca "accept_data_privacy_regulation_link")
|
|
25
|
+
_description=""
|
|
26
|
+
_required=true
|
|
27
|
+
_errorMandatory="Bitte wählen Sie dieses Pflichtfeld aus"
|
|
28
|
+
}}
|
|
29
|
+
|
|
30
|
+
{{~> components/forms/components/input
|
|
31
|
+
_name="newsletter"
|
|
32
|
+
_type="hidden"
|
|
33
|
+
_value=this.mailingList
|
|
34
|
+
_wrapperClass="hidden"
|
|
35
|
+
_hasLabel=false
|
|
36
|
+
}}
|
|
37
|
+
|
|
38
|
+
{{~>components/forms/components/input
|
|
39
|
+
_name="newsletter-type"
|
|
40
|
+
_type="hidden"
|
|
41
|
+
_wrapperClass="hidden"
|
|
42
|
+
_value="html"
|
|
43
|
+
_hasLabel=false
|
|
44
|
+
}}
|
|
@@ -1,63 +1,31 @@
|
|
|
1
1
|
<div id="formWrapper" class="mt-4">
|
|
2
|
-
<form class="relative flex flex-col justify-center overflow-hidden group js-form" id="form{{nextRandom}}" x-ref="form{{getRandom}}" ax-load="" x-data="" x-init="" @submit.prevent=""
|
|
3
|
-
action="{{configProperty "mailserver.newsletter"}}" method="post" enctype="application/x-www-form-urlencoded"
|
|
4
|
-
accept-charset="utf-8">
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
<form class="relative flex flex-col justify-center overflow-hidden group js-form"
|
|
4
|
+
id="form{{nextRandom}}"
|
|
5
|
+
x-ref="form{{getRandom}}"
|
|
6
|
+
ax-load
|
|
7
|
+
x-data="newsletterForm('form{{getRandom}}','{{this.trackingInformations}}')"
|
|
8
|
+
x-init="formInit()"
|
|
9
|
+
x-ignore
|
|
10
|
+
@submit.prevent
|
|
11
|
+
action="{{~#if (isStorybook)~}}{{this.jsonURL}}{{else}}{{configProperty "mailserver.newsletter"}}{{/if}}"
|
|
12
|
+
method="post"
|
|
13
|
+
enctype="application/x-www-form-urlencoded"
|
|
14
|
+
accept-charset="utf-8"
|
|
15
|
+
>
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_formId=../_formId
|
|
30
|
-
_items=this.items
|
|
31
|
-
}}
|
|
17
|
+
<div x-show="!wasPosted"
|
|
18
|
+
x-transition:enter="transition ease-out duration-300 delay-300"
|
|
19
|
+
x-transition:enter-start="opacity-0 transform scale-90"
|
|
20
|
+
x-transition:enter-end="opacity-100 transform scale-100"
|
|
21
|
+
x-transition:leave="transition ease-in duration-75 delay-0"
|
|
22
|
+
x-transition:leave-start="opacity-100 transform scale-100"
|
|
23
|
+
x-transition:leave-end="opacity-0 transform scale-90"
|
|
24
|
+
>
|
|
25
|
+
{{> components/newsletter/components/newsletter_old_fields }}
|
|
32
26
|
|
|
27
|
+
{{> components/newsletter/components/newsletter_controls }}
|
|
28
|
+
</div>
|
|
33
29
|
|
|
34
|
-
{{~> components/forms/components/controls}}
|
|
35
|
-
|
|
36
|
-
{{~> components/forms/components/input
|
|
37
|
-
_formField=this.formData.INXMAIL_HTTP_REDIRECT
|
|
38
|
-
_name="INXMAIL_HTTP_REDIRECT"
|
|
39
|
-
_type="hidden"
|
|
40
|
-
_wrapperClass="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
|
-
_wrapperClass="hidden"
|
|
50
|
-
_value=this.errorLink
|
|
51
|
-
_hasLabel=false
|
|
52
|
-
}}
|
|
53
|
-
|
|
54
|
-
{{~> components/forms/components/input
|
|
55
|
-
_formField=this.formData.backlink
|
|
56
|
-
_name="backlink"
|
|
57
|
-
_type="hidden"
|
|
58
|
-
_wrapperClass="hidden"
|
|
59
|
-
_value=this.backlinkUuid
|
|
60
|
-
_hasLabel=false
|
|
61
|
-
}}
|
|
62
30
|
</form>
|
|
63
31
|
</div>
|
|
@@ -1,15 +1,31 @@
|
|
|
1
|
-
<div class="
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
</div>
|
|
1
|
+
<div class="flex flex-col justify-between w-full gap-6 md:gap-10">
|
|
2
|
+
<div class="flex items-center gap-x-2 md:gap-x-3">
|
|
3
|
+
{{#if _success}}
|
|
4
|
+
{{> components/forms/components/success_icon}}
|
|
5
|
+
<h3 class="font-bold text-success pt-0.5">{{~loca "newsletter_title_success"}}</h3>
|
|
6
|
+
{{else}}
|
|
7
|
+
{{#if _alreadyRegistered}}
|
|
8
|
+
{{> components/forms/components/error_icon _class="!block"}}
|
|
9
|
+
<h3 class="font-bold text-error dark:text-error-dark pt-0.5">{{~loca "newsletter_title_already_registered"}}</h3>
|
|
10
|
+
{{else}}
|
|
11
|
+
{{> components/forms/components/error_icon _class="!block"}}
|
|
12
|
+
<h3 class="font-bold text-error dark:text-error-dark pt-0.5">{{~loca "newsletter_title_error"}}</h3>
|
|
13
|
+
{{/if}}
|
|
14
|
+
{{/if}}
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<span class="font-copy text-text dark:text-text-dark">
|
|
18
|
+
{{#if _locaKeyText}}
|
|
19
|
+
{{loca _locaKeyText}}
|
|
20
|
+
{{else}}
|
|
21
|
+
{{{_text}}}
|
|
22
|
+
{{/if}}
|
|
23
|
+
</span>
|
|
24
|
+
<div class="flex justify-end">
|
|
25
|
+
{{#> components/button/button _variant="primary" _size="lg" }}
|
|
26
|
+
<span class="text-base ds-button-label ">{{loca "newsletter_form_back"}}</span>
|
|
27
|
+
{{/components/button/button}}
|
|
28
|
+
{{#*inline "htmlProperties"}}
|
|
29
|
+
@click="retryHandler"
|
|
30
|
+
{{/inline}}
|
|
31
|
+
</div>
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"useNewNewsletter":true,
|
|
3
2
|
"title":"hessenschau update - Der Newsletter für Hessen",
|
|
4
3
|
"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
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"successText":{"richText":"Ficken sie sich oder wie sie heißen, sie kriegen den Newsletter"},
|
|
10
|
-
"registeredText":{"richText":"Ficken sie sich oder wie sie heißen, sie sind bereits bei uns"},
|
|
11
|
-
"errorText":{"richText":"Ficken sie sich oder wie sie heißen, leider nicht funktioniert"},
|
|
4
|
+
"jsonURL": "https://hessenschau-nl.sr.de/api/newsletter-api-subscribe.php",
|
|
5
|
+
"successText":{"richText":"Sie erhalten in wenigen Minuten eine E-Mail an die von Ihnen angegebene Adresse. Erst nach einem Klick auf den darin enthaltenen Bestätigungslink erhalten Sie unseren Newsletter."},
|
|
6
|
+
"registeredText":{"richText":"Sollten Sie ihr Abonnement kündigen oder verwalten wollen, können Sie dies <a href=\"https://hessenschau-nl.sr.de/newsletter-login.php\" class=\"{nuc https://hessenschau-nl.sr.de/newsletter-login.php nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">hier</a> tun."},
|
|
7
|
+
"errorText":{"richText":"Aufgrund eines technischen Fehlers können wir derzeit Ihre Anfrage nicht bearbeiten. Bitte versuchen Sie es zu einem späteren Zeitpunkt noch einmal."},
|
|
12
8
|
"uuid":"d91b7e16-d476-425f-a535-587c6957df37",
|
|
13
9
|
"successLink":"Link wenn erfolgreich",
|
|
14
10
|
"errorLink": "Link wenn Fehler",
|
|
@@ -38,10 +38,13 @@ export default function newsletterForm(formId,trackingInformations) {
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
retryHandler() {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
this.wasPosted = false;
|
|
42
|
+
this.wasPostedWithSuccess = false;
|
|
43
|
+
this.wasPostedWithError = false;
|
|
44
|
+
this.wasPostedAlreadyRegistered = false;
|
|
45
|
+
this.isPosting = false;
|
|
46
|
+
this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 50)
|
|
47
|
+
|
|
45
48
|
},
|
|
46
49
|
handleValidationErrors(errors) {
|
|
47
50
|
console.log('Validation Errors:', errors);
|
|
@@ -82,9 +85,12 @@ export default function newsletterForm(formId,trackingInformations) {
|
|
|
82
85
|
return response
|
|
83
86
|
})
|
|
84
87
|
.then(async response => {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
const data = await response.text();
|
|
89
|
+
const responseData = JSON.parse(data);
|
|
90
|
+
console.log(responseData);
|
|
91
|
+
switch (responseData.status) {
|
|
92
|
+
case 'success':
|
|
93
|
+
console.log("success");
|
|
88
94
|
this.wasPosted = true;
|
|
89
95
|
this.wasPostedWithSuccess = true;
|
|
90
96
|
this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
|
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
{{
|
|
2
|
-
|
|
3
|
-
{{~> components/base/a11y/hiddenText _locaTag="story_newsletter_intro_sr" ~}}
|
|
4
|
-
<h3 class="mb-6 text-2xl md:text-3xl font-headingSerif sm:mb-12 text-text dark:text-text-dark">
|
|
5
|
-
{{this.title}}
|
|
6
|
-
</h3>
|
|
7
|
-
{{#if this.description}}
|
|
8
|
-
<p class="mt-4 text-base font-copy sm:text-lg sm:mt-5 dark:text-text-dark">
|
|
9
|
-
{{{this.description}}}
|
|
10
|
-
</p>
|
|
11
|
-
{{/if}}
|
|
1
|
+
<div id="{{this.uuid}}" class="relative bg-highlight-1 dark:bg-highlight-1-dark sm:rounded-tl-hr sm:rounded-br-hr px-5 sm:px-13 pb-8 pt-6 sm:pt-12 mt-7 sm:mt-12 mb-5 article-full-width sm:article-narrow {{_addClass}}">
|
|
2
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_newsletter_intro_sr" ~}}
|
|
12
3
|
{{> components/newsletter/components/new_newsletter_form}}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
{{else}}
|
|
16
|
-
<div id="{{this.uuid}}" class="js-load relative bg-highlight-1 dark:bg-highlight-1-dark sm:rounded-tl-hr sm:rounded-br-hr px-5 sm:px-13 pb-8 pt-6 sm:pt-12 mt-7 sm:mt-12 mb-5 article-full-width sm:article-narrow {{_addClass}}" data-hr-newsletter-ds='{"url": "{{this.url.nocache}}"}'>
|
|
17
|
-
{{~> components/base/a11y/hiddenText _locaTag="story_newsletter_intro_sr" ~}}
|
|
18
|
-
<h3 class="mb-6 text-2xl md:text-3xl font-headingSerif sm:mb-12 text-text dark:text-text-dark">
|
|
19
|
-
{{this.title}}
|
|
20
|
-
</h3>
|
|
21
|
-
{{> components/newsletter/components/newsletter_form}}
|
|
22
|
-
{{~> components/base/a11y/hiddenText _locaTag="story_newsletter_outro_sr" ~}}
|
|
23
|
-
</div>
|
|
24
|
-
{{/if}}
|
|
4
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_newsletter_outro_sr" ~}}
|
|
5
|
+
</div>
|
|
@@ -18,17 +18,18 @@ export default {
|
|
|
18
18
|
fetchMock: {
|
|
19
19
|
mocks: [
|
|
20
20
|
{
|
|
21
|
-
matcher: '
|
|
21
|
+
matcher: 'https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de',
|
|
22
22
|
response: {
|
|
23
23
|
status: 200,
|
|
24
|
-
message: 'success',
|
|
25
24
|
body: {
|
|
26
|
-
status: ''
|
|
25
|
+
status: 'success',
|
|
27
26
|
},
|
|
28
27
|
},
|
|
29
28
|
}
|
|
30
29
|
],
|
|
31
|
-
}
|
|
30
|
+
},
|
|
31
|
+
layout: 'fullscreen',
|
|
32
|
+
chromatic: { disableSnapshot: true }
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
const TemplateNewsletterNew = (args) => {
|
|
@@ -38,13 +39,6 @@ const TemplateNewsletterNew = (args) => {
|
|
|
38
39
|
return hbsTemplate({ ...args })
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
const TemplateNewsletterOld = (args) => {
|
|
42
|
-
let hbsTemplate = handlebars.compile(`
|
|
43
|
-
{{> components/newsletter/newsletter }}
|
|
44
|
-
`)
|
|
45
|
-
return hbsTemplate({ ...args })
|
|
46
|
-
}
|
|
47
|
-
|
|
48
42
|
export const Default = {
|
|
49
43
|
render: TemplateNewsletterNew.bind({}),
|
|
50
44
|
name: 'Neuer Newsletter',
|
|
@@ -67,10 +61,5 @@ export const Default = {
|
|
|
67
61
|
}
|
|
68
62
|
}
|
|
69
63
|
|
|
70
|
-
export const Newsletter_old = {
|
|
71
|
-
render: TemplateNewsletterOld.bind({}),
|
|
72
|
-
name: 'Alter Newsletter',
|
|
73
|
-
args: OldNewsletterJson,
|
|
74
|
-
}
|
|
75
64
|
|
|
76
65
|
|
|
@@ -1,88 +0,0 @@
|
|
|
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
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"useNewNewsletter":false,
|
|
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 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
|
-
"uuid":"d91b7e16-d476-425f-a535-587c6957df37",
|
|
10
|
-
"successLink":"Link wenn erfolgreich",
|
|
11
|
-
"errorLink": "Link wenn Fehler",
|
|
12
|
-
"backlinkUuid": "Backlink mit UUID (altes Voting)",
|
|
13
|
-
"mailingList":"E-Mail-Liste",
|
|
14
|
-
"trackingInformations":"Tracking"
|
|
15
|
-
}
|