comand-component-library 4.0.14 → 4.0.16
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.js +1759 -1667
- package/dist/comand-component-library.umd.cjs +3 -3
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/ComponentLibrary.vue +73 -99
- package/src/assets/data/listOfComponents.json +39 -0
- package/src/componentSettingsDataAndControls.vue +5 -0
- package/src/components/CmdBox.vue +2 -3
- package/src/components/CmdCompanyLogo.vue +6 -3
- package/src/components/CmdFancyBox.vue +2 -1
- package/src/components/CmdForm.vue +16 -2
- package/src/components/CmdFormElement.vue +1 -8
- package/src/components/CmdImage.vue +4 -1
- package/src/components/CmdMainNavigation.vue +3 -3
- package/src/components/CmdOpeningHours.vue +29 -26
- package/src/components/CmdPageHeader.vue +1 -1
- package/src/components/CmdSiteHeader.vue +100 -10
- package/src/components/ComponentSettings.vue +0 -1
- package/src/pages/BasicForm.vue +23 -20
- package/src/pages/ContactInformation.vue +13 -4
- package/src/pages/PageOverview.vue +33 -2
- package/src/App.vue +0 -2117
package/src/ComponentLibrary.vue
CHANGED
@@ -19,10 +19,11 @@
|
|
19
19
|
:useGap="false"
|
20
20
|
>
|
21
21
|
<template v-slot="slotProps">
|
22
|
+
<!-- begin box template selection -->
|
22
23
|
<CmdBox
|
23
24
|
:use-slots="['body']"
|
24
25
|
:collapsible="true"
|
25
|
-
:cmdHeadline="{headlineText: 'Template
|
26
|
+
:cmdHeadline="{headlineText: 'Template Selection', headlineLevel: 4, headlineIcon: {iconClass: 'icon-settings-template'}}"
|
26
27
|
:openCollapsedBox="slotProps.boxIsOpen(0)"
|
27
28
|
@toggleCollapse="slotProps.boxToggled(0, $event)"
|
28
29
|
>
|
@@ -39,6 +40,9 @@
|
|
39
40
|
</label>
|
40
41
|
</template>
|
41
42
|
</CmdBox>
|
43
|
+
<!-- end box template selection -->
|
44
|
+
|
45
|
+
<!-- begin box list of components-->
|
42
46
|
<CmdBox
|
43
47
|
:use-slots="['body']"
|
44
48
|
:collapsible="true"
|
@@ -48,92 +52,21 @@
|
|
48
52
|
>
|
49
53
|
<template v-slot:body>
|
50
54
|
<ul>
|
51
|
-
<li :class="'active'
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
</li>
|
60
|
-
<li><a href="#section-breadcrumbs"
|
61
|
-
@click="updateSettingsSidebar('CmdBreadcrumbs')">Breadcrumbs</a></li>
|
62
|
-
<li><a href="#section-cookie-disclaimer" @click="hideSettingsSidebar">Cookie-Disclaimer</a>
|
63
|
-
</li>
|
64
|
-
<li><a href="#section-fancybox" @click="hideSettingsSidebar">Fancybox</a></li>
|
65
|
-
<li><a href="#section-forms" @click="hideSettingsSidebar">Forms</a></li>
|
66
|
-
<li><a href="#section-google-maps" @click="hideSettingsSidebar">Google-Maps™</a>
|
67
|
-
</li>
|
68
|
-
<li><a href="#section-headlines" @click="updateSettingsSidebar('CmdHeadline')">Headlines</a>
|
69
|
-
</li>
|
70
|
-
<li><a href="#section-icons" @click="hideSettingsSidebar">Icons</a></li>
|
71
|
-
<li><a href="#section-input-group"
|
72
|
-
@click="updateSettingsSidebar('CmdInputGroup')">Input-Group</a></li>
|
73
|
-
<li><a href="#section-image" @click="hideSettingsSidebar">Image</a></li>
|
74
|
-
<li><a href="#section-image-gallery" @click="hideSettingsSidebar">Image
|
75
|
-
Gallery</a></li>
|
76
|
-
<li><a href="#section-image-zoom" @click="hideSettingsSidebar">Image-Zoom</a>
|
77
|
-
</li>
|
78
|
-
<li><a href="#section-list-of-links"
|
79
|
-
@click="updateSettingsSidebar('CmdLinkOfLists')">List Of Links</a></li>
|
80
|
-
<li><a href="#section-login-form"
|
81
|
-
@click="updateSettingsSidebar('CmdLoginForm')">Login Form</a></li>
|
82
|
-
<li><a href="#section-main-navigation"
|
83
|
-
@click="updateSettingsSidebar('CmdMainNavigation')">Main-Navigation</a>
|
84
|
-
</li>
|
85
|
-
<li><a href="#section-multistep-form-progress-bar"
|
86
|
-
@click="updateSettingsSidebar('CmdMultistepFormProgressBar')">Multistepform-Progressbar</a>
|
87
|
-
</li>
|
88
|
-
<li><a href="#section-newsletter-subscription"
|
89
|
-
@click="updateSettingsSidebar('CmdNewsletterSubscription')">Newsletter
|
90
|
-
Subscription</a></li>
|
91
|
-
<li><a href="#section-opening-hours"
|
92
|
-
@click="updateSettingsSidebar('CmdOpeningHours')">Opening Hours</a></li>
|
93
|
-
<li><a href="#section-page-footer"
|
94
|
-
@click="updateSettingsSidebar('CmdPageFooter')">Page Footer</a></li>
|
95
|
-
<li><a href="#section-page-header"
|
96
|
-
@click="updateSettingsSidebar('CmdPageHeader')">Page Header</a></li>
|
97
|
-
<li><a href="#section-pagination"
|
98
|
-
@click="updateSettingsSidebar('CmdPagination')">Pagination</a></li>
|
99
|
-
<li><a href="#section-site-footer" @click="hideSettingsSidebar">Site Footer</a>
|
100
|
-
</li>
|
101
|
-
<li><a href="#section-site-header"
|
102
|
-
@click="updateSettingsSidebar('CmdSiteHeader')">Site Header</a></li>
|
103
|
-
<li><a href="#section-site-search"
|
104
|
-
@click="updateSettingsSidebar('CmdSiteSearch')">Site Search</a></li>
|
105
|
-
<li><a href="#section-slideshow" @click="updateSettingsSidebar('CmdSlideshow')">Slideshow</a>
|
106
|
-
</li>
|
107
|
-
<li><a href="#section-social-networks"
|
108
|
-
@click="updateSettingsSidebar('CmdSocialNetworks')">Social Networks</a>
|
109
|
-
</li>
|
110
|
-
<li><a href="#section-switch-language" @click="hideSettingsSidebar">Switch Language</a>
|
111
|
-
</li>
|
112
|
-
<li><a href="#section-system-message"
|
113
|
-
@click="updateSettingsSidebar('CmdSystemMessage')">System-Message</a>
|
114
|
-
</li>
|
115
|
-
<li><a href="#section-tables"
|
116
|
-
@click="updateSettingsSidebar('CmdSystemMeCmdTablesssage')">Tables</a>
|
117
|
-
</li>
|
118
|
-
<li><a href="#section-tabs" @click="updateSettingsSidebar('CmdTabs')">Tabs</a>
|
119
|
-
</li>
|
120
|
-
<li><a href="#section-text-image-block"
|
121
|
-
@click="updateSettingsSidebar('CmdTextImageBlock')">Text Image Block</a>
|
122
|
-
</li>
|
123
|
-
<li><a href="#section-thumbnail-scroller"
|
124
|
-
@click="updateSettingsSidebar('CmdThumbnailScroller')">Thumbnail-Scroller</a>
|
125
|
-
</li>
|
126
|
-
<li><a href="#section-toggle-darkmode"
|
127
|
-
@click="updateSettingsSidebar('CmdToggleDarkMode')">ToggleDarkMode</a>
|
128
|
-
</li>
|
129
|
-
<li><a href="#section-tooltip" @click="updateSettingsSidebar('CmdTooltip')">Tooltip</a>
|
130
|
-
</li>
|
131
|
-
<li><a href="#section-upload-form"
|
132
|
-
@click="updateSettingsSidebar('CmdUploadForm')">Upload-Form</a>
|
55
|
+
<li v-for="(componentName, index) in listOfComponents" :key="index" :class="{'active' : activeEntry === 'Cmd' + componentName}">
|
56
|
+
<a
|
57
|
+
:href="sectionName(componentName)"
|
58
|
+
@click="updateSettingsSidebar(componentNameWithPrefix(componentName))"
|
59
|
+
title="Go to component"
|
60
|
+
>
|
61
|
+
{{ readableComponentName(componentName)}}
|
62
|
+
</a>
|
133
63
|
</li>
|
134
64
|
</ul>
|
135
65
|
</template>
|
136
66
|
</CmdBox>
|
67
|
+
<!-- end box list of components-->
|
68
|
+
|
69
|
+
<!-- begin box page-templates -->
|
137
70
|
<CmdBox
|
138
71
|
:use-slots="['body']"
|
139
72
|
:collapsible="true"
|
@@ -186,18 +119,22 @@
|
|
186
119
|
</ul>
|
187
120
|
</template>
|
188
121
|
</CmdBox>
|
122
|
+
<!-- end box page-templates -->
|
189
123
|
</template>
|
190
124
|
</CmdBoxWrapper>
|
125
|
+
|
126
|
+
<!-- begin list comand-versions -->
|
191
127
|
<dl class="box-footer comand-versions">
|
192
128
|
<dt>Frontend-Framework Version:</dt>
|
193
129
|
<dd>{{ packageJson.dependencies['comand-frontend-framework'].replace("^", "") }}</dd>
|
194
130
|
<dt>Component-Library Version:</dt>
|
195
131
|
<dd>{{ packageJson.version }}</dd>
|
196
132
|
</dl>
|
133
|
+
<!-- end list comand-versions -->
|
197
134
|
</template>
|
198
135
|
<template #closed>
|
199
136
|
<div class="closed-sidebar">
|
200
|
-
<a href="#" class="button primary" title="Open Template
|
137
|
+
<a href="#" class="button primary" title="Open Template Selection" @click.prevent="openBox(0)">
|
201
138
|
<span class="icon-settings-template"></span>
|
202
139
|
</a>
|
203
140
|
<a href="#" class="button primary" title="Open Components Overview" @click.prevent="openBox(1)">
|
@@ -226,10 +163,7 @@
|
|
226
163
|
<template v-slot:logo>
|
227
164
|
<!-- begin company-logo --------------------------------------------------------------------------------------------------------------------------------------------------->
|
228
165
|
<CmdCompanyLogo
|
229
|
-
|
230
|
-
altText="CoManD Logo"
|
231
|
-
:pathDefaultLogo="companyLogoData.pathDefaultLogo"
|
232
|
-
:pathDarkmodeLogo="companyLogoData.pathDarkmodeLogo"
|
166
|
+
v-bind="companyLogoData"
|
233
167
|
/>
|
234
168
|
<!-- end company-logo --------------------------------------------------------------------------------------------------------------------------------------------------->
|
235
169
|
</template>
|
@@ -1236,13 +1170,30 @@
|
|
1236
1170
|
<a href="#" class="icon-cog" title="Open Component Settings"
|
1237
1171
|
@click.prevent="openSettingsSidebar('CmdBreadcrumbs')"></a>
|
1238
1172
|
</h2>
|
1239
|
-
<CmdBreadcrumbs
|
1240
|
-
|
1241
|
-
|
1242
|
-
|
1173
|
+
<CmdBreadcrumbs
|
1174
|
+
ref="CmdBreadcrumbs"
|
1175
|
+
:breadcrumbLabel="breadcrumbsData.breadcrumbLabel"
|
1176
|
+
:breadcrumbLinks="breadcrumbsData.breadcrumbLinks"
|
1177
|
+
v-bind="cmdBreadcrumbsSettingsData"
|
1178
|
+
/>
|
1243
1179
|
</CmdWidthLimitationWrapper>
|
1244
1180
|
<!-- end breadcrumbs ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
1245
1181
|
|
1182
|
+
<!-- begin company-logo ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
1183
|
+
<CmdWidthLimitationWrapper>
|
1184
|
+
<h2 class="headline-demopage" id="section-company-logo">
|
1185
|
+
<span>Company Logo</span>
|
1186
|
+
<a href="#" class="icon-cog" title="Open Component Settings"
|
1187
|
+
@click.prevent="openSettingsSidebar('CmdCompanyLogo')"></a>
|
1188
|
+
</h2>
|
1189
|
+
<CmdCompanyLogo
|
1190
|
+
ref="CmdCompanyLogo"
|
1191
|
+
:link="companyLogoData.link"
|
1192
|
+
v-bind="cmdCompanyLogoSettingsData"
|
1193
|
+
/>
|
1194
|
+
</CmdWidthLimitationWrapper>
|
1195
|
+
<!-- end company-logo ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
1196
|
+
|
1246
1197
|
<!-- begin cookie-disclaimer ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
1247
1198
|
<CmdWidthLimitationWrapper>
|
1248
1199
|
<h2 class="headline-demopage" id="section-cookie-disclaimer">Cookie Disclaimer</h2>
|
@@ -1815,7 +1766,7 @@
|
|
1815
1766
|
<CmdThumbnailScroller
|
1816
1767
|
ref="CmdThumbnailScroller"
|
1817
1768
|
v-bind="cmdThumbnailScrollerSettingsData"
|
1818
|
-
:
|
1769
|
+
:thumbnailScrollerItems="thumbnailScrollerData"
|
1819
1770
|
/>
|
1820
1771
|
</div>
|
1821
1772
|
</CmdWidthLimitationWrapper>
|
@@ -1871,16 +1822,19 @@
|
|
1871
1822
|
<!-- end upload-form ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
1872
1823
|
</main>
|
1873
1824
|
|
1825
|
+
<!-- begin page view -->
|
1874
1826
|
<main v-else id="content">
|
1875
1827
|
<CmdWidthLimitationWrapper>
|
1876
1828
|
<h1 class="headline-demopage">Page Overview</h1>
|
1877
1829
|
</CmdWidthLimitationWrapper>
|
1878
1830
|
|
1879
|
-
<!--
|
1831
|
+
<!-- begin page-overview -->
|
1880
1832
|
<PageOverview />
|
1881
1833
|
<!-- end page-overview -->
|
1882
1834
|
</main>
|
1835
|
+
<!-- end page view -->
|
1883
1836
|
|
1837
|
+
<!-- begin cmd-site-footer -->
|
1884
1838
|
<CmdSiteFooter>
|
1885
1839
|
<!-- begin slot-content -->
|
1886
1840
|
Slot-Content for Site-Footer
|
@@ -1978,6 +1932,8 @@ import thumbnailScrollerTextData from '@/assets/data/thumbnail-scroller-text.jso
|
|
1978
1932
|
|
1979
1933
|
import packageJson from '../package.json'
|
1980
1934
|
|
1935
|
+
import listOfComponents from "@/assets/data/listOfComponents.json"
|
1936
|
+
|
1981
1937
|
import PageOverview from "@/pages/PageOverview.vue"
|
1982
1938
|
|
1983
1939
|
// import external functions
|
@@ -1996,6 +1952,7 @@ export default {
|
|
1996
1952
|
},
|
1997
1953
|
data() {
|
1998
1954
|
return {
|
1955
|
+
listOfComponents,
|
1999
1956
|
activeEntry: "CmdAddressData",
|
2000
1957
|
componentControls: {},
|
2001
1958
|
componentView: true,
|
@@ -2159,17 +2116,27 @@ export default {
|
|
2159
2116
|
}
|
2160
2117
|
},
|
2161
2118
|
methods: {
|
2162
|
-
|
2163
|
-
|
2119
|
+
sectionName(componentName) {
|
2120
|
+
let componentNameWithHyphens = componentName.replace(/([A-Z])/g, '-$1');
|
2121
|
+
return "#section" + componentNameWithHyphens.toLowerCase();
|
2122
|
+
},
|
2123
|
+
readableComponentName(componentName) {
|
2124
|
+
return componentName.replace(/(?!^)([A-Z])/g, ' $1');
|
2164
2125
|
},
|
2165
|
-
|
2166
|
-
|
2126
|
+
componentNameWithPrefix(componentName) {
|
2127
|
+
return "Cmd" + componentName
|
2128
|
+
},
|
2129
|
+
setActiveEntry(componentName) {
|
2130
|
+
this.activeEntry = componentName
|
2131
|
+
},
|
2132
|
+
updateSettingsSidebar(componentName, type) {
|
2133
|
+
this.setActiveEntry(componentName)
|
2167
2134
|
|
2168
2135
|
if(type !== 'page') {
|
2169
2136
|
this.componentView = true
|
2170
2137
|
|
2171
2138
|
if (this.openRightSidebar) {
|
2172
|
-
this.openSettingsSidebar(
|
2139
|
+
this.openSettingsSidebar(componentName)
|
2173
2140
|
}
|
2174
2141
|
} else {
|
2175
2142
|
this.componentView = false
|
@@ -2187,6 +2154,8 @@ export default {
|
|
2187
2154
|
this.componentSettings = this[lowerCaseComponentName + "SettingsData"]
|
2188
2155
|
|
2189
2156
|
const controlsName = lowerCaseComponentName + "SettingsControls"
|
2157
|
+
console.log("controlsName", controlsName)
|
2158
|
+
console.log("this[controlsName]", this[controlsName])
|
2190
2159
|
if (this[controlsName]) {
|
2191
2160
|
this.componentControls = this[controlsName]
|
2192
2161
|
}
|
@@ -2387,6 +2356,11 @@ export default {
|
|
2387
2356
|
&:not(:last-child) {
|
2388
2357
|
border-bottom: 0;
|
2389
2358
|
}
|
2359
|
+
|
2360
|
+
li.active a {
|
2361
|
+
padding: 0.1rem 0.3rem;
|
2362
|
+
text-decoration: none;
|
2363
|
+
}
|
2390
2364
|
}
|
2391
2365
|
|
2392
2366
|
.open-slot-wrapper {
|
@@ -0,0 +1,39 @@
|
|
1
|
+
[
|
2
|
+
"AddressData",
|
3
|
+
"AdvancedFormElements",
|
4
|
+
"BankAccountData",
|
5
|
+
"Boxes",
|
6
|
+
"Breadcrumbs",
|
7
|
+
"CompanyLogo",
|
8
|
+
"CookieDisclaimer",
|
9
|
+
"Forms",
|
10
|
+
"Fancybox",
|
11
|
+
"GoogleMaps",
|
12
|
+
"Headlines",
|
13
|
+
"Icons",
|
14
|
+
"Image",
|
15
|
+
"ImageGallery",
|
16
|
+
"ImageZoom",
|
17
|
+
"ListOfLinks",
|
18
|
+
"LoginForm",
|
19
|
+
"MainNavigation",
|
20
|
+
"MultistepFormProgressBar",
|
21
|
+
"NewsletterSubscription",
|
22
|
+
"OpeningHours",
|
23
|
+
"PageFooter",
|
24
|
+
"PageHeader",
|
25
|
+
"Pagination",
|
26
|
+
"SiteFooter",
|
27
|
+
"SiteHeader",
|
28
|
+
"SiteSearch",
|
29
|
+
"Slideshow",
|
30
|
+
"SocialNetworks",
|
31
|
+
"SwitchLanguage",
|
32
|
+
"SystemMessage",
|
33
|
+
"Tables",
|
34
|
+
"Tabs",
|
35
|
+
"TextImageBlock",
|
36
|
+
"ThumbnailScroller",
|
37
|
+
"Tooltip",
|
38
|
+
"UploadForm"
|
39
|
+
]
|
@@ -92,6 +92,11 @@ data() {
|
|
92
92
|
}
|
93
93
|
]
|
94
94
|
},
|
95
|
+
cmdCompanyLogoSettingsData: {
|
96
|
+
pathDefaultLogo: "/media/images/logos/logo.svg",
|
97
|
+
pathDarkmodeLogo: "/media/images/logos/logo-darkmode.svg",
|
98
|
+
altText: "Company Logo"
|
99
|
+
},
|
95
100
|
cmdFakeSelectSettingsData: {
|
96
101
|
showSelectAllOptions: true,
|
97
102
|
status: "",
|
@@ -257,11 +257,11 @@ export default {
|
|
257
257
|
default: false
|
258
258
|
},
|
259
259
|
/**
|
260
|
-
* set max-height for body (should only be used
|
260
|
+
* set max-height for body (should only be used if allowContentToScroll-property is active)
|
261
261
|
*/
|
262
262
|
maxBoxBodyHeight: {
|
263
263
|
type: String,
|
264
|
-
default: "
|
264
|
+
default: "20rem"
|
265
265
|
},
|
266
266
|
/**
|
267
267
|
* activate if box should be collapsible
|
@@ -440,7 +440,6 @@ export default {
|
|
440
440
|
},
|
441
441
|
/*
|
442
442
|
mounted() {
|
443
|
-
|
444
443
|
if (this.allowContentToScroll && this.$refs.boxBody) {
|
445
444
|
const topPosition = this.$refs.boxBody.getBoundingClientRect().top
|
446
445
|
this.calculatedBodyHeight = (document.documentElement.clientHeight - topPosition) + "px"
|
@@ -2,16 +2,16 @@
|
|
2
2
|
<div class="cmd-company-logo company-logo">
|
3
3
|
<router-link v-if="link?.type === 'router'" :to="link?.path" :title="link?.tooltip">
|
4
4
|
<!-- begin CmdImage -->
|
5
|
-
<CmdImage :image="image"/>
|
5
|
+
<CmdImage :image="image" @image-loaded="onImageLoaded" />
|
6
6
|
<!-- end CmdImage -->
|
7
7
|
</router-link>
|
8
8
|
<a v-else-if="link?.type === 'href'" :href="link?.path" :title="link?.tooltip">
|
9
9
|
<!-- begin CmdImage -->
|
10
|
-
<CmdImage :image="image"/>
|
10
|
+
<CmdImage :image="image" @image-loaded="onImageLoaded" />
|
11
11
|
<!-- end CmdImage -->
|
12
12
|
</a>
|
13
13
|
<!-- begin CmdImage -->
|
14
|
-
<CmdImage v-else :image="image"/>
|
14
|
+
<CmdImage v-else :image="image" @image-loaded="onImageLoaded" />
|
15
15
|
<!-- end CmdImage -->
|
16
16
|
</div>
|
17
17
|
</template>
|
@@ -88,6 +88,9 @@ export default {
|
|
88
88
|
this.$_observer.disconnect()
|
89
89
|
},
|
90
90
|
methods: {
|
91
|
+
onImageLoaded(event) {
|
92
|
+
this.$emit("image-loaded", event)
|
93
|
+
},
|
91
94
|
onColorSchemeChange(event) {
|
92
95
|
this.prefersColorScheme = event.matches ? "light" : "dark"
|
93
96
|
},
|
@@ -484,6 +484,7 @@ export default FancyBox
|
|
484
484
|
border-radius: var(--default-border-radius);
|
485
485
|
overflow: hidden;
|
486
486
|
gap: calc(var(--default-gap) / 2);
|
487
|
+
max-width: var(--max-width);
|
487
488
|
|
488
489
|
&.image-gallery {
|
489
490
|
margin-top: calc(var(--default-margin) * 2)
|
@@ -601,7 +602,7 @@ export default FancyBox
|
|
601
602
|
.outer-content-wrapper {
|
602
603
|
max-height: 85vh;
|
603
604
|
overflow-x: hidden;
|
604
|
-
|
605
|
+
flex: none;
|
605
606
|
|
606
607
|
.content {
|
607
608
|
> img, > video {
|
@@ -33,13 +33,22 @@
|
|
33
33
|
<!-- end loop for formElements -->
|
34
34
|
|
35
35
|
<!-- begin submit-button -->
|
36
|
-
<button v-if="submitButton" :class="['button', {primary: submitButton.primary}]" :type="submitButton.type">
|
36
|
+
<button v-if="submitButton && submitButton.position === 'insideFieldset'" :class="['button', {primary: submitButton.primary}]" :type="submitButton.type">
|
37
37
|
<span v-if="submitButton.iconClass" :class="submitButton.iconClass"></span>
|
38
38
|
<span v-if="submitButton.text">{{ submitButton.text }}</span>
|
39
39
|
</button>
|
40
40
|
<!-- end submit-button -->
|
41
41
|
</fieldset>
|
42
42
|
|
43
|
+
<div v-if="submitButton && submitButton.position === 'belowFieldset'" class="button-wrapper">
|
44
|
+
<!-- begin submit-button -->
|
45
|
+
<button :class="['button', {primary: submitButton.primary}]" :type="submitButton.type">
|
46
|
+
<span v-if="submitButton.iconClass" :class="submitButton.iconClass"></span>
|
47
|
+
<span v-if="submitButton.text">{{ submitButton.text }}</span>
|
48
|
+
</button>
|
49
|
+
<!-- end submit-button -->
|
50
|
+
</div>
|
51
|
+
|
43
52
|
<!-- begin button-row-slot-content -->
|
44
53
|
<slot name="button-row"></slot>
|
45
54
|
<!-- end button-row-slot-content -->
|
@@ -124,7 +133,7 @@ export default {
|
|
124
133
|
required: false
|
125
134
|
},
|
126
135
|
/**
|
127
|
-
*
|
136
|
+
* submit-button to submit all form-data
|
128
137
|
*/
|
129
138
|
submitButton: {
|
130
139
|
type: Object,
|
@@ -133,6 +142,7 @@ export default {
|
|
133
142
|
iconClass: "icon-check",
|
134
143
|
text: "Submit",
|
135
144
|
type: "submit",
|
145
|
+
position: "insideFieldset",
|
136
146
|
primary: true
|
137
147
|
}
|
138
148
|
}
|
@@ -214,6 +224,10 @@ export default {
|
|
214
224
|
.button, .button:last-child {
|
215
225
|
margin-left: auto;
|
216
226
|
}
|
227
|
+
|
228
|
+
fieldset + .button-wrapper {
|
229
|
+
margin-top: var(--default-margin);
|
230
|
+
}
|
217
231
|
}
|
218
232
|
/* end cmd-form ---------------------------------------------------------------------------------------- */
|
219
233
|
</style>
|
@@ -28,7 +28,7 @@
|
|
28
28
|
<!-- end slot 'labeltext' -->
|
29
29
|
|
30
30
|
<!-- begin required asterisk -->
|
31
|
-
<sup v-if="$attrs.required !==
|
31
|
+
<sup v-if="$attrs.required != null && $attrs.required !== false" aria-hidden="true">*</sup>
|
32
32
|
<!-- end required asterisk -->
|
33
33
|
</span>
|
34
34
|
|
@@ -423,13 +423,6 @@ export default {
|
|
423
423
|
}
|
424
424
|
}
|
425
425
|
},
|
426
|
-
/**
|
427
|
-
* set text for tooltip
|
428
|
-
*/
|
429
|
-
tooltipText: {
|
430
|
-
type: String,
|
431
|
-
required: false
|
432
|
-
},
|
433
426
|
/**
|
434
427
|
* set class for inner icon (icon placed 'inside' input/ left of input-text)
|
435
428
|
*
|
@@ -92,7 +92,7 @@
|
|
92
92
|
<!-- begin default-view -->
|
93
93
|
<figure v-else :class="['cmd-image', textAlign]">
|
94
94
|
<figcaption v-if="figcaption?.show && figcaption?.position === 'top'">{{ figcaption?.text }}</figcaption>
|
95
|
-
<img :src="imageSource" :alt="image?.alt" :title="image?.tooltip"/>
|
95
|
+
<img :src="imageSource" :alt="image?.alt" :title="image?.tooltip" @load="onImageLoaded" />
|
96
96
|
<figcaption v-if="figcaption?.show && figcaption?.position !== 'top'">{{ figcaption?.text }}</figcaption>
|
97
97
|
</figure>
|
98
98
|
<!-- end default-view -->
|
@@ -248,6 +248,9 @@ export default {
|
|
248
248
|
}
|
249
249
|
},
|
250
250
|
methods: {
|
251
|
+
onImageLoaded(event) {
|
252
|
+
this.$emit("image-loaded", event)
|
253
|
+
},
|
251
254
|
itemProvider() {
|
252
255
|
const editModeConfig = this.editModeConfig?.itemProviderOverwrite?.()
|
253
256
|
return {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div
|
3
3
|
:class="[
|
4
|
-
'cmd-main-navigation',
|
4
|
+
'cmd-main-navigation main-navigation-wrapper',
|
5
5
|
{
|
6
6
|
'hide-sub-navigation' : !showSubNavigations,
|
7
7
|
'open-off-canvas': showOffcanvas,
|
@@ -9,7 +9,7 @@
|
|
9
9
|
'show-content-overlay': showContentOverlay,
|
10
10
|
'off-canvas-right': offcanvasPosition === 'right'
|
11
11
|
}
|
12
|
-
]"
|
12
|
+
]">
|
13
13
|
<nav>
|
14
14
|
<!-- begin main-level -->
|
15
15
|
<ul :class="{'stretch-items' : stretchMainItems}">
|
@@ -393,7 +393,7 @@ export default {
|
|
393
393
|
@import '../assets/styles/variables';
|
394
394
|
|
395
395
|
@media only screen and (max-width: $medium-max-width) {
|
396
|
-
.cmd-main-navigation
|
396
|
+
.cmd-main-navigation.main-navigation-wrapper {
|
397
397
|
--nav-transition: all .5s linear;
|
398
398
|
|
399
399
|
display: flex;
|
@@ -62,32 +62,35 @@
|
|
62
62
|
<!-- end default view -->
|
63
63
|
|
64
64
|
<!-- begin edit-mode -->
|
65
|
-
<
|
66
|
-
<
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
65
|
+
<template v-else>
|
66
|
+
<button v-if="openingHoursFormatted.length === 0" type="button" class="button confirm small"
|
67
|
+
@click="onAddItem">
|
68
|
+
<span class="icon-plus"></span>
|
69
|
+
<span>Add new entry</span>
|
70
|
+
</button>
|
71
|
+
|
72
|
+
<EditComponentWrapper
|
73
|
+
v-else
|
74
|
+
v-for="(day, index) in openingHoursFormatted"
|
75
|
+
:key="'x' + index"
|
76
|
+
class="edit-items"
|
77
|
+
:showComponentName="false"
|
78
|
+
componentName="CmdOpeningHoursItem"
|
79
|
+
:componentProps="day"
|
80
|
+
:allowedComponentTypes="[]"
|
81
|
+
:componentPath="['props', 'openingHours', index]"
|
82
|
+
:itemProvider="itemProvider"
|
83
|
+
>
|
84
|
+
<dl class="edit-mode-opening-hours-item">
|
85
|
+
<CmdOpeningHoursItem
|
86
|
+
:day="day"
|
87
|
+
:separator="separator"
|
88
|
+
:abbreviationTextAm="abbreviationTextAm"
|
89
|
+
:abbreviationTextPm="abbreviationTextPm"
|
90
|
+
/>
|
91
|
+
</dl>
|
92
|
+
</EditComponentWrapper>
|
93
|
+
</template>
|
91
94
|
<!-- end edit-mode -->
|
92
95
|
|
93
96
|
<!-- begin holiday-closes-text and miscellaneous information -->
|