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.
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <fieldset class="cmd-box-site-search flex-container">
3
3
  <!-- begin legend -->
4
- <legend v-if="showLegend">{{ textLegend }}</legend>
5
- <!-- begin legend -->
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
- show: true,
201
- type: "text",
202
- showLabel: true,
206
+ type: "search",
207
+ showLabel: false,
208
+ required: true,
203
209
  labelText: "What do you like to search for?",
204
- placeholder: "Search"
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: true,
224
+ showLabel: false,
225
+ required: true,
218
226
  labelText: "Where do you like to search?",
219
- placeholder: "City, Zip"
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: true,
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 CmdSystemMessage-component and CmdTooltip-component
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
- "textLegend": {
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
- "legendSendLoginForm": {
22
+ "textLegendForgotLoginForm": {
23
23
  "comments": [
24
- "legend for send-login-fieldset"
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 CmdSystemMessage-component and CmdTooltip-component"
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
- // check is field has custom requirements defined
232
- if(!this.customRequirements || !this.customRequirements.length) {
233
- return standardRequirements
234
- }
232
+
235
233
  // duplicate existing requirements into new (combined) array
236
- return [...standardRequirements, ...this.customRequirements]
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
  }