comand-component-library 4.3.26 → 4.3.27
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.css +1 -1
- package/dist/comand-component-library.js +8552 -8431
- package/dist/styles/demopage-only.css +24 -0
- package/package.json +2 -2
- package/src/ComponentLibrary.vue +1923 -1881
- package/src/assets/data/text-image-block.json +3 -1
- package/src/assets/data/thumbnail-scroller-images.json +1 -1
- package/src/components/CmdAccordion.vue +1 -1
- package/src/components/CmdAddressData.vue +60 -72
- package/src/components/CmdBankAccountData.vue +55 -33
- package/src/components/CmdBasicForm.vue +19 -7
- package/src/components/CmdBox.vue +2 -0
- package/src/components/CmdBoxWrapper.vue +10 -0
- package/src/components/CmdBreadcrumbs.vue +10 -27
- package/src/components/CmdCompanyLogo.vue +3 -0
- package/src/components/CmdContainer.vue +8 -1
- package/src/components/CmdCookieDisclaimer.vue +5 -5
- package/src/components/CmdFakeSelect.vue +12 -1
- package/src/components/CmdFancyBox.vue +73 -85
- package/src/components/CmdFootnote.vue +2 -1
- package/src/components/CmdForm.vue +118 -160
- package/src/components/CmdFormFilters.vue +1 -0
- package/src/components/CmdGoogleMaps.vue +9 -2
- package/src/components/CmdHeadline.vue +10 -9
- package/src/components/CmdImage.vue +32 -17
- package/src/components/CmdImageGallery.vue +13 -8
- package/src/components/CmdLink.vue +20 -5
- package/src/components/CmdList.vue +7 -2
- package/src/components/CmdLoginForm.vue +156 -255
- package/src/components/CmdMailToolEntry.vue +2 -1
- package/src/components/CmdMultistepFormProgressBar.vue +2 -2
- package/src/components/CmdMultistepFormWrapper.vue +2 -6
- package/src/components/CmdOpeningHours.vue +14 -2
- package/src/components/CmdSidebar.vue +2 -2
- package/src/components/CmdSiteWrapper.vue +66 -58
- package/src/components/CmdSlideshow.vue +5 -0
- package/src/components/CmdSocialNetworks.vue +27 -17
- package/src/components/CmdSwitchLanguage.vue +16 -19
- package/src/components/CmdSystemMessage.vue +71 -66
- package/src/components/CmdTable.vue +42 -24
- package/src/components/CmdTabs.vue +15 -7
- package/src/components/CmdTag.vue +28 -23
- package/src/components/CmdTextImageBlock.vue +62 -53
- package/src/components/CmdThumbnailScroller.vue +18 -6
- package/src/components/CmdToast.vue +60 -17
- package/src/components/CmdToggleDarkMode.vue +31 -32
- package/src/components/CmdTooltip.vue +33 -20
- package/src/components/CmdUploadForm.vue +212 -183
- package/src/components/CmdWidthLimitationWrapper.vue +19 -3
|
@@ -1,60 +1,39 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<!-- begin CmdAddressData ---------------------------------------------------------------------------------------- -->
|
|
3
|
-
<div :class="['cmd-address-data vcard', {box: styleAsBox}]">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
</template>
|
|
8
|
-
<!-- end slot -->
|
|
9
|
-
|
|
10
|
-
<template v-else>
|
|
11
|
-
<!-- begin cmd-headline -->
|
|
12
|
-
<CmdHeadline
|
|
13
|
-
v-if="cmdHeadline?.headlineText || editModeContext" v-bind="cmdHeadline"
|
|
14
|
-
/>
|
|
15
|
-
<!-- end cmd-headline -->
|
|
3
|
+
<div :class="['cmd-address-data vcard', { box: styleAsBox }]">
|
|
4
|
+
<slot>
|
|
5
|
+
<CmdHeadline v-if="(cmdHeadlineProperties?.show && cmdHeadlineProperties?.headlineText) || editModeContext"
|
|
6
|
+
v-bind="cmdHeadlineProperties" />
|
|
16
7
|
|
|
17
8
|
<!-- begin address-data in vCard microformat -->
|
|
18
9
|
<address class="adr">
|
|
19
10
|
<!-- begin list with labels -->
|
|
20
|
-
<template v-if="showLabels && (showLabelTexts|| showLabelIcons) && !showIconsOnly">
|
|
11
|
+
<template v-if="showLabels && (showLabelTexts || showLabelIcons) && !showIconsOnly">
|
|
21
12
|
<!-- begin default view -->
|
|
22
|
-
<dl v-if="!editModeContext" :class="{'auto-columns': contentOrientation === 'horizontal'}">
|
|
13
|
+
<dl v-if="!editModeContext" :class="{ 'auto-columns': contentOrientation === 'horizontal' }">
|
|
23
14
|
<!-- begin cmd-address-data-item -->
|
|
24
|
-
<CmdAddressDataItem
|
|
25
|
-
|
|
26
|
-
:
|
|
27
|
-
:showLabelIcons="showLabelIcons"
|
|
28
|
-
:showLabelTexts="showLabelTexts"
|
|
29
|
-
:showCityBeforeZip="showCityBeforeZip"
|
|
30
|
-
/>
|
|
15
|
+
<CmdAddressDataItem v-for="(entry, index) in addressData" :key="index" :addressEntry="entry"
|
|
16
|
+
:showLabelIcons="showLabelIcons" :showLabelTexts="showLabelTexts"
|
|
17
|
+
:showCityBeforeZip="showCityBeforeZip" />
|
|
31
18
|
<!-- end cmd-address-data-item -->
|
|
32
19
|
</dl>
|
|
33
20
|
<!-- end default view -->
|
|
34
21
|
|
|
35
22
|
<!-- begin edit-mode -->
|
|
36
23
|
<template v-else>
|
|
37
|
-
<button v-if="addressData.length === 0" type="button" class="button confirm small"
|
|
24
|
+
<button v-if="addressData.length === 0" type="button" class="button confirm small"
|
|
25
|
+
@click="onAddItem">
|
|
38
26
|
<span class="icon-plus"></span>
|
|
39
27
|
<span>Add new entry</span>
|
|
40
28
|
</button>
|
|
41
|
-
<EditComponentWrapper
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
:showComponentName="false"
|
|
46
|
-
:allowedComponentTypes="[]"
|
|
47
|
-
componentName="CmdAddressDataItem"
|
|
48
|
-
:componentProps="entry"
|
|
49
|
-
:componentPath="['props', 'addressData', index]"
|
|
50
|
-
>
|
|
29
|
+
<EditComponentWrapper v-for="(entry, index) in addressData" :key="'x' + index"
|
|
30
|
+
class="edit-items" :showComponentName="false" :allowedComponentTypes="[]"
|
|
31
|
+
componentName="CmdAddressDataItem" :componentProps="entry"
|
|
32
|
+
:componentPath="['props', 'addressData', index]">
|
|
51
33
|
<dl>
|
|
52
34
|
<!-- begin cmd-address-data-item -->
|
|
53
|
-
<CmdAddressDataItem
|
|
54
|
-
:
|
|
55
|
-
:showLabelIcons="showLabelIcons"
|
|
56
|
-
:showLabelTexts="showLabelTexts"
|
|
57
|
-
/>
|
|
35
|
+
<CmdAddressDataItem :addressEntry="entry" :showLabelIcons="showLabelIcons"
|
|
36
|
+
:showLabelTexts="showLabelTexts" />
|
|
58
37
|
<!-- end cmd-address-data-item -->
|
|
59
38
|
</dl>
|
|
60
39
|
</EditComponentWrapper>
|
|
@@ -63,20 +42,17 @@
|
|
|
63
42
|
<!-- end list with labels -->
|
|
64
43
|
|
|
65
44
|
<!-- begin list without labels -->
|
|
66
|
-
<ul v-else :class="['flex-container', {'vertical': !showIconsOnly}]">
|
|
45
|
+
<ul v-else :class="['flex-container', { 'vertical': !showIconsOnly }]">
|
|
67
46
|
<template v-for="(entry, index) in addressData" :key="index">
|
|
68
47
|
<li v-if="entry.href || (entry.name === 'address' && entry.linkGoogleMaps) || !showIconsOnly"
|
|
69
|
-
:class="{'flex-none'
|
|
48
|
+
:class="{ 'flex-none': showIconsOnly }">
|
|
70
49
|
<!-- begin all entries except address (which has no href) -->
|
|
71
|
-
<a v-if="entry.href"
|
|
72
|
-
|
|
73
|
-
:href="getHref(entry)"
|
|
74
|
-
:target="entry.name === 'url' ? '_blank' : null"
|
|
75
|
-
:title="entry.tooltip"
|
|
76
|
-
>
|
|
50
|
+
<a v-if="entry.href" :class="{ 'button': styleLinksAsButtons }" :href="getHref(entry)"
|
|
51
|
+
:target="entry.name === 'url' ? '_blank' : null" :title="entry.tooltip">
|
|
77
52
|
<template v-if="showIconsOnly">
|
|
78
53
|
<!-- begin CmdIcon -->
|
|
79
|
-
<CmdIcon v-if="entry.iconClass" :iconClass="entry.iconClass"
|
|
54
|
+
<CmdIcon v-if="entry.iconClass" :iconClass="entry.iconClass"
|
|
55
|
+
:type="entry.iconType" />
|
|
80
56
|
<!-- end CmdIcon -->
|
|
81
57
|
</template>
|
|
82
58
|
<template v-else>{{ entry.href }}</template>
|
|
@@ -87,35 +63,39 @@
|
|
|
87
63
|
<!-- begin address -->
|
|
88
64
|
<template v-if="entry.name === 'address'">
|
|
89
65
|
<!-- begin linked address -->
|
|
90
|
-
<a v-if="entry.linkGoogleMaps" :href="locateAddress(entry)" target="google-maps"
|
|
66
|
+
<a v-if="entry.linkGoogleMaps" :href="locateAddress(entry)" target="google-maps"
|
|
67
|
+
:title="entry.tooltip">
|
|
91
68
|
<template v-if="showIconsOnly">
|
|
92
69
|
<!-- begin CmdIcon -->
|
|
93
|
-
<CmdIcon v-if="entry.iconClass" :iconClass="entry.iconClass"
|
|
70
|
+
<CmdIcon v-if="entry.iconClass" :iconClass="entry.iconClass"
|
|
71
|
+
:type="entry.iconType" />
|
|
94
72
|
<!-- end CmdIcon -->
|
|
95
73
|
</template>
|
|
96
74
|
<template v-else>
|
|
97
75
|
<!-- begin street/number -->
|
|
98
76
|
<template v-if="entry.streetNo">
|
|
99
|
-
<span class="street-address">{{ entry.streetNo }}</span><br/>
|
|
77
|
+
<span class="street-address">{{ entry.streetNo }}</span><br />
|
|
100
78
|
</template>
|
|
101
79
|
<!-- end street/number -->
|
|
102
80
|
|
|
103
81
|
<!-- begin zip/city (state) -->
|
|
104
|
-
<span v-if="entry.zip || entry.city"
|
|
82
|
+
<span v-if="entry.zip || entry.city"
|
|
83
|
+
:class="showCityBeforeZip ? 'order-city-zip' : 'order-zip-city'">
|
|
105
84
|
<span v-if="entry.zip" class="postal-code">{{ entry.zip }} </span>
|
|
106
|
-
<span v-if="entry.city" class="locality">{{ entry.city }}<template
|
|
85
|
+
<span v-if="entry.city" class="locality">{{ entry.city }}<template
|
|
86
|
+
v-if="entry.state"> {{ entry.state }}</template></span><br />
|
|
107
87
|
</span>
|
|
108
88
|
<!-- end zip/city (state) -->
|
|
109
89
|
|
|
110
90
|
<!-- begin po box -->
|
|
111
91
|
<template v-if="entry.pobox">
|
|
112
|
-
<span>{{ entry.pobox }}</span><br/>
|
|
92
|
+
<span>{{ entry.pobox }}</span><br />
|
|
113
93
|
</template>
|
|
114
94
|
<!-- end po box -->
|
|
115
95
|
|
|
116
96
|
<!-- begin miscInfo -->
|
|
117
97
|
<template v-if="entry.miscInfo">
|
|
118
|
-
<span>{{ entry.miscInfo }}</span><br/>
|
|
98
|
+
<span>{{ entry.miscInfo }}</span><br />
|
|
119
99
|
</template>
|
|
120
100
|
<!-- end miscInfo -->
|
|
121
101
|
|
|
@@ -130,26 +110,28 @@
|
|
|
130
110
|
<template v-if="!entry.linkGoogleMaps && !showIconsOnly">
|
|
131
111
|
<!-- begin street/number -->
|
|
132
112
|
<template v-if="entry.streetNo">
|
|
133
|
-
<span class="street-address">{{ entry.streetNo }}</span><br/>
|
|
113
|
+
<span class="street-address">{{ entry.streetNo }}</span><br />
|
|
134
114
|
</template>
|
|
135
115
|
<!-- end street/number -->
|
|
136
116
|
|
|
137
117
|
<!-- begin zip/city (state) -->
|
|
138
|
-
<span v-if="entry.zip || entry.city"
|
|
118
|
+
<span v-if="entry.zip || entry.city"
|
|
119
|
+
:class="showCityBeforeZip ? 'order-city-zip' : 'order-zip-city'">
|
|
139
120
|
<span v-if="entry.zip" class="postal-code">{{ entry.zip }} </span>
|
|
140
|
-
<span v-if="entry.city" class="locality">{{ entry.city }}<template
|
|
121
|
+
<span v-if="entry.city" class="locality">{{ entry.city }}<template
|
|
122
|
+
v-if="entry.state"> {{ entry.state }}</template></span><br />
|
|
141
123
|
</span>
|
|
142
124
|
<!-- end zip/city (state) -->
|
|
143
125
|
|
|
144
126
|
<!-- begin po box -->
|
|
145
127
|
<template v-if="entry.pobox">
|
|
146
|
-
<span>{{ entry.pobox }}</span><br/>
|
|
128
|
+
<span>{{ entry.pobox }}</span><br />
|
|
147
129
|
</template>
|
|
148
130
|
<!-- end po box -->
|
|
149
131
|
|
|
150
132
|
<!-- begin miscInfo -->
|
|
151
133
|
<template v-if="entry.miscInfo">
|
|
152
|
-
<span>{{ entry.miscInfo }}</span><br/>
|
|
134
|
+
<span>{{ entry.miscInfo }}</span><br />
|
|
153
135
|
</template>
|
|
154
136
|
<!-- end miscInfo -->
|
|
155
137
|
|
|
@@ -168,14 +150,14 @@
|
|
|
168
150
|
<!-- end list without labels -->
|
|
169
151
|
</address>
|
|
170
152
|
<!-- end address-data in vCard microformat -->
|
|
171
|
-
</
|
|
153
|
+
</slot>
|
|
172
154
|
</div>
|
|
173
155
|
<!-- end CmdAddressData ---------------------------------------------------------------------------------------- -->
|
|
174
156
|
</template>
|
|
175
157
|
|
|
176
158
|
<script>
|
|
177
159
|
// import functions
|
|
178
|
-
import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js"
|
|
160
|
+
import { buildComponentPath, updateHandlerProvider } from "../utils/editmode.js"
|
|
179
161
|
|
|
180
162
|
// import mixins
|
|
181
163
|
import EditMode from "../mixins/EditMode.vue"
|
|
@@ -183,6 +165,11 @@ import EditMode from "../mixins/EditMode.vue"
|
|
|
183
165
|
export default {
|
|
184
166
|
name: "CmdAddressData",
|
|
185
167
|
mixins: [EditMode],
|
|
168
|
+
inject: {
|
|
169
|
+
editModeContext: {
|
|
170
|
+
default: null
|
|
171
|
+
}
|
|
172
|
+
},
|
|
186
173
|
props: {
|
|
187
174
|
/**
|
|
188
175
|
* style component as a box
|
|
@@ -192,23 +179,16 @@ export default {
|
|
|
192
179
|
default: false
|
|
193
180
|
},
|
|
194
181
|
/**
|
|
195
|
-
*
|
|
182
|
+
* define orientation for component-content
|
|
196
183
|
*/
|
|
197
|
-
|
|
198
|
-
type: Boolean,
|
|
199
|
-
default: false
|
|
200
|
-
},
|
|
201
|
-
/**
|
|
202
|
-
*
|
|
203
|
-
*/
|
|
204
|
-
contentOrientation: {
|
|
184
|
+
contentOrientation: {
|
|
205
185
|
type: String,
|
|
206
186
|
default: "vertical",
|
|
207
187
|
validator(value) {
|
|
208
188
|
return value === "vertical" ||
|
|
209
189
|
value === "horizontal"
|
|
210
190
|
}
|
|
211
|
-
|
|
191
|
+
},
|
|
212
192
|
/**
|
|
213
193
|
* show an icon (if exists) in front of label-text
|
|
214
194
|
*/
|
|
@@ -276,6 +256,13 @@ export default {
|
|
|
276
256
|
}
|
|
277
257
|
},
|
|
278
258
|
computed: {
|
|
259
|
+
cmdHeadlineProperties() {
|
|
260
|
+
return {
|
|
261
|
+
show: true,
|
|
262
|
+
headlineLevel: 2,
|
|
263
|
+
...this.cmdHeadline
|
|
264
|
+
}
|
|
265
|
+
},
|
|
279
266
|
websiteUrlText() {
|
|
280
267
|
return this.addressData.website?.text.replace("https://", "")
|
|
281
268
|
}
|
|
@@ -355,7 +342,8 @@ export default {
|
|
|
355
342
|
margin-right: calc(var(--default-margin) / 2);
|
|
356
343
|
}
|
|
357
344
|
|
|
358
|
-
.order-city-zip,
|
|
345
|
+
.order-city-zip,
|
|
346
|
+
.order-zip-city {
|
|
359
347
|
display: inline-flex;
|
|
360
348
|
gap: .5rem;
|
|
361
349
|
}
|
|
@@ -1,38 +1,37 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<!-- begin CmdBankAccountData ---------------------------------------------------------------------------------------- -->
|
|
3
3
|
<div :class="['cmd-bank-account-data', {box: styleAsBox}]">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
</template>
|
|
8
|
-
<!-- end slot -->
|
|
9
|
-
|
|
10
|
-
<template v-else>
|
|
11
|
-
<!-- begin CmdHeadline -->
|
|
12
|
-
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline"/>
|
|
13
|
-
<!-- end CmdHeadline -->
|
|
4
|
+
<slot>
|
|
5
|
+
<CmdHeadline v-if="(cmdHeadlineProperties?.show && cmdHeadlineProperties?.headlineText) || editModeContext"
|
|
6
|
+
v-bind="cmdHeadlineProperties" />
|
|
14
7
|
|
|
15
8
|
<!-- begin account data -->
|
|
16
9
|
<dl>
|
|
17
10
|
<template v-for="(entry, index) in accountData" :key="index">
|
|
18
11
|
<dt>{{ entry.text }}</dt>
|
|
12
|
+
|
|
13
|
+
<!-- begin icon to copy data -->
|
|
19
14
|
<dd v-if="allowCopyByClick && entry.allowCopy">
|
|
20
15
|
<span>{{ entry.value }}</span>
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</a>
|
|
16
|
+
<CmdLink
|
|
17
|
+
@click="copyToClipboard(entry.value)"
|
|
18
|
+
v-bind="cmdLinkCopyDataProperties"
|
|
19
|
+
/>
|
|
26
20
|
</dd>
|
|
21
|
+
<!-- end icon to copy data -->
|
|
22
|
+
|
|
27
23
|
<dd v-else :key="index">{{ entry.value }}</dd>
|
|
28
24
|
</template>
|
|
29
25
|
</dl>
|
|
30
26
|
<!-- end account data -->
|
|
31
27
|
|
|
32
28
|
<!-- begin additional information -->
|
|
33
|
-
<
|
|
29
|
+
<CmdParagraph
|
|
30
|
+
v-if="cmdParagraphAdditionalInformationProperties.show && cmdParagraphAdditionalInformationProperties.text"
|
|
31
|
+
v-bind="cmdParagraphAdditionalInformationProperties"
|
|
32
|
+
/>
|
|
34
33
|
<!-- end additional information -->
|
|
35
|
-
</
|
|
34
|
+
</slot>
|
|
36
35
|
</div>
|
|
37
36
|
<!-- end CmdBankAccountData ---------------------------------------------------------------------------------------- -->
|
|
38
37
|
</template>
|
|
@@ -40,6 +39,11 @@
|
|
|
40
39
|
<script>
|
|
41
40
|
export default {
|
|
42
41
|
name: "CmdBankAccountData",
|
|
42
|
+
inject: {
|
|
43
|
+
editModeContext: {
|
|
44
|
+
default: null
|
|
45
|
+
}
|
|
46
|
+
},
|
|
43
47
|
props: {
|
|
44
48
|
/**
|
|
45
49
|
* style component as a box
|
|
@@ -48,13 +52,6 @@ export default {
|
|
|
48
52
|
type: Boolean,
|
|
49
53
|
default: false
|
|
50
54
|
},
|
|
51
|
-
/**
|
|
52
|
-
* activate if you want to use slot instead for given structure
|
|
53
|
-
*/
|
|
54
|
-
useSlot: {
|
|
55
|
-
type: Boolean,
|
|
56
|
-
default: false
|
|
57
|
-
},
|
|
58
55
|
/**
|
|
59
56
|
* bank account data
|
|
60
57
|
*
|
|
@@ -79,20 +76,21 @@ export default {
|
|
|
79
76
|
required: false
|
|
80
77
|
},
|
|
81
78
|
/**
|
|
82
|
-
*
|
|
79
|
+
* properties for CmdLink to copy data to dashboard
|
|
83
80
|
*
|
|
84
81
|
* @requiredForAccessibility: partial
|
|
85
82
|
*/
|
|
86
|
-
|
|
83
|
+
cmdLinkCopyData: {
|
|
87
84
|
type: Object,
|
|
88
|
-
|
|
89
|
-
return {
|
|
90
|
-
iconClass: "icon-file-copy",
|
|
91
|
-
tooltip: "Copy data to clipboard!",
|
|
92
|
-
iconType: "auto"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
85
|
+
required: false
|
|
95
86
|
},
|
|
87
|
+
/**
|
|
88
|
+
* properties for CmdParagraph for additional information shown at bottom
|
|
89
|
+
*/
|
|
90
|
+
cmdParagraphAdditionalInformation: {
|
|
91
|
+
type: Object,
|
|
92
|
+
required: false
|
|
93
|
+
},
|
|
96
94
|
/**
|
|
97
95
|
* properties for CmdHeadline-component
|
|
98
96
|
*/
|
|
@@ -101,6 +99,30 @@ export default {
|
|
|
101
99
|
required: false
|
|
102
100
|
}
|
|
103
101
|
},
|
|
102
|
+
computed: {
|
|
103
|
+
cmdHeadlineProperties() {
|
|
104
|
+
return {
|
|
105
|
+
show: true,
|
|
106
|
+
headlineLevel: 2,
|
|
107
|
+
...this.cmdHeadline
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
cmdParagraphAdditionalInformationProperties() {
|
|
111
|
+
return {
|
|
112
|
+
show: true,
|
|
113
|
+
...this.cmdParagraphAdditionalInformation
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
cmdLinkCopyDataProperties() {
|
|
117
|
+
return {
|
|
118
|
+
icon: {
|
|
119
|
+
iconClass: "icon-file-copy",
|
|
120
|
+
tooltip: "Copy data to clipboard!"
|
|
121
|
+
},
|
|
122
|
+
...this.cmdLinkCopyData
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
104
126
|
methods: {
|
|
105
127
|
copyToClipboard(entry) {
|
|
106
128
|
// get data, remove spaces and copy to clipboard
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<!-- begin CmdBasicForm---------------------------------------------------------------------------------------- -->
|
|
3
3
|
<div class="cmd-basic-form">
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
<CmdHeadline
|
|
5
|
+
v-if="(cmdHeadlineProperties?.show && cmdHeadlineProperties?.headlineText) || editModeContext"
|
|
6
|
+
v-bind="cmdHeadlineProperties"
|
|
7
|
+
/>
|
|
7
8
|
|
|
8
|
-
<!-- begin CmdForm -->
|
|
9
9
|
<CmdForm
|
|
10
10
|
@submit="onSubmit"
|
|
11
11
|
:class="{'send-success': sendSuccessfully}"
|
|
12
12
|
novalidate="novalidate"
|
|
13
|
-
v-bind="
|
|
13
|
+
v-bind="cmdFormProperties"
|
|
14
14
|
:legend="legend"
|
|
15
15
|
:submitButton="submitButtonProperties"
|
|
16
16
|
:formAction="formAction"
|
|
@@ -257,7 +257,6 @@
|
|
|
257
257
|
<button class="button" type="button" @click="onSuccess">On Success</button>
|
|
258
258
|
-->
|
|
259
259
|
</CmdForm>
|
|
260
|
-
<!-- end CmdForm -->
|
|
261
260
|
</div>
|
|
262
261
|
<!-- end CmdBasicForm---------------------------------------------------------------------------------------- -->
|
|
263
262
|
</template>
|
|
@@ -470,6 +469,19 @@ export default {
|
|
|
470
469
|
})
|
|
471
470
|
},
|
|
472
471
|
computed: {
|
|
472
|
+
cmdFormProperties() {
|
|
473
|
+
return {
|
|
474
|
+
method: "POST",
|
|
475
|
+
...this.cmdForm
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
cmdHeadlineProperties() {
|
|
479
|
+
return {
|
|
480
|
+
show: true,
|
|
481
|
+
headlineLevel: 3,
|
|
482
|
+
...this.cmdHeadline
|
|
483
|
+
}
|
|
484
|
+
},
|
|
473
485
|
submitButtonProperties() {
|
|
474
486
|
return {
|
|
475
487
|
iconClass: "icon-message-send",
|
|
@@ -552,7 +564,7 @@ export default {
|
|
|
552
564
|
customSubmitFormData.set(this.configuration[configurationEntries[i]].name, this.formData[configurationEntries[i]].value)
|
|
553
565
|
}
|
|
554
566
|
|
|
555
|
-
fetch(this.formAction, {method: this.
|
|
567
|
+
fetch(this.formAction, {method: this.cmdFormProperties?.formMethod || "POST", body: customSubmitFormData}).then((response) => {
|
|
556
568
|
if(response.ok) {
|
|
557
569
|
this.sendSuccessfully = true
|
|
558
570
|
this.$refs.form.showMessage("success", this.getMessage("basic_form.system_message.success.message_sent_successfully"))
|
|
@@ -3,30 +3,22 @@
|
|
|
3
3
|
<ul class="cmd-breadcrumbs">
|
|
4
4
|
<li v-if="breadcrumbLabel" class="breadcrumb-label">{{ breadcrumbLabel }}</li>
|
|
5
5
|
<li v-for="(link, index) in breadcrumbLinks || []" :key="index">
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<!--
|
|
14
|
-
|
|
15
|
-
<!-- begin type 'router' -->
|
|
16
|
-
<router-link v-else-if="link.type === 'router'" :to="getRoute(link)">
|
|
17
|
-
<!-- begin CmdIcon -->
|
|
18
|
-
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
|
19
|
-
<!-- end CmdIcon -->
|
|
20
|
-
<span v-if="link.text">{{ link.text }}</span>
|
|
21
|
-
</router-link>
|
|
22
|
-
<!-- end type 'router' -->
|
|
23
|
-
|
|
6
|
+
<CmdLink
|
|
7
|
+
v-if="!link.type || link.type === 'href' || link.type === 'router'"
|
|
8
|
+
:linkType="link.type"
|
|
9
|
+
:path="link.type === 'href' ? link.path : getRoute(link)"
|
|
10
|
+
:icon="{ iconClass: link.iconClass, type: link.iconType }"
|
|
11
|
+
:text="link.text"
|
|
12
|
+
/>
|
|
13
|
+
<!-- begin no link (recommended for active page)-->
|
|
24
14
|
<span v-else>
|
|
25
15
|
<!-- begin CmdIcon -->
|
|
26
16
|
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
|
27
17
|
<!-- end CmdIcon -->
|
|
28
18
|
<span v-if="link.text">{{ link.text }}</span>
|
|
29
19
|
</span>
|
|
20
|
+
<!-- end no link (recommended for active page)-->
|
|
21
|
+
|
|
30
22
|
<span class="separator" v-if="index < breadcrumbLinks.length - 1">{{ breadcrumbSeparator }}</span>
|
|
31
23
|
</li>
|
|
32
24
|
</ul>
|
|
@@ -89,15 +81,6 @@ export default {
|
|
|
89
81
|
&.breadcrumb-label {
|
|
90
82
|
margin-right: calc(var(--default-margin) / 2);
|
|
91
83
|
}
|
|
92
|
-
|
|
93
|
-
a {
|
|
94
|
-
display: table; /* do not set to (inline-)flex to avoid icon to be underlined by hover/active/focus */
|
|
95
|
-
text-decoration: none;
|
|
96
|
-
|
|
97
|
-
&:hover, &:active, &:focus {
|
|
98
|
-
text-decoration: underline;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
84
|
}
|
|
102
85
|
}
|
|
103
86
|
|
|
@@ -129,6 +129,9 @@ export default {
|
|
|
129
129
|
display: block;
|
|
130
130
|
max-height: 10rem;
|
|
131
131
|
border: 0; /* overwrite default settings from frontend-framework */
|
|
132
|
+
border-radius: 0; /* overwrite default settings from frontend-framework */
|
|
133
|
+
box-shadow: none; /* overwrite default settings from frontend-framework */
|
|
134
|
+
|
|
132
135
|
}
|
|
133
136
|
|
|
134
137
|
> a {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<!-- begin CmdContainer ---------------------------------------------------------------------------------------- -->
|
|
3
3
|
<div :class="['cmd-container', {box: styleAsBox}]">
|
|
4
4
|
<!-- begin CmdHeadline -->
|
|
5
|
-
<CmdHeadline v-if="
|
|
5
|
+
<CmdHeadline v-if="cmdHeadlineProperties.show" v-bind="cmdHeadlineProperties" />
|
|
6
6
|
<!-- end CmdHeadline -->
|
|
7
7
|
|
|
8
8
|
<div :class="htmlClasses">
|
|
@@ -132,6 +132,13 @@ export default {
|
|
|
132
132
|
}
|
|
133
133
|
},
|
|
134
134
|
computed: {
|
|
135
|
+
cmdHeadlineProperties() {
|
|
136
|
+
return {
|
|
137
|
+
show: true,
|
|
138
|
+
headlineLevel: 2,
|
|
139
|
+
...this.cmdHeadline
|
|
140
|
+
}
|
|
141
|
+
},
|
|
135
142
|
htmlClasses() {
|
|
136
143
|
const htmlClasses = []
|
|
137
144
|
|