first commit without licensingg

This commit is contained in:
kbe
2025-08-21 14:40:43 +02:00
commit fa8d4e58a4
130 changed files with 82163 additions and 0 deletions

137
assets/jsx/editor-iframe.js Normal file
View File

@@ -0,0 +1,137 @@
"use strict";
(function () {
var cscoEditorIframe = {};
if (window.self !== window.top) {
var $this;
cscoEditorIframe = {
/*
* Variables
*/
html: false,
body: false,
post_type: null,
page_layout: null,
prevStorageVal: null,
/*
* Initialize
*/
init: function init(e) {
$this = cscoEditorIframe;
// Find html and wrapper elements.
$this.html = document.querySelector('html');
$this.body = document.querySelector('.editor-styles-wrapper');
if (!$this || !$this.html || !$this.body) {
return;
}
$this.post_type = cscoGWrapper.post_type;
$this.page_layout = cscoGWrapper.page_layout;
$this.rootObserver();
// Init events.
if ('undefined' === typeof window.cscoEditorIframeInit) {
$this.events(e);
window.cscoEditorIframeInit = true;
}
},
/*
* Events
*/
events: function events(e) {
// Listen storage from the parent window
setInterval(function () {
var currentValue = sessionStorage.getItem('cscoIframeContext');
if (currentValue !== $this.prevStorageVal) {
$this.prevStorageVal = currentValue;
if (currentValue) {
var data = JSON.parse(currentValue);
if (data.hasOwnProperty('page_layout')) {
$this.page_layout = data.page_layout;
$this.setLayout();
}
}
}
}, 100);
// Listen HTML and Body elements.
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.oldValue !== mutation.target.classList.value) {
$this.rootObserver();
}
});
});
observer.observe($this.html, {
attributes: true,
subtree: false,
attributeOldValue: true,
attributeFilter: ["class"]
});
observer.observe($this.body, {
attributes: true,
subtree: false,
attributeOldValue: true,
attributeFilter: ["class"]
});
// Listen resize.
window.addEventListener('resize', function (e) {
$this.setBreakpoints();
});
},
/**
* Function for Listener HTML and Body elements.
*/
rootObserver: function rootObserver() {
var update = false;
if (!$this.html.classList.contains('cs-editor-iframe')) {
$this.html.classList.add('cs-editor-iframe');
update = true;
}
if (!$this.body.classList.contains('cs-editor-styles-wrapper')) {
$this.body.classList.add('cs-editor-styles-wrapper');
update = true;
}
if (update) {
$this.setBreakpoints();
$this.setLayout();
}
},
/*
* Set breakpoints
*/
setBreakpoints: function setBreakpoints() {
var breakpoints = cscoGWrapper.breakpoints;
// Update the matching breakpoints on the observed element.
Object.keys(breakpoints).forEach(function (breakpoint) {
var minWidth = breakpoints[breakpoint];
if ($this.body.clientWidth >= minWidth) {
$this.html.classList.add(breakpoint);
} else {
$this.html.classList.remove(breakpoint);
}
});
},
/**
* Set layout.
*/
setLayout: function setLayout() {
$this.body.classList.remove('cs-sidebar-enabled');
$this.body.classList.remove('cs-sidebar-disabled');
$this.body.classList.add($this.page_layout);
$this.body.classList.add($this.post_type);
}
};
// Iframe Loaded.
if (document.readyState === 'complete' || document.readyState === 'interactive') {
cscoEditorIframe.init();
} else {
document.addEventListener('DOMContentLoaded', function () {
cscoEditorIframe.init();
});
}
}
})();