Update the agenda view
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 11 Oct 2018 12:26:45 +0000 (08:26 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 11 Oct 2018 12:26:45 +0000 (08:26 -0400)
Bring the location (city) part out of the recurrences loop. Don't need
it repeating for each event schedule. Reformat the file so each section
is lined up correctly and remove the unneeded javascript type in script
tag. Not needed in html5.

views/front/events/agenda.html

index d11a605..b10419d 100644 (file)
     display: none !important;
 }
 {/if}
+.glm-agenda-city {
+    font-size: 13px;
+}
 </style>
 
 <div id="glm-event-wrapper">
-        <div class="row">
-            {include file='front/events/searchForm.html'}
-        </div>
-
-        <div id="glm-event-agenda-view" class="row" style="max-width: {if $settings.agenda_view_max_width}{$settings.agenda_view_max_width}{else}1000px{/if}; margin: 0 auto;">
-            <div class="small-12 columns">
-                {foreach $eventsByDate as $date => $key}
-                    <div class="row glm-event-day-row-new open">
-                        <div class="small-12 medium-12 columns">
-                            <div class="glm-event-cal-new">
-                                <div class="glm-event-cal-day-container-new">
-                                    <span>{$date|date_format:"%A %B %e"}</span>
-                                </div>
+    <div class="row">
+        {include file='front/events/searchForm.html'}
+    </div>
 
+    <div id="glm-event-agenda-view" class="row" style="max-width: {if $settings.agenda_view_max_width}{$settings.agenda_view_max_width}{else}1000px{/if}; margin: 0 auto;">
+        <div class="small-12 columns">
+            {foreach $eventsByDate as $date => $key}
+                <div class="row glm-event-day-row-new open">
+                    <div class="small-12 medium-12 columns">
+                        <div class="glm-event-cal-new">
+                            <div class="glm-event-cal-day-container-new">
+                                <span>{$date|date_format:"%A %B %e"}</span>
                             </div>
+
                         </div>
-                        <div class="small-12 medium-12 columns">
-                            {foreach $key as $events}
-                                {foreach $events as $event}
-                                    {$showTime = true}
+                    </div>
+                    <div class="small-12 medium-12 columns">
+                        {foreach $key as $events}
+                            {foreach $events as $event}
+
+                                {$showTime = true}
+
                                 <div class="row glm-event-day-event" data-url="{$siteBaseUrl}{$pageSlug}/{if !$customPage}{$event.name_slug}/{else}?eventId={$event.id}{/if}">
                                     <div class="small-12 large-8 columns">
 
                                         </a>
 
                                         {$eventDateTime = $event.starting_date|date_format:"%I:%M %P"}
-                                            {foreach $event.recurrences as $rec}
-                                                {$start_time = $rec.start_time.time}
-                                                {if $start_time == $eventDateTime}
-                                                    {if ($rec.from_date.timestamp == $rec.to_date.timestamp && $rec.from_date.timestamp == $date)
-                                                    or ($date <= $rec.to_date.timestamp && $date >= $rec.from_date.timestamp )}
-                                                        <div class='date-range-container'>
-                                                            {if !$event.all_day}
-                                                                {$showTime = false}
-                                                                {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
-                                                                    {$event.starting_date|date_format:"%l:%M %P"}
-                                                                {else}
-                                                                    {$event.starting_date|date_format:"%l:%M %P"} - {$event.ending_date|date_format:"%l:%M %P"}
-                                                                {/if}
 
+                                        {foreach $event.recurrences as $rec}
+                                            {$start_time = $rec.start_time.time}
+                                            {if $start_time == $eventDateTime}
+                                                {if ($rec.from_date.timestamp == $rec.to_date.timestamp && $rec.from_date.timestamp == $date)
+                                                or ($date <= $rec.to_date.timestamp && $date >= $rec.from_date.timestamp )}
+                                                    <div class='date-range-container'>
+                                                        {if !$event.all_day}
+                                                            {$showTime = false}
+                                                            {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
+                                                                {$event.starting_date|date_format:"%l:%M %P"}
+                                                            {else}
+                                                                {$event.starting_date|date_format:"%l:%M %P"} - {$event.ending_date|date_format:"%l:%M %P"}
                                                             {/if}
-                                                            {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
-                                                                {$rec.name}
-                                                            {/if}
-                                                            ( {if $event.times|@count > 1} Occurring {/if}
-                                                            {$rec.from_date.date} <span class="agenda-event-recur-dates">
-                                                              {if $rec.from_date.date != $rec.to_date.date}
-                                                                - {$rec.to_date.date}
-                                                               {else if $rec.specific_dates}
-                                                                - {$rec.specific_dates|@end|date_format:"%m/%d/%Y"}
-                                                              {/if}
-                                                            </span>
-
-                                                        {if $rec.day_of_week.names|@count < 7 && $rec.day_of_week.names|@count > 0 }
-                                                        <span class="agenda-days-of-week">
-                                                            on
-                                                            {foreach $rec.day_of_week.names as $day}
-                                                                {if $day == "Thursday"}
-                                                                    <span class="agenda-event-weekday"> {$day|substr:0:4} </span>
-                                                                 {else}
-                                                                    <span class="agenda-event-weekday"> {$day|substr:0:3} </span>
-                                                                 {/if}
-                                                             {/foreach}
 
-                                                        </span>
                                                         {/if}
-                                                         )
-                                                        </div>
-                                                        {if $event.locations.city.name}
-                                                           <div class="glm-agenda-city">City: {$event.locations.city.name}</div>
+                                                        {if $rec.name && $rec.name != 'Imported' && $rec.name != 'Imported Event Schedule' }
+                                                            {$rec.name}
                                                         {/if}
+                                                        ( {if $event.times|@count > 1} Occurring {/if}
+                                                        {$rec.from_date.date} <span class="agenda-event-recur-dates">
+                                                          {if $rec.from_date.date != $rec.to_date.date}
+                                                            - {$rec.to_date.date}
+                                                           {else if $rec.specific_dates}
+                                                            - {$rec.specific_dates|@end|date_format:"%m/%d/%Y"}
+                                                          {/if}
+                                                        </span>
+
+                                                    {if $rec.day_of_week.names|@count < 7 && $rec.day_of_week.names|@count > 0 }
+                                                    <span class="agenda-days-of-week">
+                                                        on
+                                                        {foreach $rec.day_of_week.names as $day}
+                                                            {if $day == "Thursday"}
+                                                                <span class="agenda-event-weekday"> {$day|substr:0:4} </span>
+                                                             {else}
+                                                                <span class="agenda-event-weekday"> {$day|substr:0:3} </span>
+                                                             {/if}
+                                                         {/foreach}
+
+                                                    </span>
                                                     {/if}
+                                                     )
+                                                    </div>
                                                 {/if}
-                                            {/foreach}
+                                            {/if}
+                                        {/foreach}
+
+                                        {if $event.locations.city.name}
+                                           <div class="glm-agenda-city">City: {$event.locations.city.name}</div>
+                                        {/if}
+
                                         <div class="day-times-wrapper">
                                             {if !$event.all_day && $showTime}
                                                 {if $event.starting_date|date_format:"%l:%M %P" == $event.ending_date|date_format:"%l:%M %P"}
                                             {/if}
                                         </div>
                                         <div class="event-contents clearfix">
-                                            {if $event.locations}
+                                            {if isset( $event.locations.name ) && $event.locations.name}
                                                 <div class="glm-agenda-city">Location: {$event.locations.name}</div>
                                             {/if}
 
                                         {if $event.image}<img class="" style="float:none;" src="{$imgUrl}{$event.image}">{/if}
                                     </div>
                                 </div>
-                                {/foreach}
                             {/foreach}
-                        </div>
+                        {/foreach}
                     </div>
-                {/foreach}
+                </div>
+            {/foreach}
 
-            </div>
         </div>
-        {assign var="current_year" value=$smarty.now|date_format:"%Y"}
-        {assign var="current_month" value=$smarty.now|date_format:"%m"}
-        <div id="event-date-toggle-container">
-            <label class="date-toggle-label" for="#event-date-toggle"> Select a Date <label>
-            <select id="event-date-toggle">
-                <option value="" disabled selected> Select Month</option>
-                {foreach $months as $year=>$month}{
-                    {foreach $month as $m=>$value}
-                        {if $current_month == $value.date && $current_year == $year}
-                            <option value="{$year}-{$value.date}-01" selected> {$value.name} - {$year}</option>
-                        {else}
-                            <option value="{$year}-{$value.date}-01"> {$value.name} - {$year}</option>
-                        {/if}
-                    {/foreach}
+    </div>
+    {assign var="current_year" value=$smarty.now|date_format:"%Y"}
+    {assign var="current_month" value=$smarty.now|date_format:"%m"}
+    <div id="event-date-toggle-container">
+        <label class="date-toggle-label" for="#event-date-toggle"> Select a Date <label>
+        <select id="event-date-toggle">
+            <option value="" disabled selected> Select Month</option>
+            {foreach $months as $year=>$month}{
+                {foreach $month as $m=>$value}
+                    {if $current_month == $value.date && $current_year == $year}
+                        <option value="{$year}-{$value.date}-01" selected> {$value.name} - {$year}</option>
+                    {else}
+                        <option value="{$year}-{$value.date}-01"> {$value.name} - {$year}</option>
+                    {/if}
                 {/foreach}
-            </select>
-        </div>
-        <!-- Calendar -->
-        <div id="eventCalendar" style='position: relative;'>
-            <div class='event-overlay'>
-                <div class="loading"></div>
-            </div>
+            {/foreach}
+        </select>
+    </div>
+    <!-- Calendar -->
+    <div id="eventCalendar" style='position: relative;'>
+        <div class='event-overlay'>
+            <div class="loading"></div>
         </div>
     </div>
-
-    <script type="text/javascript">
-        jQuery(document).ready(function($) {
-
-            var fullCalendarLoaded  = false;
-            var recurrencesInited   = false;
-            var locationsInited     = false;
-            var table               = 'glm-table-calendar';
-            var post_start, post_end, month_obj;
-            var rows                = $(".glm-event-day-row");
-            var agenda              = $("#glm-event-agenda-view");
-            var view_select         = $("#glm-event-view-select");
-            var search              = $("#glm-events-search-form");
-            var calendar            = $("#eventCalendar");
-            var event_search        = $(".glm-search-icon");
-            var main_content        = $("#main-content");
-            var member_id           = '{$memberId}';
-            var view                = '{$cal_view}';
-            var months              = '{$json_months}';
-            var category            = $('#glm-event-category').val();
-            var current_month       = $('{$current_month}');
-            var current_year        = $('{$current_year}');
-            var custom_page         = '{$customPage}';
-            var page_slug           = '{$pageSlug}';
-            var retain_date;
-
-            if(!member_id){
-                member_id = null;
-            }
-
-            // add 7 days to ensure we always get the current month and not any other month view that may
-            // be visible (last few days of previous month or first few days of next month)
-            function get_current_view(){
-                var retain_date;
-                var calCurrDate = $('#eventCalendar').fullCalendar('getView').start;
-                var d = moment(calCurrDate).add(7, 'days').format('YYYY-MM-01');
-
-                return retain_date = d;
-            }
-            function in_mobile(){
-                if($(window).width() < 641 ){
-                    return true;
-                } else {
-                    return false;
-                }
-            }
-
-            $('#glm-event-from').on("change", function(){
-                var from_date = $(this).val();
-                $('#glm-event-to').val(from_date);
-
-            });
-
-            months = JSON.parse(months);
-
-            event_search.on('click', function(){
-                sessionStorage.override = 'yes';
-            });
-
-            if( sessionStorage.view && sessionStorage.override === 'no' && !in_mobile()){
-                view = sessionStorage.view;
-            } else if( sessionStorage.override === 'yes' || in_mobile()){
-                view = 'agenda';
-            }
-
-            // AJAX FUNCTION ************************************************
-            // Get calendar month via AJAX
-            function eventsCalMonthAJAX(month) {
-                var dat = {
-
-                    action: 'glm_members_admin_ajax',
-                    glm_action: 'eventsCalMonthAJAX',
-                    month: month,
-                    category: category,
-                    member_id: member_id,
-                    custom_page: custom_page,
-                    page_slug: page_slug
-                };
-                $('.fc-event').remove();
-
-                 jQuery.ajax({
-                    type: 'POST',
-                    url: '{$ajaxUrl}',
-                    data: dat,
-                    beforeSend: function(){
-                        $(".event-overlay").show();
-                        $(".loading").show();
-                    },
-                    complete: function(){
-                        $(".event-overlay").hide();
-                        $(".loading").hide();
-                    },
-                    cache: false,
-                    success: function (response){
-                        var buildingEvents = [];
-                        //var events_obj = jQuery.parseJSON(response);
-                        var events_obj = response;
-                        var events = events_obj.events;
-                        buildingEvents = $.map(events, function(i, val) {
-                            return {
-                                title:   i.title,
-                                start:   i.start,
-                                end:     i.last,
-                                allDay:  i.all_day,
-                                url:     i.url,
-                                recurs:  i.recurs
-                            };
-                        });
-                        $("#eventCalendar").fullCalendar('removeEvents');
-                        $("#eventCalendar").fullCalendar('addEventSource', buildingEvents);
-                    }
+</div>
+
+<script>
+jQuery(document).ready(function($) {
+
+    var fullCalendarLoaded  = false;
+    var recurrencesInited   = false;
+    var locationsInited     = false;
+    var table               = 'glm-table-calendar';
+    var post_start, post_end, month_obj;
+    var rows                = $(".glm-event-day-row");
+    var agenda              = $("#glm-event-agenda-view");
+    var view_select         = $("#glm-event-view-select");
+    var search              = $("#glm-events-search-form");
+    var calendar            = $("#eventCalendar");
+    var event_search        = $(".glm-search-icon");
+    var main_content        = $("#main-content");
+    var member_id           = '{$memberId}';
+    var view                = '{$cal_view}';
+    var months              = '{$json_months}';
+    var category            = $('#glm-event-category').val();
+    var current_month       = $('{$current_month}');
+    var current_year        = $('{$current_year}');
+    var custom_page         = '{$customPage}';
+    var page_slug           = '{$pageSlug}';
+    var retain_date;
+
+    if(!member_id){
+        member_id = null;
+    }
+
+    // add 7 days to ensure we always get the current month and not any other month view that may
+    // be visible (last few days of previous month or first few days of next month)
+    function get_current_view(){
+        var retain_date;
+        var calCurrDate = $('#eventCalendar').fullCalendar('getView').start;
+        var d = moment(calCurrDate).add(7, 'days').format('YYYY-MM-01');
+
+        return retain_date = d;
+    }
+    function in_mobile(){
+        if($(window).width() < 641 ){
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    $('#glm-event-from').on("change", function(){
+        var from_date = $(this).val();
+        $('#glm-event-to').val(from_date);
+
+    });
+
+    months = JSON.parse(months);
+
+    event_search.on('click', function(){
+        sessionStorage.override = 'yes';
+    });
+
+    if( sessionStorage.view && sessionStorage.override === 'no' && !in_mobile()){
+        view = sessionStorage.view;
+    } else if( sessionStorage.override === 'yes' || in_mobile()){
+        view = 'agenda';
+    }
+
+    // AJAX FUNCTION ************************************************
+    // Get calendar month via AJAX
+    function eventsCalMonthAJAX(month) {
+        var dat = {
+
+            action: 'glm_members_admin_ajax',
+            glm_action: 'eventsCalMonthAJAX',
+            month: month,
+            category: category,
+            member_id: member_id,
+            custom_page: custom_page,
+            page_slug: page_slug
+        };
+        $('.fc-event').remove();
+
+         jQuery.ajax({
+            type: 'POST',
+            url: '{$ajaxUrl}',
+            data: dat,
+            beforeSend: function(){
+                $(".event-overlay").show();
+                $(".loading").show();
+            },
+            complete: function(){
+                $(".event-overlay").hide();
+                $(".loading").hide();
+            },
+            cache: false,
+            success: function (response){
+                var buildingEvents = [];
+                //var events_obj = jQuery.parseJSON(response);
+                var events_obj = response;
+                var events = events_obj.events;
+                buildingEvents = $.map(events, function(i, val) {
+                    return {
+                        title:   i.title,
+                        start:   i.start,
+                        end:     i.last,
+                        allDay:  i.all_day,
+                        url:     i.url,
+                        recurs:  i.recurs
+                    };
                 });
-                var timestamp = $.now();
-                var url = '{$ajaxUrl}' + '?t=' + timestamp;
+                $("#eventCalendar").fullCalendar('removeEvents');
+                $("#eventCalendar").fullCalendar('addEventSource', buildingEvents);
+            }
+        });
+        var timestamp = $.now();
+        var url = '{$ajaxUrl}' + '?t=' + timestamp;
+    }
+    var height = 900;
+    // Calendar *****************************************************
+    $('#eventCalendar').fullCalendar({
+        eventOrder: 'allDay',
+        height: height,
+        contentHeight: height,
+        eventRender: function(event, element){
+            element.attr('title', event.title);
+        },
+        viewRender: function (view, element){
+            post_start = view.start._d;
+            post_end = view.end._d;
+            {literal}month_obj = {start: view.start._d, last: view.end._d};{/literal}
+        },
+        header: {
+            left: 'prev,next,today',
+            center: 'title',
+            right: ''
+        },
+        dayClick: function(date, jsEvent, view) {
+            //$('#eventCalendar').fullCalendar('changeView', 'agendaDay');
+            //$('#eventCalendar').fullCalendar('gotoDate', date);
+        },
+        editable: false,
+        handleWindowResize: true,
+        lazyFetching: true,
+        eventClick : function (event){
+
+            sessionStorage.current_calendar_view = get_current_view();
+
+
+            if(custom_page !== ''){
+                location.href = event.url + '&glm_event_from=' + event.start.format();
+            } else {
+                location.href = event.url + '?glm_event_from=' + event.start.format();
             }
-            var height = 900;
-            // Calendar *****************************************************
-            $('#eventCalendar').fullCalendar({
-                eventOrder: 'allDay',
-                height: height,
-                contentHeight: height,
-                eventRender: function(event, element){
-                    element.attr('title', event.title);
-                },
-                viewRender: function (view, element){
-                    post_start = view.start._d;
-                    post_end = view.end._d;
-                    {literal}month_obj = {start: view.start._d, last: view.end._d};{/literal}
-                },
-                header: {
-                    left: 'prev,next,today',
-                    center: 'title',
-                    right: ''
-                },
-                dayClick: function(date, jsEvent, view) {
-                    //$('#eventCalendar').fullCalendar('changeView', 'agendaDay');
-                    //$('#eventCalendar').fullCalendar('gotoDate', date);
-                },
-                editable: false,
-                handleWindowResize: true,
-                lazyFetching: true,
-                eventClick : function (event){
-
-                    sessionStorage.current_calendar_view = get_current_view();
-
-
-                    if(custom_page !== ''){
-                        location.href = event.url + '&glm_event_from=' + event.start.format();
-                    } else {
-                        location.href = event.url + '?glm_event_from=' + event.start.format();
-                    }
-
-                    return false;
-                },
-                eventLimit: true,
-                views: {
-                    month: {
-                        eventLimit: 4,
-                        eventBackgroundColor: 'transparent',
-                        eventTextColor: '#3A87AD',
-                        eventBorderColor: 'transparent',
-                    },
-                    agenda: {
-                        eventLimit: 4
-                    }
-                }
-            });
-
-            if(view === "calendar"){
-                eventsCalMonthAJAX(month_obj);
-                main_content.removeClass("small-8").addClass("small-12");
-                calendar.show();
-                view_select.val('calendar');
 
-            } else if ( view === "agenda"){
-                calendar.hide();
-                agenda.css("display", "block");
-                view_select.val('agenda');
+            return false;
+        },
+        eventLimit: true,
+        views: {
+            month: {
+                eventLimit: 4,
+                eventBackgroundColor: 'transparent',
+                eventTextColor: '#3A87AD',
+                eventBorderColor: 'transparent',
+            },
+            agenda: {
+                eventLimit: 4
             }
-            $("#glm-event-view-select").on("change", function (){
-                sessionStorage.override = 'no';
-                sessionStorage.setItem("view", $(this).attr("value"));
-                if($("#glm-event-view-select option:selected").val() === "calendar"){
-                    eventsCalMonthAJAX(month_obj);
-                    agenda.css("display","none");
-                    calendar.fadeIn('slow', function(){});
-                    calendar.fullCalendar('render');
-
-                } else if ( $("#glm-event-view-select option:selected").val() === "agenda"){
-                    agenda.css("display", "block");
-                    calendar.fadeOut('slow', function(){});
+        }
+    });
+
+    if(view === "calendar"){
+        eventsCalMonthAJAX(month_obj);
+        main_content.removeClass("small-8").addClass("small-12");
+        calendar.show();
+        view_select.val('calendar');
+
+    } else if ( view === "agenda"){
+        calendar.hide();
+        agenda.css("display", "block");
+        view_select.val('agenda');
+    }
+    $("#glm-event-view-select").on("change", function (){
+        sessionStorage.override = 'no';
+        sessionStorage.setItem("view", $(this).attr("value"));
+        if($("#glm-event-view-select option:selected").val() === "calendar"){
+            eventsCalMonthAJAX(month_obj);
+            agenda.css("display","none");
+            calendar.fadeIn('slow', function(){});
+            calendar.fullCalendar('render');
+
+        } else if ( $("#glm-event-view-select option:selected").val() === "agenda"){
+            agenda.css("display", "block");
+            calendar.fadeOut('slow', function(){});
+        }
+    });
+    $(window).on("load", function(){
+
+        if(sessionStorage.current_calendar_view){
+            $('#event-date-toggle option').each(function(){
+                if( $(this).val() === sessionStorage.current_calendar_view){
+                    $(this).prop('selected', true);
                 }
             });
-            $(window).on("load", function(){
-
-                if(sessionStorage.current_calendar_view){
-                    $('#event-date-toggle option').each(function(){
-                        if( $(this).val() === sessionStorage.current_calendar_view){
-                            $(this).prop('selected', true);
-                        }
-                    });
-                }
+        }
 
-                $('#event-date-toggle-container').insertAfter( $('.fc-left')).fadeTo('slow', 1);
+        $('#event-date-toggle-container').insertAfter( $('.fc-left')).fadeTo('slow', 1);
 
-                $('#event-date-toggle').on("change", function(){
-                    var selected_date = $(this).val();
+        $('#event-date-toggle').on("change", function(){
+            var selected_date = $(this).val();
 
-                    $('#eventCalendar').fullCalendar('gotoDate', selected_date);
-                     eventsCalMonthAJAX(month_obj);
-                     if(sessionStorage.current_calendar_view){
-                        sessionStorage.current_calendar_view = '';
-                    }
-                });
-            });
-            if(sessionStorage.current_calendar_view){
-                 $('#eventCalendar').fullCalendar('gotoDate', sessionStorage.current_calendar_view);
-                 eventsCalMonthAJAX(month_obj);
+            $('#eventCalendar').fullCalendar('gotoDate', selected_date);
+             eventsCalMonthAJAX(month_obj);
+             if(sessionStorage.current_calendar_view){
+                sessionStorage.current_calendar_view = '';
             }
-            // initialize calendar with AJAX calls *************************************
-            $(document).on("click", "button.fc-button", function () {
-                if(sessionStorage.current_calendar_view){
-                    sessionStorage.current_calendar_view = '';
-                }
-
-                eventsCalMonthAJAX(month_obj);
-            });
-
-           $('#eventCalendar').find('.fc-today-button').on("click", function(){
-               eventsCalMonthAJAX(month_obj);
-               var current_view = get_current_view();
-               $('#event-date-toggle option').each(function(){
-                    if( $(this).val() === current_view){
-                        $(this).prop('selected', true);
-                    }
-                });
-           });
-
-            var dates = $(".agenda-event-recur-dates");
-            dates.each( function (){
-               if( $(this).text().indexOf('-') < 0 ){
-                   $(this).remove();
-               }
-            });
+        });
+    });
+    if(sessionStorage.current_calendar_view){
+         $('#eventCalendar').fullCalendar('gotoDate', sessionStorage.current_calendar_view);
+         eventsCalMonthAJAX(month_obj);
+    }
+    // initialize calendar with AJAX calls *************************************
+    $(document).on("click", "button.fc-button", function () {
+        if(sessionStorage.current_calendar_view){
+            sessionStorage.current_calendar_view = '';
+        }
+
+        eventsCalMonthAJAX(month_obj);
+    });
+
+   $('#eventCalendar').find('.fc-today-button').on("click", function(){
+       eventsCalMonthAJAX(month_obj);
+       var current_view = get_current_view();
+       $('#event-date-toggle option').each(function(){
+            if( $(this).val() === current_view){
+                $(this).prop('selected', true);
+            }
+        });
+   });
 
-            // Event agenda view container click, go to event url
-            $('.glm-event-day-event').on("click", function(){
-                window.location = $(this).data('url');
-            });
+    var dates = $(".agenda-event-recur-dates");
+    dates.each( function (){
+       if( $(this).text().indexOf('-') < 0 ){
+           $(this).remove();
+       }
+    });
 
+    // Event agenda view container click, go to event url
+    $('.glm-event-day-event').on("click", function(){
+        window.location = $(this).data('url');
+    });
 
-        });
-    </script>
 
+});
+</script>