(function($){ function showNotice(message, messageType) { $('.theme-wizard-main').before('<div class="theme-wizard-notice notice notice-'+ messageType +'">'+ message +'</div>'); } function addRightSign(tab_type=''){ if ( $('[data-tab="'+ tab_type +'"] .wizard-right-sign').length == 0 ){ $('[data-tab="'+ tab_type +'"]').append('<span class="wizard-right-sign dashicons dashicons-yes-alt"></span>'); } } function removeNotice() { $(".theme-wizard-notice").slideUp(300, function() { $(this).remove(); }); } $('[data-tab="theme-welcome"]').addClass('nav-tab-active'); $('#theme-welcome').addClass('active'); $(document).ready(function(){ if ( tmpcoderMessages.wizard_step == '' ){ $('[data-tab="theme-welcome"]').addClass('nav-tab-active'); $('#theme-welcome').addClass('active'); }else if ( tmpcoderMessages.wizard_step == '1' ){ addRightSign('theme-welcome'); $('[data-tab="theme-welcome"]').addClass('disabled'); setTimeout(() => { $('[data-tab="install-plugins"]').removeClass('disabled'); $('[data-tab="install-plugins"]').trigger('click'); }, 100); }else if ( tmpcoderMessages.wizard_step == '2' ){ addRightSign('theme-welcome'); $('[data-tab="theme-welcome"]').addClass('disabled'); addRightSign('install-plugins'); $('[data-tab="install-plugins"]').addClass('disabled'); setTimeout(() => { $('[data-tab="get-pro-plugins"]').removeClass('disabled'); $('[data-tab="get-pro-plugins"]').trigger('click'); }, 100); } else{ setTimeout(() => { $('[data-tab="install-plugins"]').trigger('click'); }, 100); } }); /* ----------- skip wizard with confirmation - [START] -----------*/ jQuery(document).on('click', '.skip-theme-wizard', function(e) { e.preventDefault(); tmpcoder_skip_theme_wizard_confirm_popup_open(); }); jQuery(document).on('click', '.tmpcoder-skip-theme-wizard-confirm-button', function(e) { e.preventDefault(); jQuery('.tmpcoder-skip-theme-wizard-popup-wrap').fadeOut(); tmpcoder_skip_theme_setup_wizard(); }); jQuery(document).on('click','.popup-close', function(){ jQuery('#tmpcoder-skip-theme-wizard-confirm-popup').fadeOut(); jQuery('.tmpcoder-admin-popup').fadeOut(); jQuery('.tmpcoder-skip-theme-wizard-popup-wrap').fadeOut(); }) function tmpcoder_skip_theme_wizard_confirm_popup_open() { jQuery('#tmpcoder-skip-theme-wizard-confirm-popup').fadeIn(); jQuery('.tmpcoder-skip-theme-wizard-popup-wrap').fadeIn(); jQuery('.tmpcoder-admin-popup').fadeIn(); } function tmpcoder_skip_theme_setup_wizard() { window.location.href = tmpcoderMessages.tmpcoder_admin_url; } /* ----------- skip wizard with confirmation - [END] -----------*/ $( document ).on('click', '#theme-welcome .next-step-btn', function(){ $('[data-tab="install-plugins"]').removeClass('disabled'); $('[data-tab="install-plugins"]').trigger('click'); addRightSign('theme-welcome'); }); $(document).on('submit', '.install-plugins-form', function(e){ e.preventDefault(); $('.process-loader').removeClass('hide'); $('.process-loader .loader-text').text(tmpcoderMessages.required_plugin_installing); var formdata = $(this).serialize(); console.log('formdata', $(this).serializeArray()); if( formdata['plugins'] ){ formdata['plugins'] = JSON.stringify(formdata['plugins']); } $.ajax({ url: ajaxurl, type: 'POST', data: formdata, beforeSend: function () { //Before sending, like showing a loading animation }, success: function(resp){ if( resp.includes('00000') ){ var dataResp = resp.split('00000'); resp = JSON.parse(dataResp[1]); } $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); if( resp.success ){ showNotice(resp.data.message, 'success'); setTimeout(removeNotice, 5000); addRightSign('install-plugins'); $('[data-tab="install-plugins"]').addClass('disabled'); $('[data-tab="get-pro-plugins"]').removeClass('disabled'); $('[data-tab="get-pro-plugins"]').trigger('click'); }else{ if ( resp?.data?.message != "" ){ showNotice(resp.data.message,"error"); setTimeout(removeNotice, 5000); } } }, error: function(err) { $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); showNotice(tmpcoderMessages.network_error, "error"); setTimeout(removeNotice, 5000); }, }); }); function tmpcoder_get_recommended_plugins(){ $('.process-loader').removeClass('hide'); $('.process-loader .loader-text').text(tmpcoderMessages.getting_required_plugins); var js_exist = $('#templatescoder-core-import-demos-js-extra').length; if ( $('#select-demo #templatescoder-core-import-demos-js-extra').length == 1 ) { js_exist = 0; } $.ajax({ url: ajaxurl, type: 'POST', data: "action=tmpcoder_get_recommended_plugins&js_exist="+ js_exist +"&nonce="+ tmpcoderMessages.get_plugins_nonce, // dataType: 'json', beforeSend: function () { //Before sending, like showing a loading animation }, success: function(resp){ $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); if( resp.success ){ if (resp.data.skip_this){ $('.get-pro-plugins').removeClass('disabled'); $('.get-pro-plugins').trigger('click'); addRightSign('install-plugins'); } if ( resp?.data?.plugins ){ var plg_html = '<div class="feature-section recommended-plugins three-col demo-import-boxed">'; if ( resp.data.plugins.length > 0 ){ resp.data.plugins.forEach(pluginRow => { plg_html += '<div class="col plugin_box"><div class="theme-grid-box">'; plg_html += '<a target="_blank" title="'+ pluginRow.name +'" href="'+ pluginRow.link +'"><img src="'+ pluginRow.image +'" alt="plugin box image" class="demo-preview plugin-preview" loading="lazy"></a>'; plg_html += '<div class="action_bar "><span class="plugin_name">'+ pluginRow.name +'</span>'; plg_html += '<span class="plugin-card-plugin action_button active">'; if ( pluginRow.activated ){ plg_html += '<label>'+ tmpcoderMessages.installed_and_activated +'</label>'; }else if ( pluginRow.installed ){ plg_html += '<input type="checkbox" class="plugin-checkbox" id="plugins-'+ pluginRow.slug +'" name="plugins['+ pluginRow.slug +']" value="1" checked /><label for="plugins-'+ pluginRow.slug +'">'+ tmpcoderMessages.installed_and_activate +'</label>'; }else{ plg_html += '<input type="checkbox" class="plugin-checkbox" name="plugins['+ pluginRow.slug +']" value="1" checked /><label>'+ tmpcoderMessages.install_and_activate +'</label>'; } plg_html += '</span>'; plg_html += '</div>'; plg_html += '</div></div>'; }); } plg_html += '</div>'; plg_html += tmpcoderMessages.form_nonce; // nonce passing. plg_html += '<div class="next-step-action"><input type="hidden" name="action" value="tmpcoder_install_recommended_plugins" />'; if ( resp.data.next_step ){ plg_html += '<button type="submit" class="button button-primary next-step-btn">'+ resp.data.next_step +'</button>'; }else{ plg_html += '<button type="submit" class="button button-primary next-step-btn">'+ tmpcoderMessages.next_step_btn +'</button>'; } plg_html += '</div>'; plg_html = '<h2 class="wizard-heading">'+ tmpcoderMessages.install_required_plugins +'</h2><p class="wizard-title-text">'+ tmpcoderMessages.install_required_plugins_text +'</p><form class="install-plugins-form" method="POST">'+ plg_html +'</form>'; $('#install-plugins .tmpcoder-message-box').html(plg_html); } }else{ } }, error: function(err) { $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); }, }); } function tmpcoder_get_pro_plugin_info(){ $('.process-loader').removeClass('hide'); $('.process-loader .loader-text').text(tmpcoderMessages.loading_pro_plugin_info); $.ajax({ url: ajaxurl, type: 'POST', data: "action=tmpcoder_get_pro_plugin_info&nonce="+ tmpcoderMessages.get_pro_addons_info_nonce, // dataType: 'json', beforeSend: function () { //Before sending, like showing a loading animation }, success: function(resp){ if( resp.success ){ $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); $('#get-pro-plugins .pro-plugins-part').html(resp.data.data); }else{ $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); $('#get-pro-plugins .pro-plugins-part').html(tmpcoderMessages.license_error); } }, error: function(err) { console.log('err', err); $('.process-loader').addClass('hide'); $('.process-loader .loader-text').text(''); }, }); } $(document).on('click', '.theme-wizard-nav .nav-tab', function(){ if ( $(this).hasClass('disabled') ){ return; } const parentRef = $(this).closest('.theme-wizard-nav'); const tab_id = $(this).attr('data-tab'); parentRef.find('.nav-tab').removeClass('nav-tab-active'); $('.tab-content').removeClass('active'); $(this).addClass('nav-tab-active'); $('#'+ tab_id).addClass('active'); if ( tab_id == 'install-plugins' ){ tmpcoder_get_recommended_plugins(); } if ( tab_id == 'get-pro-plugins' ){ tmpcoder_get_pro_plugin_info(); } }); })(jQuery)