comand-component-library 3.3.4 → 3.3.6
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.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/components/CmdAddressData.vue +36 -6
- package/src/components/CmdBackToTopButton.vue +4 -2
- package/src/components/CmdBankAccountData.vue +3 -2
- package/src/components/CmdBox.vue +6 -4
- package/src/components/CmdBoxWrapper.vue +6 -2
- package/src/components/CmdBreadcrumbs.vue +15 -3
- package/src/components/CmdCompanyLogo.vue +0 -2
- package/src/components/CmdFakeSelect.vue +41 -12
- package/src/components/CmdFancyBox.vue +11 -3
- package/src/components/CmdFormElement.vue +30 -6
- package/src/components/CmdFormFilters.vue +17 -8
- package/src/components/CmdHeadline.vue +3 -3
- package/src/components/CmdInputGroup.vue +8 -1
- package/src/components/CmdListOfLinks.vue +9 -3
- package/src/components/CmdListOfRequirements.vue +18 -11
- package/src/components/CmdLoginForm.vue +46 -27
- package/src/components/CmdMainNavigation.vue +30 -10
- package/src/components/CmdMultistepFormProgressBar.vue +15 -3
- package/src/components/CmdPager.vue +10 -2
- package/src/components/CmdShareButtons.vue +9 -3
- package/src/components/CmdSiteHeader.vue +3 -1
- package/src/components/CmdSiteSearch.vue +30 -5
- package/src/components/CmdSystemMessage.vue +10 -5
- package/src/components/CmdTable.vue +12 -2
- package/src/components/CmdTabs.vue +9 -1
- package/src/components/CmdTooltip.vue +6 -2
- package/src/components/CmdUploadForm.vue +116 -47
- package/src/documentation/generated/CmdFakeSelectPropertyDescriptions.json +6 -1
- package/src/documentation/generated/CmdFormFiltersPropertyDescriptions.json +1 -1
- package/src/documentation/generated/CmdHeadlinePropertyDescriptions.json +1 -1
- package/src/documentation/generated/CmdSiteSearchPropertyDescriptions.json +6 -1
- package/src/documentation/generated/CmdUploadFormPropertyDescriptions.json +16 -16
- package/src/mixins/FieldValidation.js +33 -8
package/package.json
CHANGED
@@ -11,7 +11,12 @@
|
|
11
11
|
<!-- begin company -->
|
12
12
|
<dt v-if="addressData.company?.value">
|
13
13
|
<!-- begin CmdIcon -->
|
14
|
-
<CmdIcon
|
14
|
+
<CmdIcon
|
15
|
+
v-if="addressData.company.iconClass && showLabelIcons"
|
16
|
+
:iconClass="addressData.company.iconClass"
|
17
|
+
:type="addressData.company.iconType"
|
18
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.company')"
|
19
|
+
/>
|
15
20
|
<!-- end CmdIcon -->
|
16
21
|
|
17
22
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.company')}}</span>
|
@@ -23,7 +28,12 @@
|
|
23
28
|
<template v-if="addressData.address && addressData.address !== undefined">
|
24
29
|
<dt class="address">
|
25
30
|
<!-- begin CmdIcon -->
|
26
|
-
<CmdIcon
|
31
|
+
<CmdIcon
|
32
|
+
v-if="addressData.address.iconClass && showLabelIcons"
|
33
|
+
:iconClass="addressData.address.iconClass"
|
34
|
+
:type="addressData.address.iconType"
|
35
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.address')"
|
36
|
+
/>
|
27
37
|
<!-- end CmdIcon -->
|
28
38
|
|
29
39
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.address')}}</span>
|
@@ -50,7 +60,12 @@
|
|
50
60
|
<!-- begin telephone -->
|
51
61
|
<dt v-if="addressData.telephone?.value">
|
52
62
|
<!-- begin CmdIcon -->
|
53
|
-
<CmdIcon
|
63
|
+
<CmdIcon
|
64
|
+
v-if="addressData.telephone.iconClass && showLabelIcons"
|
65
|
+
:iconClass="addressData.telephone.iconClass"
|
66
|
+
:type="addressData.telephone.iconType"
|
67
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.telephone')"
|
68
|
+
/>
|
54
69
|
<!-- end CmdIcon -->
|
55
70
|
|
56
71
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.telephone')}}</span>
|
@@ -63,7 +78,12 @@
|
|
63
78
|
<!-- begin mobile phone -->
|
64
79
|
<dt v-if="addressData.mobilephone?.value">
|
65
80
|
<!-- begin CmdIcon -->
|
66
|
-
<CmdIcon
|
81
|
+
<CmdIcon
|
82
|
+
v-if="addressData.mobilephone.iconClass && showLabelIcons"
|
83
|
+
:iconClass="addressData.mobilephone.iconClass"
|
84
|
+
:type="addressData.mobilephone.iconType"
|
85
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.mobile_phone')"
|
86
|
+
/>
|
67
87
|
<!-- end CmdIcon -->
|
68
88
|
|
69
89
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.mobile_phone')}}</span>
|
@@ -76,7 +96,12 @@
|
|
76
96
|
<!-- begin fax -->
|
77
97
|
<dt v-if="addressData.fax?.value">
|
78
98
|
<!-- begin CmdIcon -->
|
79
|
-
<CmdIcon
|
99
|
+
<CmdIcon
|
100
|
+
v-if="addressData.fax.iconClass && showLabelIcons"
|
101
|
+
:iconClass="addressData.fax.iconClass"
|
102
|
+
:type="addressData.fax.iconType"
|
103
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.fax')"
|
104
|
+
/>
|
80
105
|
<!-- end CmdIcon -->
|
81
106
|
|
82
107
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.fax')}}</span>
|
@@ -87,7 +112,12 @@
|
|
87
112
|
<!-- begin email -->
|
88
113
|
<dt v-if="addressData.email?.value">
|
89
114
|
<!-- begin CmdIcon -->
|
90
|
-
<CmdIcon
|
115
|
+
<CmdIcon
|
116
|
+
v-if="addressData.email.iconClass && showLabelIcons"
|
117
|
+
:iconClass="addressData.email.iconClass"
|
118
|
+
:type="addressData.email.iconType"
|
119
|
+
:tooltip="getMessage('cmdaddressdata.labeltext.email')"
|
120
|
+
/>
|
91
121
|
<!-- end CmdIcon -->
|
92
122
|
|
93
123
|
<span v-if="showLabelTexts">{{ getMessage('cmdaddressdata.labeltext.email')}}</span>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<transition name="fade">
|
4
4
|
<a v-if="show" class="cmd-back-to-top-button" href="#" :title="iconBackToTop.tooltip" @click.prevent="onBackToTop">
|
5
5
|
<!-- begin CmdIcon -->
|
6
|
-
<CmdIcon :iconClass="iconBackToTop.iconClass" />
|
6
|
+
<CmdIcon :iconClass="iconBackToTop.iconClass" :type="iconBackToTop.iconType" />
|
7
7
|
<!-- end CmdIcon -->
|
8
8
|
</a>
|
9
9
|
</transition>
|
@@ -37,7 +37,8 @@ export default {
|
|
37
37
|
default: function () {
|
38
38
|
return {
|
39
39
|
iconClass: "icon-single-arrow-up",
|
40
|
-
tooltip: "Back to top"
|
40
|
+
tooltip: "Back to top",
|
41
|
+
iconType: "auto"
|
41
42
|
}
|
42
43
|
}
|
43
44
|
}
|
@@ -82,6 +83,7 @@ export default {
|
|
82
83
|
border: var(--default-border);
|
83
84
|
background: var(--color-scheme-background-color);
|
84
85
|
border-radius: var(--full-circle);
|
86
|
+
line-height: 100%;
|
85
87
|
|
86
88
|
&:hover, &:active, &:focus {
|
87
89
|
border-color: var(--primary-color);
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<span>{{ entry.value }}</span>
|
13
13
|
<a href="#" @click.prevent="copyToClipboard(entry.value)" :title="iconCopy.tooltip">
|
14
14
|
<!-- begin CmdIcon -->
|
15
|
-
<CmdIcon :iconClass="iconCopy.iconClass" />
|
15
|
+
<CmdIcon :iconClass="iconCopy.iconClass" :type="iconCopy.iconType" />
|
16
16
|
<!-- end CmdIcon -->
|
17
17
|
</a>
|
18
18
|
</dd>
|
@@ -72,7 +72,8 @@ export default {
|
|
72
72
|
default() {
|
73
73
|
return {
|
74
74
|
iconClass: "icon-file-copy",
|
75
|
-
tooltip: "Copy data to clipboard!"
|
75
|
+
tooltip: "Copy data to clipboard!",
|
76
|
+
iconType: "auto"
|
76
77
|
}
|
77
78
|
}
|
78
79
|
},
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
<a href="#" @click.prevent="toggleContentVisibility" :title="open ? iconOpen.tooltip : iconClosed.tooltip" class="toggle-icon">
|
13
13
|
<!-- begin CmdIcon -->
|
14
|
-
<CmdIcon :iconClass="[open ? iconOpen.iconClass : iconClosed.iconClass]"
|
14
|
+
<CmdIcon :iconClass="[open ? iconOpen.iconClass : iconClosed.iconClass]" :type="[open ? iconOpen.iconType : iconClosed.iconType]" />
|
15
15
|
<!-- end CmdIcon -->
|
16
16
|
</a>
|
17
17
|
</div>
|
@@ -36,7 +36,7 @@
|
|
36
36
|
<!-- end CmdHeadline -->
|
37
37
|
|
38
38
|
<!-- begin CmdIcon -->
|
39
|
-
<CmdIcon class="toggle-icon" :iconClass="[open ? iconOpen.iconClass : iconClosed.iconClass]"
|
39
|
+
<CmdIcon class="toggle-icon" :iconClass="[open ? iconOpen.iconClass : iconClosed.iconClass]" :type="[open ? iconOpen.iconType : iconClosed.iconType]" />
|
40
40
|
<!-- end CmdIcon -->
|
41
41
|
</a>
|
42
42
|
<!-- end header for collapsible -->
|
@@ -254,7 +254,8 @@ export default {
|
|
254
254
|
default: function () {
|
255
255
|
return {
|
256
256
|
iconClass: "icon-single-arrow-up",
|
257
|
-
tooltip: "Close content"
|
257
|
+
tooltip: "Close content",
|
258
|
+
iconType: "auto"
|
258
259
|
}
|
259
260
|
},
|
260
261
|
},
|
@@ -268,7 +269,8 @@ export default {
|
|
268
269
|
default: function () {
|
269
270
|
return {
|
270
271
|
iconClass: "icon-single-arrow-down",
|
271
|
-
tooltip: "Show content"
|
272
|
+
tooltip: "Show content",
|
273
|
+
iconType: "auto"
|
272
274
|
}
|
273
275
|
}
|
274
276
|
},
|
@@ -7,10 +7,14 @@
|
|
7
7
|
|
8
8
|
<div v-if="allowUserToToggleOrientation || allowTogglingCollapsingBoxes" class="options-wrapper">
|
9
9
|
<a v-if="allowTogglingCollapsingBoxes" href="#" @click.prevent="toggleCollapsingBoxes" :title="collapsingBoxesOpen ? collapseBoxesIcon.tooltip : expandBoxesIcon.tooltip">
|
10
|
-
|
10
|
+
<!-- begin CmdIcon -->
|
11
|
+
<CmdIcon :iconClass="collapsingBoxesOpen ? expandBoxesIcon.iconClass : collapseBoxesIcon.iconClass" :type="oneBoxPerRow ? iconGridView.iconType : iconRowView.iconType" />
|
12
|
+
<!-- end CmdIcon -->
|
11
13
|
</a>
|
12
14
|
<a v-if="allowUserToToggleOrientation" href="#" @click.prevent="oneBoxPerRow = !oneBoxPerRow" :title="oneBoxPerRow ? iconRowView.tooltip : iconGridView.tooltip">
|
13
|
-
|
15
|
+
<!-- begin CmdIcon -->
|
16
|
+
<CmdIcon :iconClass="oneBoxPerRow ? iconGridView.iconClass : iconRowView.iconClass" :type="oneBoxPerRow ? iconGridView.iconType : iconRowView.iconType" />
|
17
|
+
<!-- end CmdIcon -->
|
14
18
|
</a>
|
15
19
|
</div>
|
16
20
|
</div>
|
@@ -4,20 +4,26 @@
|
|
4
4
|
<li v-for="(link, index) in breadcrumbLinks || []" :key="index">
|
5
5
|
<!-- begin type 'href' -->
|
6
6
|
<a v-if="link.type === 'href'" :href="link.path">
|
7
|
-
|
7
|
+
<!-- begin CmdIcon -->
|
8
|
+
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
9
|
+
<!-- end CmdIcon -->
|
8
10
|
<span v-if="link.text">{{ link.text }}</span>
|
9
11
|
</a>
|
10
12
|
<!-- end type 'href' -->
|
11
13
|
|
12
14
|
<!-- begin type 'router' -->
|
13
15
|
<router-link v-else-if="link.type === 'router'" :to="getRoute(link)">
|
14
|
-
|
16
|
+
<!-- begin CmdIcon -->
|
17
|
+
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
18
|
+
<!-- end CmdIcon -->
|
15
19
|
<span v-if="link.text">{{ link.text }}</span>
|
16
20
|
</router-link>
|
17
21
|
<!-- end type 'router' -->
|
18
22
|
|
19
23
|
<span v-else>
|
20
|
-
|
24
|
+
<!-- begin CmdIcon -->
|
25
|
+
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
26
|
+
<!-- end CmdIcon -->
|
21
27
|
<span v-if="link.text">{{ link.text }}</span>
|
22
28
|
</span>
|
23
29
|
<span v-if="index < breadcrumbLinks.length - 1">{{ breadcrumbSeparator }}</span>
|
@@ -29,8 +35,14 @@
|
|
29
35
|
// import functions
|
30
36
|
import {getRoute} from "../utilities.js"
|
31
37
|
|
38
|
+
// import components
|
39
|
+
import CmdIcon from "./CmdIcon"
|
40
|
+
|
32
41
|
export default {
|
33
42
|
name: "CmdBreadcrumbs",
|
43
|
+
components: {
|
44
|
+
CmdIcon
|
45
|
+
},
|
34
46
|
props: {
|
35
47
|
/**
|
36
48
|
* label in front/left of breadcrumbs
|
@@ -35,11 +35,13 @@
|
|
35
35
|
<a v-if="$attrs.required || inputRequirements.length"
|
36
36
|
href="#"
|
37
37
|
@click.prevent
|
38
|
-
:class="getStatusIconClass"
|
39
38
|
:title="!useCustomTooltip ? getValidationMessage : ''"
|
40
39
|
:aria-errormessage="tooltipId"
|
41
40
|
aria-live="assertive"
|
42
41
|
:id="tooltipId">
|
42
|
+
<!-- begin CmdIcon -->
|
43
|
+
<CmdIcon :iconClass="getStatusIconClass" />
|
44
|
+
<!-- end CmdIcon -->
|
43
45
|
</a>
|
44
46
|
</span>
|
45
47
|
<!-- end label -->
|
@@ -57,7 +59,9 @@
|
|
57
59
|
<!-- end show color-box -->
|
58
60
|
|
59
61
|
<!-- begin optional icon -->
|
60
|
-
|
62
|
+
<!-- begin CmdIcon -->
|
63
|
+
<CmdIcon v-if="optionIcon?.iconClass" :type="optionIcon?.iconType" :class="optionIcon?.iconClass" />
|
64
|
+
<!-- end CmdIcon -->
|
61
65
|
<!-- end optional icon -->
|
62
66
|
|
63
67
|
<!-- begin text -->
|
@@ -65,7 +69,14 @@
|
|
65
69
|
<!-- end text -->
|
66
70
|
|
67
71
|
<!-- begin custom dropdown-icon -->
|
68
|
-
|
72
|
+
<!-- begin CmdIcon -->
|
73
|
+
<CmdIcon
|
74
|
+
v-if="iconDropdown"
|
75
|
+
:iconClass="iconDropdown.iconClass"
|
76
|
+
:type="iconDropdown.iconType"
|
77
|
+
:title="iconDropdown.tooltip"
|
78
|
+
/>
|
79
|
+
<!-- end CmdIcon -->
|
69
80
|
<!-- end custom dropdown-icon -->
|
70
81
|
</a>
|
71
82
|
<!-- end default/selected-option-->
|
@@ -79,14 +90,18 @@
|
|
79
90
|
:class="{'active' : option.value === modelValue}"
|
80
91
|
:title="option.tooltip"
|
81
92
|
>
|
82
|
-
|
93
|
+
<!-- begin CmdIcon -->
|
94
|
+
<CmdIcon v-if="option.iconClass" :iconClass="option.iconClass" :type="option.iconType" />
|
95
|
+
<!-- end CmdIcon -->
|
83
96
|
<span v-if="option.text">{{ option.text }}</span>
|
84
97
|
</a>
|
85
98
|
<!-- end type 'href' -->
|
86
99
|
|
87
100
|
<!-- begin type 'router' -->
|
88
101
|
<router-link v-if="optionLinkType === 'router'" to="#" @click.prevent="selectOption(option.value)" :class="{'active' : option.value === modelValue}">
|
89
|
-
|
102
|
+
<!-- begin CmdIcon -->
|
103
|
+
<CmdIcon v-if="option.iconClass" :iconClass="option.iconClass" :type="option.iconType" />
|
104
|
+
<!-- end CmdIcon -->
|
90
105
|
<span>{{ option.text }}</span>
|
91
106
|
</router-link>
|
92
107
|
<!-- end type 'router' -->
|
@@ -119,13 +134,15 @@
|
|
119
134
|
<span class="color" :style="'background: ' + option.value"></span>
|
120
135
|
<span>{{ option.text }}</span>
|
121
136
|
</a>
|
122
|
-
<!-- end color-
|
137
|
+
<!-- end color-boxes -->
|
123
138
|
</li>
|
124
139
|
|
125
140
|
<!-- begin (de)select all options -->
|
126
141
|
<li v-if="showSelectAllOptions && type === 'checkboxOptions'" class="select-all-options">
|
127
142
|
<a href="#" @click.prevent="toggleAllOptions">
|
128
|
-
|
143
|
+
<!-- begin CmdIcon -->
|
144
|
+
<CmdIcon :iconClass="selectAllOptionsIcon.iconClass" :type="selectAllOptionsIcon.iconType" />
|
145
|
+
<!-- end CmdIcon -->
|
129
146
|
<span>{{ selectAllOptionsText }}</span>
|
130
147
|
</a>
|
131
148
|
</li>
|
@@ -152,6 +169,7 @@ import Identifier from "../mixins/Identifier"
|
|
152
169
|
import Tooltip from "../mixins/Tooltip"
|
153
170
|
|
154
171
|
// import components
|
172
|
+
import CmdIcon from "./CmdIcon"
|
155
173
|
import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
|
156
174
|
|
157
175
|
export default {
|
@@ -165,6 +183,7 @@ export default {
|
|
165
183
|
Tooltip
|
166
184
|
],
|
167
185
|
components: {
|
186
|
+
CmdIcon,
|
168
187
|
CmdTooltipForInputElements
|
169
188
|
},
|
170
189
|
data() {
|
@@ -234,12 +253,13 @@ export default {
|
|
234
253
|
* @requiredForAccessibility: partial
|
235
254
|
* @defaultIcon: icon-single-arrow-down
|
236
255
|
*/
|
237
|
-
|
256
|
+
iconDropdown: {
|
238
257
|
type: Object,
|
239
258
|
default() {
|
240
259
|
return {
|
241
260
|
iconClass: "icon-single-arrow-down",
|
242
|
-
tooltip: "Toggle dropdown visibility"
|
261
|
+
tooltip: "Toggle dropdown visibility",
|
262
|
+
iconType: "auto"
|
243
263
|
}
|
244
264
|
}
|
245
265
|
},
|
@@ -272,6 +292,18 @@ export default {
|
|
272
292
|
textPleaseSelect: {
|
273
293
|
type: String,
|
274
294
|
default: "Please select\u2026"
|
295
|
+
},
|
296
|
+
/**
|
297
|
+
* set icon for "select all"-option
|
298
|
+
*/
|
299
|
+
iconSelectAllOptions: {
|
300
|
+
type: Object,
|
301
|
+
default() {
|
302
|
+
return {
|
303
|
+
iconClass: "icon-check",
|
304
|
+
iconType: "auto"
|
305
|
+
}
|
306
|
+
}
|
275
307
|
}
|
276
308
|
},
|
277
309
|
computed: {
|
@@ -347,9 +379,6 @@ export default {
|
|
347
379
|
return "Deselect all options"
|
348
380
|
}
|
349
381
|
return "Select all options"
|
350
|
-
},
|
351
|
-
selectAllOptionsIcon() {
|
352
|
-
return "icon-check"
|
353
382
|
}
|
354
383
|
},
|
355
384
|
mounted() {
|
@@ -23,18 +23,22 @@
|
|
23
23
|
<a v-if="fancyboxOptions.printButtons && fancyboxOptions.printButtons.color && fancyboxOptions.printButtons.color.show"
|
24
24
|
href="#"
|
25
25
|
class="button primary"
|
26
|
-
:class="fancyboxOptions.printButtons.color.iconClass"
|
27
26
|
:title="fancyboxOptions.printButtons.color.tooltip"
|
28
27
|
id="print-color"
|
29
28
|
@click.prevent="printInGrayscale = false">
|
29
|
+
<!-- begin CmdIcon -->
|
30
|
+
<CmdIcon :iconClass="fancyboxOptions.printButtons.color.iconClass" :type="fancyboxOptions.printButtons.color.iconType" />
|
31
|
+
<!-- end CmdIcon -->
|
30
32
|
</a>
|
31
33
|
<a v-if="fancyboxOptions.printButtons && fancyboxOptions.printButtons.grayscale && fancyboxOptions.printButtons.grayscale.show"
|
32
34
|
href="#"
|
33
35
|
class="button primary"
|
34
|
-
:class="fancyboxOptions.printButtons.grayscale.iconClass"
|
35
36
|
:title="fancyboxOptions.printButtons.grayscale.tooltip"
|
36
37
|
id="print-grayscale"
|
37
38
|
@click.prevent="printInGrayscale = true">
|
39
|
+
<!-- begin CmdIcon -->
|
40
|
+
<CmdIcon :iconClass="fancyboxOptions.printButtons.grayscale.iconClass" :type="fancyboxOptions.printButtons.grayscale.iconType" />
|
41
|
+
<!-- end CmdIcon -->
|
38
42
|
</a>
|
39
43
|
<!-- end print buttons -->
|
40
44
|
|
@@ -43,10 +47,12 @@
|
|
43
47
|
href="#"
|
44
48
|
class="button primary"
|
45
49
|
id="close-dialog"
|
46
|
-
:class="fancyboxOptions.closeIcon.iconClass"
|
47
50
|
:title="fancyboxOptions.closeIcon.tooltip"
|
48
51
|
ref="close-dialog"
|
49
52
|
@click.prevent="close">
|
53
|
+
<!-- begin CmdIcon -->
|
54
|
+
<CmdIcon :iconClass="fancyboxOptions.closeIcon.iconClass" :type="fancyboxOptions.closeIcon.iconType" />
|
55
|
+
<!-- end CmdIcon -->
|
50
56
|
</a>
|
51
57
|
<!-- end close-icon -->
|
52
58
|
</div>
|
@@ -105,6 +111,7 @@ import Identifier from "../mixins/Identifier"
|
|
105
111
|
|
106
112
|
// import components
|
107
113
|
import CmdHeadline from "./CmdHeadline"
|
114
|
+
import CmdIcon from "./CmdIcon"
|
108
115
|
import CmdSlideButton from "./CmdSlideButton.vue"
|
109
116
|
import CmdThumbnailScroller from './CmdThumbnailScroller.vue'
|
110
117
|
|
@@ -122,6 +129,7 @@ const FancyBox = defineComponent({
|
|
122
129
|
name: "CmdFancyBox",
|
123
130
|
components: {
|
124
131
|
CmdHeadline,
|
132
|
+
CmdIcon,
|
125
133
|
CmdSlideButton,
|
126
134
|
CmdThumbnailScroller
|
127
135
|
},
|
@@ -47,11 +47,13 @@
|
|
47
47
|
<a v-if="$attrs.required || inputRequirements.length"
|
48
48
|
href="#"
|
49
49
|
@click.prevent
|
50
|
-
:class="getStatusIconClass"
|
51
50
|
:title="validationTooltip"
|
52
51
|
:aria-errormessage="tooltipId"
|
53
52
|
aria-live="assertive"
|
54
53
|
:id="tooltipId">
|
54
|
+
<!-- begin CmdIcon -->
|
55
|
+
<CmdIcon :iconClass="getStatusIconClass" />
|
56
|
+
<!-- end CmdIcon -->
|
55
57
|
</a>
|
56
58
|
</span>
|
57
59
|
<!-- end label-text (+ required asterisk) -->
|
@@ -84,12 +86,14 @@
|
|
84
86
|
<!-- begin show-password-icon -->
|
85
87
|
<a v-if="$attrs.type === 'password'"
|
86
88
|
href="#"
|
87
|
-
:class="['place-inside', iconPasswordVisible.iconClass]"
|
88
89
|
@mousedown.prevent="showPassword"
|
89
90
|
@mouseup.prevent="hidePassword"
|
90
91
|
@mouseleave.prevent="hidePassword"
|
91
92
|
@click.prevent
|
92
93
|
:title="iconPasswordVisible.tooltip">
|
94
|
+
<!-- begin CmdIcon -->
|
95
|
+
<CmdIcon :iconClass="['place-inside', iconPasswordVisible.iconClass]" />
|
96
|
+
<!-- end CmdIcon -->
|
93
97
|
</a>
|
94
98
|
<!-- end show-password-icon -->
|
95
99
|
|
@@ -187,9 +191,15 @@
|
|
187
191
|
:value="modelValue"
|
188
192
|
/>
|
189
193
|
<a v-if="showSearchButton" href="#" :class="['button no-flex', {disabled: $attrs.disabled}]" :title="iconSearch.tooltip" @click.prevent="executeSearch">
|
190
|
-
|
194
|
+
<!-- begin CmdIcon -->
|
195
|
+
<CmdIcon :iconClass="iconSearch.iconClass" />
|
196
|
+
<!-- end CmdIcon -->
|
197
|
+
</a>
|
198
|
+
<a v-if="iconDelete.show" href="#" @click.prevent="$emit('update:modelValue', '')" :title="iconDelete.tooltip">
|
199
|
+
<!-- begin CmdIcon -->
|
200
|
+
<CmdIcon :iconClass="iconDelete.iconClass" :type="iconDelete.iconType" />
|
201
|
+
<!-- end CmdIcon -->
|
191
202
|
</a>
|
192
|
-
<a v-if="iconDelete.show" href="#" @click.prevent="$emit('update:modelValue', '')" :class="iconDelete.iconClass" :title="iconDelete.tooltip"></a>
|
193
203
|
</span>
|
194
204
|
</template>
|
195
205
|
</label>
|
@@ -197,12 +207,24 @@
|
|
197
207
|
|
198
208
|
<!-- begin button -->
|
199
209
|
<button v-else class="button" v-bind="buttonAttrs">
|
200
|
-
|
210
|
+
<!-- begin CmdIcon -->
|
211
|
+
<CmdIcon
|
212
|
+
v-if="nativeButton?.icon?.show && (nativeButton?.icon?.position === 'before' || !nativeButton?.icon?.position)"
|
213
|
+
:iconClass="nativeButton?.icon?.iconClass"
|
214
|
+
:type="nativeButton?.icon?.iconType"
|
215
|
+
/>
|
216
|
+
<!-- end CmdIcon -->
|
201
217
|
<span v-if="nativeButton?.icon && nativeButton?.text">{{ nativeButton.text }}</span>
|
202
218
|
<template v-else>
|
203
219
|
{{ nativeButton.text }}
|
204
220
|
</template>
|
205
|
-
|
221
|
+
<!-- begin CmdIcon -->
|
222
|
+
<CmdIcon
|
223
|
+
v-if="nativeButton?.icon?.show && nativeButton?.icon?.position === 'after'"
|
224
|
+
:iconClass="nativeButton?.icon?.iconClass"
|
225
|
+
:type="nativeButton?.icon?.iconType"
|
226
|
+
/>
|
227
|
+
<!-- end CmdIcon -->
|
206
228
|
</button>
|
207
229
|
<!-- end button -->
|
208
230
|
</template>
|
@@ -216,6 +238,7 @@ import Identifier from "../mixins/Identifier.js"
|
|
216
238
|
import Tooltip from "../mixins/Tooltip.js"
|
217
239
|
|
218
240
|
// import components
|
241
|
+
import CmdIcon from "./CmdIcon"
|
219
242
|
import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
|
220
243
|
|
221
244
|
const TYPES_WITHOUT_MAXLENGTH = ["color", "date", "datetime-local", "file", "number", "range"]
|
@@ -224,6 +247,7 @@ export default {
|
|
224
247
|
inheritAttrs: false,
|
225
248
|
name: "CmdFormElement",
|
226
249
|
components: {
|
250
|
+
CmdIcon,
|
227
251
|
CmdTooltipForInputElements
|
228
252
|
},
|
229
253
|
mixins: [
|
@@ -2,20 +2,27 @@
|
|
2
2
|
<ul v-if="options.length" class="cmd-form-filters">
|
3
3
|
<li v-if="options.length > 1">
|
4
4
|
<a href="#" @click.prevent="deleteAllFilters">
|
5
|
-
|
5
|
+
<!-- begin CmdIcon -->
|
6
|
+
<CmdIcon v-if="linkDeleteAllFilters.icon && linkDeleteAllFilters.icon.show" :iconClass="linkDeleteAllFilters.icon.iconClass" :title="linkDeleteAllFilters.icon.tooltip" />
|
7
|
+
<!-- end CmdIcon -->
|
6
8
|
<span v-if="linkDeleteAllFilters.text">{{ linkDeleteAllFilters.text }}</span>
|
7
9
|
</a>
|
8
10
|
</li>
|
9
11
|
<li v-for="(option, index) in options" :key="index">
|
10
|
-
<a href="#" @click.prevent="deleteClickedFilter(index)" :title="
|
12
|
+
<a href="#" @click.prevent="deleteClickedFilter(index)" :title="deleteFilterIcon.tooltip">
|
11
13
|
<span>{{ selectedOptionsName(option) }}</span>
|
12
|
-
|
14
|
+
<!-- begin CmdIcon -->
|
15
|
+
<CmdIcon :iconClass="deleteFilterIcon.iconClass" :type="deleteFilterIcon.iconType" />
|
16
|
+
<!-- end CmdIcon -->
|
13
17
|
</a>
|
14
18
|
</li>
|
15
19
|
</ul>
|
16
20
|
</template>
|
17
21
|
|
18
22
|
<script>
|
23
|
+
// import components
|
24
|
+
import CmdIcon from "./CmdIcon"
|
25
|
+
|
19
26
|
export default {
|
20
27
|
name: "CmdFormFilters",
|
21
28
|
data() {
|
@@ -23,6 +30,9 @@ export default {
|
|
23
30
|
options: []
|
24
31
|
}
|
25
32
|
},
|
33
|
+
components: {
|
34
|
+
CmdIcon
|
35
|
+
},
|
26
36
|
props: {
|
27
37
|
/**
|
28
38
|
* model-value to support v-model
|
@@ -54,14 +64,13 @@ export default {
|
|
54
64
|
*
|
55
65
|
* @requiredForAccessibility: partial
|
56
66
|
*/
|
57
|
-
|
67
|
+
deleteFilterIcon: {
|
58
68
|
type: Object,
|
59
69
|
default() {
|
60
70
|
return {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
}
|
71
|
+
iconClass: "icon-error-circle",
|
72
|
+
tooltip: "Delete this filter",
|
73
|
+
type: "auto"
|
65
74
|
}
|
66
75
|
}
|
67
76
|
},
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div :class="['cmd-headline', { 'has-pre-headline-text': preHeadlineText, 'has-icon': iconClass}]">
|
3
3
|
<!-- begin CmdIcon -->
|
4
|
-
<CmdIcon v-if="
|
4
|
+
<CmdIcon v-if="headlineIcon" :iconClass="headlineIcon.iconClass" :type="headlineIcon.iconType" />
|
5
5
|
<!-- end CmdIcon -->
|
6
6
|
|
7
7
|
<div v-if="preHeadlineText">
|
@@ -54,8 +54,8 @@ export default {
|
|
54
54
|
/**
|
55
55
|
* icon-class for icon shown left/before headline
|
56
56
|
*/
|
57
|
-
|
58
|
-
type:
|
57
|
+
headlineIcon: {
|
58
|
+
type: Object,
|
59
59
|
required: false
|
60
60
|
}
|
61
61
|
},
|
@@ -37,6 +37,9 @@
|
|
37
37
|
:aria-errormessage="tooltipId"
|
38
38
|
aria-live="assertive"
|
39
39
|
:id="tooltipId">
|
40
|
+
<!-- begin CmdIcon -->
|
41
|
+
<CmdIcon :iconClass="getStatusIconClass" />
|
42
|
+
<!-- end CmdIcon -->
|
40
43
|
</a>
|
41
44
|
</span>
|
42
45
|
<span v-if="!useSlot" :class="['flex-container', {'no-flex': !stretchHorizontally, 'no-gap': multipleSwitch}]">
|
@@ -50,7 +53,9 @@
|
|
50
53
|
:disabled="disabled"
|
51
54
|
:class="{'replace-input-type': replaceInputType, 'toggle-switch': toggleSwitch}"
|
52
55
|
/>
|
53
|
-
|
56
|
+
<!-- begin CmdIcon -->
|
57
|
+
<CmdIcon v-if="multipleSwitch && inputElement.iconClass" :iconClass="inputElement.iconClass" :type="inputElement.iconType" />
|
58
|
+
<!-- end CmdIcon -->
|
54
59
|
<span v-if="inputElement.labelText">{{ inputElement.labelText }}</span>
|
55
60
|
</label>
|
56
61
|
</span>
|
@@ -72,10 +77,12 @@ import Identifier from "../mixins/Identifier"
|
|
72
77
|
import Tooltip from "../mixins/Tooltip.js"
|
73
78
|
|
74
79
|
// import components
|
80
|
+
import CmdIcon from "./CmdIcon"
|
75
81
|
import CmdTooltipForInputElements from "./CmdTooltipForInputElements"
|
76
82
|
|
77
83
|
export default {
|
78
84
|
components: {
|
85
|
+
CmdIcon,
|
79
86
|
CmdTooltipForInputElements
|
80
87
|
},
|
81
88
|
mixins: [
|