comand-component-library 3.3.5 → 3.3.6
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/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/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 -8
- package/src/components/CmdMultistepFormProgressBar.vue +15 -3
- package/src/components/CmdPager.vue +10 -2
- package/src/components/CmdShareButtons.vue +9 -3
- 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: [
|