/*globals jQuery, ajaxurl */ jQuery(document).ready(function () { 'use strict'; var otgsNotice = jQuery('.otgs-notice'); var otgsCollapseText = '.otgs-notice-collapse-text'; var otgsCollapsedText = '.otgs-notice-collapsed-text'; jQuery( otgsCollapsedText ).hide(); var preventDefaultEvent = function (event) { if (typeof(event.preventDefault) !== 'undefined') { event.preventDefault(); } else { event.returnValue = false; } }; var noticeAction = function (noticeBox, action) { if (noticeBox) { var ajaxAction = 'otgs-' + action + '-notice'; var noticeId = _.escape( noticeBox.data('id') ); var noticeGroup = noticeBox.data('group'); var nonce = noticeBox.data('nonce'); jQuery.ajax({ url: ajaxurl, type: 'POST', data: { action: ajaxAction, 'id': noticeId, 'group': noticeGroup, nonce: nonce }, dataType: 'json' }); } }; var toggleNotice = function ( contentToMinimize, contentToMaximize ) { contentToMinimize.toggle(); contentToMaximize.toggle(); }; otgsNotice.on('click', '.notice-dismiss, a.otgs-dismiss-link', function (event) { preventDefaultEvent(event); var noticeBox = jQuery(this).closest('.is-dismissible'); noticeAction(noticeBox, 'dismiss'); }); otgsNotice.on('click', '.notice-hide, a.otgs-hide-link', function (event) { preventDefaultEvent(event); var noticeBox = jQuery(this).closest('.is-dismissible'); noticeAction(noticeBox, 'hide'); }); otgsNotice.on('click', '.otgs-notice-collapse-hide', function (event) { preventDefaultEvent(event); jQuery( this ).toggle(); var noticeCollapseText = jQuery(this).siblings( otgsCollapseText ); var noticeCollapsedText = jQuery(this).siblings( otgsCollapsedText ); toggleNotice( noticeCollapseText, noticeCollapsedText ); }); otgsNotice.on('click', '.otgs-notice-collapse-show', function (event) { preventDefaultEvent(event); jQuery(this).closest( otgsCollapsedText ).siblings( '.otgs-notice-collapse-hide' ).toggle(); var noticeCollapseCollapseText = jQuery(this).closest( otgsCollapsedText ).siblings( otgsCollapseText ); var noticeCollapseCollapsedText = jQuery(this).closest( otgsCollapsedText ); toggleNotice( noticeCollapseCollapseText, noticeCollapseCollapsedText ); }); otgsNotice.on('click', '.notice-action.notice-action-link', function (event) { var groupToDismiss = jQuery(this).data('dismiss-group'); var nonce = jQuery(this).data('nonce'); var jsCallback = jQuery(this).data('js-callback'); if (groupToDismiss) { if (jsCallback && typeof window[jsCallback] === 'function') { window[jsCallback](jQuery(this), function () { dismissGroup(groupToDismiss, nonce); }); } else { dismissGroup(groupToDismiss, nonce); } } }); var dismissGroup = function (groupToDismiss, nonce) { jQuery.ajax({ url: ajaxurl, type: 'POST', data: { action: 'otgs-dismiss-group', group: groupToDismiss, nonce: nonce }, dataType: 'json', complete: function () { location.reload(); } }); }; });