comand-component-library 3.1.77 → 3.1.80
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/comand-component-library.css +1 -1
- package/dist/comand-component-library.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/App.vue +12 -8
- package/src/components/CmdAddressData.vue +1 -1
- package/src/components/CmdBankAccountData.vue +3 -1
- package/src/components/CmdBox.vue +34 -12
- package/src/components/CmdBoxSiteSearch.vue +2 -2
- package/src/components/CmdCookieDisclaimer.vue +15 -9
- package/src/components/CmdFakeSelect.vue +2 -1
- package/src/components/CmdForm.vue +9 -2
- package/src/components/CmdFormElement.vue +7 -0
- package/src/components/CmdHeadline.vue +18 -10
- package/src/components/CmdListOfLinks.vue +4 -2
- package/src/components/CmdListOfRequirements.vue +45 -5
- package/src/components/CmdLoginForm.vue +11 -9
- package/src/components/CmdMainNavigation.vue +1 -1
- package/src/components/CmdOpeningHours.vue +1 -1
- package/src/components/CmdSlideButton.vue +1 -0
- package/src/components/CmdTabs.vue +2 -0
- package/src/components/CmdToggleDarkMode.vue +80 -47
- package/src/components/CmdTooltip.vue +8 -6
- package/src/components/CmdTooltipForInputElements.vue +8 -0
- package/src/components/CmdUploadForm.vue +15 -14
- package/src/documentation/generated/CmdCookieDisclaimerPropertyDescriptions.json +1 -1
- package/src/documentation/generated/CmdFormPropertyDescriptions.json +5 -0
- package/src/documentation/generated/CmdListOfRequirementsPropertyDescriptions.json +11 -1
- package/src/documentation/generated/CmdLoginFormPropertyDescriptions.json +2 -2
- package/src/documentation/generated/CmdToggleDarkModePropertyDescriptions.json +37 -0
- package/src/documentation/generated/CmdTooltipForInputElementsPropertyDescriptions.json +5 -0
- package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +6 -6
- package/src/index.js +2 -1
- package/src/mixins/CmdFakeSelect/DefaultMessageProperties.js +1 -1
- package/src/mixins/CmdListOfRequirements/DefaultMessageProperties.js +10 -0
package/package.json
CHANGED
package/src/App.vue
CHANGED
@@ -49,6 +49,7 @@
|
|
49
49
|
<li><a href="#section-tables">Tables</a></li>
|
50
50
|
<li><a href="#section-tabs">Tabs</a></li>
|
51
51
|
<li><a href="#section-thumbnail-scroller">Thumbnail-Scroller</a></li>
|
52
|
+
<li><a href="#section-toggle-darkmode">ToggleDarkMode</a></li>
|
52
53
|
<li><a href="#section-upload-form">Upload-Form</a></li>
|
53
54
|
</ul>
|
54
55
|
</div>
|
@@ -86,7 +87,6 @@
|
|
86
87
|
<fieldset class="grid-container-create-columns">
|
87
88
|
<legend>Legend</legend>
|
88
89
|
<h2>Form Element-Component</h2>
|
89
|
-
<CmdToggleDarkMode :showLabel="true"/>
|
90
90
|
<div class="flex-container">
|
91
91
|
<CmdFormElement labelText="Input (type text):"
|
92
92
|
element="input"
|
@@ -457,6 +457,10 @@
|
|
457
457
|
checkbox with boolean: {{ checkboxValue }}<br/>
|
458
458
|
checkboxes with values: {{ checkboxValues }}
|
459
459
|
</p>
|
460
|
+
<h3>Toggle Dark-Mode</h3>
|
461
|
+
<a id="section-toggle-darkmode"></a>
|
462
|
+
<CmdToggleDarkMode :showLabel="true"/>
|
463
|
+
<CmdToggleDarkMode :showLabel="false" :use-styled-layout="true" />
|
460
464
|
<h2>Checkboxes and Radiobuttons</h2>
|
461
465
|
<h3>Checkboxes [native]</h3>
|
462
466
|
<div class="label inline">
|
@@ -844,13 +848,13 @@
|
|
844
848
|
<h3>Product boxes</h3>
|
845
849
|
<div class="grid-container-create-columns">
|
846
850
|
<div class="grid-small-item" v-for="(product, index) in boxProductData" :key="index">
|
847
|
-
<CmdBox boxType="product" :product="product" :
|
851
|
+
<CmdBox boxType="product" :product="product" :cmdHeadline="{headlineLevel: 4}"/>
|
848
852
|
</div>
|
849
853
|
</div>
|
850
854
|
<h3>User boxes</h3>
|
851
855
|
<div class="grid-container-create-columns">
|
852
856
|
<div class="grid-small-item" v-for="(user, index) in boxUserData" :key="index">
|
853
|
-
<CmdBox boxType="user" :user="user" :
|
857
|
+
<CmdBox boxType="user" :user="user" :cmdHeadline="{headlineLevel: 4}"/>
|
854
858
|
</div>
|
855
859
|
</div>
|
856
860
|
<h3>Box Site Search</h3>
|
@@ -896,7 +900,7 @@
|
|
896
900
|
<!-- begin custom-headline ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
897
901
|
<a id="section-custom-headline"></a>
|
898
902
|
<CmdWidthLimitationWrapper>
|
899
|
-
<h2 class="headline-demopage">
|
903
|
+
<h2 class="headline-demopage">Headline</h2>
|
900
904
|
<CmdHeadline icon-class="icon-home" pre-headline-text="Pre-headline" headlineText="Headline level 1" :headlineLevel="1"/>
|
901
905
|
<CmdHeadline headlineText="Headline level 2" :headlineLevel="2"/>
|
902
906
|
<CmdHeadline headlineText="Headline level 3" :headlineLevel="3"/>
|
@@ -1106,7 +1110,7 @@
|
|
1106
1110
|
:uploadOptions="{url: 'http://localhost:8888'}"
|
1107
1111
|
/>
|
1108
1112
|
<h3>Advanced mode</h3>
|
1109
|
-
<CmdUploadForm :
|
1113
|
+
<CmdUploadForm :cmdHeadlineFieldset="{headlineText: 'Select files to upload', headlineLevel: 3}"
|
1110
1114
|
:enableDragAndDrop="true"
|
1111
1115
|
:allowedFileExtensions="['jpg', 'png']"
|
1112
1116
|
:allowMultipleFileUploads="true"
|
@@ -1120,18 +1124,18 @@
|
|
1120
1124
|
<CmdSwitchLanguage :languages="languagesData" @click="doSomething"/>
|
1121
1125
|
<div class="flex-container">
|
1122
1126
|
<CmdListOfLinks :links="listOfLinksData"
|
1123
|
-
:
|
1127
|
+
:cmdHeadline="{headlineText: 'List of links', headlineLevel: 6}"
|
1124
1128
|
/>
|
1125
1129
|
<CmdOpeningHours :openingHours="openingHoursData"
|
1126
1130
|
:closed="true"
|
1127
|
-
:
|
1131
|
+
:cmdHeadline="{headlineText: 'Opening hours', headlineLevel: 6}"
|
1128
1132
|
textOpenClosed="Closed right now!"
|
1129
1133
|
textHolidaysClosed="Closed on holidays"
|
1130
1134
|
textMiscInfo="Miscellaneous information"
|
1131
1135
|
/>
|
1132
1136
|
<CmdAddressData :addressData="addressData"
|
1133
1137
|
:linkGoogleMaps="true"
|
1134
|
-
:
|
1138
|
+
:cmdHeadline="{headlineText: 'Address data', headlineLevel: 6}"
|
1135
1139
|
/>
|
1136
1140
|
</div>
|
1137
1141
|
</CmdSiteFooter>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-address-data vcard">
|
3
3
|
<!-- begin CmdHeadline -->
|
4
|
-
<CmdHeadline v-if="
|
4
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
5
5
|
<!-- end CmdHeadline -->
|
6
6
|
|
7
7
|
<!-- begin address-data in vCard microformat -->
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-bank-account-data">
|
3
3
|
<!-- begin CmdHeadline -->
|
4
|
-
<CmdHeadline v-if="
|
4
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
5
5
|
<!-- end CmdHeadline -->
|
6
6
|
|
7
7
|
<!-- begin account data -->
|
@@ -90,6 +90,7 @@ export default {
|
|
90
90
|
</script>
|
91
91
|
|
92
92
|
<style lang="scss">
|
93
|
+
/* begin cmd-bank-account-data ---------------------------------------------------------------------------------------- */
|
93
94
|
.cmd-bank-account-data {
|
94
95
|
dd.flex-container {
|
95
96
|
gap: calc(var(--default-gap) / 2);
|
@@ -101,4 +102,5 @@ export default {
|
|
101
102
|
}
|
102
103
|
}
|
103
104
|
}
|
105
|
+
/* end cmd-bank-account-data ---------------------------------------------------------------------------------------- */
|
104
106
|
</style>
|
@@ -23,16 +23,17 @@
|
|
23
23
|
<!-- begin header for collapsible -->
|
24
24
|
<a v-if="collapsible" class="box-header" href="#" :title="open ? iconOpen.tooltip : iconClosed.tooltip" @click.prevent="toggleContentVisibility">
|
25
25
|
<!-- begin CmdHeadline -->
|
26
|
-
<CmdHeadline v-if="
|
26
|
+
<CmdHeadline v-if="cmdHeadline?.headlineText" v-bind="cmdHeadline" />
|
27
27
|
<!-- end CmdHeadline -->
|
28
28
|
<span class="toggle-icon" :class="[open ? iconOpen.iconClass : iconClosed.iconClass]"></span>
|
29
29
|
</a>
|
30
30
|
<!-- end header for collapsible -->
|
31
31
|
|
32
32
|
<!-- begin CmdHeadline -->
|
33
|
-
<CmdHeadline
|
34
|
-
|
35
|
-
|
33
|
+
<CmdHeadline
|
34
|
+
v-else-if="!collapsible && cmdHeadline?.headlineText"
|
35
|
+
class="box-header"
|
36
|
+
v-bind="cmdHeadline"
|
36
37
|
/>
|
37
38
|
<!-- end CmdHeadline -->
|
38
39
|
</template>
|
@@ -68,9 +69,10 @@
|
|
68
69
|
<span>{{ product.discount }}</span>
|
69
70
|
</div>
|
70
71
|
<!-- begin CmdHeadline -->
|
71
|
-
<CmdHeadline
|
72
|
-
|
73
|
-
|
72
|
+
<CmdHeadline
|
73
|
+
v-if="cmdHeadline?.headlineText || product.name"
|
74
|
+
v-bind="cmdHeadline || {}"
|
75
|
+
:headlineText="cmdHeadline?.headlineText ? cmdHeadline?.headlineText : product.name"/>
|
74
76
|
<!-- end CmdHeadline -->
|
75
77
|
</div>
|
76
78
|
<div class="box-body">
|
@@ -85,13 +87,15 @@
|
|
85
87
|
|
86
88
|
<!-- begin boxType 'user' -->
|
87
89
|
<div v-else-if="boxType === 'user' && user" :class="['cmd-box box user', {'stretch-vertically': stretchVertically}]">
|
88
|
-
<div class="box-header">
|
90
|
+
<div class="box-header flex-container vertical">
|
89
91
|
<img v-if="user.image" :src="user.image.src" :alt="user.image.alt"/>
|
90
92
|
<div v-else :class="defaultProfileIconClass" :title="user.name"></div>
|
91
93
|
<!-- begin CmdHeadline -->
|
92
|
-
<CmdHeadline
|
93
|
-
|
94
|
-
|
94
|
+
<CmdHeadline
|
95
|
+
v-if="cmdHeadline?.headlineText || user.name"
|
96
|
+
v-bind="cmdHeadline || {}"
|
97
|
+
:headlineText="cmdHeadline?.headlineText ? cmdHeadline?.headlineText : user.name"
|
98
|
+
/>
|
95
99
|
<!-- end CmdHeadline -->
|
96
100
|
</div>
|
97
101
|
<div class="box-body">
|
@@ -336,6 +340,14 @@ export default {
|
|
336
340
|
font-size: 1rem;
|
337
341
|
margin-left: auto;
|
338
342
|
}
|
343
|
+
|
344
|
+
&:hover, &:active, &:focus {
|
345
|
+
background: var(--pure-white);
|
346
|
+
|
347
|
+
> * {
|
348
|
+
color: var(--primary-color);
|
349
|
+
}
|
350
|
+
}
|
339
351
|
}
|
340
352
|
|
341
353
|
.box-body {
|
@@ -424,7 +436,6 @@ export default {
|
|
424
436
|
color: var(--pure-white);
|
425
437
|
text-transform: uppercase;
|
426
438
|
text-align: center;
|
427
|
-
box-shadow: var(--box-shadow);
|
428
439
|
}
|
429
440
|
}
|
430
441
|
|
@@ -445,6 +456,10 @@ export default {
|
|
445
456
|
display: table;
|
446
457
|
margin: 0 auto;
|
447
458
|
}
|
459
|
+
|
460
|
+
> img {
|
461
|
+
border: 0;
|
462
|
+
}
|
448
463
|
}
|
449
464
|
|
450
465
|
.box-body {
|
@@ -473,6 +488,13 @@ export default {
|
|
473
488
|
> .box-header {
|
474
489
|
padding: var(--default-padding);
|
475
490
|
|
491
|
+
.cmd-headline {
|
492
|
+
> * {
|
493
|
+
display: block;
|
494
|
+
text-align: center;
|
495
|
+
}
|
496
|
+
}
|
497
|
+
|
476
498
|
> img, > div:first-child {
|
477
499
|
display: table;
|
478
500
|
margin: 0 auto;
|
@@ -3,10 +3,10 @@
|
|
3
3
|
<div class="cmd-cookie-disclaimer flex-container vertical">
|
4
4
|
<!-- begin CmdHeadline -->
|
5
5
|
<CmdHeadline
|
6
|
-
v-if="
|
7
|
-
v-bind="
|
8
|
-
:headlineText="
|
9
|
-
:headlineLevel="
|
6
|
+
v-if="cmdHeadlineCookieDisclaimer?.show && cmdHeadlineCookieDisclaimer?.headlineText && cmdHeadlineCookieDisclaimer?.headlineLevel"
|
7
|
+
v-bind="cmdHeadlineCookieDisclaimer"
|
8
|
+
:headlineText="cmdHeadlineCookieDisclaimer.headlineText"
|
9
|
+
:headlineLevel="cmdHeadlineCookieDisclaimer.headlineLevel"
|
10
10
|
/>
|
11
11
|
<!-- end CmdHeadline -->
|
12
12
|
|
@@ -151,7 +151,7 @@ export default {
|
|
151
151
|
/**
|
152
152
|
* properties for CmdHeadline-component at top of cookie disclaimer
|
153
153
|
*/
|
154
|
-
|
154
|
+
cmdHeadlineCookieDisclaimer: {
|
155
155
|
type: Object,
|
156
156
|
default() {
|
157
157
|
return {
|
@@ -237,14 +237,20 @@ export default {
|
|
237
237
|
|
238
238
|
// push all required cookies to array
|
239
239
|
const requiredCookies = this.cookieOptions?.required?.cookies
|
240
|
-
|
241
|
-
|
240
|
+
|
241
|
+
if (requiredCookies) {
|
242
|
+
for (let i = 0; i < requiredCookies.length; i++) {
|
243
|
+
allCookies.push(requiredCookies[i].value)
|
244
|
+
}
|
242
245
|
}
|
243
246
|
|
244
247
|
// push all optional cookies to array
|
245
248
|
const optionalCookies = this.cookieOptions?.optional?.cookies
|
246
|
-
|
247
|
-
|
249
|
+
|
250
|
+
if (optionalCookies) {
|
251
|
+
for (let i = 0; i < optionalCookies.length; i++) {
|
252
|
+
allCookies.push(optionalCookies[i].value)
|
253
|
+
}
|
248
254
|
}
|
249
255
|
|
250
256
|
this.$emit("close-cookie-disclaimer", allCookies)
|
@@ -444,6 +444,7 @@ export default {
|
|
444
444
|
|
445
445
|
.cmd-fake-select {
|
446
446
|
align-self: flex-end;
|
447
|
+
border-radius: var(--border-radius);
|
447
448
|
|
448
449
|
> span:first-child {
|
449
450
|
a {
|
@@ -456,7 +457,6 @@ export default {
|
|
456
457
|
margin: 0;
|
457
458
|
display: block;
|
458
459
|
min-width: 0;
|
459
|
-
background: var(--color-scheme-background-color);
|
460
460
|
box-shadow: none;
|
461
461
|
border-radius: var(--border-radius);
|
462
462
|
|
@@ -467,6 +467,7 @@ export default {
|
|
467
467
|
> a {
|
468
468
|
height: inherit;
|
469
469
|
border: var(--default-border);
|
470
|
+
background: var(--color-scheme-background-color);
|
470
471
|
|
471
472
|
.option-name {
|
472
473
|
text-overflow: ellipsis;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
|
-
<form class="cmd-form" :data-use-validation="useValidation" @submit="onSubmit" :class="{error: errorOccurred}">
|
2
|
+
<form class="cmd-form" :data-use-validation="useValidation" @submit="onSubmit" :class="{error: errorOccurred}" :novalidate="novalidate">
|
3
3
|
<template v-if="useFieldset">
|
4
|
-
<fieldset>
|
4
|
+
<fieldset class="flex-container">
|
5
5
|
<legend :class="{hidden : !showLegend}">{{ textLegend }}</legend>
|
6
6
|
<!-- begin default-slot-content -->
|
7
7
|
<slot></slot>
|
@@ -29,6 +29,13 @@ export default {
|
|
29
29
|
}
|
30
30
|
},
|
31
31
|
props: {
|
32
|
+
/**
|
33
|
+
* deactivate if browser-validation should be used
|
34
|
+
*/
|
35
|
+
novalidate: {
|
36
|
+
type: Boolean,
|
37
|
+
default: true
|
38
|
+
},
|
32
39
|
/**
|
33
40
|
* if activated the entire form will be validated by pre-coded validation
|
34
41
|
*
|
@@ -37,6 +37,7 @@
|
|
37
37
|
:inputModelValue="modelValue"
|
38
38
|
:helplink="helplink"
|
39
39
|
:relatedId="tooltipId"
|
40
|
+
:labelText="labelText"
|
40
41
|
/>
|
41
42
|
<!-- end CmdTooltipForInputElements -->
|
42
43
|
|
@@ -113,6 +114,7 @@
|
|
113
114
|
/>
|
114
115
|
<span v-if="labelText" :class="['label-text', { hidden: !showLabel }]"><span>{{ labelText }}<sup v-if="$attrs.required">*</sup></span></span>
|
115
116
|
</template>
|
117
|
+
|
116
118
|
<!-- begin labels for toggle-switch with switch-label -->
|
117
119
|
<template v-else-if="onLabel && offLabel">
|
118
120
|
<span class="switch-label-wrapper">
|
@@ -830,6 +832,11 @@ export default {
|
|
830
832
|
z-index: 100;
|
831
833
|
}
|
832
834
|
|
835
|
+
input:not(:only-child) {
|
836
|
+
border-top-right-radius: 0;
|
837
|
+
border-bottom-right-radius: 0;
|
838
|
+
}
|
839
|
+
|
833
840
|
a.button {
|
834
841
|
& + a[class*="icon"] {
|
835
842
|
right: 5rem;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<template>
|
2
|
-
<div :class="['cmd-
|
2
|
+
<div :class="['cmd-headline', { 'has-pre-headline-text': preHeadlineText, 'has-icon': iconClass}]">
|
3
3
|
<span v-if="iconClass" :class="iconClass"></span>
|
4
4
|
<div v-if="preHeadlineText">
|
5
5
|
<span class="pre-headline-text">{{ preHeadlineText }}</span>
|
@@ -48,22 +48,28 @@ export default {
|
|
48
48
|
},
|
49
49
|
computed: {
|
50
50
|
getHeadlineTag() {
|
51
|
-
|
51
|
+
if(this.headlineLevel) {
|
52
|
+
return "h" + this.headlineLevel
|
53
|
+
}
|
54
|
+
return "h3"
|
52
55
|
}
|
53
56
|
}
|
54
57
|
}
|
55
58
|
</script>
|
56
59
|
|
57
60
|
<style lang="scss">
|
61
|
+
/* begin cmd--headline ------------------------------------------------------------------------------------------ */
|
58
62
|
@import '../assets/styles/variables';
|
59
63
|
|
60
|
-
|
61
|
-
.cmd-custom-headline {
|
62
|
-
display: flex;
|
63
|
-
align-items: center;
|
64
|
+
.cmd-headline {
|
64
65
|
margin-bottom: var(--default-margin);
|
65
66
|
gap: calc(var(--default-gap) / 2);
|
66
67
|
|
68
|
+
&.has-icon {
|
69
|
+
display: flex;
|
70
|
+
align-items: center;
|
71
|
+
}
|
72
|
+
|
67
73
|
&.has-pre-headline-text {
|
68
74
|
[class*="icon"] {
|
69
75
|
font-size: 5rem;
|
@@ -76,8 +82,11 @@ export default {
|
|
76
82
|
|
77
83
|
h1, h2, h3, h4, h5, h6 {
|
78
84
|
margin: 0;
|
79
|
-
|
80
|
-
|
85
|
+
|
86
|
+
&:only-child {
|
87
|
+
flex: none;
|
88
|
+
width: 100%;
|
89
|
+
}
|
81
90
|
}
|
82
91
|
|
83
92
|
@media only screen and ($small-max-width) {
|
@@ -88,6 +97,5 @@ export default {
|
|
88
97
|
}
|
89
98
|
}
|
90
99
|
}
|
91
|
-
|
92
|
-
/* end cmd-custom-headline ------------------------------------------------------------------------------------------ */
|
100
|
+
/* end cmd-headline ------------------------------------------------------------------------------------------ */
|
93
101
|
</style>
|
@@ -1,8 +1,10 @@
|
|
1
1
|
<template>
|
2
2
|
<div :class="['cmd-list-of-links', 'align-' + align, {box: styleAsBox, horizontal: orientation === 'horizontal', 'section-anchors': sectionAnchors}]">
|
3
3
|
<!-- begin CmdHeadline -->
|
4
|
-
<CmdHeadline
|
5
|
-
|
4
|
+
<CmdHeadline
|
5
|
+
v-if="cmdHeadline"
|
6
|
+
v-bind="cmdHeadline"
|
7
|
+
/>
|
6
8
|
<!-- end CmdHeadline -->
|
7
9
|
|
8
10
|
<!-- begin list of links -->
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-list-of-requirements">
|
3
3
|
<!-- begin cmd-custom-headline -->
|
4
|
-
<CmdHeadline :headline-level="
|
5
|
-
|
4
|
+
<CmdHeadline :headline-level="cmdHeadline.headlineLevel">
|
5
|
+
{{ headlineRequirements }}<template v-if="labelText"><br/><em>{{ labelText }}</em></template>
|
6
6
|
</CmdHeadline>
|
7
7
|
<!-- end cmd-custom-headline -->
|
8
8
|
|
@@ -13,8 +13,8 @@
|
|
13
13
|
<dd :class="requirement.valid(inputModelValue, inputAttributes) ? 'success' : 'error'">
|
14
14
|
<span
|
15
15
|
aria-live="assertive"
|
16
|
-
:class="requirement.valid(inputModelValue, inputAttributes) ?
|
17
|
-
:title="requirement.valid(inputModelValue, inputAttributes) ?
|
16
|
+
:class="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.iconClass : iconError.iconClass"
|
17
|
+
:title="requirement.valid(inputModelValue, inputAttributes) ? iconSuccess.tooltip : iconError.tooltip"
|
18
18
|
>
|
19
19
|
</span>
|
20
20
|
</dd>
|
@@ -48,11 +48,19 @@
|
|
48
48
|
// import components
|
49
49
|
import CmdHeadline from "./CmdHeadline"
|
50
50
|
|
51
|
+
// import mixins
|
52
|
+
import I18n from "../mixins/I18n"
|
53
|
+
import DefaultMessageProperties from "../mixins/CmdListOfRequirements/DefaultMessageProperties"
|
54
|
+
|
51
55
|
export default {
|
52
56
|
name: "CmdListOfRequirements",
|
53
57
|
components: {
|
54
58
|
CmdHeadline
|
55
59
|
},
|
60
|
+
mixins: [
|
61
|
+
I18n,
|
62
|
+
DefaultMessageProperties
|
63
|
+
],
|
56
64
|
props: {
|
57
65
|
/**
|
58
66
|
* property to check validity of given modelValue
|
@@ -69,7 +77,7 @@ export default {
|
|
69
77
|
required: true
|
70
78
|
},
|
71
79
|
/**
|
72
|
-
* text for label
|
80
|
+
* text for label (used in headline)
|
73
81
|
*/
|
74
82
|
labelText: {
|
75
83
|
type: String,
|
@@ -89,6 +97,30 @@ export default {
|
|
89
97
|
type: String,
|
90
98
|
required: false
|
91
99
|
},
|
100
|
+
/**
|
101
|
+
* icon to show success-status
|
102
|
+
*/
|
103
|
+
iconSuccess: {
|
104
|
+
type: Object,
|
105
|
+
default() {
|
106
|
+
return {
|
107
|
+
iconClass: "icon-check-circle",
|
108
|
+
tooltip: "success"
|
109
|
+
}
|
110
|
+
}
|
111
|
+
},
|
112
|
+
/**
|
113
|
+
* icon to show error-status
|
114
|
+
*/
|
115
|
+
iconError: {
|
116
|
+
type: Object,
|
117
|
+
default() {
|
118
|
+
return {
|
119
|
+
iconClass: "icon-error-circle",
|
120
|
+
tooltip: "error"
|
121
|
+
}
|
122
|
+
}
|
123
|
+
},
|
92
124
|
/**
|
93
125
|
* properties of CmdHeadline-component
|
94
126
|
*/
|
@@ -100,6 +132,14 @@ export default {
|
|
100
132
|
}
|
101
133
|
}
|
102
134
|
}
|
135
|
+
},
|
136
|
+
computed: {
|
137
|
+
headlineRequirements() {
|
138
|
+
if (this.inputRequirements.length > 1) {
|
139
|
+
return this.getMessage("cmdlistofrequirements.headline.requirements_for_input")
|
140
|
+
}
|
141
|
+
return this.getMessage("cmdlistofrequirements.headline.requirement_for_input")
|
142
|
+
}
|
103
143
|
}
|
104
144
|
}
|
105
145
|
</script>
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<fieldset v-if="!sendLogin" class="cmd-login-form flex-container">
|
4
4
|
<legend :class="{hidden : !showLegend}">{{ textLegend }}</legend>
|
5
5
|
<!-- begin CmdHeadline -->
|
6
|
-
<CmdHeadline v-if="
|
7
|
-
v-bind="
|
6
|
+
<CmdHeadline v-if="cmdHeadlineLoginForm"
|
7
|
+
v-bind="cmdHeadlineLoginForm"/>
|
8
8
|
<!-- end CmdHeadline -->
|
9
9
|
|
10
10
|
<!-- being form elements -->
|
@@ -122,11 +122,11 @@
|
|
122
122
|
<fieldset v-else class="cmd-login-form flex-container">
|
123
123
|
<legend :class="{'hidden' : !legendSendLoginForm.show}">{{ legendSendLoginForm.text }}</legend>
|
124
124
|
<!-- begin CmdHeadline -->
|
125
|
-
<CmdHeadline v-if="
|
126
|
-
:iconClass="
|
127
|
-
:preHeadline="
|
128
|
-
:headlineLevel="
|
129
|
-
:headlineText="
|
125
|
+
<CmdHeadline v-if="cmdHeadlineSendLoginForm"
|
126
|
+
:iconClass="cmdHeadlineSendLoginForm.iconClass"
|
127
|
+
:preHeadline="cmdHeadlineSendLoginForm.preHeadline"
|
128
|
+
:headlineLevel="cmdHeadlineSendLoginForm.preHeadline"
|
129
|
+
:headlineText="cmdHeadlineSendLoginForm.headlineText"/>
|
130
130
|
<!-- end CmdHeadline -->
|
131
131
|
|
132
132
|
<!-- begin CmdFormElement -->
|
@@ -272,14 +272,14 @@ export default {
|
|
272
272
|
/**
|
273
273
|
* properties for CmdHeadline-component for login-form
|
274
274
|
*/
|
275
|
-
|
275
|
+
cmdHeadlineLoginForm: {
|
276
276
|
type: Object,
|
277
277
|
required: false
|
278
278
|
},
|
279
279
|
/**
|
280
280
|
* properties for CmdHeadline-component for send-login-form
|
281
281
|
*/
|
282
|
-
|
282
|
+
cmdHeadlineSendLoginForm: {
|
283
283
|
type: Object,
|
284
284
|
default() {
|
285
285
|
return {
|
@@ -439,6 +439,7 @@ export default {
|
|
439
439
|
</script>
|
440
440
|
|
441
441
|
<style lang="scss">
|
442
|
+
/* begin cmd-login-form ---------------------------------------------------------------------------------------- */
|
442
443
|
.cmd-login-form {
|
443
444
|
.option-wrapper {
|
444
445
|
align-items: center;
|
@@ -460,4 +461,5 @@ export default {
|
|
460
461
|
}
|
461
462
|
}
|
462
463
|
}
|
464
|
+
/* end cmd-login-form ---------------------------------------------------------------------------------------- */
|
463
465
|
</style>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
</a>
|
20
20
|
</li>
|
21
21
|
<li v-for="(navigationEntry, index) in navigationEntries" :key="index"
|
22
|
-
:class="{'open' : navigationEntry.open}">
|
22
|
+
:class="{'open' : navigationEntry.open, 'has-subentries': navigationEntry.subentries}">
|
23
23
|
<!-- begin type === href -->
|
24
24
|
<a
|
25
25
|
v-if="navigationEntry.type === 'href'"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div class="cmd-opening-hours">
|
3
3
|
<!-- begin cmd-custom-headline -->
|
4
|
-
<CmdHeadline v-if="
|
4
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline" />
|
5
5
|
<!-- end cmd-custom-headline -->
|
6
6
|
|
7
7
|
<!-- begin opening-status with link to detail-page -->
|
@@ -122,6 +122,8 @@ export default {
|
|
122
122
|
display: block;
|
123
123
|
padding: var(--default-padding);
|
124
124
|
color: var(--color-scheme-text-color);
|
125
|
+
border-top-left-radius: var(--border-radius);
|
126
|
+
border-top-right-radius: var(--border-radius);
|
125
127
|
|
126
128
|
&:hover, &:active, &:focus {
|
127
129
|
cursor: pointer;
|