comand-component-library 4.0.16 → 4.0.17
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/dist/comand-component-library.js +2812 -2661
- package/dist/comand-component-library.umd.cjs +3 -3
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/ComponentLibrary.vue +0 -4
- package/src/assets/data/address-data.json +2 -0
- package/src/assets/data/main-navigation.json +3 -3
- package/src/componentSettingsDataAndControls.vue +2 -1
- package/src/components/CmdAddressData.vue +40 -11
- package/src/components/CmdAddressDataItem.vue +20 -13
- package/src/components/CmdFormElement.vue +6 -1
- package/src/components/CmdHeadline.vue +4 -4
- package/src/components/CmdLoginForm.vue +1 -1
- package/src/components/CmdMainNavigation.vue +1 -1
- package/src/components/CmdSiteHeader.vue +5 -2
- package/src/components/CmdSlideButton.vue +1 -1
- package/src/mixins/pages/BasicForm/DefaultMessageProperties.js +5 -2
- package/src/pages/BasicForm.vue +108 -20
@@ -178,6 +178,8 @@ export default {
|
|
178
178
|
<style>
|
179
179
|
/* begin cmd-site-header ---------------------------------------------------------------------------------------- */
|
180
180
|
.cmd-site-header {
|
181
|
+
--logo-width-on-scroll: 50%;
|
182
|
+
|
181
183
|
grid-area: site-header;
|
182
184
|
display: flex;
|
183
185
|
flex-direction: column;
|
@@ -199,6 +201,7 @@ export default {
|
|
199
201
|
transform-origin: top left;
|
200
202
|
transition: var(--header-scroll-animation);
|
201
203
|
margin: 0;
|
204
|
+
width: 100%;
|
202
205
|
}
|
203
206
|
}
|
204
207
|
}
|
@@ -212,7 +215,7 @@ export default {
|
|
212
215
|
figure {
|
213
216
|
img {
|
214
217
|
transition: var(--header-scroll-animation);
|
215
|
-
|
218
|
+
width: var(--logo-width-on-scroll);
|
216
219
|
}
|
217
220
|
}
|
218
221
|
}
|
@@ -223,12 +226,12 @@ export default {
|
|
223
226
|
header, .cmd-main-navigation nav, .cmd-list-of-links {
|
224
227
|
max-width: var(--max-width);
|
225
228
|
width: 100%; /* stretch flex-item */
|
226
|
-
margin: 0 auto;
|
227
229
|
padding: 0 var(--default-padding);
|
228
230
|
}
|
229
231
|
|
230
232
|
.cmd-main-navigation nav {
|
231
233
|
width: auto;
|
234
|
+
margin: 0 0 0 auto; /* align nav to right */
|
232
235
|
}
|
233
236
|
|
234
237
|
.top-header {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
@click.prevent
|
4
4
|
:class="['cmd-slide-button', 'button', 'keep-behavior-on-small-devices', slideButtonType]"
|
5
5
|
:title="getDirection.tooltip">
|
6
|
-
<!--
|
6
|
+
<!-- begin CmdIcon -->
|
7
7
|
<CmdIcon :iconClass="getDirection.iconClass || 'next'" />
|
8
8
|
<!-- end CmdIcon -->
|
9
9
|
</a>
|
@@ -19,9 +19,12 @@ export default {
|
|
19
19
|
"basic_form.placeholder.zip": "Zip:",
|
20
20
|
"basic_form.labeltext.city": "City:",
|
21
21
|
"basic_form.placeholder.city": "City:",
|
22
|
-
"basic_form.labeltext.
|
22
|
+
"basic_form.labeltext.pobox": "PO Box:",
|
23
|
+
"basic_form.placeholder.pobox": "PO Box:",
|
24
|
+
"basic_form.labeltext.country": "Country:",
|
25
|
+
"basic_form.labeltext.additional_address_info": "Additional address information:",
|
23
26
|
"basic_form.placeholder.additional_address_info": "Additional address information",
|
24
|
-
"basic_form.labeltext.additional_text": "Additional text",
|
27
|
+
"basic_form.labeltext.additional_text": "Additional text:",
|
25
28
|
"basic_form.placeholder.additional_text": "Additional text",
|
26
29
|
"basic_form.labeltext.data_privacy": "I accept handling and saving of my personal data a mentioned in the <a href='/content/data-privacy-en.html' class='fancybox'>private policy</a>."
|
27
30
|
}
|
package/src/pages/BasicForm.vue
CHANGED
@@ -1,18 +1,23 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-pages-basic-form">
|
3
|
-
<!--
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
<!-- begin CmdHeadline -->
|
4
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
5
|
+
<!-- end CmdHeadline -->
|
6
|
+
|
7
|
+
<!-- begin CmdForm -->
|
8
|
+
<CmdForm
|
9
|
+
@submit="onSubmit"
|
10
|
+
novalidate="novalidate"
|
11
|
+
:textLegend="getMessage('basic_form.legend')"
|
12
|
+
:submitButton="submitButton"
|
8
13
|
>
|
9
|
-
<div v-if="configuration.salutation" class="flex-container no-flex">
|
14
|
+
<div v-if="configuration.salutation" class="flex-container no-flex order-male-female">
|
10
15
|
<!-- begin cmd-form-element -->
|
11
16
|
<CmdFormElement
|
12
17
|
element="input"
|
13
18
|
type="radio"
|
14
19
|
:labelText="getMessage('basic_form.labeltext.salutation_male')"
|
15
|
-
:name="configuration.salutation?.name || salutation"
|
20
|
+
:name="configuration.salutation?.name || 'salutation'"
|
16
21
|
inputValue="m"
|
17
22
|
:replaceInputType="configuration.salutation?.replaceInputType"
|
18
23
|
v-model="formData.salutation"
|
@@ -25,7 +30,7 @@
|
|
25
30
|
element="input"
|
26
31
|
type="radio"
|
27
32
|
:labelText="getMessage('basic_form.labeltext.salutation_female')"
|
28
|
-
:name="configuration.salutation?.name || salutation"
|
33
|
+
:name="configuration.salutation?.name || 'salutation'"
|
29
34
|
inputValue="f"
|
30
35
|
:replaceInputType="configuration.salutation?.replaceInputType"
|
31
36
|
v-model="formData.salutation"
|
@@ -38,7 +43,7 @@
|
|
38
43
|
<slot name="top"></slot>
|
39
44
|
<!-- end slot (top) -->
|
40
45
|
|
41
|
-
<div v-if="configuration.lastName || configuration.firstName" class="flex-container">
|
46
|
+
<div v-if="configuration.lastName || configuration.firstName" class="flex-container order-lastname-firstname">
|
42
47
|
<!-- begin cmd-form-element -->
|
43
48
|
<CmdFormElement
|
44
49
|
v-if="configuration.lastName"
|
@@ -71,7 +76,7 @@
|
|
71
76
|
/>
|
72
77
|
<!-- end cmd-form-element -->
|
73
78
|
</div>
|
74
|
-
<div v-if="configuration.email || configuration.phone" class="flex-container">
|
79
|
+
<div v-if="configuration.email || configuration.phone" class="flex-container order-phone-email">
|
75
80
|
<!-- begin cmd-form-element -->
|
76
81
|
<CmdFormElement
|
77
82
|
v-if="configuration.email"
|
@@ -105,7 +110,22 @@
|
|
105
110
|
<!-- end cmd-form-element -->
|
106
111
|
</div>
|
107
112
|
|
108
|
-
<div v-if="configuration.streetNo || configuration.
|
113
|
+
<div v-if="configuration.streetNo || configuration.streetNo || (configuration.zip && configuration.city)" class="flex-container">
|
114
|
+
<!-- begin cmd-form-element -->
|
115
|
+
<CmdFormElement
|
116
|
+
v-if="configuration.country"
|
117
|
+
element="select"
|
118
|
+
:labelText="getMessage('basic_form.labeltext.country')"
|
119
|
+
:selectOptions="configuration.country?.selectOptions"
|
120
|
+
:required="configuration.country?.required"
|
121
|
+
:name="configuration.country?.name || 'country'"
|
122
|
+
v-model="formData.country.value"
|
123
|
+
:status="formData.country.error ? 'error' : ''"
|
124
|
+
@validate="onValidate"
|
125
|
+
@change="onCountrySelect"
|
126
|
+
/>
|
127
|
+
<!-- end cmd-form-element -->
|
128
|
+
|
109
129
|
<!-- begin cmd-form-element -->
|
110
130
|
<CmdFormElement
|
111
131
|
v-if="configuration.streetNo"
|
@@ -121,11 +141,27 @@
|
|
121
141
|
/>
|
122
142
|
<!-- end cmd-form-element -->
|
123
143
|
|
124
|
-
|
144
|
+
<!-- begin cmd-form-element -->
|
145
|
+
<CmdFormElement
|
146
|
+
v-if="configuration.pobox"
|
147
|
+
element="input"
|
148
|
+
:type="configuration.pobox?.type || 'text'"
|
149
|
+
:labelText="getMessage('basic_form.labeltext.pobox')"
|
150
|
+
:placeholder="getMessage('basic_form.placeholder.pobox')"
|
151
|
+
:required="configuration.pobox?.required"
|
152
|
+
:name="configuration.pobox?.name || 'pobox'"
|
153
|
+
v-model="formData.pobox.value"
|
154
|
+
:status="formData.pobox.error ? 'error' : ''"
|
155
|
+
@validate="onValidate"
|
156
|
+
/>
|
157
|
+
<!-- end cmd-form-element -->
|
158
|
+
|
159
|
+
<div class="input-wrapper" :class="showCityBeforeZip ? 'order-city-zip' : 'order-zip-city'">
|
125
160
|
<!-- begin cmd-form-element -->
|
126
161
|
<CmdFormElement
|
127
162
|
v-if="configuration.zip"
|
128
163
|
element="input"
|
164
|
+
class="input-zip"
|
129
165
|
:type="configuration.zip?.type || 'number'"
|
130
166
|
:labelText="getMessage('basic_form.labeltext.zip')"
|
131
167
|
:placeholder="getMessage('basic_form.placeholder.zip')"
|
@@ -237,18 +273,13 @@ export default {
|
|
237
273
|
streetNo: {value: ''},
|
238
274
|
zip: {value: ''},
|
239
275
|
city: {value: ''},
|
276
|
+
pobox: {value: ''},
|
277
|
+
country: {value: ''},
|
240
278
|
additionalAddressInfo: {value: ''},
|
241
279
|
additionalText: {value: ''},
|
242
280
|
acceptPrivacy: {value: false}
|
243
281
|
},
|
244
|
-
|
245
|
-
icon: {
|
246
|
-
show: true,
|
247
|
-
iconClass: "icon-message-send",
|
248
|
-
tooltip: "Send message"
|
249
|
-
},
|
250
|
-
text: "Send"
|
251
|
-
}
|
282
|
+
cityBeforeZip: this.showCityBeforeZip
|
252
283
|
}
|
253
284
|
},
|
254
285
|
props: {
|
@@ -281,6 +312,24 @@ export default {
|
|
281
312
|
required: false,
|
282
313
|
type: "phone"
|
283
314
|
},
|
315
|
+
country: {
|
316
|
+
required: false,
|
317
|
+
element: "select",
|
318
|
+
selectOptions: [
|
319
|
+
{
|
320
|
+
text: "Please select...",
|
321
|
+
value: ""
|
322
|
+
},
|
323
|
+
{
|
324
|
+
text: "United States",
|
325
|
+
value: "us"
|
326
|
+
},
|
327
|
+
{
|
328
|
+
text: "Germany",
|
329
|
+
value: "de"
|
330
|
+
},
|
331
|
+
]
|
332
|
+
},
|
284
333
|
streetNo: {
|
285
334
|
required: false,
|
286
335
|
type: "text"
|
@@ -308,6 +357,13 @@ export default {
|
|
308
357
|
}
|
309
358
|
}
|
310
359
|
},
|
360
|
+
/**
|
361
|
+
* activate to show city first/left then zip next/right
|
362
|
+
*/
|
363
|
+
showCityBeforeZip: {
|
364
|
+
type: Boolean,
|
365
|
+
default: false
|
366
|
+
},
|
311
367
|
/**
|
312
368
|
* receiver e-mail-address the form is sent to
|
313
369
|
*/
|
@@ -329,6 +385,18 @@ export default {
|
|
329
385
|
primary: true
|
330
386
|
}
|
331
387
|
}
|
388
|
+
},
|
389
|
+
/**
|
390
|
+
* properties for CmdHeadline-component
|
391
|
+
*/
|
392
|
+
cmdHeadline: {
|
393
|
+
type: Object,
|
394
|
+
default() {
|
395
|
+
return {
|
396
|
+
headlineText: "Basic Form",
|
397
|
+
headlineLevel: 3
|
398
|
+
}
|
399
|
+
}
|
332
400
|
}
|
333
401
|
},
|
334
402
|
mounted() {
|
@@ -349,6 +417,13 @@ export default {
|
|
349
417
|
|
350
418
|
event.preventDefault();
|
351
419
|
},
|
420
|
+
onCountrySelect(event) {
|
421
|
+
alert("Country selected")
|
422
|
+
console.log("country selected", event)
|
423
|
+
if (event === 'us' || event === 'uk') {
|
424
|
+
this.cityBeforeZip = true
|
425
|
+
}
|
426
|
+
},
|
352
427
|
onValidate() {
|
353
428
|
this.formData = Object.assign({}, this.validator.validate(this.formData));
|
354
429
|
},
|
@@ -361,6 +436,11 @@ export default {
|
|
361
436
|
openDataPrivacy(url) {
|
362
437
|
openFancyBox({url})
|
363
438
|
}
|
439
|
+
},
|
440
|
+
watch: {
|
441
|
+
cityBeforeZip() {
|
442
|
+
this.cityBeforeZip = this.showCityBeforeZip
|
443
|
+
}
|
364
444
|
}
|
365
445
|
}
|
366
446
|
</script>
|
@@ -369,6 +449,14 @@ export default {
|
|
369
449
|
.cmd-pages-basic-form {
|
370
450
|
fieldset {
|
371
451
|
margin: 0;
|
452
|
+
|
453
|
+
.order-city-zip {
|
454
|
+
flex-direction: row-reverse;
|
455
|
+
}
|
456
|
+
|
457
|
+
.input-zip {
|
458
|
+
max-width: 30%;
|
459
|
+
}
|
372
460
|
}
|
373
461
|
}
|
374
462
|
</style>
|