????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.145.200.8 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/themes/x/framework/js/dist/admin/ |
Upload File : |
// ============================================================================= // JS/ADMIN/COMMON.JS // ----------------------------------------------------------------------------- // Admin scripts. // ============================================================================= // ============================================================================= // TABLE OF CONTENTS // ----------------------------------------------------------------------------- // 01. Module Loader // 02. AJAX // 03. Confirm // 02. Common Scripts // ============================================================================= // Module Loader // ============================================================================= window.tco = window.tco || {}; ( function() { var modules = {}; tco.addModule = function( handle, callback ) { addModuleData( handle, 'callback', callback ); } tco.addDataSource = function( data ) { if ( !data.modules ) return; for ( var handle in data.modules ) { addModuleData( handle, 'data', data.modules[handle] ); } } tco.debug = function() { return ( tcoCommon && tcoCommon.debug == '1' ); } tco.l18n = function( handle ) { return ( tcoCommon && tcoCommon.strings && tcoCommon.strings[handle] ) ? tcoCommon.strings[handle] : ''; } function addModuleData( handle, key, value ) { if ( ! modules[handle] ) { modules[handle] = {} } modules[handle][key] = value; } jQuery( function( $ ) { $( '[data-tco-module]' ).each( function() { var $this = $( this ); var handle = $this.data( 'tco-module' ); if ( modules[handle] && 'function' === typeof modules[handle]['callback'] ) { var targets = {}; $.extend( $this, setupMessaging( $this ) ); $this.find( '[data-tco-module-target]' ).each( function() { var $this = $( this ); targets[ $this.data( 'tco-module-target' ) ] = $this; } ); var data = modules[handle]['data'] || {}; modules[handle]['callback'].call( this, $this, targets, data ); } } ); } ); // // Module Messaging // function setupMessaging( $module ) { var $status = $module.find( '.tco-status-text' ); if ( ! $status.length ) return {}; var $processing = $module.find( '[data-tco-module-processor]' ); $processing = ( $processing.length ) ? $processing : $module; var $backStatus = $status.clone(); $status.after( $backStatus ); var messageDuration, removalTimer, showTimer, readyTimer; var transitionTime = 650; var statusPhase = true; var $activeStatus = $status; var $inactiveStatus = $backStatus; function nothing() { } var ready = true; var next = nothing; function invertStatusPhase() { statusPhase = ! statusPhase; $activeStatus = ( statusPhase ) ? $status : $backStatus; $inactiveStatus = ( !statusPhase ) ? $status : $backStatus; } function removeMessage( delay, after ) { if ( ! ready ) { next = function() { removeMessage( delay, after ); } return; } clearTimeout( messageDuration ); if ( ! delay || ! Number.isInteger( delay ) ) return removeNow( after ); messageDuration = setTimeout( function() { removeNow( after ); }, delay ); } function removeNow( after ) { $activeStatus.removeClass( 'tco-active' ); $inactiveStatus.html( '' ); clearTimeout( removalTimer ); removalTimer = setTimeout( function() { $processing.removeClass( 'tco-processing' ); if ( 'function' === typeof after ) { after(); } }, transitionTime ); } function showMessage( text, duration, after, $extra ) { if ( ! ready ) { next = function() { showMessage( text, duration, after, $extra ); } return; } clearTimeout( messageDuration ); clearTimeout( removalTimer ); // Prevent removals if ( $processing.hasClass( 'tco-processing' ) ) { $inactiveStatus.html( text ); if ( $extra && $extra.length ) $inactiveStatus.append( $extra ); $activeStatus.removeClass( 'tco-active' ); invertStatusPhase(); delayShow( duration, after ); } else { $activeStatus.html( text ); if ( $extra && $extra.length ) $activeStatus.append( $extra ); $processing.addClass( 'tco-processing' ); delayShow( duration, after ); } } function delayShow( duration, after ) { ready = false; clearTimeout( showTimer ); showTimer = setTimeout( function() { $activeStatus.addClass( 'tco-active' ); if ( duration && Number.isInteger( duration ) ) { removeMessage( duration, after ); } clearTimeout( readyTimer ); readyTimer = setTimeout( function() { ready = true; next(); next = nothing; }, transitionTime ); }, transitionTime ); } return { tcoShowMessage: showMessage, tcoRemoveMessage: removeMessage, tcoShowErrorMessage: function( text, message, after ) { showMessage( text, false, after, tco.makeErrorDelegate({ message: message } ) ); } } } } )(); // AJAX // ============================================================================= ( function( $ ) { window.tco.ajax = function( options ) { var done = ( 'function' === typeof options.done ) ? options.done : ( function() { } ); var fail = ( 'function' === typeof options.fail ) ? options.fail : ( function() { } ); delete options.done; delete options.fail; wp.ajax.post( options ).done( done ).fail( function( response ) { if ( 'object' !== typeof response ) { var matches = response.match( /{"success":\w*?,"data.*/ ); var recovery = {}; try { recovery = JSON.parse( matches[0] ); } catch ( e ) { } if ( recovery.data ) { if ( true === recovery.success ) { console.warn( 'TCO AJAX recovered from malformed success response: ', response ); done( recovery.data ); return; } if ( false === recovery.success ) { console.warn( 'TCO AJAX recovered from malformed error response: ', response ); fail( recovery.data ); return; } } } fail( response ); }); } } )( jQuery ); // Confirm // ============================================================================= ( function( $ ) { var markup = '<div class="tco-modal-outer"><div class="tco-modal-inner"><div class="tco-confirm"><div class="tco-confirm-text"></div><div class="tco-confirm-actions"></div></div></div></div>'; var defaults = { accept: null, decline: null, message: '', class: '', yep: tco.l18n( 'yep' ), nope: tco.l18n( 'nope' ), yepClass: '', nopeClass: '', attach: true }; window.tco.confirm = function( opts ) { var options = $.extend( {}, defaults, opts ); // // Build Modal // var $modal = $( markup ); $modal.find( '.tco-confirm-text' ).html( options.message ); if ( options.class ) { $modal.find( '.tco-confirm' ).addClass( options.class ); } // // Add Yep Button // if ( options.yep && '' !== options.yep ) { var $yep = $( '<button class="tco-btn">' + options.yep + '</button>' ); if ( options.yepClass ) { $yep.addClass( options.yepClass ); } $modal.find( '.tco-confirm-actions' ).append( $yep ); $yep.click( function() { if ( 'function' === typeof options.accept ) { options.accept(); } $modal.remove(); }); } // // Add Nope Button // if ( options.nope && '' !== options.nope ) { var $nope = $( '<button class="tco-btn">' + options.nope + '</button>' ); if ( options.nopeClass ) { $nope.addClass( options.nopeClass ); } $modal.find( '.tco-confirm-actions' ).append( $nope ); $nope.click( function() { if ( 'function' === typeof options.decline ) { options.decline(); } $modal.remove(); }); } // // Attach to body // if ( options.attach ) { $('body').append( $modal ); } return $modal; } } )( jQuery ); // Error Modal // ============================================================================= ( function( $ ) { var defaults = { details: tco.l18n( 'details' ), message: '', back: tco.l18n( 'back' ), backClass: '' }; window.tco.makeErrorDelegate = function( opts ) { var options = $.extend( {}, defaults, opts ); var $el = $( '<a> ' + options.details + '</a>' ); $el.click( function(){ tco.confirm( { message: options.message, yep: '', nope: options.back, nopeClass: options.backClass, class: 'tco-confirm-error' }); } ); return $el; } } )( jQuery ); // Common Scripts // ============================================================================= jQuery(document).ready(function($) { // // Hash links. // $('a[href="#"]').on('click', function(e) { e.preventDefault(); }); // // Toggles. // $('[data-tco-toggle]').on('click', function(e) { e.preventDefault(); var $this = $(this); var target = $this.data('tco-toggle'); $(target).toggleClass('tco-active'); }); // // Accordions. // $('.tco-accordion-toggle').click(function() { if ( $(this).hasClass('tco-active') ) { $(this).removeClass('tco-active').next().slideUp(); return; } $('.tco-accordion-panel').slideUp(); $(this).siblings().removeClass('tco-active'); $(this).addClass('tco-active').next().slideDown(); }); });