comand-component-library 3.3.87 → 4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/comand-component-library.js +1728 -1655
- package/dist/comand-component-library.umd.cjs +4 -4
- package/dist/media/images/slideshow-images/large/slide1.jpg +0 -0
- package/dist/media/images/slideshow-images/large/slide2.jpg +0 -0
- package/dist/media/images/slideshow-images/large/slide3.jpg +0 -0
- package/dist/media/images/slideshow-images/large/slide4.jpg +0 -0
- package/dist/media/images/slideshow-images/medium/slide1.jpg +0 -0
- package/dist/media/images/slideshow-images/medium/slide2.jpg +0 -0
- package/dist/media/images/slideshow-images/medium/slide3.jpg +0 -0
- package/dist/media/images/slideshow-images/medium/slide4.jpg +0 -0
- package/dist/media/images/slideshow-images/small/slide1.jpg +0 -0
- package/dist/media/images/slideshow-images/small/slide2.jpg +0 -0
- package/dist/media/images/slideshow-images/small/slide3.jpg +0 -0
- package/dist/media/images/slideshow-images/small/slide4.jpg +0 -0
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/ComponentLibrary.vue +2629 -0
- package/src/assets/data/address-data.json +3 -3
- package/src/assets/data/main-navigation.json +2 -0
- package/src/components/CmdAddressData.vue +91 -97
- package/src/components/CmdAddressDataItem.vue +60 -52
- package/src/components/CmdBankAccountData.vue +1 -1
- package/src/components/CmdBox.vue +50 -14
- package/src/components/CmdBoxWrapper.vue +23 -9
- package/src/components/CmdBreadcrumbs.vue +1 -1
- package/src/components/CmdCompanyLogo.vue +14 -11
- package/src/components/CmdContainer.vue +1 -1
- package/src/components/CmdCookieDisclaimer.vue +1 -1
- package/src/components/CmdCopyrightInformation.vue +1 -1
- package/src/components/CmdFancyBox.vue +8 -5
- package/src/components/CmdForm.vue +7 -1
- package/src/components/CmdFormElement.vue +58 -108
- package/src/components/CmdFormFilters.vue +2 -1
- package/src/components/CmdGoogleMaps.vue +1 -1
- package/src/components/CmdHeadline.vue +116 -52
- package/src/components/CmdIcon.vue +1 -1
- package/src/components/CmdImage.vue +1 -1
- package/src/components/CmdImageGallery.vue +1 -1
- package/src/components/CmdImageZoom.vue +1 -1
- package/src/components/CmdInputGroup.vue +8 -7
- package/src/components/CmdListOfLinks.vue +25 -25
- package/src/components/CmdListOfLinksItem.vue +0 -4
- package/src/components/CmdListOfRequirements.vue +10 -2
- package/src/components/CmdLoginForm.vue +2 -1
- package/src/components/CmdMainNavigation.vue +38 -26
- package/src/components/CmdMultistepFormProgressBar.vue +50 -4
- package/src/components/CmdNewsletterSubscription.vue +8 -15
- package/src/components/CmdOpeningHours.vue +34 -19
- package/src/components/CmdOpeningHoursItem.vue +22 -14
- package/src/components/CmdPagination.vue +22 -16
- package/src/components/CmdProgressBar.vue +1 -1
- package/src/components/CmdSidebar.vue +13 -2
- package/src/components/CmdSiteFooter.vue +14 -14
- package/src/components/CmdSiteHeader.vue +14 -29
- package/src/components/CmdSiteSearch.vue +12 -11
- package/src/components/CmdSlideButton.vue +9 -7
- package/src/components/CmdSlideshow.vue +14 -12
- package/src/components/CmdSocialNetworks.vue +11 -4
- package/src/components/CmdSocialNetworksItem.vue +2 -7
- package/src/components/CmdSwitchLanguage.vue +1 -1
- package/src/components/CmdSystemMessage.vue +11 -6
- package/src/components/CmdTable.vue +64 -16
- package/src/components/CmdTabs.vue +2 -2
- package/src/components/CmdTextImageBlock.vue +3 -1
- package/src/components/CmdThumbnailScroller.vue +180 -155
- package/src/components/CmdToggleDarkMode.vue +1 -1
- package/src/components/CmdTooltip.vue +6 -1
- package/src/components/CmdUploadForm.vue +69 -43
- package/src/components/CmdWidthLimitationWrapper.vue +7 -3
- package/src/components/ComponentSettings.vue +171 -0
- package/src/main.js +3 -3
- package/src/mixins/FieldValidation.js +0 -17
- package/src/App.vue +0 -2119
@@ -19,18 +19,18 @@
|
|
19
19
|
<div class="inner-thumbnail-wrapper">
|
20
20
|
<!-- begin CmdSlideButton -->
|
21
21
|
<CmdSlideButton
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
v-if="showSlidebuttons"
|
23
|
+
@click.prevent="showPrevItem"
|
24
|
+
slideButtonType="prev"
|
25
25
|
/>
|
26
26
|
<!-- end CmdSlideButton -->
|
27
27
|
|
28
28
|
<!-- begin list of images to slide -->
|
29
29
|
<transition-group name="slide" tag="ul">
|
30
|
-
<li v-for="(item, index) in items" :key="index"
|
31
|
-
:class="[{'active' : activeItemIndex === index}, item.id ? 'item-' + item.id : '']">
|
30
|
+
<li v-for="(item, index) in items" :key="index">
|
32
31
|
<a v-if="!editModeContext" :href="executeOnClick === 'url' ? item.url : '#'"
|
33
32
|
@click="executeLink(index, $event)"
|
33
|
+
:class="[{'active' : activeItemIndex === index}, item.id ? 'item-' + item.id : '']"
|
34
34
|
:title="tooltip"
|
35
35
|
:target="executeOnClick === 'url' ? '_blank' : null"
|
36
36
|
>
|
@@ -117,6 +117,11 @@ export default {
|
|
117
117
|
}
|
118
118
|
},
|
119
119
|
props: {
|
120
|
+
/**
|
121
|
+
* orientation for scroller
|
122
|
+
*
|
123
|
+
* @allewedValues: "horizontal", "vertical"
|
124
|
+
*/
|
120
125
|
orientation: {
|
121
126
|
type: String,
|
122
127
|
default: "horizontal"
|
@@ -357,199 +362,219 @@ export default {
|
|
357
362
|
}
|
358
363
|
</script>
|
359
364
|
|
360
|
-
<style
|
365
|
+
<style>
|
361
366
|
/* begin cmd-thumbnail-scroller ------------------------------------------------------------------------------------------ */
|
362
|
-
@import '../assets/styles/variables';
|
363
|
-
|
364
367
|
.cmd-thumbnail-scroller {
|
365
|
-
|
368
|
+
display: inline-flex; /* do not set to table to avoid overflow is not hidden on small devices */
|
366
369
|
flex-direction: column;
|
367
370
|
gap: var(--default-gap);
|
368
|
-
|
371
|
+
width: 100%;
|
369
372
|
|
370
373
|
&.full-width:not(.vertical) {
|
371
|
-
|
374
|
+
display: flex; /* allows flex-items to stretch equally over full space */
|
372
375
|
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
376
|
+
> div {
|
377
|
+
width: 100%;
|
378
|
+
}
|
379
|
+
}
|
377
380
|
|
378
|
-
|
379
|
-
|
381
|
+
> .inner-thumbnail-wrapper {
|
382
|
+
border-radius: var(--border-radius);
|
380
383
|
padding: calc(var(--default-padding) * 2);
|
381
384
|
padding-top: 0;
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
385
|
+
margin: 0 auto;
|
386
|
+
border: var(--default-border);
|
387
|
+
background: var(--color-scheme-background-color);
|
388
|
+
overflow: hidden;
|
389
|
+
|
390
|
+
> ul {
|
391
|
+
overflow: hidden;
|
392
|
+
margin: 0;
|
393
|
+
display: flex;
|
394
|
+
gap: var(--grid-gap);
|
395
|
+
justify-content: space-between;
|
396
|
+
width: 100%; /* stretch flex-container */
|
397
|
+
|
398
|
+
> li {
|
399
|
+
align-self: center;
|
400
|
+
list-style-type: none;
|
401
|
+
margin: 0;
|
399
402
|
margin-top: 2rem;
|
403
|
+
flex: none; /* avoids items to shrink to small on small screens */
|
400
404
|
|
401
|
-
|
402
|
-
|
403
|
-
}
|
404
|
-
|
405
|
-
img {
|
406
|
-
border-radius: var(--border-radius);
|
405
|
+
img {
|
406
|
+
border-radius: var(--border-radius);
|
407
407
|
min-width: 15rem;
|
408
|
-
|
409
|
-
|
408
|
+
max-height: 10rem;
|
409
|
+
}
|
410
|
+
|
411
|
+
a {
|
412
|
+
display: block;
|
413
|
+
text-align: center;
|
414
|
+
|
415
|
+
&.active {
|
416
|
+
color: var(--pure-white);
|
410
417
|
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
+
span, span[class*="icon"] {
|
419
|
+
color: inherit
|
420
|
+
}
|
421
|
+
|
422
|
+
figcaption {
|
423
|
+
opacity: 1;
|
424
|
+
}
|
425
|
+
}
|
426
|
+
|
427
|
+
&:has(img) {
|
428
|
+
padding: 0;
|
429
|
+
}
|
430
|
+
|
431
|
+
&:hover, &:active, &:focus {
|
432
|
+
&.active {
|
433
|
+
figcaption {
|
434
|
+
color: var(--hyperlink-color);
|
435
|
+
}
|
436
|
+
}
|
437
|
+
}
|
438
|
+
}
|
418
439
|
|
419
440
|
.image-wrapper {
|
420
|
-
min-width: 11.1rem;
|
441
|
+
min-width: 11.1rem; /* assure to be as wide as action-buttons in edit-mode */
|
421
442
|
}
|
422
|
-
|
423
|
-
|
424
|
-
|
443
|
+
}
|
444
|
+
}
|
445
|
+
}
|
425
446
|
|
426
|
-
|
447
|
+
&.vertical {
|
427
448
|
width: auto;
|
428
449
|
|
429
450
|
.inner-thumbnail-wrapper {
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
451
|
+
display: inline-flex;
|
452
|
+
left: 50%;
|
453
|
+
height: 75rem; /* remove later !!! */
|
454
|
+
transform: translateX(-50%);
|
455
|
+
|
456
|
+
> ul {
|
457
|
+
width: auto;
|
458
|
+
display: flex;
|
459
|
+
flex-direction: column;
|
460
|
+
|
461
|
+
[class*="switch-button-"] {
|
462
|
+
width: 100%;
|
463
|
+
height: auto;
|
464
|
+
|
465
|
+
&::before {
|
466
|
+
transform: rotate(90deg);
|
467
|
+
display: inline-block;
|
468
|
+
margin: 0 auto;
|
469
|
+
}
|
470
|
+
}
|
471
|
+
}
|
472
|
+
|
473
|
+
.slide-button-next {
|
474
|
+
top: auto;
|
475
|
+
bottom: 0;
|
476
|
+
}
|
448
477
|
}
|
449
|
-
}
|
450
478
|
}
|
451
479
|
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
480
|
+
&.gallery-scroller {
|
481
|
+
max-width: var(--max-width);
|
482
|
+
left: 0;
|
483
|
+
right: 0;
|
484
|
+
position: fixed;
|
485
|
+
bottom: var(--default-margin);
|
486
|
+
margin: auto;
|
487
|
+
display: table;
|
488
|
+
|
489
|
+
li {
|
490
|
+
a {
|
491
|
+
color: var(--color-scheme-text-color);
|
492
|
+
text-decoration: none;
|
493
|
+
|
494
|
+
&.active {
|
495
|
+
img {
|
496
|
+
border-color: var(--primary-color);
|
497
|
+
}
|
458
498
|
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
position: fixed;
|
464
|
-
bottom: var(--default-margin);
|
465
|
-
margin: auto;
|
466
|
-
display: table;
|
467
|
-
|
468
|
-
li {
|
469
|
-
a {
|
470
|
-
color: var(--color-scheme-text-color);
|
471
|
-
text-decoration: none;
|
472
|
-
}
|
473
|
-
|
474
|
-
&.active {
|
475
|
-
img {
|
476
|
-
border-color: var(--primary-color);
|
477
|
-
}
|
499
|
+
figcaption {
|
500
|
+
color: var(--primary-color);
|
501
|
+
}
|
502
|
+
}
|
478
503
|
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
504
|
+
&:not(.active) {
|
505
|
+
img {
|
506
|
+
border: var(--default-border);
|
507
|
+
opacity: var(--reduced-opacity);
|
508
|
+
}
|
483
509
|
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
510
|
+
figcaption {
|
511
|
+
text-decoration: none;
|
512
|
+
}
|
513
|
+
}
|
514
|
+
|
515
|
+
&:hover, &:active, &:focus {
|
516
|
+
figcaption {
|
517
|
+
color: var(--primary-color);
|
518
|
+
}
|
489
519
|
|
490
|
-
|
491
|
-
|
520
|
+
img {
|
521
|
+
border-color: var(--primary-color);
|
522
|
+
opacity: 1;
|
523
|
+
}
|
524
|
+
}
|
525
|
+
}
|
492
526
|
}
|
527
|
+
}
|
493
528
|
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
529
|
+
&.large-icons {
|
530
|
+
li a {
|
531
|
+
display: flex;
|
532
|
+
flex-direction: column;
|
533
|
+
gap: calc(var(--default-gap) / 4);
|
534
|
+
text-decoration: none;
|
535
|
+
align-items: center;
|
536
|
+
justify-content: center;
|
537
|
+
|
538
|
+
span {
|
539
|
+
margin: 0;
|
498
540
|
}
|
499
541
|
|
500
|
-
|
501
|
-
|
502
|
-
opacity: 1;
|
542
|
+
[class*="icon-"] {
|
543
|
+
font-size: 5rem;
|
503
544
|
}
|
504
|
-
}
|
505
545
|
}
|
506
|
-
}
|
507
546
|
}
|
508
|
-
|
509
|
-
|
510
|
-
&.large-icons {
|
511
|
-
li a {
|
512
|
-
display: flex;
|
513
|
-
flex-direction: column;
|
514
|
-
gap: calc(var(--default-gap) / 4);
|
515
|
-
text-decoration: none;
|
516
|
-
align-items: center;
|
517
|
-
justify-content: center;
|
518
|
-
|
519
|
-
span {
|
520
|
-
margin: 0;
|
521
|
-
}
|
522
|
-
|
523
|
-
[class*="icon-"] {
|
524
|
-
font-size: 5rem;
|
525
|
-
}
|
526
|
-
}
|
527
|
-
}
|
547
|
+
}
|
548
|
+
</style>
|
528
549
|
|
529
|
-
|
530
|
-
|
531
|
-
flex: none;
|
532
|
-
}
|
550
|
+
<style lang="scss">
|
551
|
+
@import '../assets/styles/variables';
|
533
552
|
|
534
|
-
|
535
|
-
|
536
|
-
|
553
|
+
@media only screen and (max-width: $medium-max-width) {
|
554
|
+
.cmd-thumbnail-scroller {
|
555
|
+
& > ul > li {
|
556
|
+
flex: none;
|
537
557
|
|
538
|
-
|
539
|
-
|
540
|
-
|
558
|
+
img {
|
559
|
+
max-height: 7rem;
|
560
|
+
}
|
561
|
+
}
|
541
562
|
|
542
|
-
|
543
|
-
|
544
|
-
|
563
|
+
& img {
|
564
|
+
width: auto;
|
565
|
+
}
|
566
|
+
|
567
|
+
&.gallery-scroller {
|
568
|
+
max-width: calc(100% - calc(var(--default-margin) * 3));
|
569
|
+
display: flex;
|
570
|
+
}
|
545
571
|
}
|
546
|
-
}
|
547
572
|
}
|
548
573
|
|
549
574
|
@container (width <= #{$small-max-width}) {
|
550
|
-
|
551
|
-
|
552
|
-
|
575
|
+
.cmd-thumbnail-scroller {
|
576
|
+
display: block;
|
577
|
+
}
|
553
578
|
}
|
554
579
|
|
555
580
|
/* end cmd-thumbnail-scroller ------------------------------------------------------------------------------------------ */
|
@@ -242,7 +242,7 @@ export default {
|
|
242
242
|
}
|
243
243
|
</script>
|
244
244
|
|
245
|
-
<style
|
245
|
+
<style>
|
246
246
|
/* begin cmd-toggle-dark-mode ---------------------------------------------------------------------------------------- */
|
247
247
|
.cmd-toggle-dark-mode {
|
248
248
|
&.styled-layout {
|
@@ -101,6 +101,8 @@ export default {
|
|
101
101
|
}
|
102
102
|
},
|
103
103
|
mounted() {
|
104
|
+
window.addEventListener('scroll', this.hideOnScroll);
|
105
|
+
|
104
106
|
if(this.relatedId) {
|
105
107
|
const relatedElement = document.getElementById(this.relatedId)
|
106
108
|
|
@@ -118,6 +120,9 @@ export default {
|
|
118
120
|
}
|
119
121
|
},
|
120
122
|
methods: {
|
123
|
+
hideOnScroll() {
|
124
|
+
this.tooltipVisibility = true
|
125
|
+
},
|
121
126
|
toggleTooltipVisibility(event) {
|
122
127
|
this.getPointerPosition(event)
|
123
128
|
this.tooltipVisibility = !this.tooltipVisibility
|
@@ -185,7 +190,7 @@ export default {
|
|
185
190
|
}
|
186
191
|
</script>
|
187
192
|
|
188
|
-
<style
|
193
|
+
<style>
|
189
194
|
/* begin cmd-tooltip ------------------------------------------------------------------------------------------ */
|
190
195
|
.cmd-tooltip {
|
191
196
|
padding: .6rem .7rem .4rem .7rem;
|
@@ -24,22 +24,24 @@
|
|
24
24
|
</CmdSystemMessage>
|
25
25
|
<!-- end CmdSystemMessage -->
|
26
26
|
|
27
|
-
<div :class="['box
|
27
|
+
<div :class="['box flex-container vertical', { 'drop-area': enableDragAndDrop, 'allow-drop': allowDrop }]" v-on="dragAndDropHandler">
|
28
28
|
<template v-if="!listOfFiles.length">
|
29
|
+
<!-- begin CmdHeadline -->
|
29
30
|
<CmdHeadline v-if="allowMultipleFileUploads" v-bind="cmdHeadlineNoFilesToUpload" headlineLevel="4">
|
30
|
-
{{
|
31
|
-
</CmdHeadline>
|
32
|
-
<CmdHeadline v-else v-bind="cmdHeadlineNoFilesToUpload" headlineLevel="4">
|
33
|
-
{{ getMessage("cmduploadform.no_file_to_upload") }}
|
31
|
+
{{ headlineTextNoFilesToUpload }}
|
34
32
|
</CmdHeadline>
|
33
|
+
<!-- end CmdHeadline -->
|
35
34
|
</template>
|
36
35
|
|
37
36
|
<!-- begin total-upload information -->
|
38
37
|
<div v-else class="flex-container vertical">
|
39
38
|
<div v-if="showTotalUpload && listOfFiles.length !== 1" class="flex-container vertical list-files-wrapper">
|
39
|
+
<!-- begin CmdHeadline -->
|
40
40
|
<CmdHeadline v-bind="cmdHeadlineSummaryOfAllFiles" headlineLevel="4">
|
41
41
|
{{ getMessage("cmduploadform.headline.summary_of_all_files") }}
|
42
42
|
</CmdHeadline>
|
43
|
+
<!-- end CmdHeadline -->
|
44
|
+
|
43
45
|
<ul v-if="showTotalUpload && listOfFiles.length !== 1" class="list-of-files total-files">
|
44
46
|
<li class="flex-container no-flex">
|
45
47
|
<a
|
@@ -83,9 +85,12 @@
|
|
83
85
|
|
84
86
|
<div class="flex-container vertical list-files-wrapper">
|
85
87
|
<!-- begin list of selected files -->
|
88
|
+
<!-- begin CmdHeadline -->
|
86
89
|
<CmdHeadline v-bind="cmdHeadlineListOfSelectedFiles" headlineLevel="4">
|
87
90
|
{{ getMessage("cmduploadform.headline.list_of_selected_files") }}
|
88
91
|
</CmdHeadline>
|
92
|
+
<!-- end CmdHeadline -->
|
93
|
+
|
89
94
|
<ul class="list-of-files">
|
90
95
|
<li
|
91
96
|
v-for="(uploadFile, index) in listOfFiles"
|
@@ -108,20 +113,21 @@
|
|
108
113
|
{ error: uploadFile.error }
|
109
114
|
]">
|
110
115
|
{{ uploadFile.file.name }} <small>({{ formatSize(uploadFile.file.size) }})</small>
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
<span
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
</
|
116
|
+
</span>
|
117
|
+
|
118
|
+
<!-- begin progressbar -->
|
119
|
+
<span class="progressbar" v-if="uploadInitiated && !uploadFile.error">
|
120
|
+
<span>{{ getPercentage(uploadFile.progress) }}</span>
|
121
|
+
<!-- do not place inside progress-tag (will not be displayed then) -->
|
122
|
+
<progress
|
123
|
+
max="100"
|
124
|
+
:value="uploadFile.progress"
|
125
|
+
:title="
|
126
|
+
formatSize(uploadFile.uploadedBytes) + '/' + formatSize(uploadFile.file.size)
|
127
|
+
"
|
128
|
+
></progress>
|
129
|
+
</span>
|
130
|
+
<!-- end progressbar -->
|
125
131
|
</li>
|
126
132
|
</ul>
|
127
133
|
<a
|
@@ -137,12 +143,18 @@
|
|
137
143
|
<!-- end list of selected files -->
|
138
144
|
|
139
145
|
<!-- begin upload conditions -->
|
146
|
+
<!-- begin CmdHeadline -->
|
140
147
|
<CmdHeadline v-if="allowMultipleFileUploads && listOfFiles.length" v-bind="cmdHeadlineSelectAdditionalFiles" headlineLevel="4">
|
141
148
|
{{ getMessage("cmduploadform.headline.select_additional_files") }}
|
142
149
|
</CmdHeadline>
|
150
|
+
<!-- end CmdHeadline -->
|
151
|
+
|
152
|
+
<!-- begin CmdHeadline -->
|
143
153
|
<CmdHeadline v-if="!allowMultipleFileUploads && listOfFiles.length" v-bind="cmdHeadlineSelectNewFile" headlineLevel="4">
|
144
154
|
{{ getMessage("cmduploadform.headline.select_new_file") }}
|
145
155
|
</CmdHeadline>
|
156
|
+
<!-- end CmdHeadline -->
|
157
|
+
|
146
158
|
<dl class="small">
|
147
159
|
<template v-if="maxTotalUploadSize > 0">
|
148
160
|
<dt :class="{ error: totalSize > maxTotalUploadSize }">
|
@@ -188,7 +200,8 @@
|
|
188
200
|
</dl>
|
189
201
|
<!-- end upload conditions -->
|
190
202
|
|
191
|
-
|
203
|
+
<!-- begin upload-button and drag-and-drop-text -->
|
204
|
+
<div class="flex-container vertical no-gap">
|
192
205
|
<button
|
193
206
|
type="button"
|
194
207
|
:class="['button upload primary', { disabled: uploadInitiated }]"
|
@@ -217,7 +230,9 @@
|
|
217
230
|
</strong>
|
218
231
|
</p>
|
219
232
|
</div>
|
233
|
+
<!-- end upload-button and drag-and-drop-text -->
|
220
234
|
</div>
|
235
|
+
|
221
236
|
<!-- begin CmdFormElement -->
|
222
237
|
<CmdFormElement
|
223
238
|
v-if="enableComment"
|
@@ -268,7 +283,8 @@
|
|
268
283
|
<!-- end advanced mode -->
|
269
284
|
|
270
285
|
<!-- begin simple mode -->
|
271
|
-
<a v-else href="#" @click.prevent="selectFiles" :class="['cmd-upload-form
|
286
|
+
<a v-else href="#" @click.prevent="selectFiles" :class="['cmd-upload-form box', { 'drop-area': enableDragAndDrop, 'allow-drop': allowDrop }]" v-on="dragAndDropHandler">
|
287
|
+
<!-- begin progressbar -->
|
272
288
|
<span class="progressbar" v-if="uploadInitiated">
|
273
289
|
<span>{{ getPercentage(totalUploadProgress) }}</span>
|
274
290
|
<progress
|
@@ -277,10 +293,11 @@
|
|
277
293
|
:title="totalBytesUploaded">
|
278
294
|
</progress>
|
279
295
|
</span>
|
296
|
+
<!-- end progressbar -->
|
280
297
|
|
281
298
|
<!-- begin slot-content -->
|
282
299
|
<slot>
|
283
|
-
<template v-if="enableDragAndDrop">
|
300
|
+
<template v-if="!enableDragAndDrop">
|
284
301
|
<template v-if="fileTypeImage">
|
285
302
|
<span>{{ getMessage("cmduploadform.select_image") }}</span>
|
286
303
|
<!-- begin CmdIcon -->
|
@@ -455,6 +472,22 @@ export default {
|
|
455
472
|
type: Boolean,
|
456
473
|
default: true
|
457
474
|
},
|
475
|
+
/**
|
476
|
+
* toggle visibility for legend-text
|
477
|
+
*/
|
478
|
+
showLegend: {
|
479
|
+
type: Boolean,
|
480
|
+
default: true
|
481
|
+
},
|
482
|
+
/**
|
483
|
+
* text for legend
|
484
|
+
*
|
485
|
+
* @requiredForAccessibility: true
|
486
|
+
*/
|
487
|
+
textLegend: {
|
488
|
+
type: String,
|
489
|
+
required: false
|
490
|
+
},
|
458
491
|
/**
|
459
492
|
* set icon for delete-icons
|
460
493
|
*/
|
@@ -611,25 +644,12 @@ export default {
|
|
611
644
|
cmdHeadlineSelectNewFile: {
|
612
645
|
type: Object,
|
613
646
|
required: false
|
614
|
-
},
|
615
|
-
/**
|
616
|
-
* toggle visibility for legend-text
|
617
|
-
*/
|
618
|
-
showLegend: {
|
619
|
-
type: Boolean,
|
620
|
-
default: true
|
621
|
-
},
|
622
|
-
/**
|
623
|
-
* text for legend
|
624
|
-
*
|
625
|
-
* @requiredForAccessibility: true
|
626
|
-
*/
|
627
|
-
textLegend: {
|
628
|
-
type: String,
|
629
|
-
required: false
|
630
647
|
}
|
631
648
|
},
|
632
649
|
computed: {
|
650
|
+
headlineTextNoFilesToUpload() {
|
651
|
+
return this.allowMultipleFileUploads ? this.getMessage("cmduploadform.no_files_to_upload") : this.this.getMessage("cmduploadform.no_file_to_upload")
|
652
|
+
},
|
633
653
|
fileTypeImage() {
|
634
654
|
return this.allowedFileExtensions.some(extension => extension.includes('jpg'));
|
635
655
|
},
|
@@ -1035,7 +1055,7 @@ export default {
|
|
1035
1055
|
}
|
1036
1056
|
</script>
|
1037
1057
|
|
1038
|
-
<style
|
1058
|
+
<style>
|
1039
1059
|
/* begin cmd-upload-form -------------------------------------------------------------------------------------------- */
|
1040
1060
|
.cmd-upload-form {
|
1041
1061
|
.cmd-custom-headline {
|
@@ -1076,7 +1096,7 @@ export default {
|
|
1076
1096
|
overflow-x: hidden;
|
1077
1097
|
overflow-y: auto;
|
1078
1098
|
border: var(--default-border);
|
1079
|
-
padding:
|
1099
|
+
padding: var(--default-padding);
|
1080
1100
|
margin: 0;
|
1081
1101
|
|
1082
1102
|
> li {
|
@@ -1175,7 +1195,7 @@ export default {
|
|
1175
1195
|
border: var(--default-border);
|
1176
1196
|
border-style: dashed;
|
1177
1197
|
background: var(--color-scheme-background-color);
|
1178
|
-
padding:
|
1198
|
+
padding: var(--default-padding);
|
1179
1199
|
text-align: center;
|
1180
1200
|
|
1181
1201
|
&.allow-drop {
|
@@ -1187,14 +1207,20 @@ export default {
|
|
1187
1207
|
}
|
1188
1208
|
}
|
1189
1209
|
|
1190
|
-
&.
|
1210
|
+
&.box {
|
1191
1211
|
display: inline-flex;
|
1192
1212
|
flex-direction: column;
|
1193
|
-
text-decoration: none;
|
1194
1213
|
background: var(--default-background-color);
|
1214
|
+
text-decoration: none;
|
1215
|
+
text-align: center;
|
1216
|
+
padding: var(--default-padding);
|
1195
1217
|
|
1196
1218
|
span {
|
1197
1219
|
margin: 0;
|
1220
|
+
|
1221
|
+
&[class*="icon-"] {
|
1222
|
+
font-size: 5rem;
|
1223
|
+
}
|
1198
1224
|
}
|
1199
1225
|
}
|
1200
1226
|
}
|