Files
wp-multisite-waas/assets/js/customizer.js
2024-11-30 18:24:12 -07:00

75 lines
1.3 KiB
JavaScript

/* global Vue, wu_block_ui */
(function($) {
/**
* If we detect the preview changed, we add a loader.
*/
window.addEventListener('message', function(message) {
let block;
if (message.data === 'wu_preview_changed') {
block = wu_block_ui('#preview_content');
} // end if;
/**
* Unblocks when the loading is finished.
*/
$('#preview-stage-iframe').on('load', function() {
if (block) {
block.unblock();
} // end if;
});
}, false);
$(document).ready(function() {
// eslint-disable-next-line no-unused-vars
const wu_preview_stage = new Vue({
el: '#preview-stage',
data() {
return {
preview: false,
};
},
});
$('[data-wu-customizer-panel]').each(function() {
const app = $(this);
const app_name = 'wu_' + app.data('wu-app');
wp.hooks.addAction(app_name + '_changed', 'nextpress/wp-ultimo', function(prop) {
if (prop === 'tab') {
return;
} // end if;
const param = jQuery.param(window[app_name].$data);
const param2 = app.find('input').serialize();
const url = $('#preview-stage-iframe').attr('data-src');
$('#preview-stage-iframe').attr('src', url + '&' + param + '&' + param2);
});
});
});
}(jQuery));