hr-design-system-handlebars 1.114.5 → 1.114.7

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/assets/index.css +3 -3
  3. package/dist/assets/js/components/voting/js/votingDs.feature.js +6 -6
  4. package/dist/views/components/voting/voting.hbs +18 -16
  5. package/dist/views/components/voting/voting_result.hbs +17 -18
  6. package/dist/views/components/voting/voting_result_2F.hbs +1 -1
  7. package/dist/views_static/components/voting/voting.hbs +18 -16
  8. package/dist/views_static/components/voting/voting_result.hbs +17 -18
  9. package/dist/views_static/components/voting/voting_result_2F.hbs +1 -1
  10. package/package.json +1 -1
  11. package/src/assets/fixtures/voting/voting_email.json +4 -44
  12. package/src/stories/views/components/voting/fixtures/voting_email.json +1 -1
  13. package/src/stories/views/components/voting/js/votingDs.feature.js +6 -6
  14. package/src/stories/views/components/voting/voting.hbs +18 -16
  15. package/src/stories/views/components/voting/voting.stories.js +2 -2
  16. package/src/stories/views/components/voting/voting_result.hbs +17 -18
  17. package/src/stories/views/components/voting/{voting_success.stories.js → voting_result.stories.js} +8 -2
  18. package/src/stories/views/components/voting/voting_result_2F.hbs +1 -1
  19. package/dist/views/components/voting/voting_error.hbs +0 -10
  20. package/dist/views/components/voting/voting_success.hbs +0 -27
  21. package/dist/views/components/voting/voting_success_2F.hbs +0 -7
  22. package/dist/views_static/components/voting/voting_error.hbs +0 -10
  23. package/dist/views_static/components/voting/voting_success.hbs +0 -27
  24. package/dist/views_static/components/voting/voting_success_2F.hbs +0 -7
  25. package/src/stories/views/components/voting/js/voteValidatorDs.js +0 -195
  26. package/src/stories/views/components/voting/js/votingCookieCheckerDs.js +0 -31
  27. package/src/stories/views/components/voting/js/votingDs.js +0 -198
  28. package/src/stories/views/components/voting/voting_error.hbs +0 -10
  29. package/src/stories/views/components/voting/voting_error.stories.js +0 -35
  30. package/src/stories/views/components/voting/voting_success.hbs +0 -27
  31. package/src/stories/views/components/voting/voting_success_2F.hbs +0 -7
  32. package/src/stories/views/components/voting/voting_success_2F.stories.js +0 -35
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v1.114.7 (Tue Nov 12 2024)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - fix voting-js error [#1155](https://github.com/mumprod/hr-design-system-handlebars/pull/1155) ([@hanswurstsalat](https://github.com/hanswurstsalat))
6
+
7
+ #### Authors: 1
8
+
9
+ - Geraldo ([@hanswurstsalat](https://github.com/hanswurstsalat))
10
+
11
+ ---
12
+
13
+ # v1.114.6 (Mon Nov 11 2024)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - Dpe 1781 2 [#1154](https://github.com/mumprod/hr-design-system-handlebars/pull/1154) ([@hanswurstsalat](https://github.com/hanswurstsalat))
18
+
19
+ #### Authors: 1
20
+
21
+ - Geraldo ([@hanswurstsalat](https://github.com/hanswurstsalat))
22
+
23
+ ---
24
+
1
25
  # v1.114.5 (Fri Nov 08 2024)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -3687,7 +3687,7 @@ article.indexTextDS .indexTextHighlighted .link {
3687
3687
  border-bottom-color: var(--color-secondary-ds);
3688
3688
  }
3689
3689
  .counter-reset {
3690
- counter-reset: cnt1731098508753;
3690
+ counter-reset: cnt1731407006715;
3691
3691
  }
3692
3692
  .placeholder-text-xs::-webkit-input-placeholder {
3693
3693
  font-size: 0.75rem;
@@ -4101,7 +4101,7 @@ article.indexTextDS .indexTextHighlighted .link {
4101
4101
  --tw-ring-color: rgba(255, 255, 255, 0.5);
4102
4102
  }
4103
4103
  .-ordered {
4104
- counter-increment: cnt1731098508753 1;
4104
+ counter-increment: cnt1731407006715 1;
4105
4105
  }
4106
4106
  .-ordered::before {
4107
4107
  position: absolute;
@@ -4119,7 +4119,7 @@ article.indexTextDS .indexTextHighlighted .link {
4119
4119
  --tw-text-opacity: 1;
4120
4120
  color: rgba(0, 0, 0, 1);
4121
4121
  color: rgba(0, 0, 0, var(--tw-text-opacity));
4122
- content: counter(cnt1731098508753);
4122
+ content: counter(cnt1731407006715);
4123
4123
  }
4124
4124
  /*! ****************************/
4125
4125
  /*! DataPolicy stuff */
@@ -70,7 +70,7 @@ const Voting = (context) => {
70
70
  replaceAnimated(
71
71
  votingWrapper,
72
72
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
73
- true,
73
+ false,
74
74
  scrollIntoVoting
75
75
  )
76
76
  break
@@ -78,7 +78,7 @@ const Voting = (context) => {
78
78
  replaceAnimated(
79
79
  votingWrapper,
80
80
  hr$('.js-successMessage', rootElement)[0].innerHTML,
81
- true,
81
+ false,
82
82
  scrollIntoVoting
83
83
  )
84
84
  break
@@ -86,13 +86,13 @@ const Voting = (context) => {
86
86
  replaceAnimated(
87
87
  votingWrapper,
88
88
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
89
- true,
89
+ false,
90
90
  scrollIntoVoting
91
91
  )
92
92
  break
93
93
  }
94
94
  } else {
95
- replaceAnimated(votingWrapper, data, true, scrollIntoVoting)
95
+ replaceAnimated(votingWrapper, data, false, scrollIntoVoting)
96
96
  }
97
97
  })
98
98
 
@@ -103,7 +103,7 @@ const Voting = (context) => {
103
103
  replaceAnimated(
104
104
  votingWrapper,
105
105
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
106
- true,
106
+ false,
107
107
  scrollIntoVoting
108
108
  )
109
109
  })
@@ -151,7 +151,7 @@ const Voting = (context) => {
151
151
 
152
152
  const handleFormReload = function (event) {
153
153
  event.preventDefault()
154
- replaceAnimated(votingWrapper, votingTmpl, true, scrollIntoVoting)
154
+ replaceAnimated(votingWrapper, votingTmpl, false, scrollIntoVoting)
155
155
  }
156
156
 
157
157
  const handleKeydown = function (event) {
@@ -58,30 +58,32 @@
58
58
  </div>
59
59
  <script type="text/html" class="js-successMessage">
60
60
  {{#if this.is2FSecured}}
61
- {{{include "components/voting/voting_success_2F" _isInline=true _statusDone=true _title=../this.title _topline=../this.topline}}}
61
+ {{> components/voting/voting_result_2F ../this
62
+ _isInline=true _statusDone=true
63
+ _resultBoxMessageTitle=(loca "votingform2F_title_success")
64
+ _resultBoxMessageText=(loca "votingform2F_text_success")
65
+ }}
62
66
  {{else}}
63
- {{{include "components/voting/voting_success" _isInline=true _voteResults=../this.votingResult _statusDone=true _title=../this.title _topline=../this.topline}}}
67
+ {{> components/voting/voting_result ../this
68
+ _isInline=true
69
+ _statusDone=true
70
+ _hideVotingResult=this.hideVotingResult
71
+ _resultBoxMessageTitle=(loca "votingform_title_success")
72
+ _resultBoxMessageText=../this.votingSuccessText.richtext
73
+ }}
64
74
  {{/if}}
65
75
  </script>
66
- <script type="text/html" class="js-errorMessage">
67
- {{#if this.is2FSecured}}
68
- {{{include "components/voting/voting_error" _isInline=true _statusDone=error _title=../this.title _topline=../this.topline}}}
69
- {{else}}
70
- {{{include "components/voting/voting_error" _isInline=true _statusDone=false _title=../this.title _topline=../this.topline}}}
71
- {{/if}}
76
+ <script type="text/html" class="js-errorMessage">
77
+ {{> components/voting/voting_result ../this _isInline=true _statusDone=false _hideVotingResult=true _showBackButton=true _resultBoxMessageTitle=(loca "votingform_title_error") _resultBoxMessageText=(loca "votingform_text_error")}}
72
78
  </script>
73
79
  {{#unless this.hideVotingResult}}
74
80
  <script type="text/html" class="js-result">
75
81
  {{#unless this.is2FSecured}}
76
- {{> components/voting/voting_result
77
- _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
78
- _voteResults=../this.votingResult
79
- _isResultOnRedirectPage=_isResultOnRedirectPage
80
- _isSimpleSecured=../this.isSimpleSecured
82
+ {{> components/voting/voting_result ../this
83
+ _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
81
84
  _statusDone=true
82
85
  _addClass=../_addClass
83
- _hideVotingResult=this.hideVotingResult
84
- _isVotingOver=this.isVotingOver
86
+ _hideVotingResult=this.hideVotingResult
85
87
  }}
86
88
  {{/unless}}
87
89
  </script>
@@ -90,7 +92,7 @@
90
92
  </div>
91
93
  </div>
92
94
  {{else}}
93
- {{> components/voting/voting_result _isVotingOver=true _title=../this.title _topline=../this.topline}}
95
+ {{> components/voting/voting_result ../this _hideVotingResult=this.hideVotingResult}}
94
96
  {{/unless}}
95
97
  {{/with}}
96
98
  {{/components/forms/components/backgroundBox }}
@@ -1,26 +1,27 @@
1
1
  <div class="{{#if this.isSimpleSecured}}js-load{{/if}}{{#if _addClass}} {{_addClass}}{{/if}}"
2
- {{#unless _isVotingOver}}
2
+ {{#unless this.form.isVotingOver}}
3
3
  {{#if this.isSimpleSecured}}
4
4
  data-hr-voting-result-cookie-ds='{"cookieLifetime":"{{this.cookieLifetime}}","votingId":"{{this.sophoraId}}"}'
5
5
  {{/if}}
6
6
  {{/unless}}
7
7
  >
8
8
 
9
- {{#unless _isResultOnRedirectPage}}
10
- {{> components/voting/components/voting_header _title=_title _topline=_topline}}
9
+ {{#unless this.hasRedirect}}
10
+ {{> components/voting/components/voting_header _title=this.title _topline=this.topline}}
11
11
  {{/unless}}
12
12
 
13
13
  {{#if _hideVotingResult}}
14
- {{#if _isVotingOver}}
15
- <p class="mt-6 ml-8 text-base font-bold sm:ml-9 sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
14
+ {{#if this.form.isVotingOver}}
15
+ <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12">{{loca "votingform_voting_finished"}}</p>
16
16
  {{else}}
17
17
  {{~> components/base/image/icon _icon=(if _statusDone "status-done" "status-error") _iconmap="icons" _addClass=(if _statusDone "float-left w-6 h-6 text-success dark:text-success-dark fill-current mt-6 sm:mt-12" "float-left w-6 h-6 text-error dark:text-error-dark fill-current mt-6 sm:mt-12")}}
18
18
  <p class="{{#if _statusDone}}text-success dark:text-success-dark{{else}}text-error dark:text-error-dark{{/if}} mt-6 ml-8 text-base font-bold sm:ml-9 sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
19
19
  {{/if}}
20
20
  {{else}}
21
- <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
22
21
 
23
- {{#each _voteResults}}
22
+ <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12 dark:text-text-dark">{{#if this.form.isVotingOver}}{{loca "votingform_voting_finished"}}{{else}}{{{_resultBoxMessageText}}}{{/if}}</p>
23
+
24
+ {{#each this.votingResult}}
24
25
  <div class="flex">
25
26
  <div class="grow">
26
27
  <div class="{{#if @first}}mt-7 sm:mt-9{{else}}mt-3 sm:mt-4{{/if}} text-base sm:text-lg font-copy dark:text-text-dark">{{this.label}}</div>
@@ -53,18 +54,16 @@
53
54
  {{/if}}
54
55
  {{/if}}
55
56
 
56
- {{#if _isVotingOver}}
57
- <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12 dark:text-text-dark">{{loca "votingform_voting_finished"}}</p>
58
- {{/if}}
59
-
60
- {{#unless _isResultOnRedirectPage}}
57
+ {{#unless this.hasRedirect}}
61
58
  {{#unless this.isSimpleSecured}}
62
- {{#unless _isVotingOver}}
63
- <div class="mt-6 sm:mt-12">
64
- {{#> components/button/link_button _size="lg" _css="float-right"}}
65
- {{> components/button/components/button_label _label=(loca "votingform_form_back")}}
66
- {{/components/button/link_button}}
67
- </div>
59
+ {{#unless this.form.isVotingOver}}
60
+ {{#if _showBackButton}}
61
+ <div class="mt-6 sm:mt-12">
62
+ {{#> components/button/link_button _size="lg" _css="float-right"}}
63
+ {{> components/button/components/button_label _label=(loca "votingform_form_back")}}
64
+ {{/components/button/link_button}}
65
+ </div>
66
+ {{/if}}
68
67
  {{/unless}}
69
68
  {{/unless}}
70
69
  {{/unless}}
@@ -1,4 +1,4 @@
1
- {{> components/voting/components/voting_header _title=_title _topline=_topline}}
1
+ {{> components/voting/components/voting_header _title=this.title _topline=this.topline}}
2
2
 
3
3
  {{~> components/base/image/icon _icon="status-done" _iconmap="icons" _addClass="float-left w-6 h-6 text-success fill-current mt-6 sm:mt-12"}}
4
4
  <p class="mt-6 ml-8 text-base font-bold sm:ml-9 text-success sm:text-lg font-heading sm:mt-12">{{{_resultBoxMessageTitle}}}<br/>{{{_resultBoxMessageText}}}</p>
@@ -58,30 +58,32 @@
58
58
  </div>
59
59
  <script type="text/html" class="js-successMessage">
60
60
  {{#if this.is2FSecured}}
61
- {{{include "components/voting/voting_success_2F" _isInline=true _statusDone=true _title=../this.title _topline=../this.topline}}}
61
+ {{> components/voting/voting_result_2F ../this
62
+ _isInline=true _statusDone=true
63
+ _resultBoxMessageTitle=(loca "votingform2F_title_success")
64
+ _resultBoxMessageText=(loca "votingform2F_text_success")
65
+ }}
62
66
  {{else}}
63
- {{{include "components/voting/voting_success" _isInline=true _voteResults=../this.votingResult _statusDone=true _title=../this.title _topline=../this.topline}}}
67
+ {{> components/voting/voting_result ../this
68
+ _isInline=true
69
+ _statusDone=true
70
+ _hideVotingResult=this.hideVotingResult
71
+ _resultBoxMessageTitle=(loca "votingform_title_success")
72
+ _resultBoxMessageText=../this.votingSuccessText.richtext
73
+ }}
64
74
  {{/if}}
65
75
  </script>
66
- <script type="text/html" class="js-errorMessage">
67
- {{#if this.is2FSecured}}
68
- {{{include "components/voting/voting_error" _isInline=true _statusDone=error _title=../this.title _topline=../this.topline}}}
69
- {{else}}
70
- {{{include "components/voting/voting_error" _isInline=true _statusDone=false _title=../this.title _topline=../this.topline}}}
71
- {{/if}}
76
+ <script type="text/html" class="js-errorMessage">
77
+ {{> components/voting/voting_result ../this _isInline=true _statusDone=false _hideVotingResult=true _showBackButton=true _resultBoxMessageTitle=(loca "votingform_title_error") _resultBoxMessageText=(loca "votingform_text_error")}}
72
78
  </script>
73
79
  {{#unless this.hideVotingResult}}
74
80
  <script type="text/html" class="js-result">
75
81
  {{#unless this.is2FSecured}}
76
- {{> components/voting/voting_result
77
- _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
78
- _voteResults=../this.votingResult
79
- _isResultOnRedirectPage=_isResultOnRedirectPage
80
- _isSimpleSecured=../this.isSimpleSecured
82
+ {{> components/voting/voting_result ../this
83
+ _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
81
84
  _statusDone=true
82
85
  _addClass=../_addClass
83
- _hideVotingResult=this.hideVotingResult
84
- _isVotingOver=this.isVotingOver
86
+ _hideVotingResult=this.hideVotingResult
85
87
  }}
86
88
  {{/unless}}
87
89
  </script>
@@ -90,7 +92,7 @@
90
92
  </div>
91
93
  </div>
92
94
  {{else}}
93
- {{> components/voting/voting_result _isVotingOver=true _title=../this.title _topline=../this.topline}}
95
+ {{> components/voting/voting_result ../this _hideVotingResult=this.hideVotingResult}}
94
96
  {{/unless}}
95
97
  {{/with}}
96
98
  {{/components/forms/components/backgroundBox }}
@@ -1,26 +1,27 @@
1
1
  <div class="{{#if this.isSimpleSecured}}js-load{{/if}}{{#if _addClass}} {{_addClass}}{{/if}}"
2
- {{#unless _isVotingOver}}
2
+ {{#unless this.form.isVotingOver}}
3
3
  {{#if this.isSimpleSecured}}
4
4
  data-hr-voting-result-cookie-ds='{"cookieLifetime":"{{this.cookieLifetime}}","votingId":"{{this.sophoraId}}"}'
5
5
  {{/if}}
6
6
  {{/unless}}
7
7
  >
8
8
 
9
- {{#unless _isResultOnRedirectPage}}
10
- {{> components/voting/components/voting_header _title=_title _topline=_topline}}
9
+ {{#unless this.hasRedirect}}
10
+ {{> components/voting/components/voting_header _title=this.title _topline=this.topline}}
11
11
  {{/unless}}
12
12
 
13
13
  {{#if _hideVotingResult}}
14
- {{#if _isVotingOver}}
15
- <p class="mt-6 ml-8 text-base font-bold sm:ml-9 sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
14
+ {{#if this.form.isVotingOver}}
15
+ <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12">{{loca "votingform_voting_finished"}}</p>
16
16
  {{else}}
17
17
  {{~> components/base/image/icon _icon=(if _statusDone "status-done" "status-error") _iconmap="icons" _addClass=(if _statusDone "float-left w-6 h-6 text-success dark:text-success-dark fill-current mt-6 sm:mt-12" "float-left w-6 h-6 text-error dark:text-error-dark fill-current mt-6 sm:mt-12")}}
18
18
  <p class="{{#if _statusDone}}text-success dark:text-success-dark{{else}}text-error dark:text-error-dark{{/if}} mt-6 ml-8 text-base font-bold sm:ml-9 sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
19
19
  {{/if}}
20
20
  {{else}}
21
- <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12">{{{_resultBoxMessageText}}}</p>
22
21
 
23
- {{#each _voteResults}}
22
+ <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12 dark:text-text-dark">{{#if this.form.isVotingOver}}{{loca "votingform_voting_finished"}}{{else}}{{{_resultBoxMessageText}}}{{/if}}</p>
23
+
24
+ {{#each this.votingResult}}
24
25
  <div class="flex">
25
26
  <div class="grow">
26
27
  <div class="{{#if @first}}mt-7 sm:mt-9{{else}}mt-3 sm:mt-4{{/if}} text-base sm:text-lg font-copy dark:text-text-dark">{{this.label}}</div>
@@ -53,18 +54,16 @@
53
54
  {{/if}}
54
55
  {{/if}}
55
56
 
56
- {{#if _isVotingOver}}
57
- <p class="mt-6 text-base font-bold sm:text-xl font-heading sm:mt-12 dark:text-text-dark">{{loca "votingform_voting_finished"}}</p>
58
- {{/if}}
59
-
60
- {{#unless _isResultOnRedirectPage}}
57
+ {{#unless this.hasRedirect}}
61
58
  {{#unless this.isSimpleSecured}}
62
- {{#unless _isVotingOver}}
63
- <div class="mt-6 sm:mt-12">
64
- {{#> components/button/link_button _size="lg" _css="float-right"}}
65
- {{> components/button/components/button_label _label=(loca "votingform_form_back")}}
66
- {{/components/button/link_button}}
67
- </div>
59
+ {{#unless this.form.isVotingOver}}
60
+ {{#if _showBackButton}}
61
+ <div class="mt-6 sm:mt-12">
62
+ {{#> components/button/link_button _size="lg" _css="float-right"}}
63
+ {{> components/button/components/button_label _label=(loca "votingform_form_back")}}
64
+ {{/components/button/link_button}}
65
+ </div>
66
+ {{/if}}
68
67
  {{/unless}}
69
68
  {{/unless}}
70
69
  {{/unless}}
@@ -1,4 +1,4 @@
1
- {{> components/voting/components/voting_header _title=_title _topline=_topline}}
1
+ {{> components/voting/components/voting_header _title=this.title _topline=this.topline}}
2
2
 
3
3
  {{~> components/base/image/icon _icon="status-done" _iconmap="icons" _addClass="float-left w-6 h-6 text-success fill-current mt-6 sm:mt-12"}}
4
4
  <p class="mt-6 ml-8 text-base font-bold sm:ml-9 text-success sm:text-lg font-heading sm:mt-12">{{{_resultBoxMessageTitle}}}<br/>{{{_resultBoxMessageText}}}</p>
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "repository": "https://github.com/szuelch/hr-design-system-handlebars",
9
- "version": "1.114.5",
9
+ "version": "1.114.7",
10
10
  "scripts": {
11
11
  "test": "echo \"Error: no test specified\" && exit 1",
12
12
  "storybook": "storybook dev -p 6006 public",
@@ -22,62 +22,22 @@
22
22
  {
23
23
  "value": "1",
24
24
  "label": "Gut, beste website ever",
25
- "title": "Voting-Answer 1",
26
- "mediaItem": {
27
- "@->jsoninclude": "teaser/teaser_images.inc.json",
28
- "@->contentpath": "copytext_image_50",
29
- "@->replaceToken": [
30
- {
31
- "@->token": "image",
32
- "@->value": "rueckkehr-nach-abschiebung-102"
33
- }
34
- ]
35
- }
25
+ "title": "Voting-Answer 1"
36
26
  },
37
27
  {
38
28
  "value": "2",
39
29
  "label": "Super, allerbeste website ever",
40
- "title": "Voting-Answer 2",
41
- "mediaItem": {
42
- "@->jsoninclude": "teaser/teaser_images.inc.json",
43
- "@->contentpath": "copytext_image_50",
44
- "@->replaceToken": [
45
- {
46
- "@->token": "image",
47
- "@->value": "buchmesse-fahnen-102"
48
- }
49
- ]
50
- }
30
+ "title": "Voting-Answer 2"
51
31
  },
52
32
  {
53
33
  "value": "3",
54
34
  "label": "Mega, allerallerbeste website ever",
55
- "title": "Voting-Answer 3",
56
- "mediaItem": {
57
- "@->jsoninclude": "teaser/teaser_images.inc.json",
58
- "@->contentpath": "copytext_image_50",
59
- "@->replaceToken": [
60
- {
61
- "@->token": "image",
62
- "@->value": "lehrerin-ukraine-104"
63
- }
64
- ]
65
- }
35
+ "title": "Voting-Answer 3"
66
36
  },
67
37
  {
68
38
  "value": "4",
69
39
  "label": "Hammer, allerallerbesteste website ever",
70
- "title": "Voting-Answer 4",
71
- "mediaItem": {
72
- "@->jsoninclude": "teaser/teaser_images.inc.json",
73
- "@->contentpath": "copytext_image_50",
74
- "@->replaceToken": [
75
- {
76
- "@->token": "image",
77
- "@->value": "connichi-106"
78
- }
79
- ]
80
- }
40
+ "title": "Voting-Answer 4"
81
41
  }
82
42
  ]
83
43
  },
@@ -1 +1 @@
1
- {"teasersize":100,"realTeasersize":100,"topline":"Voting-Topline","toplineSize":"h3","title":"Wie finden Sie hessenschau.de?","backlink":"backlink-url","uuid":"UUID","headingSize":"h2","isVoting":true,"isMultiVote":true,"hasRedirect":false,"isMultipleChoice":false,"maxAnswerCount":1,"votingSuccessText":{"richtext":"Danke für Ihre Abstimmung!"},"isSimpleSecured":false,"cookieLifetime":"12","sophoraId":"Sophora-Id","hasBarchart":true,"showAbsoluteResult":false,"showVoteResult":true,"summarizedResult":"666","votingResult":[{"label":"Gut, beste website ever","count":"27","percentageCount":"4,1","roundedPercentageCount":"4.0"},{"label":"Super, allerbeste website ever","count":"117","percentageCount":"17,6","roundedPercentageCount":"18.0"},{"label":"Mega, allerallerbeste website ever","count":"242","percentageCount":"36,3","roundedPercentageCount":"36.0"},{"label":"Hammer, allerallerbesteste website ever","count":"280","percentageCount":"42,0","roundedPercentageCount":"42.0","isWinner":true}],"form":{"shorttext":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.","isVotingOver":false,"is2FSecured":true,"jsonUrl":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","errorMessages":"{\"form_error_required\":\"Pflichtfeld\",\"form_error_max\":\"Zu viele Zeichen\",\"form_error_validurl\":\"Ungültige URL\",\"form_error_empty\":\"Darf nicht ausgefüllt werden\",\"form_error_constants_or_null\":\"Ungültiger Wert\",\"form_error_constants\":\"Ungültiger Wert\",\"form_error_max_multivalue\":\"Die maximale Anzahl an Antwortmöglichkeiten wurde überschritten\",\"vote_error_identity_already_used\":\"Unter dieser E-Mail-Adresse wurde bereits abgestimmt. Eine weitere Abstimmung ist nicht möglich.\",\"vote_error_token_request_count_exceeded\":\"Die maximale Anzahl an Bestätigungs-E-Mails wurde bereits verschickt.\",\"form_error_email\":\"Ungültige E-Mail-Adresse\"}","isSimpleSecured":false,"url":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","isHorizontalLayout":false,"hideVotingResult":false,"sophoraId":"Sophora-Id","fields":[{"type":{"isGroup":false,"isChoice":true,"asString":"radio"},"name":"multivoting","isGrouped":true,"isRequired":false,"options":[{"value":"1","label":"Gut, beste website ever","title":"Voting-Answer 1","mediaItem":{"isImage":true,"showFullSize":{"isTrue":false},"showPortrait":{"isTrue":false},"caption":"Zum Glück ragt Hessens höchster Berg, die Wasserkuppe, gelegentlich aus der derzeitigen Nebelsuppe heraus, und so gelang mit dem Sternenteleskop ein Blick auf den magischen Rosetten-Nebel, einer Himmelsregion, in der gerade neue Sterne geboren werden. - Diese spektakuläre Momentaufnahme hat uns hessenschau.de-Nutzer Michael Keusgen zukommen lassen","copyrightWithLinks":"Karsten Hufer","imageJson":"Beispiel JSON","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/rueckkehr-nach-abschiebung-102_v-16to9__medium.jpg","sources":[{"sizes":"(min-width: 1024px) 960px, (min-width: 640px) calc(100vw - 4rem), 100vw","srcset":"images/rueckkehr-nach-abschiebung-102_v-16to9__small.jpg 320w, images/rueckkehr-nach-abschiebung-102_v-16to9__medium.jpg 480w, images/rueckkehr-nach-abschiebung-102_v-16to9__medium__extended.jpg 640w, images/rueckkehr-nach-abschiebung-102_v-16to9.jpg 960w, images/rueckkehr-nach-abschiebung-102_v-16to9__retina.jpg 1920w"}]}}},{"value":"2","label":"Super, allerbeste website ever","title":"Voting-Answer 2","mediaItem":{"isImage":true,"showFullSize":{"isTrue":false},"showPortrait":{"isTrue":false},"caption":"Zum Glück ragt Hessens höchster Berg, die Wasserkuppe, gelegentlich aus der derzeitigen Nebelsuppe heraus, und so gelang mit dem Sternenteleskop ein Blick auf den magischen Rosetten-Nebel, einer Himmelsregion, in der gerade neue Sterne geboren werden. - Diese spektakuläre Momentaufnahme hat uns hessenschau.de-Nutzer Michael Keusgen zukommen lassen","copyrightWithLinks":"Karsten Hufer","imageJson":"Beispiel JSON","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/buchmesse-fahnen-102_v-16to9__medium.jpg","sources":[{"sizes":"(min-width: 1024px) 960px, (min-width: 640px) calc(100vw - 4rem), 100vw","srcset":"images/buchmesse-fahnen-102_v-16to9__small.jpg 320w, images/buchmesse-fahnen-102_v-16to9__medium.jpg 480w, images/buchmesse-fahnen-102_v-16to9__medium__extended.jpg 640w, images/buchmesse-fahnen-102_v-16to9.jpg 960w, images/buchmesse-fahnen-102_v-16to9__retina.jpg 1920w"}]}}},{"value":"3","label":"Mega, allerallerbeste website ever","title":"Voting-Answer 3","mediaItem":{"isImage":true,"showFullSize":{"isTrue":false},"showPortrait":{"isTrue":false},"caption":"Zum Glück ragt Hessens höchster Berg, die Wasserkuppe, gelegentlich aus der derzeitigen Nebelsuppe heraus, und so gelang mit dem Sternenteleskop ein Blick auf den magischen Rosetten-Nebel, einer Himmelsregion, in der gerade neue Sterne geboren werden. - Diese spektakuläre Momentaufnahme hat uns hessenschau.de-Nutzer Michael Keusgen zukommen lassen","copyrightWithLinks":"Karsten Hufer","imageJson":"Beispiel JSON","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/lehrerin-ukraine-104_v-16to9__medium.jpg","sources":[{"sizes":"(min-width: 1024px) 960px, (min-width: 640px) calc(100vw - 4rem), 100vw","srcset":"images/lehrerin-ukraine-104_v-16to9__small.jpg 320w, images/lehrerin-ukraine-104_v-16to9__medium.jpg 480w, images/lehrerin-ukraine-104_v-16to9__medium__extended.jpg 640w, images/lehrerin-ukraine-104_v-16to9.jpg 960w, images/lehrerin-ukraine-104_v-16to9__retina.jpg 1920w"}]}}},{"value":"4","label":"Hammer, allerallerbesteste website ever","title":"Voting-Answer 4","mediaItem":{"isImage":true,"showFullSize":{"isTrue":false},"showPortrait":{"isTrue":false},"caption":"Zum Glück ragt Hessens höchster Berg, die Wasserkuppe, gelegentlich aus der derzeitigen Nebelsuppe heraus, und so gelang mit dem Sternenteleskop ein Blick auf den magischen Rosetten-Nebel, einer Himmelsregion, in der gerade neue Sterne geboren werden. - Diese spektakuläre Momentaufnahme hat uns hessenschau.de-Nutzer Michael Keusgen zukommen lassen","copyrightWithLinks":"Karsten Hufer","imageJson":"Beispiel JSON","responsiveImage":{"asPicture":false,"asImage":true,"fallback":"images/connichi-106_v-16to9__medium.jpg","sources":[{"sizes":"(min-width: 1024px) 960px, (min-width: 640px) calc(100vw - 4rem), 100vw","srcset":"images/connichi-106_v-16to9__small.jpg 320w, images/connichi-106_v-16to9__medium.jpg 480w, images/connichi-106_v-16to9__medium__extended.jpg 640w, images/connichi-106_v-16to9.jpg 960w, images/connichi-106_v-16to9__retina.jpg 1920w"}]}}}]},{"type":{"isText":true,"isEmail":true,"asString":"email"},"name":"email","label":"Email","description":"","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"link whitespace-nowrap\" target=\"_blank\"><span class=\"text-link dark:text-link-dark ds-link hover:underline\">Datenschutzerklärung<svg class=\"sb-icon inline -mt-0.5 w-5 h-5 text-link dark:text-link-dark fill-current ml-1 \" viewBox=\"0 0 30.4 28.1\" preserveAspectRatio=\"xMidYMid meet\" role=\"presentation\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M21.6 14.8v4.6c0 .5-.4 1-1 1H7.3c-.5 0-1-.4-1-1l-.1-8.9c0-.5.4-1 1-1h9.6l.1-2H5.8c-.8 0-1.5.7-1.5 1.5v11.9c0 .8.7 1.5 1.5 1.5h16.4c.8 0 1.5-.7 1.5-1.5v-6.1h-2.1z\"/><path d=\"M17.7 6.3c0 .6.4 1 1 1h3.5c.2 0 .3 0 .5.1l-6.1 5.9c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l6-5.8c.1.2.1.4.1.6V13c0 .6.4 1 1 1h.1c.6 0 1-.4 1-1l.1-4.5c0-1.7-1.3-3-3-3l-4.5-.1c-.7-.1-1.1.4-1.1.9z\"/></svg></a> des hr zu.","isMeta":false,"description":"","isRequired":true}]}}
1
+ {"teasersize":100,"realTeasersize":100,"topline":"Voting-Topline","toplineSize":"h3","title":"Wie finden Sie hessenschau.de?","backlink":"backlink-url","uuid":"UUID","headingSize":"h2","isVoting":true,"isMultiVote":true,"hasRedirect":false,"isMultipleChoice":false,"maxAnswerCount":1,"votingSuccessText":{"richtext":"Danke für Ihre Abstimmung!"},"isSimpleSecured":false,"cookieLifetime":"12","sophoraId":"Sophora-Id","hasBarchart":true,"showAbsoluteResult":false,"showVoteResult":true,"summarizedResult":"666","votingResult":[{"label":"Gut, beste website ever","count":"27","percentageCount":"4,1","roundedPercentageCount":"4.0"},{"label":"Super, allerbeste website ever","count":"117","percentageCount":"17,6","roundedPercentageCount":"18.0"},{"label":"Mega, allerallerbeste website ever","count":"242","percentageCount":"36,3","roundedPercentageCount":"36.0"},{"label":"Hammer, allerallerbesteste website ever","count":"280","percentageCount":"42,0","roundedPercentageCount":"42.0","isWinner":true}],"form":{"shorttext":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.","isVotingOver":false,"is2FSecured":true,"jsonUrl":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","errorMessages":"{\"form_error_required\":\"Pflichtfeld\",\"form_error_max\":\"Zu viele Zeichen\",\"form_error_validurl\":\"Ungültige URL\",\"form_error_empty\":\"Darf nicht ausgefüllt werden\",\"form_error_constants_or_null\":\"Ungültiger Wert\",\"form_error_constants\":\"Ungültiger Wert\",\"form_error_max_multivalue\":\"Die maximale Anzahl an Antwortmöglichkeiten wurde überschritten\",\"vote_error_identity_already_used\":\"Unter dieser E-Mail-Adresse wurde bereits abgestimmt. Eine weitere Abstimmung ist nicht möglich.\",\"vote_error_token_request_count_exceeded\":\"Die maximale Anzahl an Bestätigungs-E-Mails wurde bereits verschickt.\",\"form_error_email\":\"Ungültige E-Mail-Adresse\"}","isSimpleSecured":false,"url":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","isHorizontalLayout":false,"hideVotingResult":false,"sophoraId":"Sophora-Id","fields":[{"type":{"isGroup":false,"isChoice":true,"asString":"radio"},"name":"multivoting","isGrouped":true,"isRequired":false,"options":[{"value":"1","label":"Gut, beste website ever","title":"Voting-Answer 1"},{"value":"2","label":"Super, allerbeste website ever","title":"Voting-Answer 2"},{"value":"3","label":"Mega, allerallerbeste website ever","title":"Voting-Answer 3"},{"value":"4","label":"Hammer, allerallerbesteste website ever","title":"Voting-Answer 4"}]},{"type":{"isText":true,"isEmail":true,"asString":"email"},"name":"email","label":"Email","description":"","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"link whitespace-nowrap\" target=\"_blank\"><span class=\"text-link dark:text-link-dark ds-link hover:underline\">Datenschutzerklärung<svg class=\"sb-icon inline -mt-0.5 w-5 h-5 text-link dark:text-link-dark fill-current ml-1 \" viewBox=\"0 0 30.4 28.1\" preserveAspectRatio=\"xMidYMid meet\" role=\"presentation\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><path d=\"M21.6 14.8v4.6c0 .5-.4 1-1 1H7.3c-.5 0-1-.4-1-1l-.1-8.9c0-.5.4-1 1-1h9.6l.1-2H5.8c-.8 0-1.5.7-1.5 1.5v11.9c0 .8.7 1.5 1.5 1.5h16.4c.8 0 1.5-.7 1.5-1.5v-6.1h-2.1z\"/><path d=\"M17.7 6.3c0 .6.4 1 1 1h3.5c.2 0 .3 0 .5.1l-6.1 5.9c-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0l6-5.8c.1.2.1.4.1.6V13c0 .6.4 1 1 1h.1c.6 0 1-.4 1-1l.1-4.5c0-1.7-1.3-3-3-3l-4.5-.1c-.7-.1-1.1.4-1.1.9z\"/></svg></a> des hr zu.","isMeta":false,"description":"","isRequired":true}]}}
@@ -70,7 +70,7 @@ const Voting = (context) => {
70
70
  replaceAnimated(
71
71
  votingWrapper,
72
72
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
73
- true,
73
+ false,
74
74
  scrollIntoVoting
75
75
  )
76
76
  break
@@ -78,7 +78,7 @@ const Voting = (context) => {
78
78
  replaceAnimated(
79
79
  votingWrapper,
80
80
  hr$('.js-successMessage', rootElement)[0].innerHTML,
81
- true,
81
+ false,
82
82
  scrollIntoVoting
83
83
  )
84
84
  break
@@ -86,13 +86,13 @@ const Voting = (context) => {
86
86
  replaceAnimated(
87
87
  votingWrapper,
88
88
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
89
- true,
89
+ false,
90
90
  scrollIntoVoting
91
91
  )
92
92
  break
93
93
  }
94
94
  } else {
95
- replaceAnimated(votingWrapper, data, true, scrollIntoVoting)
95
+ replaceAnimated(votingWrapper, data, false, scrollIntoVoting)
96
96
  }
97
97
  })
98
98
 
@@ -103,7 +103,7 @@ const Voting = (context) => {
103
103
  replaceAnimated(
104
104
  votingWrapper,
105
105
  hr$('.js-errorMessage', rootElement)[0].innerHTML,
106
- true,
106
+ false,
107
107
  scrollIntoVoting
108
108
  )
109
109
  })
@@ -151,7 +151,7 @@ const Voting = (context) => {
151
151
 
152
152
  const handleFormReload = function (event) {
153
153
  event.preventDefault()
154
- replaceAnimated(votingWrapper, votingTmpl, true, scrollIntoVoting)
154
+ replaceAnimated(votingWrapper, votingTmpl, false, scrollIntoVoting)
155
155
  }
156
156
 
157
157
  const handleKeydown = function (event) {
@@ -58,30 +58,32 @@
58
58
  </div>
59
59
  <script type="text/html" class="js-successMessage">
60
60
  {{#if this.is2FSecured}}
61
- {{{include "components/voting/voting_success_2F" _isInline=true _statusDone=true _title=../this.title _topline=../this.topline}}}
61
+ {{> components/voting/voting_result_2F ../this
62
+ _isInline=true _statusDone=true
63
+ _resultBoxMessageTitle=(loca "votingform2F_title_success")
64
+ _resultBoxMessageText=(loca "votingform2F_text_success")
65
+ }}
62
66
  {{else}}
63
- {{{include "components/voting/voting_success" _isInline=true _voteResults=../this.votingResult _statusDone=true _title=../this.title _topline=../this.topline}}}
67
+ {{> components/voting/voting_result ../this
68
+ _isInline=true
69
+ _statusDone=true
70
+ _hideVotingResult=this.hideVotingResult
71
+ _resultBoxMessageTitle=(loca "votingform_title_success")
72
+ _resultBoxMessageText=../this.votingSuccessText.richtext
73
+ }}
64
74
  {{/if}}
65
75
  </script>
66
- <script type="text/html" class="js-errorMessage">
67
- {{#if this.is2FSecured}}
68
- {{{include "components/voting/voting_error" _isInline=true _statusDone=error _title=../this.title _topline=../this.topline}}}
69
- {{else}}
70
- {{{include "components/voting/voting_error" _isInline=true _statusDone=false _title=../this.title _topline=../this.topline}}}
71
- {{/if}}
76
+ <script type="text/html" class="js-errorMessage">
77
+ {{> components/voting/voting_result ../this _isInline=true _statusDone=false _hideVotingResult=true _showBackButton=true _resultBoxMessageTitle=(loca "votingform_title_error") _resultBoxMessageText=(loca "votingform_text_error")}}
72
78
  </script>
73
79
  {{#unless this.hideVotingResult}}
74
80
  <script type="text/html" class="js-result">
75
81
  {{#unless this.is2FSecured}}
76
- {{> components/voting/voting_result
77
- _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
78
- _voteResults=../this.votingResult
79
- _isResultOnRedirectPage=_isResultOnRedirectPage
80
- _isSimpleSecured=../this.isSimpleSecured
82
+ {{> components/voting/voting_result ../this
83
+ _resultBoxMessageText=(loca "votingform_already_voted_cookie_hint")
81
84
  _statusDone=true
82
85
  _addClass=../_addClass
83
- _hideVotingResult=this.hideVotingResult
84
- _isVotingOver=this.isVotingOver
86
+ _hideVotingResult=this.hideVotingResult
85
87
  }}
86
88
  {{/unless}}
87
89
  </script>
@@ -90,7 +92,7 @@
90
92
  </div>
91
93
  </div>
92
94
  {{else}}
93
- {{> components/voting/voting_result _isVotingOver=true _title=../this.title _topline=../this.topline}}
95
+ {{> components/voting/voting_result ../this _hideVotingResult=this.hideVotingResult}}
94
96
  {{/unless}}
95
97
  {{/with}}
96
98
  {{/components/forms/components/backgroundBox }}
@@ -58,7 +58,7 @@ export const Default = {
58
58
 
59
59
  export const Voting_Email = {
60
60
  render: Template.bind({}),
61
- name: 'Einfachauswahl mit E-Mail',
61
+ name: 'Einfachauswahl mit E-Mail und Successmeldung',
62
62
  args: votingEmailJson,
63
63
  parameters: {
64
64
  mockData: [
@@ -94,7 +94,7 @@ export const Voting_Media = {
94
94
 
95
95
  export const Voting_Multiple_Choice = {
96
96
  render: Template.bind({}),
97
- name: 'Mehrfachauswahl',
97
+ name: 'Mehrfachauswahl mit Fehlermeldung',
98
98
  args: votingMultipleChoiceJson,
99
99
  }
100
100