comand-component-library 4.0.7 → 4.0.8
Sign up to get free protection for your applications and to get access to all the features.
- 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,78 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"headline": {
|
4
|
+
"headlineLevel": 4,
|
5
|
+
"headlineText": "Segment #1 (vertical list)"
|
6
|
+
},
|
7
|
+
"orientation": "vertical",
|
8
|
+
"links": [
|
9
|
+
{
|
10
|
+
"iconClass": "icon-home",
|
11
|
+
"type": "href",
|
12
|
+
"text": "Link #1",
|
13
|
+
"path": "#"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"iconClass": "icon-user-profile",
|
17
|
+
"type": "href",
|
18
|
+
"text": "Link #2",
|
19
|
+
"path": "#",
|
20
|
+
"children": [
|
21
|
+
{
|
22
|
+
"iconClass": "icon-link",
|
23
|
+
"type": "href",
|
24
|
+
"text": "Sublink #1",
|
25
|
+
"path": "#"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"iconClass": "icon-export",
|
29
|
+
"type": "href",
|
30
|
+
"text": "Sublink #2",
|
31
|
+
"path": "#"
|
32
|
+
}
|
33
|
+
]
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"type": "href",
|
37
|
+
"text": "Link #3",
|
38
|
+
"path": "#"
|
39
|
+
}
|
40
|
+
]
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"headline": {
|
44
|
+
"headlineLevel": 4,
|
45
|
+
"headlineText": "Segment #2 (horizontal list)"
|
46
|
+
},
|
47
|
+
"orientation": "horizontal",
|
48
|
+
"links": [
|
49
|
+
{
|
50
|
+
"type": "href",
|
51
|
+
"text": "Link #1",
|
52
|
+
"path": "#"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"type": "href",
|
56
|
+
"text": "Link #2",
|
57
|
+
"path": "#",
|
58
|
+
"children": [
|
59
|
+
{
|
60
|
+
"type": "href",
|
61
|
+
"text": "Sublink #1",
|
62
|
+
"path": "#"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"type": "href",
|
66
|
+
"text": "Sublink #2",
|
67
|
+
"path": "#"
|
68
|
+
}
|
69
|
+
]
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"type": "href",
|
73
|
+
"text": "Link #3",
|
74
|
+
"path": "#"
|
75
|
+
}
|
76
|
+
]
|
77
|
+
}
|
78
|
+
]
|
@@ -7,9 +7,9 @@
|
|
7
7
|
"linkText": "Share"
|
8
8
|
},
|
9
9
|
{
|
10
|
-
"id": "social-network-
|
10
|
+
"id": "social-network-x",
|
11
11
|
"path": "https://twitter.com/home?status=http%3A%2F%2Fdevelopment.comand-cms.com%2Fmodule%2Fteam.html",
|
12
|
-
"tooltip": "Share this page on
|
12
|
+
"tooltip": "Share this page on X",
|
13
13
|
"iconClass": "icon-twitter",
|
14
14
|
"linkText": "Share"
|
15
15
|
},
|
@@ -250,6 +250,18 @@ body.avoid-scrolling {
|
|
250
250
|
|
251
251
|
&.success {
|
252
252
|
--status-color: var(--success-color);
|
253
|
+
|
254
|
+
.label-text > a {
|
255
|
+
&:has([class*="icon-"]) {
|
256
|
+
&:hover, &:active, &:focus {
|
257
|
+
cursor: default;
|
258
|
+
|
259
|
+
[class*="icon-"] {
|
260
|
+
color: var(--success-color);
|
261
|
+
}
|
262
|
+
}
|
263
|
+
}
|
264
|
+
}
|
253
265
|
}
|
254
266
|
|
255
267
|
&.info {
|
@@ -339,7 +339,8 @@ data() {
|
|
339
339
|
largeIcons: false,
|
340
340
|
sectionAnchors: false,
|
341
341
|
orientation: "vertical",
|
342
|
-
align: "left"
|
342
|
+
align: "left",
|
343
|
+
showListStyleItems: false
|
343
344
|
},
|
344
345
|
cmdListOfLinksSettingsControls: {
|
345
346
|
align: [
|
@@ -366,6 +367,16 @@ data() {
|
|
366
367
|
text: "Horizontal",
|
367
368
|
value: "horizontal"
|
368
369
|
}
|
370
|
+
],
|
371
|
+
showListStyleItems: [
|
372
|
+
{
|
373
|
+
text: "False (default)",
|
374
|
+
value: false
|
375
|
+
},
|
376
|
+
{
|
377
|
+
text: "True",
|
378
|
+
value: true
|
379
|
+
}
|
369
380
|
]
|
370
381
|
},
|
371
382
|
cmdLoginFormSettingsData: {
|
@@ -458,6 +469,9 @@ data() {
|
|
458
469
|
headlineLevel: 3
|
459
470
|
}
|
460
471
|
},
|
472
|
+
cmdPageFooterSettingsData: {
|
473
|
+
useSmallButtons: false
|
474
|
+
},
|
461
475
|
cmdPaginationSettingsData: {
|
462
476
|
pages: 3,
|
463
477
|
itemsPerPage: 1,
|
@@ -580,7 +594,8 @@ data() {
|
|
580
594
|
cmdTextImageBlockSettingsData: {
|
581
595
|
htmlContent: "Text given as html-content",
|
582
596
|
paragraphTextAlign: "left",
|
583
|
-
headlinePosition: "aboveImage"
|
597
|
+
headlinePosition: "aboveImage",
|
598
|
+
orientation: "vertical"
|
584
599
|
},
|
585
600
|
cmdTextImageBlockSettingsControls: {
|
586
601
|
paragraphTextAlign: [
|
@@ -606,6 +621,16 @@ data() {
|
|
606
621
|
text: "Below Image",
|
607
622
|
value: "belowImage"
|
608
623
|
}
|
624
|
+
],
|
625
|
+
orientation: [
|
626
|
+
{
|
627
|
+
text: "Vertical (default)",
|
628
|
+
value: "vertical"
|
629
|
+
},
|
630
|
+
{
|
631
|
+
text: "Horizontal",
|
632
|
+
value: "horizontal"
|
633
|
+
}
|
609
634
|
]
|
610
635
|
},
|
611
636
|
cmdThumbnailScrollerSettingsData: {
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<a v-if="($attrs.required || inputRequirements.length) && showStatusIcon"
|
25
25
|
href="#"
|
26
26
|
@click.prevent
|
27
|
-
:title="
|
27
|
+
:title="validationTooltip"
|
28
28
|
:aria-errormessage="tooltipId"
|
29
29
|
aria-live="assertive"
|
30
30
|
:id="tooltipId">
|
@@ -71,7 +71,7 @@
|
|
71
71
|
<!-- end optional icon -->
|
72
72
|
|
73
73
|
<!-- begin text -->
|
74
|
-
<span v-if="optionName" class="option-name"
|
74
|
+
<span v-if="optionName" class="option-name">{{ optionName }}</span>
|
75
75
|
<!-- end text -->
|
76
76
|
|
77
77
|
<!-- begin custom dropdown-icon -->
|
@@ -179,7 +179,8 @@
|
|
179
179
|
<script>
|
180
180
|
// import mixins
|
181
181
|
import I18n from "../mixins/I18n"
|
182
|
-
import
|
182
|
+
import DefaultMessagePropertiesFakeSelect from "../mixins/CmdFakeSelect/DefaultMessageProperties"
|
183
|
+
import DefaultMessagePropertiesFormElement from "../mixins/CmdFormElement/DefaultMessageProperties"
|
183
184
|
import FieldValidation from "../mixins/FieldValidation"
|
184
185
|
import Identifier from "../mixins/Identifier"
|
185
186
|
import Tooltip from "../mixins/Tooltip"
|
@@ -189,7 +190,8 @@ export default {
|
|
189
190
|
inheritAttrs: false,
|
190
191
|
mixins: [
|
191
192
|
I18n,
|
192
|
-
|
193
|
+
DefaultMessagePropertiesFakeSelect,
|
194
|
+
DefaultMessagePropertiesFormElement,
|
193
195
|
FieldValidation,
|
194
196
|
Identifier,
|
195
197
|
Tooltip
|
@@ -198,7 +200,6 @@ export default {
|
|
198
200
|
return {
|
199
201
|
showOptions: false,
|
200
202
|
validationStatus: "",
|
201
|
-
limitWidthStyle: null,
|
202
203
|
allOptionsSelected: false
|
203
204
|
}
|
204
205
|
},
|
@@ -428,16 +429,6 @@ export default {
|
|
428
429
|
return this.getMessage("cmdfakeselect.linktext.select_all_options")
|
429
430
|
}
|
430
431
|
},
|
431
|
-
mounted() {
|
432
|
-
//this.$nextTick(this.limitWidth)
|
433
|
-
//setTimeout(this.limitWidth, 250)
|
434
|
-
const hnd = setInterval(() => {
|
435
|
-
if (this.$refs.fakeselect) {
|
436
|
-
clearInterval(hnd)
|
437
|
-
this.limitWidth()
|
438
|
-
}
|
439
|
-
}, 100)
|
440
|
-
},
|
441
432
|
methods: {
|
442
433
|
toggleAllOptions() {
|
443
434
|
this.validationStatus = "success"
|
@@ -454,12 +445,6 @@ export default {
|
|
454
445
|
|
455
446
|
this.$emit("update:modelValue", checkboxValues)
|
456
447
|
},
|
457
|
-
limitWidth() {
|
458
|
-
if (this.$refs.fakeselect) {
|
459
|
-
const outerWidth = this.$refs.fakeselect.offsetWidth
|
460
|
-
this.limitWidthStyle = {width: outerWidth / 100 * 90 + "px"}
|
461
|
-
}
|
462
|
-
},
|
463
448
|
toggleOptions() {
|
464
449
|
if (this.$attrs.disabled !== 'disabled') {
|
465
450
|
this.showOptions = !this.showOptions
|
@@ -570,6 +555,10 @@ export default {
|
|
570
555
|
color: var(--color-scheme-text-color);
|
571
556
|
border-radius: var(--default-border-radius);
|
572
557
|
|
558
|
+
img {
|
559
|
+
flex-shrink: 0;
|
560
|
+
}
|
561
|
+
|
573
562
|
span, [class*="icon"] {
|
574
563
|
color: var(--color-scheme-text-color);
|
575
564
|
}
|
@@ -1,5 +1,12 @@
|
|
1
1
|
<template>
|
2
|
-
<div :class="['cmd-list-of-links',
|
2
|
+
<div :class="['cmd-list-of-links',
|
3
|
+
{
|
4
|
+
box: styleAsBox, horizontal: orientation === 'horizontal',
|
5
|
+
'section-anchors': sectionAnchors,
|
6
|
+
'large-icons': largeIcons,
|
7
|
+
'show-list-style-items': showListStyleItems
|
8
|
+
}
|
9
|
+
]">
|
3
10
|
<!-- begin cmd-headline -->
|
4
11
|
<CmdHeadline
|
5
12
|
v-if="cmdHeadline?.headlineText || editModeContext"
|
@@ -9,6 +16,7 @@
|
|
9
16
|
|
10
17
|
<!-- begin list of links -->
|
11
18
|
<ul :class="['flex-container', {'no-gap': !useGap}, 'align-' + align, setStretchClass]">
|
19
|
+
<!-- begin CmdListOfLinksItem-->
|
12
20
|
<CmdListOfLinksItem
|
13
21
|
v-if="!editModeContext"
|
14
22
|
v-for="(link, index) in links"
|
@@ -16,6 +24,7 @@
|
|
16
24
|
:class="{'active': sectionAnchors && activeSection === index}"
|
17
25
|
:link="link"
|
18
26
|
/>
|
27
|
+
<!-- end CmdListOfLinksItem-->
|
19
28
|
|
20
29
|
<!-- begin edit-mode -->
|
21
30
|
<li v-else>
|
@@ -31,11 +40,14 @@
|
|
31
40
|
:componentPath="['props', 'links', index]"
|
32
41
|
:itemProvider="itemProvider"
|
33
42
|
>
|
43
|
+
<!-- begin CmdListOfLinksItem-->
|
34
44
|
<CmdListOfLinksItem
|
35
45
|
:class="{'active': sectionAnchors && activeSection === index}"
|
36
46
|
:link="link"
|
37
47
|
/>
|
48
|
+
<!-- end CmdListOfLinksItem-->
|
38
49
|
</EditComponentWrapper>
|
50
|
+
|
39
51
|
<button v-if="links.length === 0" type="button" class="button confirm small" @click="onAddItem">
|
40
52
|
<span class="icon-plus"></span>
|
41
53
|
<span>Add new entry</span>
|
@@ -48,7 +60,10 @@
|
|
48
60
|
</template>
|
49
61
|
|
50
62
|
<script>
|
63
|
+
// import mixins (editMode only)
|
51
64
|
import EditMode from "../mixins/EditMode.vue"
|
65
|
+
|
66
|
+
// import utils (editMode only)
|
52
67
|
import {buildComponentPath, updateHandlerProvider} from "../utils/editmode.js"
|
53
68
|
|
54
69
|
export default {
|
@@ -97,6 +112,15 @@ export default {
|
|
97
112
|
type: Number,
|
98
113
|
default: 0
|
99
114
|
},
|
115
|
+
/**
|
116
|
+
* toggle list-style-items visibility
|
117
|
+
*
|
118
|
+
* @affectsStyling: true
|
119
|
+
*/
|
120
|
+
showListStyleItems: {
|
121
|
+
type: Boolean,
|
122
|
+
default: false
|
123
|
+
},
|
100
124
|
/**
|
101
125
|
* set horizontal alignment
|
102
126
|
*
|
@@ -200,6 +224,19 @@ export default {
|
|
200
224
|
&.align-right li {
|
201
225
|
text-align: right;
|
202
226
|
}
|
227
|
+
|
228
|
+
ul {
|
229
|
+
display: flex;
|
230
|
+
flex-direction: column;
|
231
|
+
margin-left: calc(var(--default-padding) * 2);
|
232
|
+
}
|
233
|
+
}
|
234
|
+
|
235
|
+
&.show-list-style-items {
|
236
|
+
li {
|
237
|
+
list-style-type: disc;
|
238
|
+
margin-left: 1.7rem;
|
239
|
+
}
|
203
240
|
}
|
204
241
|
|
205
242
|
&.horizontal {
|
@@ -210,6 +247,7 @@ export default {
|
|
210
247
|
> li {
|
211
248
|
flex: none;
|
212
249
|
display: flex;
|
250
|
+
flex-direction: column;
|
213
251
|
}
|
214
252
|
|
215
253
|
&.align-right {
|
@@ -224,20 +262,42 @@ export default {
|
|
224
262
|
}
|
225
263
|
|
226
264
|
&.large-icons {
|
227
|
-
li
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
265
|
+
li {
|
266
|
+
list-style-type: none;
|
267
|
+
|
268
|
+
a {
|
269
|
+
display: flex;
|
270
|
+
flex-direction: column;
|
271
|
+
gap: calc(var(--default-gap) / 4);
|
272
|
+
text-decoration: none;
|
273
|
+
align-items: center;
|
274
|
+
justify-content: center;
|
275
|
+
|
276
|
+
span {
|
277
|
+
margin: 0;
|
278
|
+
}
|
234
279
|
|
235
|
-
|
236
|
-
|
280
|
+
[class*="icon-"] {
|
281
|
+
font-size: 5rem;
|
282
|
+
}
|
237
283
|
}
|
284
|
+
}
|
285
|
+
}
|
286
|
+
}
|
287
|
+
</style>
|
238
288
|
|
239
|
-
|
240
|
-
|
289
|
+
<style lang="scss">
|
290
|
+
@import '../assets/styles/variables';
|
291
|
+
|
292
|
+
@media only screen and (max-width: $medium-max-width) {
|
293
|
+
.cmd-list-of-links {
|
294
|
+
> ul {
|
295
|
+
ul {
|
296
|
+
gap: calc(var(--default-gap) / 2);
|
297
|
+
|
298
|
+
> li:first-child {
|
299
|
+
margin-top: calc(var(--default-gap) / 2);
|
300
|
+
}
|
241
301
|
}
|
242
302
|
}
|
243
303
|
}
|
@@ -15,15 +15,26 @@
|
|
15
15
|
<!-- end use href --->
|
16
16
|
|
17
17
|
<!-- begin use router-link -->
|
18
|
-
<router-link
|
19
|
-
|
20
|
-
|
18
|
+
<router-link
|
19
|
+
v-else-if="link.type === 'router'"
|
20
|
+
:to="getRoute(link)"
|
21
|
+
:title="link.tooltip">
|
21
22
|
<!-- begin CmdIcon -->
|
22
23
|
<CmdIcon v-if="link.iconClass" :iconClass="link.iconClass" :type="link.iconType" />
|
23
24
|
<!-- end CmdIcon -->
|
24
25
|
<span v-if="link.text">{{ link.text }}</span>
|
25
26
|
</router-link>
|
26
27
|
<!-- end use router-link -->
|
28
|
+
|
29
|
+
<!-- begin CmdListOfLinksItem for nested children -->
|
30
|
+
<ul v-if="!editModeContext">
|
31
|
+
<CmdListOfLinksItem
|
32
|
+
v-for="(child, index) in link.children"
|
33
|
+
:key="index"
|
34
|
+
:link="child"
|
35
|
+
/>
|
36
|
+
</ul>
|
37
|
+
<!-- end CmdListOfLinksItem for nested children -->
|
27
38
|
</li>
|
28
39
|
<!-- end default-view -->
|
29
40
|
|
@@ -0,0 +1,83 @@
|
|
1
|
+
<template>
|
2
|
+
<div :class="['cmd-page-footer flex-container', {'small-buttons': useSmallButtons}]">
|
3
|
+
<!-- begin button print-preview -->
|
4
|
+
<button
|
5
|
+
v-if="buttonPrintView.show"
|
6
|
+
:class="['button', {'primary': buttonPrintView.primary}]"
|
7
|
+
:title="buttonPrintView.text ? buttonPrintView.icon?.tooltip : null"
|
8
|
+
>
|
9
|
+
<span v-if="buttonPrintView.icon?.show" :class="buttonPrintView.icon?.iconClass"></span>
|
10
|
+
<span v-if="buttonPrintView.text">{{buttonPrintView.text}}</span>
|
11
|
+
</button>
|
12
|
+
<!-- end button print-preview -->
|
13
|
+
|
14
|
+
<!-- begin slot-content -->
|
15
|
+
<slot></slot>
|
16
|
+
<!-- end slot-content -->
|
17
|
+
|
18
|
+
<!-- begin CmdSocialNetworks -->
|
19
|
+
<CmdSocialNetworks v-if="cmdSocialNetworks" :networks="cmdSocialNetworks">
|
20
|
+
<slot name="cmd-social-networks"></slot>
|
21
|
+
</CmdSocialNetworks>
|
22
|
+
<!-- end CmdSocialNetworks -->
|
23
|
+
</div>
|
24
|
+
</template>
|
25
|
+
|
26
|
+
<script>
|
27
|
+
export default {
|
28
|
+
name: "CmdPageFooter",
|
29
|
+
props: {
|
30
|
+
/**
|
31
|
+
* define button for print-preview
|
32
|
+
*/
|
33
|
+
buttonPrintView: {
|
34
|
+
type: Object,
|
35
|
+
default() {
|
36
|
+
return {
|
37
|
+
show: true,
|
38
|
+
primary: false,
|
39
|
+
icon: {
|
40
|
+
show: true,
|
41
|
+
iconClass: "icon-print-preview",
|
42
|
+
tooltip: "Open print preview"
|
43
|
+
},
|
44
|
+
text: "Print preview"
|
45
|
+
}
|
46
|
+
}
|
47
|
+
},
|
48
|
+
/**
|
49
|
+
* activate to use small buttons
|
50
|
+
*/
|
51
|
+
useSmallButtons: {
|
52
|
+
type: Boolean,
|
53
|
+
default: true
|
54
|
+
},
|
55
|
+
/**
|
56
|
+
* properties for CmdSocialNetworks-component
|
57
|
+
*/
|
58
|
+
cmdSocialNetworks: {
|
59
|
+
type: Array,
|
60
|
+
required: false
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
</script>
|
65
|
+
|
66
|
+
<style>
|
67
|
+
/* begin cmd-page-footer -------------------------------------------------------------------------------------------- */
|
68
|
+
.cmd-page-footer {
|
69
|
+
align-items: flex-end;
|
70
|
+
|
71
|
+
&.small-buttons {
|
72
|
+
button, .button {
|
73
|
+
padding: var(--button-padding-small);
|
74
|
+
min-height: var(--button-min-height-small);
|
75
|
+
|
76
|
+
span {
|
77
|
+
font-size: var(--font-size-small);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
/* end cmd-page-footer -------------------------------------------------------------------------------------------- */
|
83
|
+
</style>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<template>
|
2
|
-
<div class="cmd-
|
2
|
+
<div class="cmd-pagination">
|
3
3
|
<!-- begin button/link to previous page -->
|
4
4
|
<a
|
5
5
|
:href="getPreviousHref"
|
@@ -47,10 +47,10 @@
|
|
47
47
|
<script>
|
48
48
|
// import mixins
|
49
49
|
import I18n from "../mixins/I18n"
|
50
|
-
import DefaultMessageProperties from "../mixins/
|
50
|
+
import DefaultMessageProperties from "../mixins/CmdPagination/DefaultMessageProperties"
|
51
51
|
|
52
52
|
export default {
|
53
|
-
name: "
|
53
|
+
name: "CmdPagination",
|
54
54
|
mixins: [
|
55
55
|
I18n,
|
56
56
|
DefaultMessageProperties
|
@@ -172,7 +172,7 @@ export default {
|
|
172
172
|
|
173
173
|
<style>
|
174
174
|
/* begin cmd-pagination ---------------------------------------------------------------------------------------- */
|
175
|
-
.cmd-
|
175
|
+
.cmd-pagination {
|
176
176
|
display: flex;
|
177
177
|
justify-content: space-between;
|
178
178
|
|
@@ -21,17 +21,22 @@
|
|
21
21
|
|
22
22
|
<!-- begin list of networks -->
|
23
23
|
<ul v-if="validNetworks.length > 0" :class="['button-wrapper', {'no-gap': !useGap}]">
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
24
|
+
<template v-if="!editModeContext">
|
25
|
+
<!-- begin cmd-social-networks (default view) -->
|
26
|
+
<CmdSocialNetworksItem
|
27
|
+
v-for="(entry, index) in validNetworks"
|
28
|
+
:key="index"
|
29
|
+
:network="entry"
|
30
|
+
:userMustAcceptDataPrivacy="userMustAcceptDataPrivacy"
|
31
|
+
:buttonTextAlign="buttonTextAlign"
|
32
|
+
:dataPrivacyAccepted="dataPrivacyAccepted"
|
33
|
+
/>
|
34
|
+
<!-- end cmd-social-networks (default view) -->
|
35
|
+
|
36
|
+
<!-- begin slot-content -->
|
37
|
+
<slot></slot>
|
38
|
+
<!-- end slot-content -->
|
39
|
+
</template>
|
35
40
|
|
36
41
|
<!-- begin edit-mode -->
|
37
42
|
<EditComponentWrapper
|
@@ -62,9 +67,12 @@
|
|
62
67
|
</template>
|
63
68
|
|
64
69
|
<script>
|
65
|
-
import
|
70
|
+
// import mixins (EditMode only)
|
66
71
|
import EditMode from "../mixins/EditMode.vue"
|
67
72
|
|
73
|
+
// import utils (EditMode only)
|
74
|
+
import {buildComponentPath} from "../utils/editmode.js"
|
75
|
+
|
68
76
|
export default {
|
69
77
|
name: "CmdSocialNetworks",
|
70
78
|
mixins: [EditMode],
|
@@ -110,7 +118,7 @@ export default {
|
|
110
118
|
default: false
|
111
119
|
},
|
112
120
|
/**
|
113
|
-
* list of networks (i.e. facebook,
|
121
|
+
* list of networks (i.e. facebook, linkedin etc.)
|
114
122
|
*/
|
115
123
|
networks: {
|
116
124
|
type: Array,
|
@@ -162,7 +170,7 @@ export default {
|
|
162
170
|
}
|
163
171
|
},
|
164
172
|
/**
|
165
|
-
* properties for
|
173
|
+
* properties for CmdFormElement-component
|
166
174
|
*
|
167
175
|
* userMustAcceptDataPrivacy-property must be activated
|
168
176
|
*/
|
@@ -217,7 +225,7 @@ export default {
|
|
217
225
|
this.itemProvider)
|
218
226
|
},
|
219
227
|
itemProvider() {
|
220
|
-
return
|
228
|
+
return {
|
221
229
|
"id": "social-network-facebook",
|
222
230
|
"path": "https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fdevelopment.comand-cms.com%2Fmodule%2Fteam.html",
|
223
231
|
"tooltip": "Share this page on facebook",
|
@@ -369,9 +377,9 @@ export default {
|
|
369
377
|
li {
|
370
378
|
flex: 1;
|
371
379
|
|
372
|
-
|
373
|
-
|
374
|
-
|
380
|
+
.button {
|
381
|
+
display: flex;
|
382
|
+
}
|
375
383
|
}
|
376
384
|
}
|
377
385
|
}
|
@@ -401,8 +409,8 @@ export default {
|
|
401
409
|
--social-network-color: #3c5a99;
|
402
410
|
}
|
403
411
|
|
404
|
-
#social-network-
|
405
|
-
--social-network-color: #
|
412
|
+
#social-network-x {
|
413
|
+
--social-network-color: #14171a;
|
406
414
|
}
|
407
415
|
|
408
416
|
#social-network-xing {
|