File: /sites/nuofama.com/wp-content/themes/blocksy/static/js/customizer/panels-builder.js
import { render, createElement } from '@wordpress/element'
const getDocument = x =>
x.document || x.contentDocument || x.contentWindow.document
const buildersMaps = {
header: {
panelType: 'header',
customizerFieldKey: 'header_placements'
},
footer: {
panelType: 'footer',
customizerFieldKey: 'footer_placements'
}
}
const openBuilderFor = key => {
document.querySelector('.ct-panel-builder').dataset.builder =
buildersMaps[key].panelType
document.querySelector('.wp-full-overlay').classList.add('ct-show-builder')
if (buildersMaps[key].panelType === 'footer') {
document.body.classList.add('ct-footer-builder')
}
}
const closeBuilderFor = key => {
document
.querySelector('.wp-full-overlay')
.classList.remove('ct-show-builder')
document.body.classList.remove('ct-footer-builder')
}
export const initBuilder = () => {
const root = document.createElement('div')
root.classList.add('ct-panel-builder')
document.querySelector('.wp-full-overlay').appendChild(root)
Object.keys(buildersMaps).map(singleKey =>
(wp.customize.panel(singleKey)
? wp.customize.panel
: wp.customize.section)(singleKey, section =>
section.expanded.bind(value =>
value ? openBuilderFor(singleKey) : closeBuilderFor(singleKey)
)
)
)
}