update
This commit is contained in:
134
wp-content/plugins/youtube-feed-pro/js/elementor-handler.js
Normal file
134
wp-content/plugins/youtube-feed-pro/js/elementor-handler.js
Normal file
@@ -0,0 +1,134 @@
|
||||
'use strict';
|
||||
/**
|
||||
* Used to handle :
|
||||
* Click of Non-Installed Plugins
|
||||
* Show Upsell Popup
|
||||
* Unbind Drag & Drop
|
||||
|
||||
*/
|
||||
|
||||
let SbElementorHandler = window.SbElementorHandler || ( function( _document, window, $ ) {
|
||||
|
||||
const smashBalloonPlugins = sbHandler.smashPlugins;
|
||||
|
||||
let app = {
|
||||
|
||||
init: function() {
|
||||
app.events();
|
||||
},
|
||||
|
||||
events: function() {
|
||||
|
||||
$( window ).on('elementor/frontend/init', function () {
|
||||
app.disableInactiveSmashWidgets();
|
||||
setTimeout(function(){
|
||||
elementor.panel.$el.on('click', function () {
|
||||
app.disableInactiveSmashWidgets();
|
||||
});
|
||||
}, 300)
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
disableInactiveSmashWidgets : function(){
|
||||
setTimeout(function(){
|
||||
for (const pluginName in smashBalloonPlugins) {
|
||||
let plugin = smashBalloonPlugins[pluginName],
|
||||
pluginWidget = elementor.panel.$el.find("#elementor-panel-category-smash-balloon").find('.sb-elem-inactive.sb-elem-'+pluginName).parents('.elementor-element-wrapper').find('.elementor-element');
|
||||
|
||||
pluginWidget.attr('draggable', false);
|
||||
pluginWidget.on('click', function(){
|
||||
app.createUpsellPopup( pluginName );
|
||||
});
|
||||
}
|
||||
}, 500)
|
||||
},
|
||||
|
||||
createUpsellPopup : function( pluginName ){
|
||||
let plugin = smashBalloonPlugins[pluginName],
|
||||
spinnerIcon = '<svg x="0px" y="0px" width="20px" height="20px" viewBox="0 0 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve"><path fill="#fff" d="M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.6s" repeatCount="indefinite"/></path></svg>',
|
||||
upsellPopupOutput =
|
||||
'<div class="sb-source-ctn sb-fs-boss sb-center-boss">\
|
||||
<div class="sb-source-popup sb-popup-inside sb-install-plugin-modal">\
|
||||
<div class="sb-popup-cls">\
|
||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">\
|
||||
<path d="M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" fill="#141B38"/>\
|
||||
</svg>\
|
||||
</div>\
|
||||
<div class="sb-install-plugin-body sb-fs">\
|
||||
<div class="sb-install-plugin-header">\
|
||||
<div class="sb-plugin-image">' + plugin["svgIcon"] + '\
|
||||
<svg class="sb-plugin-cta-logo" width="26" height="33" viewBox="0 0 26 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M25.5608 15.2708C25.5608 6.86286 20.0495 0.046814 13.2486 0.046814C6.44763 0.046814 0.933838 6.86286 0.933838 15.2708C0.933838 23.3312 5.98416 29.9079 12.3795 30.4596L11.6995 32.6132L15.9639 32.2505L14.4677 30.4218C20.6943 29.6661 25.5608 23.1725 25.5608 15.2708Z" fill="#FE544F"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16.1843 5.39911L16.7768 11.5131L22.9165 11.6894L18.4752 15.8189L21.983 20.8926L16.0735 19.7817L14.282 25.6913L11.5618 20.3993L6.0693 22.916L8.18218 17.2428L2.82544 14.5409L8.55968 12.6968L6.97737 7.04787L12.4024 10.1407L16.1843 5.39911Z" fill="white"/></svg>\
|
||||
</div>\
|
||||
<div class="sb-plugin-name">\
|
||||
<strong>Requires</strong>\
|
||||
<h3>\
|
||||
' + pluginName + '\
|
||||
<span>Free</span>\
|
||||
</h3>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="sb-install-plugin-content">\
|
||||
<p>' + plugin["description"] + '</p>\
|
||||
<button class="sb-install-plugin-btn sb-btn-orange sb-plugin-btn" data-plugin="'+plugin['download_plugin']+'">\
|
||||
<span class="sb-install-plugin-spinner" style="display:none">'+spinnerIcon+'</span>\
|
||||
Install\
|
||||
</button>\
|
||||
<button class="sb-install-refresh-btn sb-btn-blue sb-plugin-btn" style="display:none">\
|
||||
Refresh The Page\
|
||||
</button>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>';
|
||||
if($(window.parent.document.body).find('.sb-center-boss').length === 0){
|
||||
$(window.parent.document.body).append(upsellPopupOutput);
|
||||
}
|
||||
$(window.parent.document.body).find('.sb-install-plugin-btn').on('click', function(){
|
||||
let downloadPlugin = $(this).attr('data-plugin');
|
||||
$(this).find('.sb-install-plugin-spinner').show();
|
||||
app.installPlugin(downloadPlugin);
|
||||
});
|
||||
|
||||
$(window.parent.document.body).find('.sb-install-refresh-btn').on('click', function(){
|
||||
window.parent.location.reload();
|
||||
});
|
||||
|
||||
$(window.parent.document.body).find('.sb-popup-cls').on('click', function(){
|
||||
app.closeUpsellPopup();
|
||||
});
|
||||
},
|
||||
closeUpsellPopup : function(){
|
||||
$(window.parent.document.body).find('.sb-center-boss').remove();
|
||||
},
|
||||
|
||||
installPlugin : function(downloadPlugin){
|
||||
let data = new FormData();
|
||||
data.append( 'action', 'sby_install_other_plugins' );
|
||||
data.append( 'nonce', sbHandler.nonce );
|
||||
data.append( 'plugin', downloadPlugin );
|
||||
data.append( 'type', 'plugin' );
|
||||
fetch(sbHandler.ajax_handler, {
|
||||
method: "POST",
|
||||
credentials: 'same-origin',
|
||||
body: data
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
$(window.parent.document.body).find('.sb-install-plugin-btn').hide();
|
||||
if( data.success == true ) {
|
||||
$(window.parent.document.body).find('.sb-install-refresh-btn').show();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
return app;
|
||||
|
||||
}( document, window, jQuery ) );
|
||||
|
||||
SbElementorHandler.init();
|
||||
Reference in New Issue
Block a user