PATH:
home
/
letacommog
/
metras
/
wp-content
/
themes
/
betheme
/
functions
/
importer
/
js
(function($){ "use strict"; $(document).ready(function(){ var importer = $( '#mfn-wrapper.mfn-demo-data' ); var overlay = $( '#mfn-overlay' ); var popup = $( '#mfn-demo-popup' ); /** * Filters * * Filter demos by Category * * @param el object */ function filter( el ){ var filter = el.attr( 'data-filter' ); var demos = $( '.demos', importer ); $( '.demo-search input', importer ).val(''); el.addClass( 'active' ) .siblings().removeClass( 'active' ); if( filter == '*' ){ $( '.item', demos ).hide().stop(true,true).fadeIn(); } else { $( '.item', demos ).hide(); $( '.item.category-' + filter, demos ).stop( true, true ).fadeIn(); } } $( '.filters', importer ).on( 'click', 'li', function(){ filter( $(this) ); }); /** * Search * * @param el object */ function search( el ){ var filter = el.val().replace('&','').replace(/ /g,'').toLowerCase(); var demos = $( '.demos', importer ); if( filter.length ){ $( '.item', demos ).hide(); $( '.item[data-id *= '+ filter +']', demos ).stop(true,true).fadeIn(); $( '.filters li.active', importer ).removeClass('active'); } else { $( '.item', demos ).hide().stop(true,true).fadeIn( 200 ); $( '.filters li:first', importer ).addClass('active'); } } $( '.demo-search input', importer ).bindWithDelay( 'keyup', function(){ search( $(this) ); }, 300); /** * Item | Open * * Open item details on click */ $( '.demos', importer ).on( 'click', '.item', function(e){ overlay.fadeIn( 200 ); $( this ).addClass( 'active' ) .siblings().removeClass( 'active' ); var el = $( '.item-inner', this ); // scroll if active item is not fully visible setTimeout( function(){ var elT = el.offset().top; var elB = el.offset().top + el.outerHeight(); var scrT = $(window).scrollTop() + $( '#wpadminbar' ).height(); var scrB = $(window).scrollTop() + $(window).height(); if( elT < scrT ){ // offset top jQuery( 'html, body' ).animate({ scrollTop: elT - $( '#wpadminbar' ).height() - 5 }, 300); } else if( elB > scrB ) { // offset bottom var diff = elB - scrB; var scroll = scrT + diff + 5 if( scroll > elT ){ scroll = elT; } jQuery( 'html, body' ).animate({ scrollTop: scroll - $( '#wpadminbar' ).height() -5 }, 200); } }, 400); }); /** * Item | Close * * Close item detail on close button click */ $( '.demos', importer ).on( 'click', '.close', function(e){ overlay.fadeOut( 200 ); $( '.demos .item.active' ).removeClass( 'active' ); e.stopPropagation(); }); /** * Item | Import * Popup | Open * * Open import popup on import button click */ $( '.demos', importer ).on( 'click', '.mfn-button-import', function(e){ var item = $( this ).closest( '.item' ); $( '#input-demo', importer ).val( item.data( 'id' ) ); $( '.item-image', popup ).css( 'background-position', item.find( '.item-image' ).css( 'background-position' ) ); $( '.item-title', popup ).text( item.data( 'name' ) ); // animations $( '.demos .item.active' ).removeClass( 'active' ); e.stopPropagation(); // reset to default $( popup ).removeClass( 'slider slider-active' ); $( '.popup-step', popup ).hide().first().show(); $( '.popup-step.step-2 input', popup ).removeAttr( 'checked' ) $( '.popup-step.step-2 input.checked', popup ).attr( 'checked', 'checked' ); // revolution slider demo installer var slider = $( '.plugin-rev', item ); if( slider.length ){ if( $( 'span.is-active' ).length ){ popup.addClass( 'slider-active' ); } else { popup.addClass( 'slider' ); } } // open popup popup.addClass('active'); }); /** * Popup | Close * * Close popup on cakcel button click */ popup.on( 'click', '.mfn-button-cancel', function(){ popup.removeClass( 'active' ); overlay.fadeOut( 200 ); }); /** * Popup | Next screen * * Change step screen */ popup.on( 'click', '.mfn-button-next', function(){ var step = $( this ).closest( '.popup-step' ); step.hide().next().fadeIn(200); }); /** * Popup | Import Options * * Activate checkboxes for selected radiobox, etc. */ $( '.import-options', popup ).on( 'click', 'label', function(){ var parent = $( this ).closest( '.import-options' ); parent.addClass( 'active' ) .siblings().removeClass( 'active' ); $( 'input.radio-type', parent ).attr( 'checked', 'checked' ); }); /** * Popup | Submit * * Submit form */ popup.on( 'click', '.mfn-button-submit', function(){ var parent = $( this ).closest( '.popup-step' ); var type = $( '.radio-type:checked', parent ).val(); $( '#input-type', importer ).val( type ); var data = $( '.radio-data:checked', parent ).val(); $( '#input-data', importer ).val( data ); var attachments = $( '.checkbox-attachments:checked', parent ).val(); $( '#input-attachments', importer ).val( attachments ); var slider = $( '.checkbox-slider:checked', parent ).val(); $( '#input-slider', importer ).val( slider ); // next step $( this ).closest( '.popup-step' ).hide().next().fadeIn( 200 ); // disable popup close overlay.unbind( 'click' ); // form submit $( '#form-submit', importer ).click(); }); /** * Item / Popup | Close * * Close overlay, item details, popup on overlay click */ overlay.on( 'click', function(){ $( this ).fadeOut( 200 ); popup.removeClass( 'active' ); $( '.demos .item.active' ).removeClass( 'active' ); }); /** * Keyboard navigation * * Previous / next item. Use keyboard left & right arrows */ $( 'body' ).keydown( function( event ){ if( $( '.item.active', importer ).length ){ // <- arrow if( event.keyCode == 37 ){ var prev = $( '.item.active', importer ).prev(); if( prev.length ){ $( '.item.active', importer ).removeClass( 'active' ); prev.addClass( 'active' ); } } // -> arrow if( event.keyCode == 39 ){ var next = $( '.item.active', importer ).next(); if( next.length ){ $( '.item.active', importer ).removeClass( 'active' ); next.addClass( 'active' ); } } // ESC if( event.keyCode == 27 ){ overlay.click(); } } }); }); })(jQuery); /** * bindWithDelay jQuery plugin * * Brian Grinstead | http://github.com/bgrins/bindWithDelay | http://briangrinstead.com/files/bindWithDelay | MIT license */ !function(i){i.fn.bindWithDelay=function(n,u,t,e,d){return i.isFunction(u)&&(d=e,e=t,t=u,u=void 0),t.guid=t.guid||i.guid&&i.guid++,this.each(function(){function l(){var n=i.extend(!0,{},arguments[0]),u=this,l=function(){o=null,t.apply(u,[n])};d||(clearTimeout(o),o=null),o||(o=setTimeout(l,e))}var o=null;l.guid=t.guid,i(this).bind(n,u,l)})}}(jQuery);
[+]
..
[-] scripts.js
[edit]