comand-component-library 4.0.7 → 4.0.8
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 +2016 -1892
- package/dist/comand-component-library.umd.cjs +3 -3
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/ComponentLibrary.vue +95 -17
- package/src/assets/data/list-of-links.json +13 -1
- package/src/assets/data/pages/list-of-downloads.json +56 -0
- package/src/assets/data/pages/list-of-site-links.json +78 -0
- package/src/assets/data/social-networks-page-by-json.json +2 -2
- package/src/assets/styles/component-library-global-styles.scss +12 -0
- package/src/componentSettingsDataAndControls.vue +27 -2
- package/src/components/CmdFakeSelect.vue +10 -21
- package/src/components/CmdFormElement.vue +5 -2
- package/src/components/CmdInputGroup.vue +1 -1
- package/src/components/CmdListOfLinks.vue +72 -12
- package/src/components/CmdListOfLinksItem.vue +14 -3
- package/src/components/CmdPageFooter.vue +83 -0
- package/src/components/CmdPagination.vue +4 -4
- package/src/components/CmdSidebar.vue +2 -0
- package/src/components/CmdSocialNetworks.vue +28 -20
- package/src/components/CmdSwitchLanguage.vue +3 -1
- package/src/components/CmdTextImageBlock.vue +44 -15
- package/src/components/CmdWidthLimitationWrapper.vue +27 -6
- package/src/components/EditComponentWrapper.vue +4 -0
- package/src/index.js +2 -1
- package/src/mixins/CmdFakeSelect/DefaultMessageProperties.js +0 -1
- package/src/mixins/pages/BasicForm/DefaultMessageProperties.js +28 -0
- package/src/pages/BasicForm.vue +341 -0
- package/src/pages/PageOverview.vue +53 -0
- package/src/pages/PageWrapper.vue +260 -0
- package/src/pages/SegmentedListsOfLinks.vue +34 -0
- /package/src/mixins/{CmdPager → CmdPagination}/DefaultMessageProperties.js +0 -0
@@ -0,0 +1,260 @@
|
|
1
|
+
<template>
|
2
|
+
<a id="anchor-back-to-top"></a>
|
3
|
+
<div :class="{'overflow-hidden': offCanvasOpen}" id="page-wrapper"
|
4
|
+
:style="{'scroll-padding-top': heightSiteHeader + 'px'}">
|
5
|
+
<!-- begin cmd-site-header -->
|
6
|
+
<CmdSiteHeader
|
7
|
+
v-if="cmdSiteHeader"
|
8
|
+
:cmdMainNavigation="{navigationEntries: mainNavigationEntries}"
|
9
|
+
:closeOffcanvas="{ iconClass: 'icon-cancel', text: label('main_navigation.close_navigation'), showText: true}"
|
10
|
+
:navigationInline="cmdSiteHeader.navigationInline"
|
11
|
+
@offcanvas="offcanvasToggled"
|
12
|
+
>
|
13
|
+
<template v-slot:top-header>
|
14
|
+
<!-- begin cmd-list-of-links (for top-header-navigation) -->
|
15
|
+
<CmdListOfLinks
|
16
|
+
v-if="topHeaderNavigationEntries"
|
17
|
+
:links="topHeaderNavigationEntries"
|
18
|
+
orientation="horizontal"
|
19
|
+
align="right"
|
20
|
+
/>
|
21
|
+
<!-- end cmd-list-of-links (for top-header-navigation) -->
|
22
|
+
</template>
|
23
|
+
<template v-slot:logo>
|
24
|
+
<!-- begin cmd-company-logo -->
|
25
|
+
<CmdCompanyLogo
|
26
|
+
v-if="cmdCompanyLogo.pathDefaultLogo"
|
27
|
+
:altText="cmdCompanyLogo.altText"
|
28
|
+
:pathDefaultLogo="cmdCompanyLogo.pathDefaultLogo"
|
29
|
+
:pathDarkmodeLogo="cmdCompanyLogo.pathDarkmodeLogo"
|
30
|
+
/>
|
31
|
+
<!-- end cmd-company-logo -->
|
32
|
+
</template>
|
33
|
+
</CmdSiteHeader>
|
34
|
+
<!-- end cmd-site-header -->
|
35
|
+
|
36
|
+
<!-- begin main-content -->
|
37
|
+
<main id="content">
|
38
|
+
<div class="inner-content-wrapper">
|
39
|
+
<!-- begin left column -->
|
40
|
+
<aside v-if="mainContent.leftColumn.show" class="left-column">
|
41
|
+
<!-- begin slot left column -->
|
42
|
+
<slot name="left-column"></slot>
|
43
|
+
<!-- end slot left column -->
|
44
|
+
</aside>
|
45
|
+
<!-- end left column -->
|
46
|
+
|
47
|
+
<!-- begin center/main column -->
|
48
|
+
<div class="main-content-wrapper">
|
49
|
+
<!-- begin CmdBreadcrumbs -->
|
50
|
+
<CmdBreadcrumbs v-if="cmdBreadcrumbs" v-bind="cmdBreadcrumbs"/>
|
51
|
+
<!-- end CmdBreadcrumbs -->
|
52
|
+
|
53
|
+
<!-- begin CmdHeadline -->
|
54
|
+
<CmdHeadline v-if="cmdHeadline" v-bind="cmdHeadline"/>
|
55
|
+
<!-- end CmdHeadline -->
|
56
|
+
|
57
|
+
<slot></slot>
|
58
|
+
|
59
|
+
<!-- begin CmdSocialNetworks -->
|
60
|
+
<CmdSocialNetworks v-if="cmdSocialNetworks" v-bind="cmdSocialNetworks"/>
|
61
|
+
<!-- end CmdSocialNetworks -->
|
62
|
+
</div>
|
63
|
+
<!-- end center/main column -->
|
64
|
+
|
65
|
+
<!-- begin right column -->
|
66
|
+
<aside v-if="mainContent.rightColumn.show" class="right-column">
|
67
|
+
<!-- begin slot right column -->
|
68
|
+
<slot name="left-column"></slot>
|
69
|
+
<!-- end slot right column -->
|
70
|
+
</aside>
|
71
|
+
<!-- begin right column -->
|
72
|
+
</div>
|
73
|
+
</main>
|
74
|
+
<!-- end main-content -->
|
75
|
+
|
76
|
+
<!-- begin cmd-site-footer -->
|
77
|
+
<CmdSiteFooter v-if="cmdSiteFooter">
|
78
|
+
<!-- begin parent-component -->
|
79
|
+
<component
|
80
|
+
v-for="(component, index) in cmdSiteFooter.components || []" :key="index"
|
81
|
+
:is="component.name"
|
82
|
+
v-bind="component.props"
|
83
|
+
v-on="handlers(component)"
|
84
|
+
>
|
85
|
+
<!-- begin child-component -->
|
86
|
+
<component
|
87
|
+
v-for="(childComponent, childComponentIndex) in component.components || []"
|
88
|
+
:key="childComponentIndex" :is="childComponent.name"
|
89
|
+
v-bind="childComponent.props"
|
90
|
+
v-on="handlers(childComponent)"
|
91
|
+
:editContent="childComponent.editContent"
|
92
|
+
/>
|
93
|
+
<!-- end child-component -->
|
94
|
+
</component>
|
95
|
+
<!-- end parent-component -->
|
96
|
+
</CmdSiteFooter>
|
97
|
+
<!-- end cmd-site-footer -->
|
98
|
+
|
99
|
+
<!-- begin cmd-copyright-information DO NOT REMOVE -->
|
100
|
+
<CmdCopyrightInformation/>
|
101
|
+
<!-- end cmd-copyright-information DO NOT REMOVE -->
|
102
|
+
|
103
|
+
<!-- begin cmd-back-to-top-button -->
|
104
|
+
<CmdBackToTopButton
|
105
|
+
href="#anchor-back-to-top"
|
106
|
+
:iconBackToTop="iconBackToTop"
|
107
|
+
scroll-container="#page-wrapper"
|
108
|
+
/>
|
109
|
+
<!-- end cmd-back-to-top-button -->
|
110
|
+
|
111
|
+
<!-- begin fancy-box ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
112
|
+
<CmdFancyBox
|
113
|
+
v-if="cmdCookieDisclaimer"
|
114
|
+
:show="fancyBoxCookieDisclaimer"
|
115
|
+
:fancyboxOptions="{}"
|
116
|
+
:allowEscapeKey="false"
|
117
|
+
:cmdHeadline="{show: true, headlineText: 'Cookie Disclaimer', headlineLevel: 2}"
|
118
|
+
ariaLabelText="Cookie Disclaimer"
|
119
|
+
>
|
120
|
+
<!-- begin cookie-disclaimer ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
121
|
+
<CmdCookieDisclaimer
|
122
|
+
:cookieOptions="cmdCookieDisclaimer.options"
|
123
|
+
buttonLabelAcceptAllCookies="Accept all cookies"
|
124
|
+
buttonLabelAcceptCurrentSettings="Accept current settings"
|
125
|
+
@closeCookieDisclaimer="closeCookieDisclaimer"
|
126
|
+
v-model="acceptedCookies"
|
127
|
+
:cmdHeadlineCookieDisclaimer="{ show: false }">
|
128
|
+
<template #privacy-text>
|
129
|
+
<p>
|
130
|
+
<strong>
|
131
|
+
By browsing this web site you accept the usage and saving of anonymous data!
|
132
|
+
</strong>
|
133
|
+
</p>
|
134
|
+
</template>
|
135
|
+
</CmdCookieDisclaimer>
|
136
|
+
<!-- end cookie-disclaimer ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
137
|
+
</CmdFancyBox>
|
138
|
+
<!-- end fancy-box ------------------------------------------------------------------------------------------------------------------------------------------------------->
|
139
|
+
</div>
|
140
|
+
</template>
|
141
|
+
|
142
|
+
<script>
|
143
|
+
// import functions
|
144
|
+
import {openFancyBox} from "@/components/CmdFancyBox.vue"
|
145
|
+
|
146
|
+
export default {
|
147
|
+
name: "PageWrapper",
|
148
|
+
data() {
|
149
|
+
return {
|
150
|
+
offCanvasOpen: false,
|
151
|
+
heightSiteHeader: 150,
|
152
|
+
acceptedCookies: [],
|
153
|
+
fancyBoxCookieDisclaimer: true
|
154
|
+
}
|
155
|
+
},
|
156
|
+
props: {
|
157
|
+
topHeaderNavigationEntries: {
|
158
|
+
default: []
|
159
|
+
},
|
160
|
+
mainNavigationEntries: {
|
161
|
+
default: []
|
162
|
+
},
|
163
|
+
mainContent: {
|
164
|
+
leftColumn: {
|
165
|
+
show: true
|
166
|
+
},
|
167
|
+
rightColumn: {
|
168
|
+
show: true
|
169
|
+
}
|
170
|
+
},
|
171
|
+
cmdSiteHeader: {
|
172
|
+
default: null
|
173
|
+
},
|
174
|
+
cmdCompanyLogo: {
|
175
|
+
default: null
|
176
|
+
},
|
177
|
+
cmdBreadcrumbs: {
|
178
|
+
default: null
|
179
|
+
},
|
180
|
+
cmdHeadline: {
|
181
|
+
default: null
|
182
|
+
},
|
183
|
+
cmdSocialNetworks: {
|
184
|
+
default: null
|
185
|
+
},
|
186
|
+
cmdSiteFooter: {
|
187
|
+
default: null
|
188
|
+
},
|
189
|
+
cmdCookieDisclaimer: {
|
190
|
+
default: null
|
191
|
+
}
|
192
|
+
},
|
193
|
+
mounted() {
|
194
|
+
const siteHeader = document.getElementsByClassName("cmd-site-header")
|
195
|
+
|
196
|
+
if (siteHeader.length > 0) {
|
197
|
+
const resizeObserver = new ResizeObserver(entries => {
|
198
|
+
// get height of site-header to set scroll-padding on #page-wrapper
|
199
|
+
this.heightSiteHeader = entries[0].target.offsetHeight
|
200
|
+
})
|
201
|
+
resizeObserver.observe(siteHeader[0])
|
202
|
+
}
|
203
|
+
},
|
204
|
+
computed: {
|
205
|
+
iconBackToTop() {
|
206
|
+
return {
|
207
|
+
iconClass: "icon-single-arrow-up",
|
208
|
+
tooltip: this.label("back_to_top_button.tooltip")
|
209
|
+
}
|
210
|
+
}
|
211
|
+
},
|
212
|
+
methods: {
|
213
|
+
offcanvasToggled(event) {
|
214
|
+
this.offCanvasOpen = event.open
|
215
|
+
},
|
216
|
+
handlers(component) {
|
217
|
+
if (component.handlers === "toggleSection") {
|
218
|
+
return {
|
219
|
+
"click": this.toggleSection
|
220
|
+
}
|
221
|
+
}
|
222
|
+
return {}
|
223
|
+
},
|
224
|
+
openFancybox(event) {
|
225
|
+
openFancyBox({url: event.target.href})
|
226
|
+
},
|
227
|
+
closeCookieDisclaimer() {
|
228
|
+
this.fancyBoxCookieDisclaimer = false
|
229
|
+
localStorage.setItem("onepagerPrivacySettingsAccepted", "true")
|
230
|
+
}
|
231
|
+
}
|
232
|
+
}
|
233
|
+
</script>
|
234
|
+
|
235
|
+
<style>
|
236
|
+
.inner-content-wrapper {
|
237
|
+
display: flex;
|
238
|
+
|
239
|
+
&:has(> aside) {
|
240
|
+
aside {
|
241
|
+
flex: 1;
|
242
|
+
|
243
|
+
&:first-child {
|
244
|
+
& + .main-content-wrapper {
|
245
|
+
flex: 2;
|
246
|
+
|
247
|
+
&:last-child {
|
248
|
+
flex: 3;
|
249
|
+
}
|
250
|
+
}
|
251
|
+
}
|
252
|
+
}
|
253
|
+
}
|
254
|
+
|
255
|
+
.main-content-wrapper {
|
256
|
+
width: 100%;
|
257
|
+
}
|
258
|
+
|
259
|
+
}
|
260
|
+
</style>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="cmd-page-segmented-lists-of-links flex-container vertical">
|
3
|
+
<template v-for="(segment, index) in segments" :key="index">
|
4
|
+
<!-- begin CmdListOfLinks -->
|
5
|
+
<CmdListOfLinks
|
6
|
+
:links="segment.links"
|
7
|
+
:orientation="segment.orientation"
|
8
|
+
:largeIcons="segment.largeIcons"
|
9
|
+
:cmdHeadline="segment.headline"
|
10
|
+
/>
|
11
|
+
<!-- end CmdListOfLinks -->
|
12
|
+
|
13
|
+
<!-- begin slot-content -->
|
14
|
+
<slot name="segmented-lists-of-links-slot-${index}"></slot>
|
15
|
+
<!-- end slot-content -->
|
16
|
+
</template>
|
17
|
+
</div>
|
18
|
+
</template>
|
19
|
+
|
20
|
+
<script>
|
21
|
+
export default {
|
22
|
+
name: "SegmentedListsOfLinks",
|
23
|
+
props: {
|
24
|
+
segments: {
|
25
|
+
type: Array,
|
26
|
+
default: null
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
</script>
|
31
|
+
|
32
|
+
<style>
|
33
|
+
|
34
|
+
</style>
|
File without changes
|