comand-component-library 3.1.91 → 3.1.92
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/App.vue +36 -34
- package/src/assets/styles/global-styles.scss +0 -1
- package/src/components/CmdBox.vue +3 -2
- package/src/components/CmdCookieDisclaimer.vue +19 -3
- package/src/components/CmdFormElement.vue +12 -3
- package/src/components/CmdLoginForm.vue +80 -103
- package/src/components/CmdNewsletterSubscription.vue +8 -2
- package/src/components/{CmdBoxSiteSearch.vue → CmdSiteSearch.vue} +32 -12
- package/src/components/CmdTooltipForInputElements.vue +1 -19
- package/src/documentation/generated/CmdLoginFormPropertyDescriptions.json +3 -3
- package/src/documentation/generated/CmdSiteSearchPropertyDescriptions.json +79 -0
- package/src/documentation/generated/CmdTooltipForInputElementsPropertyDescriptions.json +1 -6
- package/src/index.js +1 -1
- package/src/mixins/CmdFormElement/DefaultMessageProperties.js +2 -1
- package/src/mixins/FieldValidation.js +11 -6
@@ -1,8 +1,8 @@
|
|
1
1
|
<template>
|
2
2
|
<fieldset class="cmd-box-site-search flex-container">
|
3
3
|
<!-- begin legend -->
|
4
|
-
<legend
|
5
|
-
<!--
|
4
|
+
<legend :class="{'hidden' : !showLegend}">{{ textLegend }}</legend>
|
5
|
+
<!-- end legend -->
|
6
6
|
|
7
7
|
<!-- begin CmdHeadline -->
|
8
8
|
<CmdHeadline
|
@@ -12,20 +12,21 @@
|
|
12
12
|
<!-- end CmdHeadline -->
|
13
13
|
|
14
14
|
<!-- begin form-elements -->
|
15
|
-
<div class="flex-container">
|
15
|
+
<div class="flex-container align-bottom">
|
16
16
|
<!-- begin CmdFormElement for first input -->
|
17
17
|
<CmdFormElement
|
18
|
-
v-if="cmdFormElementInput1.show"
|
19
18
|
element="input"
|
20
19
|
:type="cmdFormElementInput1.type"
|
21
20
|
:show-label="cmdFormElementInput1.showLabel"
|
22
21
|
:labelText="cmdFormElementInput1.labelText"
|
23
22
|
:placeholder="cmdFormElementInput1.placeholder"
|
23
|
+
:required="cmdFormElementInput1.required"
|
24
|
+
:showSearchButton="cmdFormElementInput1.showSearchButton"
|
24
25
|
v-model="searchValue1"
|
25
26
|
/>
|
26
27
|
<!-- end CmdFormElement for first input -->
|
27
28
|
|
28
|
-
<div class="flex-container no-gap">
|
29
|
+
<div class="flex-container align-bottom no-gap">
|
29
30
|
<!-- begin CmdFormElement for second input -->
|
30
31
|
<CmdFormElement
|
31
32
|
v-if="cmdFormElementInput2.show"
|
@@ -34,6 +35,7 @@
|
|
34
35
|
:show-label="cmdFormElementInput2.showLabel"
|
35
36
|
:labelText="cmdFormElementInput2.labelText"
|
36
37
|
:placeholder="cmdFormElementInput2.placeholder"
|
38
|
+
:required="cmdFormElementInput2.required"
|
37
39
|
v-model="searchValue2"
|
38
40
|
/>
|
39
41
|
<!-- end CmdFormElement for second input -->
|
@@ -47,6 +49,7 @@
|
|
47
49
|
:show-label="cmdFormElementRadius.showLabel"
|
48
50
|
:labelText="cmdFormElementRadius.labelText"
|
49
51
|
:select-options="cmdFormElementRadius.selectOptions"
|
52
|
+
:required="cmdFormElementRadius.required"
|
50
53
|
/>
|
51
54
|
<!-- end CmdFormElement for radius -->
|
52
55
|
</div>
|
@@ -56,6 +59,7 @@
|
|
56
59
|
element="button"
|
57
60
|
:nativeButton="cmdFormElementSearchButton"
|
58
61
|
@click="onSearchButtonClick"
|
62
|
+
:disabled="buttonSearchDisabled"
|
59
63
|
aria-live="assertive"
|
60
64
|
/>
|
61
65
|
<!-- end CmdFormElement for search-button -->
|
@@ -87,7 +91,9 @@
|
|
87
91
|
</template>
|
88
92
|
<!-- end filters -->
|
89
93
|
</fieldset>
|
94
|
+
<!-- begin CmdFormFilters -->
|
90
95
|
<CmdFormFilters v-if="cmdFakeSelect?.show" v-model="searchFilters" :selectedOptionsName="getOptionName"/>
|
96
|
+
<!-- end CmdFormFilters -->
|
91
97
|
</template>
|
92
98
|
|
93
99
|
<script>
|
@@ -197,11 +203,12 @@ export default {
|
|
197
203
|
type: Object,
|
198
204
|
default() {
|
199
205
|
return {
|
200
|
-
|
201
|
-
|
202
|
-
|
206
|
+
type: "search",
|
207
|
+
showLabel: false,
|
208
|
+
required: true,
|
203
209
|
labelText: "What do you like to search for?",
|
204
|
-
placeholder: "
|
210
|
+
placeholder: "What do you like to search for?",
|
211
|
+
showSearchButton: false
|
205
212
|
}
|
206
213
|
}
|
207
214
|
},
|
@@ -214,9 +221,10 @@ export default {
|
|
214
221
|
return {
|
215
222
|
show: true,
|
216
223
|
type: "text",
|
217
|
-
showLabel:
|
224
|
+
showLabel: false,
|
225
|
+
required: true,
|
218
226
|
labelText: "Where do you like to search?",
|
219
|
-
placeholder: "
|
227
|
+
placeholder: "Enter city, zip, country"
|
220
228
|
}
|
221
229
|
}
|
222
230
|
},
|
@@ -228,9 +236,14 @@ export default {
|
|
228
236
|
default() {
|
229
237
|
return {
|
230
238
|
show: true,
|
231
|
-
showLabel:
|
239
|
+
showLabel: false,
|
240
|
+
required: false,
|
232
241
|
labelText: "Radius",
|
233
242
|
selectOptions: [
|
243
|
+
{
|
244
|
+
text: "None",
|
245
|
+
value: 0
|
246
|
+
},
|
234
247
|
{
|
235
248
|
text: "5 Km",
|
236
249
|
value: 5
|
@@ -311,6 +324,13 @@ export default {
|
|
311
324
|
set(value) {
|
312
325
|
this.$emit("update:modelValueSearchFilters", value)
|
313
326
|
}
|
327
|
+
},
|
328
|
+
buttonSearchDisabled() {
|
329
|
+
const validInput1 = !this.cmdFormElementInput1.required || this.searchValue1.trim()
|
330
|
+
const validInput2 = !this.cmdFormElementInput2.show || !this.cmdFormElementInput2.required || this.searchValue2.trim()
|
331
|
+
const validInputRadius = !this.cmdFormElementRadius.show || !this.cmdFormElementRadius.required || this.radius
|
332
|
+
|
333
|
+
return !(validInput1 && validInput2 && validInputRadius)
|
314
334
|
}
|
315
335
|
},
|
316
336
|
methods: {
|
@@ -7,15 +7,6 @@
|
|
7
7
|
:relatedId="relatedId"
|
8
8
|
:toggle-visibility-by-click="true">
|
9
9
|
|
10
|
-
<!-- begin CmdSystemMessage -->
|
11
|
-
<CmdSystemMessage
|
12
|
-
v-if="cmdListOfRequirements?.inputAttributes?.required && validationMessage"
|
13
|
-
:systemMessage="validationMessage"
|
14
|
-
:validation-status="validationStatus"
|
15
|
-
:iconClose="{show: false}"
|
16
|
-
/>
|
17
|
-
<!-- end CmdSystemMessage -->
|
18
|
-
|
19
10
|
<!-- begin CmdListOfRequirements -->
|
20
11
|
<CmdListOfRequirements
|
21
12
|
v-if="cmdListOfRequirements.showRequirements"
|
@@ -35,14 +26,12 @@
|
|
35
26
|
<script>
|
36
27
|
// import components
|
37
28
|
import CmdListOfRequirements from "./CmdListOfRequirements"
|
38
|
-
import CmdSystemMessage from "./CmdSystemMessage"
|
39
29
|
import CmdTooltip from "./CmdTooltip"
|
40
30
|
|
41
31
|
export default {
|
42
32
|
name: "CmdTooltipForInputElements",
|
43
33
|
components: {
|
44
34
|
CmdListOfRequirements,
|
45
|
-
CmdSystemMessage,
|
46
35
|
CmdTooltip
|
47
36
|
},
|
48
37
|
props: {
|
@@ -54,19 +43,12 @@ export default {
|
|
54
43
|
default: ""
|
55
44
|
},
|
56
45
|
/**
|
57
|
-
* validation-status for
|
46
|
+
* validation-status for CmdTooltip-component
|
58
47
|
*/
|
59
48
|
validationStatus: {
|
60
49
|
type: String,
|
61
50
|
default: ""
|
62
51
|
},
|
63
|
-
/**
|
64
|
-
* validation-message for CmdSystemMessage-component
|
65
|
-
*/
|
66
|
-
validationMessage: {
|
67
|
-
type: String,
|
68
|
-
default: ""
|
69
|
-
},
|
70
52
|
/**
|
71
53
|
* properties for CmdListOfRequirements-component
|
72
54
|
*/
|
@@ -4,7 +4,7 @@
|
|
4
4
|
"value for v-model (modelValue is default name in vue 3)"
|
5
5
|
]
|
6
6
|
},
|
7
|
-
"
|
7
|
+
"textLegendLoginForm": {
|
8
8
|
"comments": [
|
9
9
|
"text used as legend for login-fieldset"
|
10
10
|
],
|
@@ -19,9 +19,9 @@
|
|
19
19
|
"toggle legend visibility"
|
20
20
|
]
|
21
21
|
},
|
22
|
-
"
|
22
|
+
"textLegendForgotLoginForm": {
|
23
23
|
"comments": [
|
24
|
-
"legend for
|
24
|
+
"legend for forgot-login-fieldset"
|
25
25
|
],
|
26
26
|
"annotations": {
|
27
27
|
"requiredForAccessibility": [
|
@@ -0,0 +1,79 @@
|
|
1
|
+
{
|
2
|
+
"modelValueInput1": {
|
3
|
+
"comments": [
|
4
|
+
"custom modelValue for first input-field"
|
5
|
+
]
|
6
|
+
},
|
7
|
+
"modelValueInput2": {
|
8
|
+
"comments": [
|
9
|
+
"custom modelValue for second input-field"
|
10
|
+
]
|
11
|
+
},
|
12
|
+
"modelValueRadius": {
|
13
|
+
"comments": [
|
14
|
+
"custom modelValue for radius"
|
15
|
+
]
|
16
|
+
},
|
17
|
+
"modelValueSearchFilters": {
|
18
|
+
"comments": [
|
19
|
+
"custom modelValue for search-filters"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
"useFilters": {
|
23
|
+
"comments": [
|
24
|
+
"toggle use of filters (must configured)"
|
25
|
+
]
|
26
|
+
},
|
27
|
+
"textLegend": {
|
28
|
+
"comments": [
|
29
|
+
"text for legend"
|
30
|
+
],
|
31
|
+
"annotations": {
|
32
|
+
"requiredForAccessibility": [
|
33
|
+
"true"
|
34
|
+
]
|
35
|
+
}
|
36
|
+
},
|
37
|
+
"showLegend": {
|
38
|
+
"comments": [
|
39
|
+
"toggle legend visibility",
|
40
|
+
"",
|
41
|
+
"textLegend must be set"
|
42
|
+
]
|
43
|
+
},
|
44
|
+
"results": {
|
45
|
+
"comments": [
|
46
|
+
"send search result from outside to display inside this component"
|
47
|
+
]
|
48
|
+
},
|
49
|
+
"cmdHeadline": {
|
50
|
+
"comments": [
|
51
|
+
"properties for CmdHeadline-component"
|
52
|
+
]
|
53
|
+
},
|
54
|
+
"cmdFormElementInput1": {
|
55
|
+
"comments": [
|
56
|
+
"properties for CmdFormElement-component first search-field"
|
57
|
+
]
|
58
|
+
},
|
59
|
+
"cmdFormElementInput2": {
|
60
|
+
"comments": [
|
61
|
+
"properties for CmdFormElement-component for second search-field"
|
62
|
+
]
|
63
|
+
},
|
64
|
+
"cmdFormElementRadius": {
|
65
|
+
"comments": [
|
66
|
+
"properties for CmdFormElement-component for radius"
|
67
|
+
]
|
68
|
+
},
|
69
|
+
"cmdFormElementSearchButton": {
|
70
|
+
"comments": [
|
71
|
+
"properties for CmdFormElement-component for search-button"
|
72
|
+
]
|
73
|
+
},
|
74
|
+
"cmdFakeSelect": {
|
75
|
+
"comments": [
|
76
|
+
"properties for CmdFakeSelect-component for filters"
|
77
|
+
]
|
78
|
+
}
|
79
|
+
}
|
@@ -6,12 +6,7 @@
|
|
6
6
|
},
|
7
7
|
"validationStatus": {
|
8
8
|
"comments": [
|
9
|
-
"validation-status for
|
10
|
-
]
|
11
|
-
},
|
12
|
-
"validationMessage": {
|
13
|
-
"comments": [
|
14
|
-
"validation-message for CmdSystemMessage-component"
|
9
|
+
"validation-status for CmdTooltip-component"
|
15
10
|
]
|
16
11
|
},
|
17
12
|
"cmdListOfRequirements": {
|
package/src/index.js
CHANGED
@@ -5,7 +5,6 @@ export { default as CmdAddressData } from '@/components/CmdAddressData'
|
|
5
5
|
export { default as CmdBackToTopButton } from '@/components/CmdBackToTopButton'
|
6
6
|
export { default as CmdBankAccountData } from '@/components/CmdBankAccountData'
|
7
7
|
export { default as CmdBox } from '@/components/CmdBox'
|
8
|
-
export { default as CmdBoxSiteSearch } from '@/components/CmdBoxSiteSearch'
|
9
8
|
export { default as CmdBoxWrapper } from '@/components/CmdBoxWrapper'
|
10
9
|
export { default as CmdBreadcrumbs } from '@/components/CmdBreadcrumbs'
|
11
10
|
export { default as CmdCompanyLogo } from '@/components/CmdCompanyLogo'
|
@@ -31,6 +30,7 @@ export { default as CmdProgressBar } from '@/components/CmdProgressBar'
|
|
31
30
|
export { default as CmdShareButtons } from '@/components/CmdShareButtons'
|
32
31
|
export { default as CmdSiteFooter } from '@/components/CmdSiteFooter'
|
33
32
|
export { default as CmdSiteHeader } from '@/components/CmdSiteHeader'
|
33
|
+
export { default as CmdSiteSearch } from '@/components/CmdSiteSearch'
|
34
34
|
export { default as CmdSlideButton } from '@/components/CmdSlideButton'
|
35
35
|
export { default as CmdSlideshow } from '@/components/CmdSlideshow'
|
36
36
|
export { default as CmdSwitchLanguage } from '@/components/CmdSwitchLanguage'
|
@@ -6,7 +6,8 @@ export default {
|
|
6
6
|
"cmdformelement.validationTooltip.an_error_occurred": "An error occurred!",
|
7
7
|
"cmdformelement.validationTooltip.information_is_filled_correctly": "This information is filled correctly!",
|
8
8
|
"cmdformelement.validationTooltip.caps_lock_is_activated": "Attention: Caps lock is activated!",
|
9
|
-
"cmdformelement.validationTooltip.open_field_requirements": "Open field requirements!"
|
9
|
+
"cmdformelement.validationTooltip.open_field_requirements": "Open field requirements!",
|
10
|
+
"cmdformelement.validationTooltip.is_valid_email": "Is valid e-mail-address"
|
10
11
|
}
|
11
12
|
}
|
12
13
|
}
|
@@ -219,21 +219,23 @@ export default {
|
|
219
219
|
}
|
220
220
|
})
|
221
221
|
}
|
222
|
+
|
222
223
|
// check if field has a minimum length
|
223
224
|
if(this.$attrs.minlength) {
|
224
225
|
standardRequirements.push({
|
225
|
-
message: this.getMessage("cmdfieldvalidation.input_has_minimum_length") + "(" + this.modelValue.length + "/" + this.$attrs.minlength + ")",
|
226
|
+
message: this.getMessage("cmdfieldvalidation.input_has_minimum_length") + " (" + this.modelValue.length + "/" + this.$attrs.minlength + ")",
|
226
227
|
valid(value, attributes) {
|
227
228
|
return value.length >= attributes.minlength
|
228
229
|
}
|
229
230
|
})
|
230
231
|
}
|
231
|
-
|
232
|
-
if(!this.customRequirements || !this.customRequirements.length) {
|
233
|
-
return standardRequirements
|
234
|
-
}
|
232
|
+
|
235
233
|
// duplicate existing requirements into new (combined) array
|
236
|
-
return [
|
234
|
+
return [
|
235
|
+
...standardRequirements,
|
236
|
+
...(this.additionalStandardRequirements() || []),
|
237
|
+
...(this.customRequirements || [])
|
238
|
+
]
|
237
239
|
}
|
238
240
|
},
|
239
241
|
methods: {
|
@@ -246,6 +248,9 @@ export default {
|
|
246
248
|
this.validationStatus = ""
|
247
249
|
}
|
248
250
|
},
|
251
|
+
additionalStandardRequirements() {
|
252
|
+
return []
|
253
|
+
},
|
249
254
|
getRequirementMessage() {
|
250
255
|
return this.getMessage("cmdfieldvalidation.required_field_is_filled")
|
251
256
|
}
|