hr-design-system-handlebars 1.103.9 → 1.104.0
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 +24 -0
- package/dist/assets/index.css +24 -3
- package/dist/assets/js/base/tracking/pianoHelper.subfeature.js +1 -1
- package/dist/assets/js/components/dataPolicySettings/dataPolicySettingsDs.feature.js +39 -39
- package/dist/assets/js/components/forms/inputHandler.alpine.js +1 -1
- package/dist/assets/js/components/mediaplayer/ardPlayerLoader.subfeature.js +1 -1
- package/dist/assets/js/utils.js +3 -6
- package/dist/views/components/content/copytext/components/externalservice.hbs +1 -1
- package/{src/stories/views/components/externalService → dist/views/components/external-service}/components/external_service_data_policy.hbs +4 -4
- package/{src/stories/views/components/externalService → dist/views/components/external-service}/external_service.hbs +2 -2
- package/dist/views/components/external-service/external_service_with_datapolicy_check.hbs +19 -0
- package/dist/views/components/forms/controls.hbs +1 -1
- package/dist/views/components/forms/input.hbs +4 -2
- package/dist/views/components/forms/textarea.hbs +4 -2
- package/dist/views/components/forms/webform.hbs +49 -1
- package/dist/views/components/teaser/teaser_external_service.hbs +1 -1
- package/dist/views_static/components/content/copytext/components/externalservice.hbs +1 -1
- package/dist/{views/components/externalService → views_static/components/external-service}/components/external_service_data_policy.hbs +4 -4
- package/dist/{views/components/externalService → views_static/components/external-service}/external_service.hbs +2 -2
- package/dist/views_static/components/external-service/external_service_with_datapolicy_check.hbs +19 -0
- package/dist/views_static/components/forms/controls.hbs +1 -1
- package/dist/views_static/components/forms/input.hbs +4 -2
- package/dist/views_static/components/forms/textarea.hbs +4 -2
- package/dist/views_static/components/forms/webform.hbs +49 -1
- package/dist/views_static/components/teaser/teaser_external_service.hbs +1 -1
- package/package.json +1 -1
- package/src/assets/fixtures/content/copytext/copytext_externalservice.json +54 -80
- package/src/assets/fixtures/content/copytext/copytext_webform.json +4 -0
- package/src/assets/fixtures/event/calendar/event_calendar_components.json +68 -0
- package/src/assets/fixtures/{external_service → external-service}/external_service.inc.json +22 -3
- package/src/assets/fixtures/external-service/external_service.json +194 -0
- package/src/assets/fixtures/teaser/teaser_event_calendar.json +65 -0
- package/src/assets/fixtures/teaser/teaser_ticker.inc.json +2 -2
- package/src/assets/js/utils.js +3 -6
- package/src/stories/basics/SnapshotStories.mdx +1 -1
- package/src/stories/views/base/tracking/pianoHelper.subfeature.js +1 -1
- package/src/stories/views/components/content/copytext/components/externalservice.hbs +1 -1
- package/src/stories/views/components/content/copytext/fixtures/copytext_externalservice.json +1 -1
- package/src/stories/views/components/content/copytext/fixtures/copytext_webform.json +1 -1
- package/src/stories/views/components/dataPolicySettings/dataPolicySettingsDs.feature.js +39 -39
- package/src/stories/views/components/event/calendar/event_calendar_components.mdx +1 -38
- package/src/stories/views/components/event/calendar/event_calendar_components.stories.js +77 -42
- package/src/stories/views/components/event/calendar/fixtures/event_calendar_components.json +1 -0
- package/{dist/views_static/components/externalService → src/stories/views/components/external-service}/components/external_service_data_policy.hbs +4 -4
- package/{dist/views_static/components/externalService → src/stories/views/components/external-service}/external_service.hbs +2 -2
- package/src/stories/views/components/{externalService → external-service}/external_service.stories.js +42 -20
- package/src/stories/views/components/external-service/external_service_with_datapolicy_check.hbs +19 -0
- package/src/stories/views/components/external-service/fixtures/external_service.json +1 -0
- package/src/stories/views/components/forms/controls.hbs +1 -1
- package/src/stories/views/components/forms/input.hbs +4 -2
- package/src/stories/views/components/forms/inputHandler.alpine.js +1 -1
- package/src/stories/views/components/forms/textarea.hbs +4 -2
- package/src/stories/views/components/forms/webform.hbs +49 -1
- package/src/stories/views/components/mediaplayer/ardPlayerLoader.subfeature.js +1 -1
- package/src/stories/views/components/teaser/fixtures/teaser_event_calendar.json +1 -0
- package/src/stories/views/components/teaser/fixtures/teaser_ticker_alternative.json +1 -1
- package/src/stories/views/components/teaser/fixtures/teaser_ticker_standard.json +1 -1
- package/src/stories/views/components/teaser/teaser_event_calendar.stories.js +45 -47
- package/src/stories/views/components/teaser/teaser_external_service.hbs +1 -1
- package/tailwind.config.js +19 -0
- package/dist/views/components/externalService/external_service_with_datapolicy_check.hbs +0 -16
- package/dist/views_static/components/externalService/external_service_with_datapolicy_check.hbs +0 -16
- package/src/assets/fixtures/event/calendar/event_calendar.inc.json +0 -10
- package/src/assets/fixtures/event/calendar/event_calendar_event_teaser.json +0 -4
- package/src/assets/fixtures/event/calendar/event_calendar_footer.json +0 -14
- package/src/assets/fixtures/teaser/teaser_event_calendar_100_no_future_events.json +0 -24
- package/src/assets/fixtures/teaser/teaser_event_calendar_100_serif.json +0 -21
- package/src/stories/views/components/event/calendar/fixtures/event_calendar_event_teaser.json +0 -1
- package/src/stories/views/components/event/calendar/fixtures/event_calendar_footer.json +0 -1
- package/src/stories/views/components/externalService/external_service_with_datapolicy_check.hbs +0 -16
- package/src/stories/views/components/teaser/fixtures/teaser_event_calendar_100_no_future_events.json +0 -1
- package/src/stories/views/components/teaser/fixtures/teaser_event_calendar_100_serif.json +0 -1
- /package/dist/assets/js/components/{externalService → external-service}/createWahlErgebnisGemeinde.subfeature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/dataWrapperContentRefresher.subfeature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/dataWrapperNoResponsiveIframe.subfeature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/datapolicyCookie.subfeature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/externalServiceDs.feature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/globalSettingsCookie.subfeature.js +0 -0
- /package/dist/assets/js/components/{externalService → external-service}/trackingCookie.subfeature.js +0 -0
- /package/dist/views/components/{externalService → external-service}/components/data_policy_link.hbs +0 -0
- /package/dist/views/components/{externalService → external-service}/components/external_service_caption.hbs +0 -0
- /package/dist/views/components/{externalService → external-service}/components/external_service_form_checkbox.hbs +0 -0
- /package/dist/views/components/{externalService → external-service}/components/external_service_load_content_button.hbs +0 -0
- /package/dist/views/components/{externalService → external-service}/components/external_service_settings_button.hbs +0 -0
- /package/dist/views_static/components/{externalService → external-service}/components/data_policy_link.hbs +0 -0
- /package/dist/views_static/components/{externalService → external-service}/components/external_service_caption.hbs +0 -0
- /package/dist/views_static/components/{externalService → external-service}/components/external_service_form_checkbox.hbs +0 -0
- /package/dist/views_static/components/{externalService → external-service}/components/external_service_load_content_button.hbs +0 -0
- /package/dist/views_static/components/{externalService → external-service}/components/external_service_settings_button.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/components/data_policy_link.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/components/external_service_caption.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/components/external_service_form_checkbox.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/components/external_service_load_content_button.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/components/external_service_settings_button.hbs +0 -0
- /package/src/stories/views/components/{externalService → external-service}/createWahlErgebnisGemeinde.subfeature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/dataWrapperContentRefresher.subfeature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/dataWrapperNoResponsiveIframe.subfeature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/datapolicyCookie.subfeature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/externalServiceDs.feature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/external_service.data.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/external_service.mdx +0 -0
- /package/src/stories/views/components/{externalService → external-service}/fixtures/external_service_with_datapolicy.json +0 -0
- /package/src/stories/views/components/{externalService → external-service}/globalSettingsCookie.subfeature.js +0 -0
- /package/src/stories/views/components/{externalService → external-service}/trackingCookie.subfeature.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# v1.104.0 (Mon Oct 07 2024)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- Feature/dpe 3325 [#1091](https://github.com/mumprod/hr-design-system-handlebars/pull/1091) ([@szuelch](https://github.com/szuelch))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- [@szuelch](https://github.com/szuelch)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v1.103.10 (Fri Oct 04 2024)
|
|
14
|
+
|
|
15
|
+
#### 🐛 Bug Fix
|
|
16
|
+
|
|
17
|
+
- ✨ Send Form INIT DPE-3384 [#1090](https://github.com/mumprod/hr-design-system-handlebars/pull/1090) ([@vascoeduardo](https://github.com/vascoeduardo))
|
|
18
|
+
|
|
19
|
+
#### Authors: 1
|
|
20
|
+
|
|
21
|
+
- Vasco ([@vascoeduardo](https://github.com/vascoeduardo))
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
1
25
|
# v1.103.9 (Fri Oct 04 2024)
|
|
2
26
|
|
|
3
27
|
#### 🐛 Bug Fix
|
package/dist/assets/index.css
CHANGED
|
@@ -1986,6 +1986,27 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
1986
1986
|
.animate-none {
|
|
1987
1987
|
animation: none;
|
|
1988
1988
|
}
|
|
1989
|
+
@keyframes shake {
|
|
1990
|
+
|
|
1991
|
+
10%, 90% {
|
|
1992
|
+
transform: translate3d(-1px, 0, 0);
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1995
|
+
20%, 80% {
|
|
1996
|
+
transform: translate3d(2px, 0, 0);
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
30%, 50%, 70% {
|
|
2000
|
+
transform: translate3d(-4px, 0, 0);
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
40%, 60% {
|
|
2004
|
+
transform: translate3d(4px, 0, 0);
|
|
2005
|
+
}
|
|
2006
|
+
}
|
|
2007
|
+
.animate-shake {
|
|
2008
|
+
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
|
|
2009
|
+
}
|
|
1989
2010
|
@keyframes spin {
|
|
1990
2011
|
|
|
1991
2012
|
to {
|
|
@@ -3478,7 +3499,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3478
3499
|
border-bottom-color: var(--color-secondary-ds);
|
|
3479
3500
|
}
|
|
3480
3501
|
.counter-reset {
|
|
3481
|
-
counter-reset:
|
|
3502
|
+
counter-reset: cnt1728287587075;
|
|
3482
3503
|
}
|
|
3483
3504
|
.hyphens-auto {
|
|
3484
3505
|
-webkit-hyphens: auto;
|
|
@@ -3886,7 +3907,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3886
3907
|
--tw-ring-color: rgba(255, 255, 255, 0.5);
|
|
3887
3908
|
}
|
|
3888
3909
|
.-ordered {
|
|
3889
|
-
counter-increment:
|
|
3910
|
+
counter-increment: cnt1728287587075 1;
|
|
3890
3911
|
}
|
|
3891
3912
|
.-ordered::before {
|
|
3892
3913
|
position: absolute;
|
|
@@ -3902,7 +3923,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3902
3923
|
letter-spacing: .0125em;
|
|
3903
3924
|
--tw-text-opacity: 1;
|
|
3904
3925
|
color: rgba(0, 0, 0, var(--tw-text-opacity));
|
|
3905
|
-
content: counter(
|
|
3926
|
+
content: counter(cnt1728287587075);
|
|
3906
3927
|
}
|
|
3907
3928
|
/*! ****************************/
|
|
3908
3929
|
/*! DataPolicy stuff */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import SettingsCookie from 'components/
|
|
1
|
+
import SettingsCookie from 'components/external-service/globalSettingsCookie.subfeature'
|
|
2
2
|
import { fireEvent, getJSONCookie, hr$, setJSONCookie, listen } from 'hrQuery'
|
|
3
3
|
import { uxAction } from 'base/tracking/pianoHelper.subfeature'
|
|
4
4
|
|
|
@@ -22,7 +22,7 @@ const DataPolicySettings = function (context) {
|
|
|
22
22
|
|
|
23
23
|
//Überprüfung ein Settings-Cookie da ist
|
|
24
24
|
const checkForExistingCookies = function () {
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
if (getJSONCookie('hrSettings')) {
|
|
27
27
|
getAllToggleValuesFromSettings()
|
|
28
28
|
}
|
|
@@ -31,16 +31,16 @@ const DataPolicySettings = function (context) {
|
|
|
31
31
|
//Wenn kein Cookie vorhanden wird diese initial über die Checkbox "Dienst ist initial immer aktiviert (Whitelist)"
|
|
32
32
|
//im Konfig-Dokument bestückt.
|
|
33
33
|
for (var i = 0; i < toggleSwitches.length; ++i) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
if (toggleSwitches[i].getAttribute('data-whitelist') == "true") {
|
|
35
|
+
toggleSwitches[i].checked = true;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
toggleSwitches[i].checked = false;
|
|
39
|
+
}
|
|
40
|
+
setAllToggleEventListeners(toggleSwitches[i]);
|
|
41
|
+
initializeAllToggleEventListeners(i);
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
changeProviderTitle();
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
@@ -62,39 +62,39 @@ const DataPolicySettings = function (context) {
|
|
|
62
62
|
var id;
|
|
63
63
|
console.log("Setze alle Settings-Regler")
|
|
64
64
|
for (var i = 0; i < toggleSwitches.length; ++i) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
else{
|
|
78
|
-
console.log("Dienst "+ id + " ist im Cookie nicht enthalten, prüfe daher den Default")
|
|
79
|
-
var whiteList = document.getElementById(id).getAttribute("data-whitelist")
|
|
80
|
-
if(whiteList == 'true'){
|
|
81
|
-
console.log("Ist per Default eingeschaltet")
|
|
82
|
-
console.log("Aktiviere den Toggle")
|
|
83
|
-
toggleSwitches[i].checked = true;
|
|
65
|
+
id = toggleSwitches[i].id;
|
|
66
|
+
if (settingsCookie.isSettingsCookieExistent(id)) {
|
|
67
|
+
console.log("Dienst " + id + " ist im Cookie enthalten und hat den Wert " + settingsCookie.isSettingsCookieAccepted(id))
|
|
68
|
+
if (settingsCookie.isSettingsCookieAccepted(id)) {
|
|
69
|
+
console.log("Aktiviere den Toggle")
|
|
70
|
+
toggleSwitches[i].checked = true;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.log("Deaktiviere den Toggle")
|
|
74
|
+
toggleSwitches[i].checked = false;
|
|
75
|
+
}
|
|
84
76
|
}
|
|
85
|
-
else{
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
77
|
+
else {
|
|
78
|
+
console.log("Dienst " + id + " ist im Cookie nicht enthalten, prüfe daher den Default")
|
|
79
|
+
var whiteList = document.getElementById(id).getAttribute("data-whitelist")
|
|
80
|
+
if (whiteList == 'true') {
|
|
81
|
+
console.log("Ist per Default eingeschaltet")
|
|
82
|
+
console.log("Aktiviere den Toggle")
|
|
83
|
+
toggleSwitches[i].checked = true;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.log("Ist per Default ausgeschaltet")
|
|
87
|
+
console.log("Deaktiviere den Toggle")
|
|
88
|
+
toggleSwitches[i].checked = false;
|
|
89
|
+
}
|
|
90
|
+
|
|
89
91
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
setAllToggleEventListeners(toggleSwitches[i]);
|
|
93
|
-
initializeAllToggleEventListeners(i);
|
|
92
|
+
setAllToggleEventListeners(toggleSwitches[i]);
|
|
93
|
+
initializeAllToggleEventListeners(i);
|
|
94
94
|
}
|
|
95
95
|
toggleAllSwitch.checked = allTogglesExternalServiceChecked()
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
const initializeAllToggleEventListeners = function (serviceId) {
|
|
99
99
|
listen(
|
|
100
100
|
'hr:externalService-activate-' + toggleSwitches[serviceId].id,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fireEvent, hr$, listen, loadScript } from 'hrQuery'
|
|
2
2
|
import { uxAction } from 'base/tracking/pianoHelper.subfeature'
|
|
3
|
-
import SettingsCookie from 'components/
|
|
3
|
+
import SettingsCookie from 'components/external-service/globalSettingsCookie.subfeature'
|
|
4
4
|
|
|
5
5
|
const ArdPlayerLoader = function (options, trackingData, rootElement) {
|
|
6
6
|
'use strict'
|
package/dist/assets/js/utils.js
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*/
|
|
9
9
|
const getSnapshotsTemplate = (args) => {
|
|
10
10
|
const { hbsTemplates, args: snapshotsJson } = args
|
|
11
|
-
console.log("SnapshotsJson First", snapshotsJson)
|
|
12
11
|
const config = snapshotsJson.config || {}
|
|
13
12
|
const renderAsGrid = undefined !== config.layout && "grid" === config.layout
|
|
14
13
|
const renderSnapshotsWrapper = undefined !== config.renderSnapshotsWrapper ? config.renderSnapshotsWrapper : true
|
|
@@ -31,7 +30,6 @@ const getSnapshotsTemplate = (args) => {
|
|
|
31
30
|
})
|
|
32
31
|
template += snapshotsWrapperEnd
|
|
33
32
|
} else {
|
|
34
|
-
console.log("SnapshotsJson", snapshotsJson)
|
|
35
33
|
const filteredSnapshots = Object.entries(snapshotsJson).filter(([key, value]) =>
|
|
36
34
|
key !== "config" && (value.config === undefined || value.config.useAsSnapshot !== false)
|
|
37
35
|
)
|
|
@@ -44,20 +42,19 @@ const getSnapshotsTemplate = (args) => {
|
|
|
44
42
|
|
|
45
43
|
const renderSnapshots = (snapshots, hbsTemplates, defaultTemplate, defaultPath, renderSnapshotsWrapper) => {
|
|
46
44
|
let template = ''
|
|
47
|
-
console.log("Snapshots", snapshots)
|
|
48
45
|
snapshots.forEach(([key, value]) => {
|
|
49
46
|
const snapshotItemConfig = value.config || {}
|
|
50
|
-
const renderSnapshotItemWrapper = undefined !== snapshotItemConfig.renderSnapshotItemWrapper ? snapshotItemConfig.renderSnapshotItemWrapper :
|
|
47
|
+
const renderSnapshotItemWrapper = undefined !== snapshotItemConfig.renderSnapshotItemWrapper ? snapshotItemConfig.renderSnapshotItemWrapper : renderSnapshotsWrapper
|
|
51
48
|
const path = snapshotItemConfig.path ? `${snapshotItemConfig.path}` : (defaultPath ? `${defaultPath}` : "args")
|
|
52
49
|
const snapshotTemplateName = snapshotItemConfig.template || defaultTemplate || "no-template"
|
|
53
50
|
|
|
54
|
-
if (
|
|
51
|
+
if (renderSnapshotItemWrapper) {
|
|
55
52
|
template += `<div${snapshotItemConfig.css ? ` class="${snapshotItemConfig.css}"` : ''}>`
|
|
56
53
|
}
|
|
57
54
|
|
|
58
55
|
template += hbsTemplates[snapshotTemplateName](resolveObjectFromPath(path, value));
|
|
59
56
|
|
|
60
|
-
if (
|
|
57
|
+
if (renderSnapshotItemWrapper) {
|
|
61
58
|
template += '</div>';
|
|
62
59
|
}
|
|
63
60
|
})
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
<div>
|
|
6
6
|
<p class="pt-4 text-base font-copy">
|
|
7
7
|
{{loca "ext_service_datapolicy_text" this.externalServiceConfig.externalServiceName}}
|
|
8
|
-
{{~> components/
|
|
8
|
+
{{~> components/external-service/components/data_policy_link ~}}
|
|
9
9
|
</p>
|
|
10
10
|
<div class="pt-4">
|
|
11
|
-
{{~> components/
|
|
11
|
+
{{~> components/external-service/components/external_service_form_checkbox ~}}
|
|
12
12
|
</div>
|
|
13
13
|
<div class="float-right pt-4">
|
|
14
14
|
{{#with this}}
|
|
15
15
|
<div class="inline-flex">
|
|
16
|
-
{{~> components/
|
|
16
|
+
{{~> components/external-service/components/external_service_settings_button _css="js-settings-inner-button"~}}
|
|
17
17
|
{{#*inline "htmlProperties"}}
|
|
18
18
|
data-piano-tracking='{"label":"DSGVO-Overlay"}'
|
|
19
19
|
data-a11y-dialog-show="datapolicy-settings-dialog"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</div>
|
|
22
22
|
{{/with}}
|
|
23
23
|
<div class="inline-flex">
|
|
24
|
-
{{~> components/
|
|
24
|
+
{{~> components/external-service/components/external_service_load_content_button ~}}
|
|
25
25
|
{{#*inline "htmlProperties"}}{{/inline}}
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{#if this.externalServiceConfig.makeConfigurable}}
|
|
2
2
|
<!-- Embedding via JS with DataPolicyCheck-->
|
|
3
|
-
{{> components/
|
|
3
|
+
{{> components/external-service/external_service_with_datapolicy_check _isTeaser=_isTeaser}}
|
|
4
4
|
|
|
5
5
|
{{else}}
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
data-hr-external-service-ds='{"id":"{{this.externalServiceConfig.externalServiceId}}","embedCode":"{{this.serviceUrl}}","embedType": "{{this.externalServiceConfig.externalServiceEmbedType}}","dataPolicyCheck": false,"whiteList": false,"iFrameConfig":{}}'>
|
|
21
21
|
</div>
|
|
22
22
|
{{/if}}
|
|
23
|
-
{{~> components/
|
|
23
|
+
{{~> components/external-service/components/external_service_caption ~}}
|
|
24
24
|
<span class="sr-only">{{loca "story_externalservice_outro_sr" }}</span>
|
|
25
25
|
</div>
|
|
26
26
|
{{/if}}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="grid clear-both{{#unless _isTeaser}} mt-10{{/unless}}">
|
|
2
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_externalservice_intro_sr" ~}}
|
|
3
|
+
<div class="c-externalService c-externalService__{{this.externalServiceConfig.externalServiceId}}{{#unless
|
|
4
|
+
this.fixedHeight }} -noFixedHeight{{/unless}} js-load"
|
|
5
|
+
data-hr-external-service-ds='{"id":"{{this.externalServiceConfig.externalServiceId}}","embedCode":"{{this.serviceUrl}}","embedType":"{{this.externalServiceConfig.externalServiceEmbedType}}","dataPolicyCheck": true, "whiteList":{{this.externalServiceConfig.makeDatapolicyCheck}},"iFrameConfig": { {{~#if this.fixedHeight~}}
|
|
6
|
+
"fixedHeight":"{{this.fixedHeight}}"{{~else~}}{{~#if this.aspectRatio}}"aspectRatio":"{{this.aspectRatio}}"{{~else~}}"aspectRatio":"16x9"{{/if}}{{~/if}},"noResponsiveIframe":"{{{this.setResponsiveIframe}}}","webcomponent":"{{{this.setWebcomponent}}}"{{~#if this.setTimedReloadIframe}},"refreshContent":"{{{this.setTimedReloadIframe}}}","refreshIntervall":"{{this.setTimeForReload}}"{{~/if}} }}'>
|
|
7
|
+
{{~> components/external-service/components/external_service_data_policy ~}}
|
|
8
|
+
</div>
|
|
9
|
+
{{~> components/external-service/components/external_service_caption ~}}
|
|
10
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_externalservice_outro_sr" ~}}
|
|
11
|
+
<div class="hidden js-content-settings-button">
|
|
12
|
+
<div class="float-right">
|
|
13
|
+
{{~> components/external-service/components/external_service_settings_button ~}}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
{{~#if (isStorybook)~}}
|
|
18
|
+
<div id="{{this.externalServiceConfig.externalServiceId}}" data-whitelist="{{this.externalServiceConfig.makeDatapolicyCheck}}"></div>
|
|
19
|
+
{{/if}}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="flex items-center">
|
|
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
|
{{> components/base/image/icon _icon="send-ds" _addClass="w-5 h-5 fill-white dark:fill-text-dark "}}
|
|
6
|
-
<input type="submit" class="pl-2 cursor-pointer" value="Absenden" />
|
|
6
|
+
<input type="submit" class="pl-2 cursor-pointer" value="Absenden" @click.prevent="clickHandler"/>
|
|
7
7
|
</label>
|
|
8
8
|
|
|
9
9
|
{{#> components/button/button _variant="tertiary"_size="lg" _css="order-1 mr-4" _type="reset"}}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<div class="relative flex flex-col w-full mb-5 {{_wrapperClass}}"
|
|
1
|
+
<div class=" relative flex flex-col w-full mb-5 {{_wrapperClass}}"
|
|
2
|
+
:class="{'animate-shake': hideDescription() }"
|
|
2
3
|
ax-load
|
|
3
4
|
x-data="inputHandler('input{{nextRandom}}','{{_errorMandatory}}',{{#if _isEmail}}'email'{{else}}'{{_type}}'{{/if}},'{{_errorEmail}}','{{#if _formField.forHtmlAttribute}}{{_formField.forHtmlAttribute}}{{else}}{{#if _value}}{{_value}}{{else}}{{_defaultValue}}{{/if}}{{/if}}')"
|
|
4
5
|
x-ignore
|
|
@@ -7,9 +8,10 @@
|
|
|
7
8
|
:class="{'border-blue-500': hideError(),'border-red-700': hideDescription() }"
|
|
8
9
|
x-model="input{{getRandom}}"
|
|
9
10
|
id="input{{getRandom}}"
|
|
11
|
+
x-bind:data-is-valid="valid ? 'true' : 'false'"
|
|
10
12
|
{{#if _required}}
|
|
11
13
|
@focus="isFocused = true;"
|
|
12
|
-
@blur="wasFocused = true; isFocused=false"
|
|
14
|
+
@blur="wasFocused = true; isFocused=false; input{{getRandom}}.length > 0 ? valid = true : valid = false; validateEmail()"
|
|
13
15
|
x-on:keyup ="input{{getRandom}}.length > 0 ? valid = true : valid = false; validateEmail()"
|
|
14
16
|
{{/if}}
|
|
15
17
|
type="{{#if _type}}{{_type}}{{/if}}"
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
<div class="relative flex flex-col w-full mb-5"
|
|
1
|
+
<div class="relative flex flex-col w-full mb-5"
|
|
2
|
+
x-data="{ textarea{{nextRandom}}: '{{#if _formField.isValid}}{{{_formField.forHtmlContent}}}{{else}}{{#if _value}}{{_value}}{{else}}{{_defaultValue}}{{/if}}{{/if}}' , valid: true, wasFocused: false, isFocused: false}"
|
|
3
|
+
:class="{'animate-shake': !valid && wasFocused && !isFocused }">
|
|
2
4
|
<div class="w-full h-4 bg-white"></div>
|
|
3
5
|
<textarea
|
|
4
6
|
x-model="textarea{{getRandom}}"
|
|
5
7
|
id="textarea{{getRandom}}"
|
|
6
8
|
{{#if _required}}
|
|
7
9
|
@focus="isFocused = true"
|
|
8
|
-
@blur="wasFocused = true; isFocused=false"
|
|
10
|
+
@blur="wasFocused = true; isFocused=false; textarea{{getRandom}}.length > 0 ? valid = true : valid = false"
|
|
9
11
|
x-on:keyup ="textarea{{getRandom}}.length > 0 ? valid = true : valid = false"
|
|
10
12
|
{{/if}}
|
|
11
13
|
value=""
|
|
@@ -6,11 +6,59 @@
|
|
|
6
6
|
{{this.title}}
|
|
7
7
|
</h3>
|
|
8
8
|
|
|
9
|
-
<form
|
|
9
|
+
<form x-data="contactForm()"
|
|
10
|
+
|
|
11
|
+
@submit.prevent="submitData"
|
|
12
|
+
x-ref="contactFormRef"
|
|
13
|
+
class="relative flex flex-col justify-center overflow-hidden group"
|
|
14
|
+
id="form--{{nextRandom}}"
|
|
15
|
+
action="{{this.url}}"
|
|
16
|
+
method="post"
|
|
17
|
+
enctype="{{if this.isMultipart 'multipart/form-data' 'application/x-www-form-urlencoded'}}"
|
|
18
|
+
accept-charset="utf-8" >
|
|
10
19
|
{{> components/forms/fields }}
|
|
11
20
|
|
|
12
21
|
{{> components/forms/controls }}
|
|
13
22
|
</form>
|
|
23
|
+
<script>
|
|
24
|
+
function contactForm() {
|
|
25
|
+
return {
|
|
26
|
+
formData: {
|
|
27
|
+
name: '',
|
|
28
|
+
email: '',
|
|
29
|
+
message: ''
|
|
30
|
+
},
|
|
31
|
+
clickHandler() {
|
|
32
|
+
console.log('check for Error ');
|
|
33
|
+
const form = this.$refs.contactFormRef;
|
|
34
|
+
const formData = new FormData(form);
|
|
35
|
+
const fields = Array.from(form.elements); // Array of all form fields
|
|
36
|
+
|
|
37
|
+
// Loop through each field, focus it, blur it, and serialize the data
|
|
38
|
+
fields.forEach((field) => {
|
|
39
|
+
if (field.type !== 'submit') { // Skip the submit button
|
|
40
|
+
field.focus(); // Focus the field
|
|
41
|
+
field.blur(); // Immediately unfocus (blur) the field
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if(form.reportValidity()){
|
|
45
|
+
this.submitData();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
},
|
|
49
|
+
submitData() {
|
|
50
|
+
const formData = new FormData(this.$refs.contactFormRef);
|
|
51
|
+
// Convert the FormData to a serialized string
|
|
52
|
+
const serializedData = Array.from(formData.entries())
|
|
53
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
54
|
+
.join('&');
|
|
55
|
+
|
|
56
|
+
// Log the serialized form data
|
|
57
|
+
console.log('DATA: ' + serializedData);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
</script>
|
|
14
62
|
{{/components/forms/backgroundBox }}
|
|
15
63
|
{{~else~}}
|
|
16
64
|
{{> content/webform/components/webform _addClass="print:hidden copytext__clearBox marginTrailer--m"}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="grid-cols-12 col-span-12 px-5 sm:px-0{{~inline-switch this.teasersize '["50"]' '[" md:col-span-6",""]'}}">
|
|
2
2
|
|
|
3
|
-
{{> components/
|
|
3
|
+
{{> components/external-service/external_service _isTeaser="true"}}
|
|
4
4
|
|
|
5
5
|
{{> components/teaser/components/teaser_featured_content _size=this.realTeaserSize}}
|
|
6
6
|
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
<div>
|
|
6
6
|
<p class="pt-4 text-base font-copy">
|
|
7
7
|
{{loca "ext_service_datapolicy_text" this.externalServiceConfig.externalServiceName}}
|
|
8
|
-
{{~> components/
|
|
8
|
+
{{~> components/external-service/components/data_policy_link ~}}
|
|
9
9
|
</p>
|
|
10
10
|
<div class="pt-4">
|
|
11
|
-
{{~> components/
|
|
11
|
+
{{~> components/external-service/components/external_service_form_checkbox ~}}
|
|
12
12
|
</div>
|
|
13
13
|
<div class="float-right pt-4">
|
|
14
14
|
{{#with this}}
|
|
15
15
|
<div class="inline-flex">
|
|
16
|
-
{{~> components/
|
|
16
|
+
{{~> components/external-service/components/external_service_settings_button _css="js-settings-inner-button"~}}
|
|
17
17
|
{{#*inline "htmlProperties"}}
|
|
18
18
|
data-piano-tracking='{"label":"DSGVO-Overlay"}'
|
|
19
19
|
data-a11y-dialog-show="datapolicy-settings-dialog"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</div>
|
|
22
22
|
{{/with}}
|
|
23
23
|
<div class="inline-flex">
|
|
24
|
-
{{~> components/
|
|
24
|
+
{{~> components/external-service/components/external_service_load_content_button ~}}
|
|
25
25
|
{{#*inline "htmlProperties"}}{{/inline}}
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{#if this.externalServiceConfig.makeConfigurable}}
|
|
2
2
|
<!-- Embedding via JS with DataPolicyCheck-->
|
|
3
|
-
{{> components/
|
|
3
|
+
{{> components/external-service/external_service_with_datapolicy_check _isTeaser=_isTeaser}}
|
|
4
4
|
|
|
5
5
|
{{else}}
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
data-hr-external-service-ds='{"id":"{{this.externalServiceConfig.externalServiceId}}","embedCode":"{{this.serviceUrl}}","embedType": "{{this.externalServiceConfig.externalServiceEmbedType}}","dataPolicyCheck": false,"whiteList": false,"iFrameConfig":{}}'>
|
|
21
21
|
</div>
|
|
22
22
|
{{/if}}
|
|
23
|
-
{{~> components/
|
|
23
|
+
{{~> components/external-service/components/external_service_caption ~}}
|
|
24
24
|
<span class="sr-only">{{loca "story_externalservice_outro_sr" }}</span>
|
|
25
25
|
</div>
|
|
26
26
|
{{/if}}
|
package/dist/views_static/components/external-service/external_service_with_datapolicy_check.hbs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="grid clear-both{{#unless _isTeaser}} mt-10{{/unless}}">
|
|
2
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_externalservice_intro_sr" ~}}
|
|
3
|
+
<div class="c-externalService c-externalService__{{this.externalServiceConfig.externalServiceId}}{{#unless
|
|
4
|
+
this.fixedHeight }} -noFixedHeight{{/unless}} js-load"
|
|
5
|
+
data-hr-external-service-ds='{"id":"{{this.externalServiceConfig.externalServiceId}}","embedCode":"{{this.serviceUrl}}","embedType":"{{this.externalServiceConfig.externalServiceEmbedType}}","dataPolicyCheck": true, "whiteList":{{this.externalServiceConfig.makeDatapolicyCheck}},"iFrameConfig": { {{~#if this.fixedHeight~}}
|
|
6
|
+
"fixedHeight":"{{this.fixedHeight}}"{{~else~}}{{~#if this.aspectRatio}}"aspectRatio":"{{this.aspectRatio}}"{{~else~}}"aspectRatio":"16x9"{{/if}}{{~/if}},"noResponsiveIframe":"{{{this.setResponsiveIframe}}}","webcomponent":"{{{this.setWebcomponent}}}"{{~#if this.setTimedReloadIframe}},"refreshContent":"{{{this.setTimedReloadIframe}}}","refreshIntervall":"{{this.setTimeForReload}}"{{~/if}} }}'>
|
|
7
|
+
{{~> components/external-service/components/external_service_data_policy ~}}
|
|
8
|
+
</div>
|
|
9
|
+
{{~> components/external-service/components/external_service_caption ~}}
|
|
10
|
+
{{~> components/base/a11y/hiddenText _locaTag="story_externalservice_outro_sr" ~}}
|
|
11
|
+
<div class="hidden js-content-settings-button">
|
|
12
|
+
<div class="float-right">
|
|
13
|
+
{{~> components/external-service/components/external_service_settings_button ~}}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
{{~#if (isStorybook)~}}
|
|
18
|
+
<div id="{{this.externalServiceConfig.externalServiceId}}" data-whitelist="{{this.externalServiceConfig.makeDatapolicyCheck}}"></div>
|
|
19
|
+
{{/if}}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="flex items-center">
|
|
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
|
{{> components/base/image/icon _icon="send-ds" _addClass="w-5 h-5 fill-white dark:fill-text-dark "}}
|
|
6
|
-
<input type="submit" class="pl-2 cursor-pointer" value="Absenden" />
|
|
6
|
+
<input type="submit" class="pl-2 cursor-pointer" value="Absenden" @click.prevent="clickHandler"/>
|
|
7
7
|
</label>
|
|
8
8
|
|
|
9
9
|
{{#> components/button/button _variant="tertiary"_size="lg" _css="order-1 mr-4" _type="reset"}}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
<div class="relative flex flex-col w-full mb-5 {{_wrapperClass}}"
|
|
1
|
+
<div class=" relative flex flex-col w-full mb-5 {{_wrapperClass}}"
|
|
2
|
+
:class="{'animate-shake': hideDescription() }"
|
|
2
3
|
ax-load
|
|
3
4
|
x-data="inputHandler('input{{nextRandom}}','{{_errorMandatory}}',{{#if _isEmail}}'email'{{else}}'{{_type}}'{{/if}},'{{_errorEmail}}','{{#if _formField.forHtmlAttribute}}{{_formField.forHtmlAttribute}}{{else}}{{#if _value}}{{_value}}{{else}}{{_defaultValue}}{{/if}}{{/if}}')"
|
|
4
5
|
x-ignore
|
|
@@ -7,9 +8,10 @@
|
|
|
7
8
|
:class="{'border-blue-500': hideError(),'border-red-700': hideDescription() }"
|
|
8
9
|
x-model="input{{getRandom}}"
|
|
9
10
|
id="input{{getRandom}}"
|
|
11
|
+
x-bind:data-is-valid="valid ? 'true' : 'false'"
|
|
10
12
|
{{#if _required}}
|
|
11
13
|
@focus="isFocused = true;"
|
|
12
|
-
@blur="wasFocused = true; isFocused=false"
|
|
14
|
+
@blur="wasFocused = true; isFocused=false; input{{getRandom}}.length > 0 ? valid = true : valid = false; validateEmail()"
|
|
13
15
|
x-on:keyup ="input{{getRandom}}.length > 0 ? valid = true : valid = false; validateEmail()"
|
|
14
16
|
{{/if}}
|
|
15
17
|
type="{{#if _type}}{{_type}}{{/if}}"
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
<div class="relative flex flex-col w-full mb-5"
|
|
1
|
+
<div class="relative flex flex-col w-full mb-5"
|
|
2
|
+
x-data="{ textarea{{nextRandom}}: '{{#if _formField.isValid}}{{{_formField.forHtmlContent}}}{{else}}{{#if _value}}{{_value}}{{else}}{{_defaultValue}}{{/if}}{{/if}}' , valid: true, wasFocused: false, isFocused: false}"
|
|
3
|
+
:class="{'animate-shake': !valid && wasFocused && !isFocused }">
|
|
2
4
|
<div class="w-full h-4 bg-white"></div>
|
|
3
5
|
<textarea
|
|
4
6
|
x-model="textarea{{getRandom}}"
|
|
5
7
|
id="textarea{{getRandom}}"
|
|
6
8
|
{{#if _required}}
|
|
7
9
|
@focus="isFocused = true"
|
|
8
|
-
@blur="wasFocused = true; isFocused=false"
|
|
10
|
+
@blur="wasFocused = true; isFocused=false; textarea{{getRandom}}.length > 0 ? valid = true : valid = false"
|
|
9
11
|
x-on:keyup ="textarea{{getRandom}}.length > 0 ? valid = true : valid = false"
|
|
10
12
|
{{/if}}
|
|
11
13
|
value=""
|
|
@@ -6,11 +6,59 @@
|
|
|
6
6
|
{{this.title}}
|
|
7
7
|
</h3>
|
|
8
8
|
|
|
9
|
-
<form
|
|
9
|
+
<form x-data="contactForm()"
|
|
10
|
+
|
|
11
|
+
@submit.prevent="submitData"
|
|
12
|
+
x-ref="contactFormRef"
|
|
13
|
+
class="relative flex flex-col justify-center overflow-hidden group"
|
|
14
|
+
id="form--{{nextRandom}}"
|
|
15
|
+
action="{{this.url}}"
|
|
16
|
+
method="post"
|
|
17
|
+
enctype="{{if this.isMultipart 'multipart/form-data' 'application/x-www-form-urlencoded'}}"
|
|
18
|
+
accept-charset="utf-8" >
|
|
10
19
|
{{> components/forms/fields }}
|
|
11
20
|
|
|
12
21
|
{{> components/forms/controls }}
|
|
13
22
|
</form>
|
|
23
|
+
<script>
|
|
24
|
+
function contactForm() {
|
|
25
|
+
return {
|
|
26
|
+
formData: {
|
|
27
|
+
name: '',
|
|
28
|
+
email: '',
|
|
29
|
+
message: ''
|
|
30
|
+
},
|
|
31
|
+
clickHandler() {
|
|
32
|
+
console.log('check for Error ');
|
|
33
|
+
const form = this.$refs.contactFormRef;
|
|
34
|
+
const formData = new FormData(form);
|
|
35
|
+
const fields = Array.from(form.elements); // Array of all form fields
|
|
36
|
+
|
|
37
|
+
// Loop through each field, focus it, blur it, and serialize the data
|
|
38
|
+
fields.forEach((field) => {
|
|
39
|
+
if (field.type !== 'submit') { // Skip the submit button
|
|
40
|
+
field.focus(); // Focus the field
|
|
41
|
+
field.blur(); // Immediately unfocus (blur) the field
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if(form.reportValidity()){
|
|
45
|
+
this.submitData();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
},
|
|
49
|
+
submitData() {
|
|
50
|
+
const formData = new FormData(this.$refs.contactFormRef);
|
|
51
|
+
// Convert the FormData to a serialized string
|
|
52
|
+
const serializedData = Array.from(formData.entries())
|
|
53
|
+
.map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
54
|
+
.join('&');
|
|
55
|
+
|
|
56
|
+
// Log the serialized form data
|
|
57
|
+
console.log('DATA: ' + serializedData);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
</script>
|
|
14
62
|
{{/components/forms/backgroundBox }}
|
|
15
63
|
{{~else~}}
|
|
16
64
|
{{> content/webform/components/webform _addClass="print:hidden copytext__clearBox marginTrailer--m"}}
|