comand-component-library 3.1.91 → 3.1.93

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,9 @@
1
1
  <template>
2
+ <fieldset class="cmd-newsletter-subscription flex-container">
3
+ <!-- begin legend -->
4
+ <legend :class="{'hidden' : !showLegend}">{{ textLegend }}</legend>
5
+ <!-- end legend -->
6
+
2
7
  <!-- begin cmd-input-group -->
3
8
  <CmdInputGroup
4
9
  inputTypes="radio"
@@ -34,6 +39,7 @@
34
39
  />
35
40
  <!-- end cmd-form-element -->
36
41
  </div>
42
+ </fieldset>
37
43
  </template>
38
44
 
39
45
  <script>
@@ -67,8 +73,8 @@ export default {
67
73
  }
68
74
  },
69
75
  buttonType: {
70
- type: String,
71
- default: "button",
76
+ type: String,
77
+ default: "button",
72
78
  validator(value) {
73
79
  return value === "submit" || value === "button"
74
80
  }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div :class="['cmd-site-header', { sticky: sticky }]" role="banner">
2
+ <div :class="['cmd-site-header', { sticky: sticky, 'navigation-inline': navigationInline }]" role="banner">
3
3
  <!-- begin slot for elements above header -->
4
4
  <div class="top-header">
5
5
  <slot name="top-header"></slot>
@@ -13,22 +13,34 @@
13
13
  </header>
14
14
  <!-- end header-wrapper with slots for logo and other header elements -->
15
15
 
16
- <!-- begin CmdMainNavigation -->
17
- <CmdMainNavigation
18
- v-if="cmdMainNavigation?.navigationEntries?.length"
19
- v-bind="cmdMainNavigation"
20
- :closeOffcanvas="closeOffcanvas"/>
21
- <!-- end CmdMainNavigation -->
16
+ <header v-if="cmdCompanyLogo || cmdMainNavigation?.navigationEntries?.length" :class="useGrid ? 'grid-container-create-columns': 'flex-container'">
17
+ <!-- begin CmdCompanyLogo -->
18
+ <CmdCompanyLogo
19
+ v-if="cmdCompanyLogo"
20
+ v-bind="cmdCompanyLogo"
21
+ />
22
+ <!-- end CmdCompanyLogo -->
23
+
24
+ <!-- begin CmdMainNavigation -->
25
+ <CmdMainNavigation
26
+ v-if="cmdMainNavigation?.navigationEntries?.length"
27
+ v-bind="cmdMainNavigation"
28
+ :closeOffcanvas="closeOffcanvas"
29
+ />
30
+ <!-- end CmdMainNavigation -->
31
+ </header>
22
32
  </div>
23
33
  </template>
24
34
 
25
35
  <script>
26
36
  // import components
37
+ import CmdCompanyLogo from "./CmdCompanyLogo"
27
38
  import CmdMainNavigation from "./CmdMainNavigation"
28
39
 
29
40
  export default {
30
41
  name: "CmdSiteHeader",
31
42
  components: {
43
+ CmdCompanyLogo,
32
44
  CmdMainNavigation
33
45
  },
34
46
  props: {
@@ -46,6 +58,15 @@ export default {
46
58
  type: Boolean,
47
59
  default: true
48
60
  },
61
+ /**
62
+ * activate if navigation should be displayed inline to logo (otherwise it will be displayed below)
63
+ *
64
+ * @affectsStyling: true
65
+ */
66
+ navigationInline: {
67
+ type: Boolean,
68
+ default: false
69
+ },
49
70
  /**
50
71
  * use a grid for positioning of inner-elements (else a flex-container will be used)
51
72
  *
@@ -55,6 +76,13 @@ export default {
55
76
  type: Boolean,
56
77
  default: true
57
78
  },
79
+ /**
80
+ * properties for cmdCompanyLogo-component
81
+ */
82
+ cmdCompanyLogo: {
83
+ type: Object,
84
+ required: true
85
+ },
58
86
  /**
59
87
  * properties for CmdMainNavigation-component
60
88
  */
@@ -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": [
@@ -9,6 +9,16 @@
9
9
  "activated sticky-header (stays on top if page is scrolled)"
10
10
  ]
11
11
  },
12
+ "navigationInline": {
13
+ "comments": [
14
+ "activate if navigation should be displayed inline to logo (otherwise it will be displayed below)"
15
+ ],
16
+ "annotations": {
17
+ "affectsStyling": [
18
+ "true"
19
+ ]
20
+ }
21
+ },
12
22
  "useGrid": {
13
23
  "comments": [
14
24
  "use a grid for positioning of inner-elements (else a flex-container will be used)"
@@ -19,6 +29,11 @@
19
29
  ]
20
30
  }
21
31
  },
32
+ "cmdCompanyLogo": {
33
+ "comments": [
34
+ "properties for cmdCompanyLogo-component"
35
+ ]
36
+ },
22
37
  "cmdMainNavigation": {
23
38
  "comments": [
24
39
  "properties for CmdMainNavigation-component"
@@ -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
  }