(function($) {
'use strict';
if (typeof _wpcf7 == 'undefined' || _wpcf7 === null) {
_wpcf7 = {};
}
$(function() {
var welcomePanel = $('#welcome-panel');
var updateWelcomePanel;
updateWelcomePanel = function( visible ) {
$.post( ajaxurl, {
action: 'wpcf7-update-welcome-panel',
visible: visible,
welcomepanelnonce: $( '#welcomepanelnonce' ).val()
});
};
$('a.welcome-panel-close', welcomePanel).click(function(event) {
event.preventDefault();
welcomePanel.addClass('hidden');
updateWelcomePanel( 0 );
});
$('#contact-form-editor').tabs({
active: _wpcf7.activeTab,
activate: function(event, ui) {
$('#active-tab').val(ui.newTab.index());
}
});
$('#contact-form-editor-tabs').focusin(function(event) {
$('#contact-form-editor .keyboard-interaction').css(
'visibility', 'visible');
}).focusout(function(event) {
$('#contact-form-editor .keyboard-interaction').css(
'visibility', 'hidden');
});
$('input:checkbox.toggle-form-table').click(function(event) {
$(this).wpcf7ToggleFormTable();
}).wpcf7ToggleFormTable();
if ('' == $('#title').val()) {
$('#title').focus();
}
$.wpcf7TitleHint();
$('.contact-form-editor-box-mail span.mailtag').click(function(event) {
var range = document.createRange();
range.selectNodeContents(this);
window.getSelection().addRange(range);
});
$('[data-config-field]').each(function() {
var section = $(this).attr('data-config-field');
if (_wpcf7.configErrors[section]) {
var $list = $('
').attr({
'role': 'alert',
'class': 'config-error'
});
$.each(_wpcf7.configErrors[section], function(i, val) {
var $li = $('').text(val.message);
if (val.link) {
var $link = $('').attr({
'href': val.link,
'class': 'external'
}).text(_wpcf7.howToCorrectLink);
$li = $li.append(' ').append($link);
}
$li.appendTo($list);
});
$(this).after($list).attr({'aria-invalid': 'true'});
}
});
$(window).on('beforeunload', function(event) {
var changed = false;
$('#wpcf7-admin-form-element :input[type!="hidden"]').each(function() {
if ($(this).is(':checkbox, :radio')) {
if (this.defaultChecked != $(this).is(':checked')) {
changed = true;
}
} else if ($(this).is('select')) {
$(this).find('option').each(function() {
if (this.defaultSelected != $(this).is(':selected')) {
changed = true;
}
});
} else {
if (this.defaultValue != $(this).val()) {
changed = true;
}
}
});
if (changed) {
event.returnValue = _wpcf7.saveAlert;
return _wpcf7.saveAlert;
}
});
$('#wpcf7-admin-form-element').submit(function() {
if ('copy' != this.action.value) {
$(window).off('beforeunload');
}
if ('save' == this.action.value) {
$('#publishing-action .spinner').addClass('is-active');
}
});
});
$.fn.wpcf7ToggleFormTable = function() {
return this.each(function() {
var formtable = $(this).closest('.contact-form-editor-box-mail').find('fieldset');
if ($(this).is(':checked')) {
formtable.removeClass('hidden');
} else {
formtable.addClass('hidden');
}
});
};
/**
* Copied from wptitlehint() in wp-admin/js/post.js
*/
$.wpcf7TitleHint = function() {
var title = $('#title');
var titleprompt = $('#title-prompt-text');
if ('' == title.val()) {
titleprompt.removeClass('screen-reader-text');
}
titleprompt.click(function() {
$(this).addClass('screen-reader-text');
title.focus();
});
title.blur(function() {
if ('' == $(this).val()) {
titleprompt.removeClass('screen-reader-text');
}
}).focus(function() {
titleprompt.addClass('screen-reader-text');
}).keydown(function(e) {
titleprompt.addClass('screen-reader-text');
$(this).unbind(e);
});
};
})(jQuery);