comand-component-library 4.3.25 → 4.3.26

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comand-component-library",
3
- "version": "4.3.25",
3
+ "version": "4.3.26",
4
4
  "license": "GPL-3.0-only",
5
5
  "author": "CoManD-UI",
6
6
  "private": false,
@@ -66,18 +66,13 @@ export default {
66
66
  */
67
67
  cmdFancyBox: {
68
68
  type: Object,
69
- default() {
70
- return {
71
- showPrintButtons: false,
72
- defaultAriaLabelText: "print-preview"
73
- }
74
- }
69
+ required: false
75
70
  }
76
71
  },
77
72
  computed: {
78
73
  cmdLinkPrintViewProperties() {
79
74
  return {
80
- show: true,
75
+ show: false,
81
76
  linkType: "button",
82
77
  highlightLevel: null,
83
78
  icon: {
@@ -93,22 +88,18 @@ export default {
93
88
  methods: {
94
89
  showFancyBox() {
95
90
  let elements = []
96
- if(typeof this.cmdFancyBox.elements === "function") {
91
+ if(typeof this.cmdFancyBox?.elements === "function") {
97
92
  elements = this.cmdFancyBox.elements()
98
93
  } else {
99
94
  elements = [document.querySelector(this.containerToPrint)]
100
95
  }
101
96
 
102
97
  openFancyBox({
103
- elements: elements,
104
- fancyBoxOptions: this.cmdFancyBox.fancyBoxOptions,
105
- showPrintButtons: this.cmdFancyBox.showPrintButtons,
106
- defaultAriaLabelText: this.cmdFancyBox.defaultAriaLabelText,
107
- cmdHeadline: this.cmdFancyBox.cmdHeadline,
108
- showOverlay: this.cmdFancyBox.showOverlay,
109
- showSubmitButtons: this.cmdFancyBox.showSubmitButtons,
110
- allowEscapeKey: this.cmdFancyBox.allowEscapeKey,
111
- id: this.cmdFancyBox.id || "print-preview"
98
+ showPrintButtons: true,
99
+ id: "print-preview",
100
+ defaultAriaLabelText: "print-preview",
101
+ ...this.cmdFancyBox,
102
+ elements: elements
112
103
  })
113
104
  }
114
105
  }
@@ -37,7 +37,7 @@
37
37
  <CmdWidthLimitationWrapper :useFullDeviceWidth="useFullWidthForMainContent"
38
38
  :contentOrientation="contentOrientation">
39
39
  <!-- begin left column -->
40
- <aside v-if="aside?.leftColumn?.show || $slots['left-column']" class="left-column">
40
+ <aside v-if="aside?.leftColumn?.show" class="left-column">
41
41
  <!-- begin slot left column -->
42
42
  <slot name="left-column"></slot>
43
43
  <!-- end slot left column -->
@@ -59,7 +59,7 @@
59
59
  <!-- end (center column for) page-content -->
60
60
 
61
61
  <!-- begin right column -->
62
- <aside v-if="aside?.rightColumn?.show || $slots['right-column']" class="right-column">
62
+ <aside v-if="aside?.rightColumn?.show" class="right-column">
63
63
  <!-- begin slot right column -->
64
64
  <slot name="right-column"></slot>
65
65
  <!-- end slot right column -->
@@ -70,7 +70,34 @@
70
70
 
71
71
  <CmdSiteFooter v-if="cmdSiteFooterProperties.show" v-bind="cmdSiteFooterProperties">
72
72
  <!-- begin site-footer-slot-->
73
- <slot name="site-footer"></slot>
73
+ <slot name="site-footer">
74
+ <!-- begin parent-component -->
75
+ <template v-if="editMode">
76
+ <EditComponentWrapper v-for="(component, componentIndex) in cmdSiteFooter.components || []"
77
+ :key="componentIndex" :allow-add-component="component.allowAddComponent"
78
+ :componentName="component.name" :componentProps="component.props"
79
+ :componentPath="componentPath(componentIndex)">
80
+ <component :is="component.name" v-bind="component.props">
81
+ <!-- begin child-component -->
82
+ <component v-for="(childComponent, childComponentIndex) in component.components || []"
83
+ :key="childComponentIndex" :is="childComponent.name" v-bind="childComponent.props"
84
+ :editContent="childComponent.editContent" />
85
+ <!-- end child-component -->
86
+ </component>
87
+ </EditComponentWrapper>
88
+ </template>
89
+ <template v-else>
90
+ <component v-for="(component, index) in cmdSiteFooter.components || []" :key="index"
91
+ :is="component.name" v-bind="component.props">
92
+ <!-- begin child-component -->
93
+ <component v-for="(childComponent, childComponentIndex) in component.components || []"
94
+ :key="childComponentIndex" :is="childComponent.name" v-bind="childComponent.props"
95
+ :editContent="childComponent.editContent" />
96
+ <!-- end child-component -->
97
+ </component>
98
+ </template>
99
+ <!-- end parent-component -->
100
+ </slot>
74
101
  <!-- end site-footer-slot-->
75
102
  </CmdSiteFooter>
76
103
 
@@ -106,6 +133,16 @@ export default {
106
133
  }
107
134
  },
108
135
  props: {
136
+ activeSections: {
137
+ type: Array
138
+ },
139
+ heroSectionActiveSections: {
140
+ type: Array
141
+ },
142
+ editMdoe: {
143
+ type: Boolean,
144
+ default: false
145
+ },
109
146
  /**
110
147
  * set aside (left-/right-column) in main-content-wrapper
111
148
  */
@@ -132,7 +169,7 @@ export default {
132
169
  */
133
170
  useFullWidthForMainContent: {
134
171
  type: Boolean,
135
- default: true
172
+ default: false
136
173
  },
137
174
  /**
138
175
  * properties for CmdSiteHeader-component
@@ -215,11 +252,50 @@ export default {
215
252
  return "horizontal"
216
253
  }
217
254
  return "vertical"
218
- }
255
+ },
219
256
  },
220
257
  methods: {
221
258
  offcanvasToggled(event) {
222
259
  this.offCanvasOpen = event.open
260
+ },
261
+ setupIntersectionObserver() {
262
+ this.$nextTick(() => {
263
+ const sectionProvider = () => document.querySelectorAll(".main-content-wrapper .cmd-width-limitation-wrapper > section:not(:has(.cmd-page-header))")
264
+ if (this.$_intersectionObserver) {
265
+ this.$_intersectionObserver.disconnect()
266
+ this.$_intersectionObserver = null
267
+ }
268
+ const options = {
269
+ root: document.getElementById("site-wrapper"),
270
+ threshold: 0.1
271
+ }
272
+ this.$_intersectionObserver = new IntersectionObserver(entries => {
273
+ entries.filter(entry => entry.isIntersecting).forEach(entry => {
274
+ entry.target.classList.add("visible")
275
+ })
276
+ }, options)
277
+ setTimeout(() => sectionProvider().forEach(element => this.$_intersectionObserver.observe(element)), 500)
278
+ })
279
+ },
280
+ openFancybox(event) {
281
+ openFancyBox({ url: event.target.href })
282
+ },
283
+ closeCookieDisclaimer() {
284
+ this.fancyBoxCookieDisclaimer = false
285
+ localStorage.setItem("onepagerPrivacySettingsAccepted", "true")
286
+ },
287
+ componentPath(componentIndex) {
288
+ return [
289
+ "siteFooter",
290
+ "components",
291
+ componentIndex
292
+ ]
293
+ },
294
+ childComponentPath(componentIndex) {
295
+ return [
296
+ "components",
297
+ componentIndex
298
+ ]
223
299
  }
224
300
  },
225
301
  mounted() {
@@ -232,6 +308,17 @@ export default {
232
308
  })
233
309
  resizeObserver.observe(siteHeader[0])
234
310
  }
311
+ },
312
+ updated() {
313
+ this.setupIntersectionObserver()
314
+ },
315
+ watch: {
316
+ activeSections: {
317
+ handler() {
318
+ this.setupIntersectionObserver()
319
+ },
320
+ immediate: true
321
+ }
235
322
  }
236
323
  }
237
324
  </script>
@@ -288,6 +375,7 @@ export default {
288
375
  }
289
376
  </style>
290
377
  <style lang="scss">
378
+ /*
291
379
  @import '../assets/styles/variables';
292
380
 
293
381
  @media only screen and (width <=$medium-max-width) {
@@ -335,5 +423,5 @@ export default {
335
423
  }
336
424
  }
337
425
  }
338
- }
426
+ }*/
339
427
  </style>