hr-design-system-handlebars 1.111.3 → 1.111.5
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 +27 -0
- package/dist/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr1/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr2/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr3/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/hr4/conf/locatags.merged.json +1 -0
- package/dist/assets/brand/you-fm/conf/locatags.merged.json +1 -0
- package/dist/assets/index.css +41 -6
- package/dist/assets/js/components/forms/js/inputHandler.alpine.js +31 -0
- package/dist/views/components/forms/components/choice.hbs +2 -2
- package/dist/views/components/forms/components/fields.hbs +5 -4
- package/dist/views/components/forms/components/upload.hbs +73 -0
- package/dist/views_static/components/forms/components/choice.hbs +2 -2
- package/dist/views_static/components/forms/components/fields.hbs +5 -4
- package/dist/views_static/components/forms/components/upload.hbs +73 -0
- package/package.json +1 -1
- package/src/assets/brand/_default/conf/locatags.json +2 -1
- package/src/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr1/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr2/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr3/conf/locatags.merged.json +1 -0
- package/src/assets/brand/hr4/conf/locatags.merged.json +1 -0
- package/src/assets/brand/you-fm/conf/locatags.merged.json +1 -0
- package/src/assets/css/custom-utilities.css +3 -3
- package/src/assets/fixtures/content/copytext/copytext_webform.json +10 -0
- package/src/assets/fixtures/forms/form_fields.inc.json +4 -4
- package/src/assets/fixtures/forms/form_upload.json +8 -0
- package/src/stories/views/components/content/copytext/fixtures/copytext_webform.json +1 -1
- package/src/stories/views/components/forms/components/choice.hbs +2 -2
- package/src/stories/views/components/forms/components/fields.hbs +5 -4
- package/src/stories/views/components/forms/components/upload.hbs +73 -0
- package/src/stories/views/components/forms/fixtures/form_upload.json +1 -0
- package/src/stories/views/components/forms/form_upload.stories.js +34 -0
- package/src/stories/views/components/forms/js/inputHandler.alpine.js +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
# v1.111.5 (Tue Oct 22 2024)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- some bugfixes for UploadForm [#1124](https://github.com/mumprod/hr-design-system-handlebars/pull/1124) (saad.elbaciri@hr.de [@selbaciri](https://github.com/selbaciri))
|
|
6
|
+
|
|
7
|
+
#### Authors: 2
|
|
8
|
+
|
|
9
|
+
- Saad El Baciri ([@selbaciri](https://github.com/selbaciri))
|
|
10
|
+
- selbaciri (saad.elbaciri@hr.de)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# v1.111.4 (Fri Oct 18 2024)
|
|
15
|
+
|
|
16
|
+
#### 🐛 Bug Fix
|
|
17
|
+
|
|
18
|
+
- DPE-3307: Upload [#1123](https://github.com/mumprod/hr-design-system-handlebars/pull/1123) (saad.elbaciri@hr.de [@vascoeduardo](https://github.com/vascoeduardo) [@selbaciri](https://github.com/selbaciri))
|
|
19
|
+
|
|
20
|
+
#### Authors: 3
|
|
21
|
+
|
|
22
|
+
- Saad El Baciri ([@selbaciri](https://github.com/selbaciri))
|
|
23
|
+
- selbaciri (saad.elbaciri@hr.de)
|
|
24
|
+
- Vasco ([@vascoeduardo](https://github.com/vascoeduardo))
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
1
28
|
# v1.111.3 (Fri Oct 18 2024)
|
|
2
29
|
|
|
3
30
|
#### 🐛 Bug Fix
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hessenschau . d e",
|
|
196
197
|
"meta_application_name": "hessenschau.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr . d e",
|
|
196
197
|
"meta_application_name": "hr.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-bigband . d e",
|
|
196
197
|
"meta_application_name": "hr-bigband.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-fernsehen . d e",
|
|
196
197
|
"meta_application_name": "hr-fernsehen.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-inforadio . d e",
|
|
196
197
|
"meta_application_name": "hr-inforadio.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-rundfunkrat . d e",
|
|
196
197
|
"meta_application_name": "hr-rundfunkrat.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-sinfonieorchester . d e",
|
|
196
197
|
"meta_application_name": "hr-sinfonieorchester.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-werbung . d e",
|
|
196
197
|
"meta_application_name": "hr-werbung.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr1 . d e",
|
|
196
197
|
"meta_application_name": "hr1.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr2 . d e",
|
|
196
197
|
"meta_application_name": "hr2.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr3 . d e",
|
|
196
197
|
"meta_application_name": "hr3.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr4 . d e",
|
|
196
197
|
"meta_application_name": "hr4.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite you-fm . d e",
|
|
196
197
|
"meta_application_name": "you-fm.de"
|
|
197
198
|
}
|
package/dist/assets/index.css
CHANGED
|
@@ -1852,6 +1852,11 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
1852
1852
|
.min-w-full {
|
|
1853
1853
|
min-width: 100%;
|
|
1854
1854
|
}
|
|
1855
|
+
.min-w-min {
|
|
1856
|
+
min-width: -webkit-min-content;
|
|
1857
|
+
min-width: -moz-min-content;
|
|
1858
|
+
min-width: min-content;
|
|
1859
|
+
}
|
|
1855
1860
|
.max-w-3\/4 {
|
|
1856
1861
|
max-width: 75%;
|
|
1857
1862
|
}
|
|
@@ -2118,6 +2123,9 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
2118
2123
|
.justify-around {
|
|
2119
2124
|
justify-content: space-around;
|
|
2120
2125
|
}
|
|
2126
|
+
.gap-2 {
|
|
2127
|
+
gap: 0.5rem;
|
|
2128
|
+
}
|
|
2121
2129
|
.gap-3 {
|
|
2122
2130
|
gap: 0.75rem;
|
|
2123
2131
|
}
|
|
@@ -2256,6 +2264,9 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
2256
2264
|
.whitespace-pre-wrap {
|
|
2257
2265
|
white-space: pre-wrap;
|
|
2258
2266
|
}
|
|
2267
|
+
.text-nowrap {
|
|
2268
|
+
text-wrap: nowrap;
|
|
2269
|
+
}
|
|
2259
2270
|
.break-words {
|
|
2260
2271
|
word-wrap: break-word;
|
|
2261
2272
|
}
|
|
@@ -2537,6 +2548,11 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
2537
2548
|
background-color: rgba(243, 244, 246, 1);
|
|
2538
2549
|
background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
|
|
2539
2550
|
}
|
|
2551
|
+
.bg-gray-300 {
|
|
2552
|
+
--tw-bg-opacity: 1;
|
|
2553
|
+
background-color: rgba(209, 213, 219, 1);
|
|
2554
|
+
background-color: rgba(209, 213, 219, var(--tw-bg-opacity));
|
|
2555
|
+
}
|
|
2540
2556
|
.bg-gray-500 {
|
|
2541
2557
|
--tw-bg-opacity: 1;
|
|
2542
2558
|
background-color: rgba(107, 114, 128, 1);
|
|
@@ -2774,6 +2790,9 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
2774
2790
|
fill: #006eb7;
|
|
2775
2791
|
fill: var(--color-link);
|
|
2776
2792
|
}
|
|
2793
|
+
.fill-red-600 {
|
|
2794
|
+
fill: #dc2626;
|
|
2795
|
+
}
|
|
2777
2796
|
.fill-search {
|
|
2778
2797
|
fill: #000000;
|
|
2779
2798
|
fill: var(--search-icon-color);
|
|
@@ -2980,6 +2999,9 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
2980
2999
|
.pl-9 {
|
|
2981
3000
|
padding-left: 2.25rem;
|
|
2982
3001
|
}
|
|
3002
|
+
.pr-1 {
|
|
3003
|
+
padding-right: 0.25rem;
|
|
3004
|
+
}
|
|
2983
3005
|
.pr-10 {
|
|
2984
3006
|
padding-right: 2.5rem;
|
|
2985
3007
|
}
|
|
@@ -3252,6 +3274,11 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3252
3274
|
color: #000000;
|
|
3253
3275
|
color: var(--color-footer-text);
|
|
3254
3276
|
}
|
|
3277
|
+
.text-gray-500 {
|
|
3278
|
+
--tw-text-opacity: 1;
|
|
3279
|
+
color: rgba(107, 114, 128, 1);
|
|
3280
|
+
color: rgba(107, 114, 128, var(--tw-text-opacity));
|
|
3281
|
+
}
|
|
3255
3282
|
.text-gray-dark {
|
|
3256
3283
|
--tw-text-opacity: 1;
|
|
3257
3284
|
color: rgba(112, 112, 112, 1);
|
|
@@ -3570,7 +3597,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3570
3597
|
border-bottom-color: var(--color-secondary-ds);
|
|
3571
3598
|
}
|
|
3572
3599
|
.counter-reset {
|
|
3573
|
-
counter-reset:
|
|
3600
|
+
counter-reset: cnt1729601409591;
|
|
3574
3601
|
}
|
|
3575
3602
|
.placeholder-text-xs::-webkit-input-placeholder {
|
|
3576
3603
|
font-size: 0.75rem;
|
|
@@ -3984,7 +4011,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
3984
4011
|
--tw-ring-color: rgba(255, 255, 255, 0.5);
|
|
3985
4012
|
}
|
|
3986
4013
|
.-ordered {
|
|
3987
|
-
counter-increment:
|
|
4014
|
+
counter-increment: cnt1729601409591 1;
|
|
3988
4015
|
}
|
|
3989
4016
|
.-ordered::before {
|
|
3990
4017
|
position: absolute;
|
|
@@ -4002,7 +4029,7 @@ article.indexTextDS .indexTextHighlighted .link {
|
|
|
4002
4029
|
--tw-text-opacity: 1;
|
|
4003
4030
|
color: rgba(0, 0, 0, 1);
|
|
4004
4031
|
color: rgba(0, 0, 0, var(--tw-text-opacity));
|
|
4005
|
-
content: counter(
|
|
4032
|
+
content: counter(cnt1729601409591);
|
|
4006
4033
|
}
|
|
4007
4034
|
/*! ****************************/
|
|
4008
4035
|
/*! DataPolicy stuff */
|
|
@@ -4138,7 +4165,7 @@ select:has(option:checked:not([value=''])) + label {
|
|
|
4138
4165
|
select:has(option:checked[value='']) {
|
|
4139
4166
|
color: transparent;
|
|
4140
4167
|
}
|
|
4141
|
-
|
|
4168
|
+
.form-checkbox:checked::after {
|
|
4142
4169
|
position: absolute;
|
|
4143
4170
|
content: '';
|
|
4144
4171
|
width: 15px;
|
|
@@ -4151,7 +4178,7 @@ input[type='checkbox']:checked::after {
|
|
|
4151
4178
|
border-right: none;
|
|
4152
4179
|
transform: rotate(-45deg);
|
|
4153
4180
|
}
|
|
4154
|
-
|
|
4181
|
+
.form-radio::after {
|
|
4155
4182
|
content: '';
|
|
4156
4183
|
position: absolute;
|
|
4157
4184
|
width: 16px;
|
|
@@ -4163,7 +4190,7 @@ input[type='radio']::after {
|
|
|
4163
4190
|
background-color: var(--color-primary-ds);
|
|
4164
4191
|
border-radius: 50%;
|
|
4165
4192
|
}
|
|
4166
|
-
|
|
4193
|
+
.form-radio:checked::after {
|
|
4167
4194
|
transform: translate(-50%, -50%) scale(1);
|
|
4168
4195
|
}
|
|
4169
4196
|
.\[-T\:\+Z\] {
|
|
@@ -7307,6 +7334,10 @@ input[type='radio']:checked::after {
|
|
|
7307
7334
|
padding-left: 0.75rem;
|
|
7308
7335
|
}
|
|
7309
7336
|
|
|
7337
|
+
.md\:pl-4 {
|
|
7338
|
+
padding-left: 1rem;
|
|
7339
|
+
}
|
|
7340
|
+
|
|
7310
7341
|
.md\:pl-5 {
|
|
7311
7342
|
padding-left: 1.25rem;
|
|
7312
7343
|
}
|
|
@@ -7315,6 +7346,10 @@ input[type='radio']:checked::after {
|
|
|
7315
7346
|
padding-right: 0px;
|
|
7316
7347
|
}
|
|
7317
7348
|
|
|
7349
|
+
.md\:pr-2 {
|
|
7350
|
+
padding-right: 0.5rem;
|
|
7351
|
+
}
|
|
7352
|
+
|
|
7318
7353
|
.md\:pr-5 {
|
|
7319
7354
|
padding-right: 1.25rem;
|
|
7320
7355
|
}
|
|
@@ -6,6 +6,30 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
6
6
|
isFocused: false,
|
|
7
7
|
typeMismatch: true,
|
|
8
8
|
valueMissing: true,
|
|
9
|
+
outputText: "",
|
|
10
|
+
isFileSelected: false,
|
|
11
|
+
|
|
12
|
+
setFile(event) {
|
|
13
|
+
const file = event.target.files[0];
|
|
14
|
+
if (file) {
|
|
15
|
+
this.fileName = file.name;
|
|
16
|
+
this.isFileSelected = true;
|
|
17
|
+
}
|
|
18
|
+
else{
|
|
19
|
+
this.fileName = "";
|
|
20
|
+
this.isFileSelected = false;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
getFileName() {
|
|
24
|
+
return this.fileName;
|
|
25
|
+
},
|
|
26
|
+
clearFile() {
|
|
27
|
+
this.fileName = "";
|
|
28
|
+
this.isFileSelected = false;
|
|
29
|
+
this.valid = false;
|
|
30
|
+
var uploadEelement = document.getElementById(element);
|
|
31
|
+
uploadEelement.value = null;
|
|
32
|
+
},
|
|
9
33
|
|
|
10
34
|
errorMessage() {
|
|
11
35
|
if( type == "email"){
|
|
@@ -37,7 +61,10 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
37
61
|
case "select":
|
|
38
62
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
39
63
|
case "choice-group":
|
|
64
|
+
//to-do: Server error
|
|
40
65
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]));
|
|
66
|
+
case "upload":
|
|
67
|
+
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
41
68
|
default:
|
|
42
69
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
43
70
|
}
|
|
@@ -55,6 +82,10 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
55
82
|
var choice = document.getElementById(element)
|
|
56
83
|
this.valid = choice.checkValidity()
|
|
57
84
|
},
|
|
85
|
+
validateUpload() {
|
|
86
|
+
var choice = document.getElementById(element)
|
|
87
|
+
this.valid = choice.checkValidity()
|
|
88
|
+
},
|
|
58
89
|
hasServerError() {
|
|
59
90
|
return Boolean(this.$store.forms.serverErrorFields[formId]?.[name]);
|
|
60
91
|
},
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{{/unless}}
|
|
11
11
|
>
|
|
12
12
|
<div class="flex flex-row items-center w-full cursor-pointer ">
|
|
13
|
-
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight"," checked:bg-white checked:border-form-highlight rounded-full",""]'}}"
|
|
13
|
+
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight form-checkbox"," checked:bg-white checked:border-form-highlight rounded-full form-radio",""]'}}"
|
|
14
14
|
{{#if _required}}
|
|
15
15
|
:class="{' border-form-highlight dark:border-form-highlight-dark': hideError(),'border-error dark:border-error-dark': hideDescription() }"
|
|
16
16
|
{{/if}}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{{/if}}
|
|
61
61
|
{{/if~}}
|
|
62
62
|
>
|
|
63
|
-
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2
|
|
63
|
+
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2 cursor-pointer md:pl-3 text-text dark:text-text-dark md:text-base text-sm">
|
|
64
64
|
{{#if _hasBody}}
|
|
65
65
|
{{decorator_body}}{{#unless _inGroup}}{{#if _required}}*{{/if}}{{/unless}}
|
|
66
66
|
{{else}}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
{{#if this.caption}}
|
|
5
5
|
<fieldset>
|
|
6
6
|
<legend class="mb-5 text-lg font-bold text-text dark:text-text-dark md:text-xl font-heading">{{this.caption}}</legend>
|
|
7
|
-
{{~> components/forms/components/fields}}
|
|
7
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
8
8
|
</fieldset>
|
|
9
9
|
{{else}}
|
|
10
10
|
<fieldset>
|
|
11
|
-
{{~> components/forms/components/fields}}
|
|
11
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
12
12
|
</fieldset>
|
|
13
13
|
{{/if}}
|
|
14
14
|
|
|
@@ -86,14 +86,15 @@
|
|
|
86
86
|
}}
|
|
87
87
|
{{/if}}
|
|
88
88
|
{{else if this.type.isUpload}}
|
|
89
|
-
{{~> components/forms/upload
|
|
89
|
+
{{~> components/forms/components/upload
|
|
90
90
|
_name=this.name
|
|
91
91
|
_label=this.label
|
|
92
92
|
_description=this.description
|
|
93
93
|
_multiple=false
|
|
94
94
|
_required=this.isRequired
|
|
95
|
-
|
|
95
|
+
_errorMandatory="Bitte laden Sie eine Datei hoch"
|
|
96
96
|
_formId=../_formId
|
|
97
|
+
_type=(if this.type.isUpload "upload")
|
|
97
98
|
}}
|
|
98
99
|
{{/if}}
|
|
99
100
|
</div>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<div class="relative flex flex-col w-full mb-6 gap-y-1 md:mb-12"
|
|
2
|
+
ax-load
|
|
3
|
+
x-data="inputHandler('input{{nextRandom}}','{{_formId}}','{{_errorMandatory}}','{{_type}}','', '', '{{_name}}')"
|
|
4
|
+
x-init="validateUpload()"
|
|
5
|
+
x-ignore
|
|
6
|
+
>
|
|
7
|
+
<div @change="setFile($event)" class="relative flex flex-row items-center w-full gap-x-2 md:gap-x-3">
|
|
8
|
+
<input class="absolute w-2 opacity-0 appearance-none cursor-pointer -z-1"
|
|
9
|
+
type="file"
|
|
10
|
+
size="36700160" {{!-- 35MB --}}
|
|
11
|
+
id="input{{getRandom}}"
|
|
12
|
+
{{#if _required}}
|
|
13
|
+
@focus="isFocused = true"
|
|
14
|
+
@blur="wasFocused = true; isFocused=false"
|
|
15
|
+
{{/if}}
|
|
16
|
+
|
|
17
|
+
{{#if _required}}
|
|
18
|
+
@change="validateUpload()"
|
|
19
|
+
{{/if}}
|
|
20
|
+
|
|
21
|
+
{{#if _multiple}}
|
|
22
|
+
multiple
|
|
23
|
+
data-multiple-caption="{count} Dateien ausgewählt"
|
|
24
|
+
{{/if}}
|
|
25
|
+
name="{{#if _name}}{{_name}}{{/if}}"
|
|
26
|
+
{{#if _accept}}
|
|
27
|
+
accept="{{_accept}}"
|
|
28
|
+
{{/if}}
|
|
29
|
+
|
|
30
|
+
{{#if _locaKeyButton}}
|
|
31
|
+
title="{{~loca _locaKeyButton}}"
|
|
32
|
+
{{else}}
|
|
33
|
+
{{#if _label}}
|
|
34
|
+
title="{{_label}}{{#if _required}}*{{/if}}"
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
|
|
38
|
+
{{#if _formField.forHtmlAttribute}}
|
|
39
|
+
value="{{_formField.forHtmlAttribute}}"
|
|
40
|
+
{{else}}
|
|
41
|
+
{{#if _value}}
|
|
42
|
+
value="{{_value}}"
|
|
43
|
+
{{else}}
|
|
44
|
+
value="{{_defaultValue}}"
|
|
45
|
+
{{/if}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
|
|
48
|
+
{{#if _required}}required{{/if}}
|
|
49
|
+
/>
|
|
50
|
+
<label for="input{{getRandom}}" class="cursor-pointer min-w-min {{> components/button/utilities/button_base_classes}} {{> components/button/utilities/button_variation_classes _variant='primary'}} {{> components/button/utilities/button_dimension_classes _size='lg'}}">
|
|
51
|
+
<span class="pr-1 md:pr-2">
|
|
52
|
+
{{> components/base/image/icon _icon="upload" _addClass="w-6 h-6 fill-white dark:fill-text-dark"}}
|
|
53
|
+
</span>
|
|
54
|
+
<span class="text-nowrap">{{loca "webform_upload_label" }}</span>
|
|
55
|
+
</label>
|
|
56
|
+
<span x-show="!isFileSelected" class="items-center justify-center text-sm text-text dark:text-text-dark md:text-base" >{{_label}}{{#if _required}}*{{/if}}</span>
|
|
57
|
+
<div x-cloak x-show="isFileSelected" class="flex items-center gap-2 p-1 text-sm bg-gray-300">
|
|
58
|
+
<span x-text="getFileName" class="items-center justify-center text-black overflow-anywhere" ></span>
|
|
59
|
+
<button class="flex-shrink-0" @click="clearFile" type="button">
|
|
60
|
+
<span >{{~> components/base/image/icon _icon="close" _addClass="h-3 w-3 fill-red-600" _iconmap="icons"~}}</span>
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="font-heading">
|
|
65
|
+
{{#if _description}}
|
|
66
|
+
<div class="pl-3 text-xs text-gray-500 md:pl-4 dark:text-text-dark" {{#if _required}}:class="{'hidden': hideDescription()}"{{/if}}>{{_description}}</div>
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{#if _required}}
|
|
69
|
+
<div class="hidden pl-3 text-xs text-error dark:text-error-dark md:pl-4" :class="{'hidden': hideError()}" x-text="errorMessage"></div>
|
|
70
|
+
{{/if}}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{{/unless}}
|
|
11
11
|
>
|
|
12
12
|
<div class="flex flex-row items-center w-full cursor-pointer ">
|
|
13
|
-
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight"," checked:bg-white checked:border-form-highlight rounded-full",""]'}}"
|
|
13
|
+
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight form-checkbox"," checked:bg-white checked:border-form-highlight rounded-full form-radio",""]'}}"
|
|
14
14
|
{{#if _required}}
|
|
15
15
|
:class="{' border-form-highlight dark:border-form-highlight-dark': hideError(),'border-error dark:border-error-dark': hideDescription() }"
|
|
16
16
|
{{/if}}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{{/if}}
|
|
61
61
|
{{/if~}}
|
|
62
62
|
>
|
|
63
|
-
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2
|
|
63
|
+
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2 cursor-pointer md:pl-3 text-text dark:text-text-dark md:text-base text-sm">
|
|
64
64
|
{{#if _hasBody}}
|
|
65
65
|
{{decorator_body}}{{#unless _inGroup}}{{#if _required}}*{{/if}}{{/unless}}
|
|
66
66
|
{{else}}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
{{#if this.caption}}
|
|
5
5
|
<fieldset>
|
|
6
6
|
<legend class="mb-5 text-lg font-bold text-text dark:text-text-dark md:text-xl font-heading">{{this.caption}}</legend>
|
|
7
|
-
{{~> components/forms/components/fields}}
|
|
7
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
8
8
|
</fieldset>
|
|
9
9
|
{{else}}
|
|
10
10
|
<fieldset>
|
|
11
|
-
{{~> components/forms/components/fields}}
|
|
11
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
12
12
|
</fieldset>
|
|
13
13
|
{{/if}}
|
|
14
14
|
|
|
@@ -86,14 +86,15 @@
|
|
|
86
86
|
}}
|
|
87
87
|
{{/if}}
|
|
88
88
|
{{else if this.type.isUpload}}
|
|
89
|
-
{{~> components/forms/upload
|
|
89
|
+
{{~> components/forms/components/upload
|
|
90
90
|
_name=this.name
|
|
91
91
|
_label=this.label
|
|
92
92
|
_description=this.description
|
|
93
93
|
_multiple=false
|
|
94
94
|
_required=this.isRequired
|
|
95
|
-
|
|
95
|
+
_errorMandatory="Bitte laden Sie eine Datei hoch"
|
|
96
96
|
_formId=../_formId
|
|
97
|
+
_type=(if this.type.isUpload "upload")
|
|
97
98
|
}}
|
|
98
99
|
{{/if}}
|
|
99
100
|
</div>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<div class="relative flex flex-col w-full mb-6 gap-y-1 md:mb-12"
|
|
2
|
+
ax-load
|
|
3
|
+
x-data="inputHandler('input{{nextRandom}}','{{_formId}}','{{_errorMandatory}}','{{_type}}','', '', '{{_name}}')"
|
|
4
|
+
x-init="validateUpload()"
|
|
5
|
+
x-ignore
|
|
6
|
+
>
|
|
7
|
+
<div @change="setFile($event)" class="relative flex flex-row items-center w-full gap-x-2 md:gap-x-3">
|
|
8
|
+
<input class="absolute w-2 opacity-0 appearance-none cursor-pointer -z-1"
|
|
9
|
+
type="file"
|
|
10
|
+
size="36700160" {{!-- 35MB --}}
|
|
11
|
+
id="input{{getRandom}}"
|
|
12
|
+
{{#if _required}}
|
|
13
|
+
@focus="isFocused = true"
|
|
14
|
+
@blur="wasFocused = true; isFocused=false"
|
|
15
|
+
{{/if}}
|
|
16
|
+
|
|
17
|
+
{{#if _required}}
|
|
18
|
+
@change="validateUpload()"
|
|
19
|
+
{{/if}}
|
|
20
|
+
|
|
21
|
+
{{#if _multiple}}
|
|
22
|
+
multiple
|
|
23
|
+
data-multiple-caption="{count} Dateien ausgewählt"
|
|
24
|
+
{{/if}}
|
|
25
|
+
name="{{#if _name}}{{_name}}{{/if}}"
|
|
26
|
+
{{#if _accept}}
|
|
27
|
+
accept="{{_accept}}"
|
|
28
|
+
{{/if}}
|
|
29
|
+
|
|
30
|
+
{{#if _locaKeyButton}}
|
|
31
|
+
title="{{~loca _locaKeyButton}}"
|
|
32
|
+
{{else}}
|
|
33
|
+
{{#if _label}}
|
|
34
|
+
title="{{_label}}{{#if _required}}*{{/if}}"
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
|
|
38
|
+
{{#if _formField.forHtmlAttribute}}
|
|
39
|
+
value="{{_formField.forHtmlAttribute}}"
|
|
40
|
+
{{else}}
|
|
41
|
+
{{#if _value}}
|
|
42
|
+
value="{{_value}}"
|
|
43
|
+
{{else}}
|
|
44
|
+
value="{{_defaultValue}}"
|
|
45
|
+
{{/if}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
|
|
48
|
+
{{#if _required}}required{{/if}}
|
|
49
|
+
/>
|
|
50
|
+
<label for="input{{getRandom}}" class="cursor-pointer min-w-min {{> components/button/utilities/button_base_classes}} {{> components/button/utilities/button_variation_classes _variant='primary'}} {{> components/button/utilities/button_dimension_classes _size='lg'}}">
|
|
51
|
+
<span class="pr-1 md:pr-2">
|
|
52
|
+
{{> components/base/image/icon _icon="upload" _addClass="w-6 h-6 fill-white dark:fill-text-dark"}}
|
|
53
|
+
</span>
|
|
54
|
+
<span class="text-nowrap">{{loca "webform_upload_label" }}</span>
|
|
55
|
+
</label>
|
|
56
|
+
<span x-show="!isFileSelected" class="items-center justify-center text-sm text-text dark:text-text-dark md:text-base" >{{_label}}{{#if _required}}*{{/if}}</span>
|
|
57
|
+
<div x-cloak x-show="isFileSelected" class="flex items-center gap-2 p-1 text-sm bg-gray-300">
|
|
58
|
+
<span x-text="getFileName" class="items-center justify-center text-black overflow-anywhere" ></span>
|
|
59
|
+
<button class="flex-shrink-0" @click="clearFile" type="button">
|
|
60
|
+
<span >{{~> components/base/image/icon _icon="close" _addClass="h-3 w-3 fill-red-600" _iconmap="icons"~}}</span>
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="font-heading">
|
|
65
|
+
{{#if _description}}
|
|
66
|
+
<div class="pl-3 text-xs text-gray-500 md:pl-4 dark:text-text-dark" {{#if _required}}:class="{'hidden': hideDescription()}"{{/if}}>{{_description}}</div>
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{#if _required}}
|
|
69
|
+
<div class="hidden pl-3 text-xs text-error dark:text-error-dark md:pl-4" :class="{'hidden': hideError()}" x-text="errorMessage"></div>
|
|
70
|
+
{{/if}}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
|
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.111.
|
|
9
|
+
"version": "1.111.5",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
12
|
"storybook": "storybook dev -p 6006 public",
|
|
@@ -191,5 +191,6 @@
|
|
|
191
191
|
"teaser_more_video_livestream_brand_sr": "zum {0} Livestream",
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
|
-
"webform_send_text_error": "Das Formular konnte nicht versendet werden."
|
|
194
|
+
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen"
|
|
195
196
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hessenschau . d e",
|
|
196
197
|
"meta_application_name": "hessenschau.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr . d e",
|
|
196
197
|
"meta_application_name": "hr.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-bigband . d e",
|
|
196
197
|
"meta_application_name": "hr-bigband.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-fernsehen . d e",
|
|
196
197
|
"meta_application_name": "hr-fernsehen.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-inforadio . d e",
|
|
196
197
|
"meta_application_name": "hr-inforadio.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-rundfunkrat . d e",
|
|
196
197
|
"meta_application_name": "hr-rundfunkrat.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-sinfonieorchester . d e",
|
|
196
197
|
"meta_application_name": "hr-sinfonieorchester.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr-werbung . d e",
|
|
196
197
|
"meta_application_name": "hr-werbung.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr1 . d e",
|
|
196
197
|
"meta_application_name": "hr1.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr2 . d e",
|
|
196
197
|
"meta_application_name": "hr2.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr3 . d e",
|
|
196
197
|
"meta_application_name": "hr3.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite hr4 . d e",
|
|
196
197
|
"meta_application_name": "hr4.de"
|
|
197
198
|
}
|
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
"teaser_more_video_livestream_sr": "zum Livestream",
|
|
193
193
|
"webform_send_text_success": "Das Formular wurde erfolgreich versendet.",
|
|
194
194
|
"webform_send_text_error": "Das Formular konnte nicht versendet werden.",
|
|
195
|
+
"webform_upload_label": "Datei auswählen",
|
|
195
196
|
"header_homepage_link_title": "Startseite you-fm . d e",
|
|
196
197
|
"meta_application_name": "you-fm.de"
|
|
197
198
|
}
|
|
@@ -465,7 +465,7 @@
|
|
|
465
465
|
@apply text-transparent;
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
-
|
|
468
|
+
.form-checkbox:checked::after {
|
|
469
469
|
position: absolute;
|
|
470
470
|
content: '';
|
|
471
471
|
width: 15px;
|
|
@@ -479,7 +479,7 @@
|
|
|
479
479
|
transform: rotate(-45deg);
|
|
480
480
|
}
|
|
481
481
|
|
|
482
|
-
|
|
482
|
+
.form-radio::after {
|
|
483
483
|
content: '';
|
|
484
484
|
position: absolute;
|
|
485
485
|
width: 16px;
|
|
@@ -491,7 +491,7 @@
|
|
|
491
491
|
border-radius: 50%;
|
|
492
492
|
}
|
|
493
493
|
|
|
494
|
-
|
|
494
|
+
.form-radio:checked::after {
|
|
495
495
|
transform: translate(-50%, -50%) scale(1);
|
|
496
496
|
}
|
|
497
497
|
}
|
|
@@ -22,6 +22,16 @@
|
|
|
22
22
|
"@->jsoninclude": "forms/form_fields.inc.json",
|
|
23
23
|
"@->contentpath": "input-text-nachname-required"
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
"@->jsoninclude": "forms/form_fields.inc.json",
|
|
27
|
+
"@->contentpath": "upload",
|
|
28
|
+
"@->overrides": [
|
|
29
|
+
{
|
|
30
|
+
"@->contentpath": "isRequired",
|
|
31
|
+
"@->value": true
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
25
35
|
{
|
|
26
36
|
"@->jsoninclude": "forms/form_fields.inc.json",
|
|
27
37
|
"@->contentpath": "select"
|
|
@@ -242,9 +242,9 @@
|
|
|
242
242
|
"isUpload":true,
|
|
243
243
|
"asString":"upload"
|
|
244
244
|
},
|
|
245
|
-
"name":"
|
|
246
|
-
"label":"Wählen Sie
|
|
247
|
-
"description":"
|
|
248
|
-
"isRequired":
|
|
245
|
+
"name":"Datei Hochladen",
|
|
246
|
+
"label":"Wählen Sie eine Datei zum Hochladen",
|
|
247
|
+
"description":"Maximale Dateigröße: 35 MB.",
|
|
248
|
+
"isRequired":true
|
|
249
249
|
}
|
|
250
250
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"copytextParagraph":[{"isHeadline":true,"text":"Copytext mit Formular"},{"paragraphBoxItem":{"isWebForm":true,"hasNewWebForm":true,"title":"Kontaktformular","jsonUrl":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","errorMessages":"errorMessages","isMultipart":"isMultipart","trackingInformations":"trackingInformations","fields":[{"type":{"isText":true,"asString":"text"},"name":"vorname","label":"Vorname","description":"Das ist der Beschreibungstext (*Pflichtfeld)","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"type":{"isText":true,"asString":"text"},"name":"nachname","label":"Nachname","description":"","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"type":{"isSelect":true,"asString":"select"},"name":"Select Name","label":"Wen möchten Sie erreichen?","description":"Das ist der Beschreibungstext von Select","defaultValue":"","isHidden":false,"isRequired":true,"options":[{"id":"option1","value":"option1","selected":false,"label":"Option 1"},{"id":"option2","value":"option2","selected":false,"label":"Option 2"},{"id":"option3","value":"option3","selected":false,"label":"Option 3"},{"id":"option4","value":"option4","selected":false,"label":"Option 4"}]},{"isGrouped":true,"type":{"isChoice":true,"asString":"checkbox"},"name":"interessen","label":"Wählen Sie Ihre Interessen","isMeta":false,"description":"Bitte kreuzen Sie alle Interessen an, die auf Sie zutreffen. Ihre Auswahl hilft uns, Ihnen relevante Inhalte anzubieten.","isRequired":false,"options":[{"value":"sport","label":"sport","title":"sport","isSelected":false},{"value":"musik","label":"musik","title":"musik","isSelected":false},{"value":"lesen","label":"lesen","title":"lesen","isSelected":false},{"value":"reisen","label":"reisen","title":"reisen","isSelected":false},{"value":"kochen","label":"kochen","title":"kochen","isSelected":false},{"value":"filme","label":"filme","title":"filme","isSelected":false},{"value":"tanzen","label":"tanzen","title":"tanzen","isSelected":false},{"value":"fotografie","label":"fotografie","title":"fotografie","isSelected":false}]},{"isGrouped":true,"type":{"isChoice":true,"isRadioChoice":true,"asString":"radio"},"name":"lieblingsfarbe","label":"Wählen Sie Ihre Lieblingsfarbe","isMeta":false,"description":"Bitte wählen Sie eine der folgenden Farben aus.","isRequired":true,"options":[{"value":"rot","label":"rot","title":"rot","isSelected":false},{"value":"blau","label":"blau","title":"blau","isSelected":false},{"value":"grün","label":"grün","title":"grün","isSelected":false}]},{"isGrouped":true,"type":{"isChoice":true,"isRadioChoice":true,"asString":"radio"},"name":"lieblingsfarbe","label":"Wählen Sie Ihre Lieblingsfarbe","isMeta":false,"description":"Bitte wählen Sie eine der folgenden Farben aus.","isRequired":false,"options":[{"value":"rot","label":"rot","title":"rot","isSelected":false},{"value":"blau","label":"blau","title":"blau","isSelected":false},{"value":"grün","label":"grün","title":"grün","isSelected":false}]},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich bin damit einverstanden.","isMeta":false,"description":"Das ist der Beschreibungstext von Checkbox","isRequired":false},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich bin damit einverstanden, dass der hr die von mir im vorstehenden Formular angegebenen personenbezogenen Daten für den Zweck der Kontaktaufnahme mit Upload verarbeitet. Eine Weitergabe an Dritte findet nicht statt, es sei denn, es wird ausdrücklich darauf hingewiesen. Unsere Datenschutzerklärung mit sämtlichen Informationen gemäß Art 13 DSGVO zur Datenverarbeitung durch den hr und zu Ihren Rechten können Sie unter Datenschutzerklärung einsehen. Den Datenschutzbeauftragten des hr erreichen Sie unter datenschutz@hr.de.","isMeta":false,"description":"Das ist der Beschreibungstext von Checkbox","isRequired":true}]}}]}
|
|
1
|
+
{"copytextParagraph":[{"isHeadline":true,"text":"Copytext mit Formular"},{"paragraphBoxItem":{"isWebForm":true,"hasNewWebForm":true,"title":"Kontaktformular","jsonUrl":"https://ugc-hessenschau.dev-ext.hrcms.gcp.cloud.hr.de","errorMessages":"errorMessages","isMultipart":"isMultipart","trackingInformations":"trackingInformations","fields":[{"type":{"isText":true,"asString":"text"},"name":"vorname","label":"Vorname","description":"Das ist der Beschreibungstext (*Pflichtfeld)","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"type":{"isText":true,"asString":"text"},"name":"nachname","label":"Nachname","description":"","defaultValue":"","isHidden":false,"isRequired":true,"maxLength":"140"},{"type":{"isUpload":true,"asString":"upload"},"name":"Datei Hochladen","label":"Wählen Sie eine Datei zum Hochladen","description":"Maximale Dateigröße: 35 MB.","isRequired":true},{"type":{"isSelect":true,"asString":"select"},"name":"Select Name","label":"Wen möchten Sie erreichen?","description":"Das ist der Beschreibungstext von Select","defaultValue":"","isHidden":false,"isRequired":true,"options":[{"id":"option1","value":"option1","selected":false,"label":"Option 1"},{"id":"option2","value":"option2","selected":false,"label":"Option 2"},{"id":"option3","value":"option3","selected":false,"label":"Option 3"},{"id":"option4","value":"option4","selected":false,"label":"Option 4"}]},{"isGrouped":true,"type":{"isChoice":true,"asString":"checkbox"},"name":"interessen","label":"Wählen Sie Ihre Interessen","isMeta":false,"description":"Bitte kreuzen Sie alle Interessen an, die auf Sie zutreffen. Ihre Auswahl hilft uns, Ihnen relevante Inhalte anzubieten.","isRequired":false,"options":[{"value":"sport","label":"sport","title":"sport","isSelected":false},{"value":"musik","label":"musik","title":"musik","isSelected":false},{"value":"lesen","label":"lesen","title":"lesen","isSelected":false},{"value":"reisen","label":"reisen","title":"reisen","isSelected":false},{"value":"kochen","label":"kochen","title":"kochen","isSelected":false},{"value":"filme","label":"filme","title":"filme","isSelected":false},{"value":"tanzen","label":"tanzen","title":"tanzen","isSelected":false},{"value":"fotografie","label":"fotografie","title":"fotografie","isSelected":false}]},{"isGrouped":true,"type":{"isChoice":true,"isRadioChoice":true,"asString":"radio"},"name":"lieblingsfarbe","label":"Wählen Sie Ihre Lieblingsfarbe","isMeta":false,"description":"Bitte wählen Sie eine der folgenden Farben aus.","isRequired":true,"options":[{"value":"rot","label":"rot","title":"rot","isSelected":false},{"value":"blau","label":"blau","title":"blau","isSelected":false},{"value":"grün","label":"grün","title":"grün","isSelected":false}]},{"isGrouped":true,"type":{"isChoice":true,"isRadioChoice":true,"asString":"radio"},"name":"lieblingsfarbe","label":"Wählen Sie Ihre Lieblingsfarbe","isMeta":false,"description":"Bitte wählen Sie eine der folgenden Farben aus.","isRequired":false,"options":[{"value":"rot","label":"rot","title":"rot","isSelected":false},{"value":"blau","label":"blau","title":"blau","isSelected":false},{"value":"grün","label":"grün","title":"grün","isSelected":false}]},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich bin damit einverstanden.","isMeta":false,"description":"Das ist der Beschreibungstext von Checkbox","isRequired":false},{"isGrouped":false,"type":{"isChoice":true,"asString":"checkbox"},"name":"checkbox","label":"Ich bin damit einverstanden, dass der hr die von mir im vorstehenden Formular angegebenen personenbezogenen Daten für den Zweck der Kontaktaufnahme mit Upload verarbeitet. Eine Weitergabe an Dritte findet nicht statt, es sei denn, es wird ausdrücklich darauf hingewiesen. Unsere Datenschutzerklärung mit sämtlichen Informationen gemäß Art 13 DSGVO zur Datenverarbeitung durch den hr und zu Ihren Rechten können Sie unter Datenschutzerklärung einsehen. Den Datenschutzbeauftragten des hr erreichen Sie unter datenschutz@hr.de.","isMeta":false,"description":"Das ist der Beschreibungstext von Checkbox","isRequired":true}]}}]}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{{/unless}}
|
|
11
11
|
>
|
|
12
12
|
<div class="flex flex-row items-center w-full cursor-pointer ">
|
|
13
|
-
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight"," checked:bg-white checked:border-form-highlight rounded-full",""]'}}"
|
|
13
|
+
<input class="relative self-start flex-shrink-0 w-6 h-6 bg-white dark:bg-black border appearance-none cursor-pointer border-form-highlight dark:border-form-highlight-dark {{~inline-switch _type '["checkbox","radio"]' '[" checked:bg-form-highlight checked:border-form-highlight form-checkbox"," checked:bg-white checked:border-form-highlight rounded-full form-radio",""]'}}"
|
|
14
14
|
{{#if _required}}
|
|
15
15
|
:class="{' border-form-highlight dark:border-form-highlight-dark': hideError(),'border-error dark:border-error-dark': hideDescription() }"
|
|
16
16
|
{{/if}}
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{{/if}}
|
|
61
61
|
{{/if~}}
|
|
62
62
|
>
|
|
63
|
-
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2
|
|
63
|
+
<label for="input{{getRandom}}" class="min-h-6 pt-0.5 items-center justify-center pl-2 cursor-pointer md:pl-3 text-text dark:text-text-dark md:text-base text-sm">
|
|
64
64
|
{{#if _hasBody}}
|
|
65
65
|
{{decorator_body}}{{#unless _inGroup}}{{#if _required}}*{{/if}}{{/unless}}
|
|
66
66
|
{{else}}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
{{#if this.caption}}
|
|
5
5
|
<fieldset>
|
|
6
6
|
<legend class="mb-5 text-lg font-bold text-text dark:text-text-dark md:text-xl font-heading">{{this.caption}}</legend>
|
|
7
|
-
{{~> components/forms/components/fields}}
|
|
7
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
8
8
|
</fieldset>
|
|
9
9
|
{{else}}
|
|
10
10
|
<fieldset>
|
|
11
|
-
{{~> components/forms/components/fields}}
|
|
11
|
+
{{~> components/forms/components/fields _formId=../_formId}}
|
|
12
12
|
</fieldset>
|
|
13
13
|
{{/if}}
|
|
14
14
|
|
|
@@ -86,14 +86,15 @@
|
|
|
86
86
|
}}
|
|
87
87
|
{{/if}}
|
|
88
88
|
{{else if this.type.isUpload}}
|
|
89
|
-
{{~> components/forms/upload
|
|
89
|
+
{{~> components/forms/components/upload
|
|
90
90
|
_name=this.name
|
|
91
91
|
_label=this.label
|
|
92
92
|
_description=this.description
|
|
93
93
|
_multiple=false
|
|
94
94
|
_required=this.isRequired
|
|
95
|
-
|
|
95
|
+
_errorMandatory="Bitte laden Sie eine Datei hoch"
|
|
96
96
|
_formId=../_formId
|
|
97
|
+
_type=(if this.type.isUpload "upload")
|
|
97
98
|
}}
|
|
98
99
|
{{/if}}
|
|
99
100
|
</div>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<div class="relative flex flex-col w-full mb-6 gap-y-1 md:mb-12"
|
|
2
|
+
ax-load
|
|
3
|
+
x-data="inputHandler('input{{nextRandom}}','{{_formId}}','{{_errorMandatory}}','{{_type}}','', '', '{{_name}}')"
|
|
4
|
+
x-init="validateUpload()"
|
|
5
|
+
x-ignore
|
|
6
|
+
>
|
|
7
|
+
<div @change="setFile($event)" class="relative flex flex-row items-center w-full gap-x-2 md:gap-x-3">
|
|
8
|
+
<input class="absolute w-2 opacity-0 appearance-none cursor-pointer -z-1"
|
|
9
|
+
type="file"
|
|
10
|
+
size="36700160" {{!-- 35MB --}}
|
|
11
|
+
id="input{{getRandom}}"
|
|
12
|
+
{{#if _required}}
|
|
13
|
+
@focus="isFocused = true"
|
|
14
|
+
@blur="wasFocused = true; isFocused=false"
|
|
15
|
+
{{/if}}
|
|
16
|
+
|
|
17
|
+
{{#if _required}}
|
|
18
|
+
@change="validateUpload()"
|
|
19
|
+
{{/if}}
|
|
20
|
+
|
|
21
|
+
{{#if _multiple}}
|
|
22
|
+
multiple
|
|
23
|
+
data-multiple-caption="{count} Dateien ausgewählt"
|
|
24
|
+
{{/if}}
|
|
25
|
+
name="{{#if _name}}{{_name}}{{/if}}"
|
|
26
|
+
{{#if _accept}}
|
|
27
|
+
accept="{{_accept}}"
|
|
28
|
+
{{/if}}
|
|
29
|
+
|
|
30
|
+
{{#if _locaKeyButton}}
|
|
31
|
+
title="{{~loca _locaKeyButton}}"
|
|
32
|
+
{{else}}
|
|
33
|
+
{{#if _label}}
|
|
34
|
+
title="{{_label}}{{#if _required}}*{{/if}}"
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
|
|
38
|
+
{{#if _formField.forHtmlAttribute}}
|
|
39
|
+
value="{{_formField.forHtmlAttribute}}"
|
|
40
|
+
{{else}}
|
|
41
|
+
{{#if _value}}
|
|
42
|
+
value="{{_value}}"
|
|
43
|
+
{{else}}
|
|
44
|
+
value="{{_defaultValue}}"
|
|
45
|
+
{{/if}}
|
|
46
|
+
{{/if}}
|
|
47
|
+
|
|
48
|
+
{{#if _required}}required{{/if}}
|
|
49
|
+
/>
|
|
50
|
+
<label for="input{{getRandom}}" class="cursor-pointer min-w-min {{> components/button/utilities/button_base_classes}} {{> components/button/utilities/button_variation_classes _variant='primary'}} {{> components/button/utilities/button_dimension_classes _size='lg'}}">
|
|
51
|
+
<span class="pr-1 md:pr-2">
|
|
52
|
+
{{> components/base/image/icon _icon="upload" _addClass="w-6 h-6 fill-white dark:fill-text-dark"}}
|
|
53
|
+
</span>
|
|
54
|
+
<span class="text-nowrap">{{loca "webform_upload_label" }}</span>
|
|
55
|
+
</label>
|
|
56
|
+
<span x-show="!isFileSelected" class="items-center justify-center text-sm text-text dark:text-text-dark md:text-base" >{{_label}}{{#if _required}}*{{/if}}</span>
|
|
57
|
+
<div x-cloak x-show="isFileSelected" class="flex items-center gap-2 p-1 text-sm bg-gray-300">
|
|
58
|
+
<span x-text="getFileName" class="items-center justify-center text-black overflow-anywhere" ></span>
|
|
59
|
+
<button class="flex-shrink-0" @click="clearFile" type="button">
|
|
60
|
+
<span >{{~> components/base/image/icon _icon="close" _addClass="h-3 w-3 fill-red-600" _iconmap="icons"~}}</span>
|
|
61
|
+
</button>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="font-heading">
|
|
65
|
+
{{#if _description}}
|
|
66
|
+
<div class="pl-3 text-xs text-gray-500 md:pl-4 dark:text-text-dark" {{#if _required}}:class="{'hidden': hideDescription()}"{{/if}}>{{_description}}</div>
|
|
67
|
+
{{/if}}
|
|
68
|
+
{{#if _required}}
|
|
69
|
+
<div class="hidden pl-3 text-xs text-error dark:text-error-dark md:pl-4" :class="{'hidden': hideError()}" x-text="errorMessage"></div>
|
|
70
|
+
{{/if}}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fields":[{"type":{"isUpload":true,"asString":"upload"},"name":"Datei Hochladen","label":"Wählen Sie eine Datei zum Hochladen","description":"Maximale Dateigröße: 35 MB.","isRequired":true}]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
import uploadJson from './fixtures/form_upload.json'
|
|
3
|
+
|
|
4
|
+
const handlebars = require('hrHandlebars')
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Komponenten/Formulare',
|
|
9
|
+
decorators: [
|
|
10
|
+
(Story) => {
|
|
11
|
+
return `<div class="grid grid-page">
|
|
12
|
+
<div class="grid bg-white grid-article">
|
|
13
|
+
${Story()}
|
|
14
|
+
</div>
|
|
15
|
+
</div>`
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
}
|
|
19
|
+
const Template = (args) => {
|
|
20
|
+
let hbsTemplate = handlebars.compile(`
|
|
21
|
+
{{#>components/forms/backgroundBox }}
|
|
22
|
+
<form class="relative flex flex-col justify-center overflow-hidden group" id="form{{nextRandom}}" action="{{this.url}}" method="post" enctype="{{if this.isMultipart 'multipart/form-data' 'application/x-www-form-urlencoded'}}" accept-charset="utf-8" >
|
|
23
|
+
{{> components/forms/components/fields }}
|
|
24
|
+
</form>
|
|
25
|
+
{{/components/forms/backgroundBox }}
|
|
26
|
+
`)
|
|
27
|
+
return hbsTemplate({ ...args })
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const Upload = {
|
|
31
|
+
render: Template.bind({}),
|
|
32
|
+
name: 'Upload',
|
|
33
|
+
args: uploadJson,
|
|
34
|
+
}
|
|
@@ -6,6 +6,30 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
6
6
|
isFocused: false,
|
|
7
7
|
typeMismatch: true,
|
|
8
8
|
valueMissing: true,
|
|
9
|
+
outputText: "",
|
|
10
|
+
isFileSelected: false,
|
|
11
|
+
|
|
12
|
+
setFile(event) {
|
|
13
|
+
const file = event.target.files[0];
|
|
14
|
+
if (file) {
|
|
15
|
+
this.fileName = file.name;
|
|
16
|
+
this.isFileSelected = true;
|
|
17
|
+
}
|
|
18
|
+
else{
|
|
19
|
+
this.fileName = "";
|
|
20
|
+
this.isFileSelected = false;
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
getFileName() {
|
|
24
|
+
return this.fileName;
|
|
25
|
+
},
|
|
26
|
+
clearFile() {
|
|
27
|
+
this.fileName = "";
|
|
28
|
+
this.isFileSelected = false;
|
|
29
|
+
this.valid = false;
|
|
30
|
+
var uploadEelement = document.getElementById(element);
|
|
31
|
+
uploadEelement.value = null;
|
|
32
|
+
},
|
|
9
33
|
|
|
10
34
|
errorMessage() {
|
|
11
35
|
if( type == "email"){
|
|
@@ -37,7 +61,10 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
37
61
|
case "select":
|
|
38
62
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
39
63
|
case "choice-group":
|
|
64
|
+
//to-do: Server error
|
|
40
65
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]));
|
|
66
|
+
case "upload":
|
|
67
|
+
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
41
68
|
default:
|
|
42
69
|
return Boolean((!this.valid && this.wasFocused && !this.isFocused) || (!this.valid && !this.isFocused && this.$store.forms.submissionAttempted[formId]) || (this.hasServerError() && !this.isFocused ));
|
|
43
70
|
}
|
|
@@ -55,6 +82,10 @@ export default function inputHandler(element, formId, errorMandatory, type, erro
|
|
|
55
82
|
var choice = document.getElementById(element)
|
|
56
83
|
this.valid = choice.checkValidity()
|
|
57
84
|
},
|
|
85
|
+
validateUpload() {
|
|
86
|
+
var choice = document.getElementById(element)
|
|
87
|
+
this.valid = choice.checkValidity()
|
|
88
|
+
},
|
|
58
89
|
hasServerError() {
|
|
59
90
|
return Boolean(this.$store.forms.serverErrorFields[formId]?.[name]);
|
|
60
91
|
},
|