| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.2/wp-content/themes/blocksy/static/js/editor/ |
Upload File : |
import ctEvents from 'ct-events'
import { select, useSelect } from '@wordpress/data'
import { updateVariableInStyleTags } from 'customizer-sync-helpers'
import { getValueFromInput } from 'blocksy-options'
import { gutenbergVariables } from './variables'
import { dropIframeBodyTransition, revertIframeBodyTransition } from '../editor'
export const handleMetaboxValueChange = (optionId, optionValue) => {
const atts = {
...getValueFromInput(
ct_editor_localizations.post_options,
wp.data
.select('core/editor')
.getEditedPostAttribute('blocksy_meta') || {}
),
[optionId]: optionValue,
}
if (!gutenbergVariables[optionId]) {
return
}
const groupedVariables = (
Array.isArray(gutenbergVariables[optionId])
? gutenbergVariables[optionId]
: [gutenbergVariables[optionId]]
).reduce(
(acc, item) => {
const key = item.selector.includes(`iframe[name="editor-canvas"]`)
? 'backgroundVariables'
: 'nonBackgroundVariables'
return {
...acc,
[key]: [...acc[key], item],
}
},
{
backgroundVariables: [],
nonBackgroundVariables: [],
}
)
dropIframeBodyTransition()
if (groupedVariables.backgroundVariables.length > 0) {
const maybeStyle = document.querySelector(
'#ct-main-editor-styles-inline-css'
)
if (maybeStyle) {
updateVariableInStyleTags({
variableDescriptor: groupedVariables.backgroundVariables,
value: optionValue,
fullValue: atts,
tabletMQ: '(max-width: 800px)',
mobileMQ: '(max-width: 370px)',
cacheId: 'background',
initialStyleTagsDescriptor: [{ style: maybeStyle }],
})
}
}
if (groupedVariables.nonBackgroundVariables.length > 0) {
updateVariableInStyleTags({
variableDescriptor: groupedVariables.nonBackgroundVariables,
value: optionValue,
fullValue: atts,
tabletMQ: '(max-width: 800px)',
mobileMQ: '(max-width: 370px)',
cacheId: 'non-background',
initialStyleTagsDescriptor: [
{
readStyles: () => {
const settings = window.wp.data
.select('core/editor')
.getEditorSettings()
const maybeBlocksyStyle = settings.styles.find(
(s) => s.source === 'blocksy'
)
if (!maybeBlocksyStyle || !maybeBlocksyStyle.css) {
return ''
}
return maybeBlocksyStyle.css
},
persistStyles: (newCss) => {
const settings = window.wp.data
.select('core/editor')
.getEditorSettings()
wp.data.dispatch('core/editor').updateEditorSettings({
...settings,
styles: settings.styles.map((s) => {
if (s.source !== 'blocksy') {
return s
}
return {
...s,
css: newCss,
}
}),
})
},
},
],
})
}
revertIframeBodyTransition()
}