File "init-events.js"
Full Path: /home/siazco/grocery.siazco.se/wp-content/plugins/kapee-extensions/inc/admin/redux-core/assets/js/redux/init-events.js
File size: 6.57 KB
MIME-type: text/plain
Charset: utf-8
/* global redux, redux_change, jQuery, pagenow, ajaxurl */
(function( $ ) {
'use strict';
$.redux = $.redux || {};
$.redux.initEvents = function( el ) {
var stickyHeight;
var search = window.location.search;
var curPage = pagenow;
var dialog;
var messageDialog;
if ( 'string' === typeof search && 'string' === typeof curPage && true === redux.optName.args.dev_mode ) {
search = search.replace( '?page=', '' );
curPage = curPage.replace( 'toplevel_page_', '' );
if ( search === curPage ) {
document.addEventListener(
'keydown',
function( event ) {
if ( event.ctrlKey && event.shiftKey && 'H' === event.key ) {
dialog.dialog( 'open' );
}
}
);
messageDialog = $( '#redux-dialog-message' ).dialog(
{
classes: {
'ui-dialog': 'redux-message-dialog',
'ui-dialog-buttonpane': 'redux-message-dialog-buttonpane',
'ui-dialog-title': 'redux-message-dialog-title',
'ui-dialog-content': 'redux-message-dialog-content'
},
modal: true,
autoOpen: false,
resizable: false,
height: 'auto',
width: 400,
buttons: {
Ok: function() {
$( this ).dialog( 'close' );
}
}
}
);
dialog = $( '#redux-dialog-confirm' ).dialog(
{
modal: true,
classes: {
'ui-dialog': 'redux-support-dialog'
},
autoOpen: false,
resizable: false,
height: 'auto',
width: 400,
buttons: {
Submit: function() {
var buttonPane = $( '.redux-message-dialog-buttonpane' );
var dialogTitle = $( '.redux-message-dialog-title' );
var content = $( '.redux-message-dialog-content .redux-message-p' );
$.ajax(
{ type: 'post',
dataType: 'json',
url: ajaxurl,
data: {
action: 'redux_submit_support_data',
nonce: $( '#redux-dialog-confirm' ).data( 'nonce' )
},
beforeSend: function() {
buttonPane.css( { 'display': 'none' } );
$( '#redux-dialog-message .spinner' ).css( { 'visibility': 'visible' } );
messageDialog.dialog( 'open' );
},
error: function( response ) {
buttonPane.css( { 'display': 'block' } );
dialogTitle.text( 'Error' );
console.log( response );
},
success: function( response ) {
buttonPane.css( { 'display': 'block' } );
if ( response.status && 'success' === response.status ) {
dialogTitle.text( 'Information Sent' );
content.html( 'Your support data has been transmitted. The reference number for this transmission is: <strong>' + response.data + '</strong>' );
} else {
dialogTitle.text( 'Error' );
content.text( response.data );
}
}
}
);
$( this ).dialog( 'close' );
},
Cancel: function() {
$( this ).dialog( 'close' );
}
}
}
);
}
}
el.find( '.redux-presets-bar' ).on(
'click',
function() {
window.onbeforeunload = null;
}
);
// Customizer save hook.
el.find( '#customize-save-button-wrapper #save' ).on(
'click',
function() {
}
);
el.find( '#toplevel_page_' + redux.optName.args.slug + ' .wp-submenu a, #wp-admin-bar-' + redux.optName.args.slug + ' a.ab-item' ).on(
'click',
function( e ) {
var url;
if ( ( el.find( '#toplevel_page_' + redux.optName.args.slug ).hasClass( 'wp-menu-open' ) ||
$( this ).hasClass( 'ab-item' ) ) &&
! $( this ).parents( 'ul.ab-submenu:first' ).hasClass( 'ab-sub-secondary' ) &&
$( this ).attr( 'href' ).toLowerCase().indexOf( redux.optName.args.slug + '&tab=' ) >= 0 ) {
url = $( this ).attr( 'href' ).split( '&tab=' );
e.preventDefault();
el.find( '#' + url[1] + '_section_group_li_a' ).trigger( 'click' );
$( this ).parents( 'ul:first' ).find( '.current' ).removeClass( 'current' );
$( this ).addClass( 'current' );
$( this ).parent().addClass( 'current' );
return false;
}
}
);
// Save button clicked.
el.find( '.redux-action_bar input, #redux-import-action input' ).on(
'click',
function( e ) {
if ( $( this ).attr( 'name' ) === redux.optName.args.opt_name + '[defaults]' ) {
// Defaults button clicked.
if ( ! confirm( redux.optName.args.reset_confirm ) ) {
return false;
}
} else if ( $( this ).attr( 'name' ) === redux.optName.args.opt_name + '[defaults-section]' ) {
// Default section clicked.
if ( ! confirm( redux.optName.args.reset_section_confirm ) ) {
return false;
}
} else if ( 'import' === $( this ).attr( 'name' ) ) {
if ( ! confirm( redux.optName.args.import_section_confirm ) ) {
return false;
}
}
window.onbeforeunload = null;
if ( true === redux.optName.args.ajax_save ) {
$.redux.ajax_save( $( this ) );
e.preventDefault();
} else {
location.reload( true );
}
}
);
$( '.expand_options' ).on(
'click',
function( e ) {
var tab;
var container = el;
e.preventDefault();
if ( $( container ).hasClass( 'fully-expanded' ) ) {
$( container ).removeClass( 'fully-expanded' );
tab = $.cookie( 'redux_current_tab_' + redux.optName.args.opt_name );
el.find( '#' + tab + '_section_group' ).fadeIn(
200,
function() {
if ( 0 !== el.find( '#redux-footer' ).length ) {
$.redux.stickyInfo(); // Race condition fix.
}
$.redux.initFields();
}
);
}
$.redux.expandOptions( $( this ).parents( '.redux-container:first' ) );
return false;
}
);
if ( el.find( '.saved_notice' ).is( ':visible' ) ) {
el.find( '.saved_notice' ).slideDown();
}
$( document.body ).on(
'change',
'.redux-field input, .redux-field textarea, .redux-field select',
function() {
if ( $( '.redux-container-typography select' ).hasClass( 'ignore-change' ) ) {
return;
}
if ( ! $( this ).hasClass( 'noUpdate' ) && ! $( this ).hasClass( 'no-update' ) ) {
redux_change( $( this ) );
}
}
);
stickyHeight = el.find( '#redux-footer' ).height();
el.find( '#redux-sticky-padder' ).css(
{ height: stickyHeight }
);
el.find( '#redux-footer-sticky' ).removeClass( 'hide' );
if ( 0 !== el.find( '#redux-footer' ).length ) {
$( window ).on(
'scroll',
function() {
$.redux.stickyInfo();
}
);
$( window ).on(
'resize',
function() {
$.redux.stickyInfo();
}
);
}
el.find( '.saved_notice' ).delay( 4000 ).slideUp();
};
})( jQuery );