comand-component-library 4.0.40 → 4.0.42

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,21 +1,23 @@
1
1
  <template>
2
- <div class="cmd-imagezoom flex-container">
3
-
2
+ <div class="cmd-image-zoom flex-container">
4
3
  <!-- begin small image -->
5
4
  <a href="#" class="no-flex thumbnails-imagezoom" :title="imageSmall.tooltip">
6
- <img :src="imageSmall.src"
5
+ <!-- begin CmdImage for small image -->
6
+ <CmdImage :src="imageSmall.src"
7
7
  :alt="imageSmall.alt"
8
8
  @mouseover="onMouseOver"
9
9
  @mousemove="onMouseMove"
10
10
  @mouseout="onMouseOut"
11
11
  />
12
- <!-- end CmdImage -->
12
+ <!-- end CmdImage for small image -->
13
13
  </a>
14
14
  <!-- end small image -->
15
15
 
16
16
  <!-- begin large image -->
17
17
  <div v-if="showLargeImage" class="zoom-container">
18
- <img :src="imageLarge.src" :alt="imageLarge.alt"/>
18
+ <!-- begin CmdImage for large image -->
19
+ <CmdImage v-bind="imageLarge" />
20
+ <!-- end CmdImage for large image -->
19
21
  </div>
20
22
  <div v-if="showLargeImage" class="zoom-overlay"></div>
21
23
  <!-- end large image -->
@@ -111,7 +113,7 @@ function clamp(value, min, max) {
111
113
 
112
114
  <style>
113
115
  /* begin cmd-imagezoom ---------------------------------------------------------------------------------------- */
114
- .cmd-imagezoom {
116
+ .cmd-image-zoom {
115
117
  overflow: hidden;
116
118
 
117
119
  .zoom-container {
@@ -1,35 +1,62 @@
1
1
  <template>
2
2
  <!-- begin CmdLink -->
3
3
  <!-- begin href -->
4
- <a v-if="linkType === 'href'" :href="path" :target="target" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click.prevent="emitClick($event, 'href')">
5
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
6
- <span v-if="text">{{ text }}</span>
7
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
4
+ <a v-if="linkType === 'href'" :href="path" :target="target" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click="emitClick($event, 'href')">
5
+ <InnerLink :text="text" :icon="icon">
6
+ <slot></slot>
7
+ </InnerLink>
8
8
  </a>
9
9
  <!-- end href -->
10
10
 
11
11
  <!-- begin router -->
12
- <router-link v-else-if="linkType === 'router'" :to="path" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click.prevent="emitClick($event, 'router')">
13
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
14
- <span v-if="text">{{ text }}</span>
15
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
12
+ <router-link v-else-if="linkType === 'router'" :to="path" :class="['cmd-link', {'button': styleAsButton, 'primary': primaryButton}]" @click="emitClick($event, 'router')">
13
+ <InnerLink :text="text" :icon="icon">
14
+ <slot></slot>
15
+ </InnerLink>
16
16
  </router-link>
17
17
  <!-- end router -->
18
18
 
19
19
  <!-- begin button -->
20
- <button v-else-if="linkType === 'button'" :class="['cmd-link button', {'primary': primaryButton}]" type="submit" @click.prevent="emitClick($event, 'button')">
21
- <span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
22
- <span v-if="text">{{ text }}</span>
23
- <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
20
+ <button v-else-if="linkType === 'button'" :class="['cmd-link button', {'primary': primaryButton}]" type="submit" @click="emitClick($event, 'button')">
21
+ <InnerLink :text="text" :icon="icon">
22
+ <slot></slot>
23
+ </InnerLink>
24
24
  </button>
25
25
  <!-- end button -->
26
26
  <!-- end CmdLink -->
27
27
  </template>
28
28
 
29
29
  <script>
30
+ import { defineComponent } from "vue"
31
+ const InnerLink = defineComponent({
32
+ template: `<span v-if="icon.iconClass && icon.position !== 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
33
+ <span v-if="text">{{ text }}</span>
34
+ <span v-if="icon.iconClass && icon.position === 'right'" :class="icon.iconClass" :title="icon.tooltip"></span>
35
+ <slot></slot>`,
36
+ props: {
37
+ /**
38
+ * icon to display
39
+ */
40
+ icon: {
41
+ type: Object,
42
+ default: {}
43
+ },
44
+ /**
45
+ * displayed text
46
+ */
47
+ text: {
48
+ type: String,
49
+ default: ""
50
+ }
51
+ }
52
+ })
53
+
30
54
  export default {
31
55
  name: "CmdLink",
32
56
  emits: ["click"],
57
+ components: {
58
+ InnerLink
59
+ },
33
60
  props: {
34
61
  /**
35
62
  * set type of link
@@ -51,7 +78,7 @@ export default {
51
78
  * linkType-property must be 'href', 'router'
52
79
  */
53
80
  path: {
54
- type: String,
81
+ type: [String, Object],
55
82
  default: "#"
56
83
  },
57
84
  /**
@@ -12,6 +12,7 @@
12
12
  <!-- end CmdIcon -->
13
13
  <span v-if="link.text">{{ link.text }}</span>
14
14
  </a>
15
+ <!--CmdLink @click="executeLink()" /-->
15
16
  <!-- end use href --->
16
17
 
17
18
  <!-- begin use router-link -->
@@ -24,6 +25,7 @@
24
25
  <!-- end CmdIcon -->
25
26
  <span v-if="link.text">{{ link.text }}</span>
26
27
  </router-link>
28
+ <!--CmdLink :path="getRoute(link)" /-->
27
29
  <!-- end use router-link -->
28
30
 
29
31
  <!-- begin CmdListOfLinksItem for nested children -->
@@ -1,43 +1,11 @@
1
1
  <template>
2
2
  <ol :class="['cmd-multistep-form-progress-bar', {'use-gap': useGap}]">
3
3
  <li v-for="(step, index) in multisteps" :key="index" :class="{active : activeLink === index}">
4
- <!-- begin type === href -->
5
- <a v-if="step.type === 'href'"
6
- :href="step.path" @click.stop.prevent="clickedStep($event, index)"
7
- :title="step.tooltip"
8
- >
9
- <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
10
- <!-- begin CmdIcon -->
11
- <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
12
- <!-- end CmdIcon -->
13
- <span v-if="step.text">{{ step.text }}</span>
14
- <span :class="separatorIconClass"></span>
15
- </a>
16
- <!-- end type === href -->
17
-
18
- <!-- begin type === router -->
19
- <router-link
20
- v-if="step.type === 'router'"
21
- :to="getRoute(step)"
22
- :title="step.tooltip"
23
- >
24
- <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
25
- <!-- begin CmdIcon -->
26
- <CmdIcon v-if="step.iconClass" :iconClass="step.iconClass" :type="step.iconType" />
27
- <!-- end CmdIcon -->
28
- <span v-if="step.text">{{ step.text }}</span>
29
- <span :class="separatorIconClass"></span>
30
- </router-link>
31
- <!-- end type === router -->
32
-
33
- <!-- begin type === button/submit -->
34
- <button
35
- v-if="step.type === 'button' || step.type === 'submit'"
36
- class="button"
37
- :type="step.type"
38
- :name="step.name"
4
+ <!-- begin CmdLink -->
5
+ <CmdLink
6
+ :linkType="step.type"
7
+ :path="step.path"
39
8
  :title="step.tooltip"
40
- :formaction="step.formaction"
41
9
  @click.stop.prevent="clickedStep($event, index)"
42
10
  >
43
11
  <span v-if="showStepNumber" class="number">{{ index + 1 }}</span>
@@ -46,8 +14,8 @@
46
14
  <!-- end CmdIcon -->
47
15
  <span v-if="step.text">{{ step.text }}</span>
48
16
  <span :class="separatorIconClass"></span>
49
- </button>
50
- <!-- end type === button/submit -->
17
+ </CmdLink>
18
+ <!-- end CmdLink -->
51
19
  </li>
52
20
  </ol>
53
21
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <fieldset class="cmd-newsletter-subscription flex-container">
3
3
  <!-- begin legend -->
4
- <legend :class="{'hidden' : !showLegend}">{{ textLegend }}</legend>
4
+ <legend :class="{hidden : !legend.show, 'align-left': legend.align === 'left'}">{{ legend.text }}</legend>
5
5
  <!-- end legend -->
6
6
 
7
7
  <!-- begin cmd-input-group -->
@@ -64,6 +64,11 @@ export default {
64
64
  }
65
65
  }
66
66
  },
67
+ /**
68
+ * set type for button
69
+ *
70
+ * @allowedValues: "submit", "button"
71
+ */
67
72
  buttonType: {
68
73
  type: String,
69
74
  default: "button",
@@ -72,20 +77,20 @@ export default {
72
77
  }
73
78
  },
74
79
  /**
75
- * toggle legend visibility
76
- */
77
- showLegend: {
78
- type: Boolean,
79
- default: true
80
- },
81
- /**
82
- * text used as legend for login-fieldset
80
+ * legend for form
83
81
  *
84
- * @requiredForAccessibility: true
82
+ * useFieldset-property must be activated
83
+ *
84
+ * @requiredForAccessiblity: true
85
85
  */
86
- textLegend: {
87
- type: String,
88
- default: "Stay up-to-date"
86
+ legend: {
87
+ default() {
88
+ return {
89
+ show: true,
90
+ align: "left",
91
+ text: "Legend"
92
+ }
93
+ }
89
94
  },
90
95
  /**
91
96
  * properties for CmdInputGroup-component
@@ -9,16 +9,8 @@
9
9
 
10
10
  <!-- begin opening-status with link to detail-page -->
11
11
  <template v-if="!editing">
12
- <template v-if="link && link?.path && link?.show">
13
- <a v-if="link.type === 'href'" :href="link.path" :class="{closed: isClosed}">{{ textOpenClosed }}</a>
14
- <router-link v-if="link.type === 'router'" :to="link.path" :class="{closed: isClosed}">{{
15
- textOpenClosed
16
- }}
17
- </router-link>
18
- <button v-if="link.type === 'button'" :class="['button', {closed: isClosed}]">{{
19
- textOpenClosed
20
- }}
21
- </button>
12
+ <template v-if="cmdLink?.path">
13
+ <CmdLink :linkType="cmdLink.type || 'href'" v-bind="cmdLink" :class="{closed: isClosed}">{{ textOpenClosed }}</CmdLink>
22
14
  </template>
23
15
  <!-- end opening-status with link to detail-page -->
24
16
 
@@ -182,13 +174,6 @@ export default {
182
174
  type: Boolean,
183
175
  default: false
184
176
  },
185
- /**
186
- * set a link to a detail page
187
- */
188
- link: {
189
- type: Object,
190
- required: false
191
- },
192
177
  /**
193
178
  * text for 'open'-information
194
179
  */
@@ -266,6 +251,13 @@ export default {
266
251
  type: Number,
267
252
  default: 5000
268
253
  },
254
+ /**
255
+ * properties for CmdLink-component
256
+ */
257
+ cmdLink: {
258
+ type: Object,
259
+ required: false
260
+ },
269
261
  /**
270
262
  * properties for CmdHeadline-component
271
263
  */
@@ -5,9 +5,8 @@
5
5
  <!-- begin CmdHeadline -->
6
6
  <CmdHeadline
7
7
  v-if="cmdHeadline?.headlineText && open"
8
- :headlineText="cmdHeadline.headlineText"
8
+ v-bind="cmdHeadline"
9
9
  :headlineLevel="cmdHeadline.headlineLevel || 3"
10
- :textAlign="cmdHeadline.textAlign"
11
10
  class="sidebar-main-headline"
12
11
  />
13
12
  <!-- end CmdHeadline -->
@@ -11,7 +11,7 @@ export default {
11
11
  name: "CmdSiteFooter",
12
12
  props: {
13
13
  /**
14
- * set to vertical if items inside should be arranged vertically
14
+ * set to vertical if inner content should be arranged vertically
15
15
  *
16
16
  * @allowedValues: horizontal, vertical
17
17
  */
@@ -43,9 +43,7 @@
43
43
  <!-- begin CmdMainNavigation -->
44
44
  <CmdMainNavigation
45
45
  v-if="cmdMainNavigation?.navigationEntries?.length && navigationInline"
46
- :navigationEntries="cmdMainNavigation.navigationEntries"
47
- :offcanvasPosition="cmdMainNavigation.offcanvasPosition"
48
- :stretchMainItems="cmdMainNavigation.stretchMainItems"
46
+ v-bind="cmdMainNavigation"
49
47
  :closeOffcanvas="closeOffcanvas"
50
48
  @offcanvas="emitOffcanvasStatus"
51
49
  />
@@ -58,10 +56,8 @@
58
56
  <!-- begin CmdMainNavigation -->
59
57
  <CmdMainNavigation
60
58
  v-if="cmdMainNavigation?.navigationEntries?.length && !navigationInline"
61
- :navigationEntries="cmdMainNavigation.navigationEntries"
62
- :offcanvasPosition="cmdMainNavigation.offcanvasPosition"
59
+ v-bind="cmdMainNavigation"
63
60
  :closeOffcanvas="closeOffcanvas"
64
- :stretchMainItems="cmdMainNavigation.stretchMainItems"
65
61
  @offcanvas="emitOffcanvasStatus"
66
62
  />
67
63
  <!-- end CmdMainNavigation -->
@@ -4,7 +4,7 @@
4
4
  :class="['cmd-slide-button', 'button', 'keep-behavior-on-small-devices', slideButtonType]"
5
5
  :title="getDirection.tooltip">
6
6
  <!-- begin CmdIcon -->
7
- <CmdIcon :iconClass="getDirection.iconClass || 'next'" />
7
+ <CmdIcon :type="getDirection.iconType || 'auto'" :iconClass="getDirection.iconClass || 'next'" />
8
8
  <!-- end CmdIcon -->
9
9
  </a>
10
10
  </template>
@@ -7,7 +7,7 @@
7
7
  :class="['flag', language.iso2, {'active': activeLanguage(language)}]"
8
8
  :title="language.tooltip"
9
9
  @click="$emit('click', { originalEvent: $event, language} )">
10
- <img :src="imageSources[index]" :alt="language.name" />
10
+ <img :src="imageSources[index]" :alt="language.name" />
11
11
  </a>
12
12
  <!-- end link-type 'href' -->
13
13
 
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div class="cmd-tabs">
3
+ <!-- being tab-list -->
3
4
  <ul :class="{'stretch-tabs' : stretchTabs}" role="tablist">
4
5
  <li v-for="(tab, index) in tabs" :class="{active : showTab === index}" :key="index" role="tab">
5
6
  <a href="#" @click.prevent="setActiveTab(index)" :title="!tab.name ? tab.tooltip : undefined">
@@ -10,7 +11,9 @@
10
11
  </a>
11
12
  </li>
12
13
  </ul>
14
+ <!-- end tab-list -->
13
15
 
16
+ <!-- being tab-content -->
14
17
  <!-- begin slot -->
15
18
  <template v-if="useSlot">
16
19
  <div v-show="showTab === index - 1" v-for="index in tabs.length" :key="index" aria-live="assertive">
@@ -32,6 +35,7 @@
32
35
  <!-- end CmdHeadline -->
33
36
  <div v-html="tabs[showTab].htmlContent"></div>
34
37
  </div>
38
+ <!-- end tab-content -->
35
39
  </div>
36
40
  </template>
37
41
 
@@ -36,19 +36,19 @@
36
36
  <template v-else>
37
37
  <!-- begin edit-mode -->
38
38
  <CmdFormElement
39
- element="input"
40
- type="text"
41
- labelText="Label for Light Mode"
42
- placeholder="Label for Light Mode"
43
- v-model="labelTextLightModeModel"
39
+ element="input"
40
+ type="text"
41
+ labelText="Label for Light Mode"
42
+ placeholder="Label for Light Mode"
43
+ v-model="labelTextLightModeModel"
44
44
  />
45
45
 
46
46
  <CmdFormElement
47
- element="input"
48
- type="text"
49
- labelText="Label for Dark Mode"
50
- placeholder="Label for Dark Mode"
51
- v-model="labelTextDarkModeModel"
47
+ element="input"
48
+ type="text"
49
+ labelText="Label for Dark Mode"
50
+ placeholder="Label for Dark Mode"
51
+ v-model="labelTextDarkModeModel"
52
52
  />
53
53
  <!-- end edit-mode -->
54
54
  </template>
@@ -4,10 +4,7 @@
4
4
  <!-- begin CmdHeadline -->
5
5
  <CmdHeadline
6
6
  v-if="cmdHeadline"
7
- :iconClass="cmdHeadline.iconClass"
8
- :preHeadline="cmdHeadline.preHeadline"
9
- :headlineLevel="cmdHeadline.headlineLevel"
10
- :headlineText="cmdHeadline.headlineText"
7
+ v-bind="cmdHeadline"
11
8
  />
12
9
  <!-- end CmdHeadline -->
13
10
 
@@ -2,7 +2,7 @@
2
2
  <!-- begin CmdTooltip -->
3
3
  <CmdTooltip
4
4
  ref="tooltip"
5
- class="box cmd-tooltip-for-form-elements"
5
+ class="cmd-tooltip-for-form-elements box"
6
6
  :class="validationStatus"
7
7
  :relatedId="relatedId"
8
8
  :toggle-visibility-by-click="true">
@@ -10,12 +10,7 @@
10
10
  <!-- begin CmdListOfRequirements -->
11
11
  <CmdListOfRequirements
12
12
  v-if="cmdListOfRequirements.showRequirements"
13
- :showHeadline="cmdListOfRequirements.showHeadline"
14
- :inputRequirements="cmdListOfRequirements.inputRequirements"
15
- :helplink="cmdListOfRequirements.helplink"
16
- :inputModelValue="cmdListOfRequirements.inputModelValue"
17
- :inputAttributes="cmdListOfRequirements.inputAttributes"
18
- :labelText="cmdListOfRequirements.labelText"
13
+ v-bind="cmdListOfRequirements"
19
14
  />
20
15
  <!-- end CmdListOfRequirements -->
21
16
  </CmdTooltip>
@@ -10,13 +10,7 @@
10
10
  <!-- begin CmdListOfRequirements -->
11
11
  <CmdListOfRequirements
12
12
  v-if="cmdListOfRequirements.showRequirements"
13
- :showHeadline="cmdListOfRequirements.showHeadline"
14
- :inputRequirements="cmdListOfRequirements.inputRequirements"
15
- :helplink="cmdListOfRequirements.helplink"
16
- :inputModelValue="cmdListOfRequirements.inputModelValue"
17
- :inputAttributes="cmdListOfRequirements.inputAttributes"
18
- :validationTooltip="cmdListOfRequirements.validationTooltip"
19
- :labelText="cmdListOfRequirements.labelText"
13
+ v-bind="cmdListOfRequirements"
20
14
  />
21
15
  <!-- end CmdListOfRequirements -->
22
16
  </CmdTooltip>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <!-- begin advanced mode -->
3
3
  <fieldset v-if="advancedMode" :class="['cmd-upload-form flex-container', { 'upload-initiated': uploadInitiated }]">
4
- <legend :class="{hidden : !showLegend}">{{ textLegend }}</legend>
4
+ <legend :class="{hidden : !legend.show, 'align-left': legend.align === 'left'}">{{ legend.text }}</legend>
5
5
  <!-- begin CmdHeadlineFieldset -->
6
6
  <CmdHeadline
7
7
  v-if="cmdHeadlineFieldset"
@@ -52,7 +52,7 @@
52
52
  @click.prevent="cancelUpload"
53
53
  >
54
54
  <!-- begin CmdIcon -->
55
- <CmdIcon :iconClass="deleteIcon.iconClass" :type="deleteIcon.iconClass"/>
55
+ <CmdIcon v-bind="iconDelete" />
56
56
  <!-- end CmdIcon -->
57
57
  </a>
58
58
  <span>
@@ -105,7 +105,7 @@
105
105
  @click.prevent="removeFile(index)"
106
106
  >
107
107
  <!-- begin CmdIcon -->
108
- <CmdIcon :iconClass="iconDelete.iconClass" :type="iconDelete.iconType"/>
108
+ <CmdIcon v-bind="iconDelete" />
109
109
  <!-- end CmdIcon -->
110
110
  </a>
111
111
  <span
@@ -271,7 +271,7 @@
271
271
  @click="uploadFiles"
272
272
  >
273
273
  <!-- begin CmdIcon -->
274
- <CmdIcon :iconClass="iconUpload.iconClass" :type="iconUpload.iconType"/>
274
+ <CmdIcon v-bind="iconUpload" />
275
275
  <!-- end CmdIcon -->
276
276
  <span v-if="listOfFiles.length === 1 || !allowMultipleFileUploads">
277
277
  {{ getMessage("cmduploadform.buttontext.upload_file") }}
@@ -280,7 +280,7 @@
280
280
  </button>
281
281
  <button :class="['button', { disabled: listOfFiles.length === 0 }]" @click="cancel">
282
282
  <!-- begin CmdIcon -->
283
- <CmdIcon :iconClass="iconCancel.iconClass" :type="iconCancel.iconType"/>
283
+ <CmdIcon v-bind="iconCancel" />
284
284
  <!-- end CmdIcon -->
285
285
  <span>{{ getMessage("cmduploadform.buttontext.cancel") }}</span>
286
286
  </button>
@@ -481,20 +481,20 @@ export default {
481
481
  default: true
482
482
  },
483
483
  /**
484
- * toggle visibility for legend-text
485
- */
486
- showLegend: {
487
- type: Boolean,
488
- default: true
489
- },
490
- /**
491
- * text for legend
484
+ * legend for form
485
+ *
486
+ * useFieldset-property must be activated
492
487
  *
493
- * @requiredForAccessibility: true
488
+ * @requiredForAccessiblity: true
494
489
  */
495
- textLegend: {
496
- type: String,
497
- required: false
490
+ legend: {
491
+ default() {
492
+ return {
493
+ show: true,
494
+ align: "left",
495
+ text: "Legend"
496
+ }
497
+ }
498
498
  },
499
499
  /**
500
500
  * set icon for delete-icons