HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: /home/mmickelson/church.martyknows.com/wp-content/plugins/google-calendar-events/js/gce-script.js
/* global jQuery, gce, gce_grid */

/**
 * Public JS functions
 *
 * @package   GCE
 * @author    Phil Derksen <pderksen@gmail.com>, Nick Young <mycorpweb@gmail.com>
 * @license   GPL-2.0+
 * @copyright 2014 Phil Derksen
 */
(function($) {
	'use strict';

	$(function() {

		gce_tooltips($('.gce-has-events'));
		
		if( typeof gce_grid != 'undefined' ) {

			$('body').on( 'click', '.gce-change-month', function(e) {

				e.preventDefault();

				var navLink = $(this);

				var id = navLink.closest('.gce-page-grid').attr('id');
				
				if( typeof id == 'undefined' ) {
					id = navLink.closest('.gce-widget-grid').attr('id');
				}

				//Extract month and year
				var month_year = navLink.attr('name').split('-', 2);
				var paging = navLink.attr('data-gce-grid-paging');

				//Add loading text to table caption
				$('#' + gce_grid[id].target_element + ' caption').html(gce.loadingText);
				//Send AJAX request
				$.post(gce.ajaxurl,{
					action:'gce_ajax',
					gce_type: gce_grid[id].type,
					gce_feed_ids: gce_grid[id].feed_ids,
					gce_title_text: gce_grid[id].title_text,
					gce_widget_id: gce_grid[id].target_element,
					gce_month: month_year[0],
					gce_year: month_year[1],
					gce_paging: paging,
					gce_nonce: gce.ajaxnonce
				}, function(data){
					//Replace existing data with returned AJAX data
					if(gce_grid[id].type == 'widget'){
						$('#' + gce_grid[id].target_element).html(data);
					}else{
						$('#' + gce_grid[id].target_element).replaceWith(data);
					}
					gce_tooltips($('#' + gce_grid[id].target_element + ' .gce-has-events'));
				});

				e.stopPropagation();
			});
		}

		$('body').on( 'click', '.gce-change-month-list', function(e) {

			e.preventDefault();

			var navLink = $(this);
			
			var list = navLink.closest('.gce-list');

			var start = list.data('gce-start');
			var grouped = list.data('gce-grouped');
			var title_text = list.data('gce-title');
			var feed_ids = list.data( 'gce-feeds');
			var sort = list.data('gce-sort');
			var paging = list.data('gce-paging');
			var paging_interval = list.data('gce-paging-interval');
			var paging_direction = navLink.data('gce-paging-direction');
			var start_offset = list.data('gce-start-offset');
			var paging_type = navLink.data('gce-paging-type');
			
			//Add loading text to table caption
			navLink.parent().parent().parent().find('.gce-month-title').html(gce.loadingText);

			//Send AJAX request
			$.post(gce.ajaxurl,{
				action:'gce_ajax_list',
				gce_feed_ids:feed_ids,
				gce_title_text:title_text,
				gce_start: start,
				gce_grouped: grouped,
				gce_sort: sort,
				gce_paging: paging,
				gce_paging_interval: paging_interval,
				gce_paging_direction: paging_direction,
				gce_start_offset: start_offset,
				gce_paging_type: paging_type,
				gce_nonce: gce.ajaxnonce
			}, function(data){
				navLink.parents('.gce-list').replaceWith(data);
			});

			e.stopPropagation();
		});

		function gce_tooltips(target_items) {

			target_items.each(function(){
				//Add qtip to all target items
				$(this).qtip({
					content: $(this).children('.gce-event-info'),
					position: {
						my: 'bottom left',
						at: 'center',
						viewport: true,
						adjust: {
							method: 'shift'
						}
					},
					show: {
						solo: true,
						effect: function(offset) {
							$(this).fadeIn(50);
						}
					},
					hide: {
						fixed: true
					},
					style: {
						classes: 'qtip-light qtip-shadow qtip-rounded'
					}

					/* Old qTip 1 settings */
					
					//position: { corner: { target: 'center', tooltip: 'bottomLeft' }, adjust: { screen: true } },
					//show: { solo: true, delay: 0, effect: { length: 0 } },
					//hide: { fixed: true, delay: 100, effect: { length: 0 } },
					//style: { padding: "0", classes: { tooltip: 'gce-qtip', tip: 'gce-qtip-tip', title: 'gce-qtip-title', content: 'gce-qtip-content', active: 'gce-qtip-active' }, border: { width: 0 } }
				});
			});
		}
	});
}(jQuery));