( function( $, JetDataImport ) { "use strict"; JetDataImport = { selectors: { trigger: '#jet-import-start', advancedTrigger: 'button[data-action="start-install"]', popupTrigger: 'button[data-action="confirm-install"]', removeContent: 'button[data-action="remove-content"]', upload: '#jet-file-upload', globalProgress: '#jet-import-progress' }, globalProgress: null, init: function(){ $( function() { JetDataImport.globalProgress = $( JetDataImport.selectors.globalProgress ).find( '.cdi-progress__bar' ); $( 'body' ) .on( 'click.cdiImport', JetDataImport.selectors.trigger, JetDataImport.goToImport ) .on( 'click.cdiImport', JetDataImport.selectors.advancedTrigger, JetDataImport.advancedImport ) .on( 'click.cdiImport', JetDataImport.selectors.popupTrigger, JetDataImport.confirmImport ) .on( 'click.cdiImport', JetDataImport.selectors.removeContent, JetDataImport.removeContent ) .on( 'focus.cdiImport', '.cdi-remove-form__input', JetDataImport.clearRemoveNotices ) .on( 'change.cdiImport', 'input[name="install-type"]', JetDataImport.advancedNotice ) .on( 'click.cdiImport', '.cdi-advanced-popup__close', JetDataImport.closePopup ); $( document ) .on( 'tm-wizard-install-finished', JetDataImport.wizardPopup ) .on( 'cdiSliderInit', JetDataImport.initSlider ); if ( window.JetDataImportVars.autorun ) { JetDataImport.startImport(); } if ( undefined !== window.JetRegenerateData ) { JetDataImport.regenerateThumbnails(); } JetDataImport.fileUpload(); JetDataImport.initSlider(); } ); }, initSlider: function() { var $slider = $( '.cdi-slider .swiper-container' ); if ( ! $slider.length ) { return; } new Swiper( $slider[0], { paginationClickable: true, autoplay: 15000, pagination: '.slider-pagination', parallax: true, speed: 600 } ); }, wizardPopup: function () { $( '.cdi-advanced-popup' ).removeClass( 'popup-hidden' ).trigger( 'cdi-popup-opened' ); }, removeContent: function() { var $this = $( this ), $pass = $this.prev(), $form = $this.closest( '.cdi-remove-form' ), $notices = $( '.cdi-remove-form__notices', $form ), data = {}; if ( $this.hasClass( 'in-progress' ) ) { return; } data.action = 'jet-data-import-remove-content'; data.nonce = window.JetDataImportVars.nonce; data.password = $pass.val(); $this.addClass( 'in-progress' ); $.ajax({ url: window.ajaxurl, type: 'post', dataType: 'json', data: data, error: function() { $this.removeClass( 'in-progress' ); } }).done( function( response ) { if ( true === response.success ) { $form.addClass( 'content-removed' ); $notices.removeClass( 'cdi-hide' ); $notices.html( response.data.message ).removeClass( 'cdi-error' ); if ( undefined !== response.data.slider ) { JetDataImport.showSlider( $form, response.data.slider ); } JetDataImport.startImport(); } else { $notices.addClass( 'cdi-error' ).removeClass( 'cdi-hide' ); $notices.html( response.data.message ); } $this.removeClass( 'in-progress' ); }); }, showSlider: function( where, slider ) { setTimeout( function() { where.before( slider ); where.remove(); console.log(''); $( document ).trigger( 'cdiSliderInit' ); }, 2000 ); }, clearRemoveNotices: function() { var $this = $( this ), $form = $this.closest( '.cdi-remove-form' ), $notices = $( '.cdi-remove-form__notices', $form ); $notices.removeClass( 'cdi-error' ).addClass( 'cdi-hide' ); }, closePopup: function() { $( '.cdi-advanced-popup' ).addClass( 'popup-hidden' ).data( 'url', null ); $( '.cdi-btn.in-progress' ).removeClass( 'in-progress' ); }, confirmImport: function() { var $this = $( this ), $popup = $this.closest( '.cdi-advanced-popup' ), $checkbox = $( '.cdi-advanced-popup__item input[type="radio"]:checked', $popup ), type = 'append', url = $popup.data( 'url' ); $this.addClass( 'in-progress' ); if ( undefined !== $checkbox.val() && '' !== $checkbox.val() ) { type = $checkbox.val(); } url = url + '&type=' + type; window.location = url; }, advancedImport: function() { var $this = $( this ), $item = $this.closest( '.advanced-item' ), $type = $( '.advanced-item__type-checkbox input[type="checkbox"]', $item ), url = window.JetDataImportVars.advURLMask, full = $item.data( 'full' ), skin = $item.data( 'skin' ), min = $item.data( 'lite' ); $this.addClass( 'in-progress' ); if ( $type.is(':checked') ) { url = url.replace( '<-file->', min ); } else { url = url.replace( '<-file->', full ); } url += '&skin=' + skin; $( '.cdi-advanced-popup' ).removeClass( 'popup-hidden' ).data( 'url', url ); }, advancedNotice: function() { var $this = $( this ), $popup = $this.closest( '.cdi-advanced-popup__content' ), $notice = $( '.cdi-advanced-popup__warning', $popup ); if ( $this.is( ':checked' ) && 'replace' === $this.val() ) { $notice.removeClass( 'cdi-hide' ); } else if ( ! $notice.hasClass( 'cdi-hide' ) ) { $notice.addClass( 'cdi-hide' ); } }, regenerateThumbnails: function() { var data = { action: 'jet-data-thumbnails', offset: 0, step: window.JetRegenerateData.step, total: window.JetRegenerateData.totalSteps }; JetDataImport.ajaxRequest( data ); }, ajaxRequest: function( data ) { var complete; data.nonce = window.JetDataImportVars.nonce; data.file = window.JetDataImportVars.file; data.skin = window.JetDataImportVars.skin; data.xml_type = window.JetDataImportVars.xml_type; $.ajax({ url: window.ajaxurl, type: 'get', dataType: 'json', data: data, error: function() { if ( data.step ) { complete = Math.ceil( ( data.offset + data.step ) * 100 / ( data.total * data.step ) ); JetDataImport.globalProgress .css( 'width', complete + '%' ) .find( '.cdi-progress__label' ).text( complete + '%' ); data.offset = data.offset + data.step; JetDataImport.ajaxRequest( data ); } else { $( '#jet-import-progress' ).replaceWith( '