/home/arranoyd/energyclinic/wp-content/plugins/docket-cache/includes/admin/docket.js
/**
* Docket Cache.
*
* @author Nawawi Jamili
* @license MIT
*
* @see https://github.com/nawawi/docket-cache
*/
( function( $ ) {
$( document )
.ready(
function() {
var uh = window.location.href;
if ( uh && uh.match( /admin\.php\?page=docket-cache/ ) === null ) {
return;
}
$selector = $( document )
.find( 'div#docket-cache' );
$selector.find( 'div.notice' )
.show( {
duration: 100
} );
$selector.find( 'div.is-dismissible' )
.find( 'button.notice-dismiss' )
.on(
'click.dc-dismiss-notice',
function( e ) {
e.preventDefault();
$selector.find( '.notice-focus' )
.removeClass( 'notice-focus' );
$selector.find( 'p#innotice' )
.remove();
}
);
$selector.find( 'a#refresh' )
.on(
'click.dc-refresh',
function( e ) {
e.preventDefault();
var $self = $( this );
var url = $self.attr( 'href' );
var sort = $selector.find( 'select#sort' )
.children( 'option:selected' )
.val();
var order = $selector.find( 'select#order' )
.children( 'option:selected' )
.val();
var line = $selector.find( 'select#line' )
.children( 'option:selected' )
.val();
var dt = Math.floor( Date.now() / 1000 );
url = url.replace( /\&sorting=.*/, '' );
if ( order ) {
url = url + '&srt=' + order + '-' + sort + '-' + line;
}
url = url + '&t=' + dt;
window.location.replace( url );
return false;
}
);
$selector.find( 'select[data-id=logopt]' )
.on(
'change.dc-refresh',
function() {
$selector.find( 'a#refresh' )
.trigger( 'click' );
}
);
$selector.find( 'select.config-filter' )
.on(
'change.dc-select-config-filter',
function() {
$selector.find( 'form#config-filter' )
.submit();
return false;
}
);
var close_notice = function() {
$selector.find( 'div.is-dismissible' )
.find( 'button.notice-dismiss' )
.trigger( 'click' );
};
window.dospinner = false;
var spinner = function() {
if ( !window.dospinner ) {
return;
}
$( window )
.on(
'beforeunload.dc-loader',
function() {
window.dospinner = false;
var $overlay = $( document )
.find( '#docket-cache-overlay' );
$overlay.css( 'display', 'block' );
setTimeout(
function() {
$overlay.css( 'background-color', 'rgba(0,0,0,0.5)' );
$overlay.find( '#wait-spinner' )
.css( 'display', 'block' );
},
750
);
}
);
};
$selector.find( 'a.btx-spinner' )
.on(
'click.dc-btspinner',
function() {
if ( $( this )
.attr( 'disabled' ) ) {
return;
}
window.dospinner = true;
spinner();
}
);
$selector.find( 'a.btx-cleanuppost' )
.on(
'click.cleanuppost',
function( e ) {
e.preventDefault();
var url = $( this )
.attr( 'href' );
url = url.replace( /\&siteid=.*/, '' );
var siteid = $selector.find( 'select#siteid' )
.children( 'option:selected' )
.val() || false;
if ( siteid ) {
url += '&siteid=' + siteid;
}
window.dospinner = true;
spinner();
window.location.replace( url );
return false;
}
);
var $psubmit = $selector.find( 'p.submit' );
$psubmit.find( 'a.button' )
.on(
'click.dc-submit',
function() {
window.dospinner = true;
spinner();
}
);
$psubmit.find( 'select' )
.on(
'change.dc-select',
function() {
window.dospinner = true;
spinner();
}
);
$selector.find( '.form-table-selection' )
.find( 'select.config-select' )
.on(
'change.dc-select-config',
function() {
close_notice();
window.dospinner = true;
spinner();
var $self = $( this );
var link = $self.children( 'option:selected' )
.attr( 'data-action-link' );
window.location.replace( link );
return false;
}
);
$selector.find( '.nav-tab-wrapper' )
.find( 'select.nav-select' )
.on(
'change.dc-select-nav',
function() {
var $self = $( this );
var link = $self.children( 'option:selected' )
.attr( 'data-action-link' );
window.location.replace( link );
return false;
}
);
var highlight_row = function( selector, lineNum ) {
var val = selector.value;
var arr = val.split( "\n" );
var startPos = 0,
endPos = val.length;
for ( var x = 0; x < arr.length; x++ ) {
if ( x == lineNum ) {
break;
}
startPos += ( arr[ x ].length + 1 );
}
var endPos = arr[ lineNum ].length + startPos;
if ( typeof( selector.selectionStart ) != "undefined" ) {
selector.focus();
selector.selectionStart = startPos;
selector.selectionEnd = endPos;
return true;
}
if ( document.selection && document.selection.createRange ) {
selector.focus();
selector.select();
var range = document.selection.createRange();
range.collapse( true );
range.moveEnd( "character", endPos );
range.moveStart( "character", startPos );
range.select();
return true;
}
return false;
};
var view_row = function( row ) {
var mm = row.match( /\:\s+\"([^"]+)\"\s+/ );
if ( mm && mm[ 1 ] ) {
var idx = mm[ 1 ];
var $bt = $selector.find( 'a.button-vcache' );
var url = $bt.attr( 'href' );
$bt.removeClass( 'hide' );
url = url.replace( /\&vcache=.*/, '' );
url = url + '&vcache=' + idx;
$bt.attr( 'href', url );
$selector.find( 'span.vcache' )
.removeClass( 'hide' )
.html( '<strong>Cache Index:</strong> ' + idx );
$selector.find( 'a.button-vcache-c' )
.removeClass( 'hide' );
}
};
var select_row = function() {
$selector.find( '.log' )
.find( 'textarea#log' )
.on(
"click.dc-log",
function( e ) {
var $self = $( this );
var sp = $self
.scrollTop()
var lh = $self
.css( "line-height" );
lh = parseInt( lh.substring( 0, lh.length - 2 ) );
var line = Math.floor( ( e.offsetY + sp ) / lh );
var arr = $self
.val()
.split( "\n" );
var row = arr[ line ];
view_row( row );
highlight_row( this, line );
}
);
};
if ( uh.match( /idx=log&vcache=/ ) === null ) {
select_row();
}
}
);
} )( jQuery );