完整日历 - 如何区分过去事件和未来事件

时间:2016-05-13 23:30:22

标签: coldfusion fullcalendar mura

我很难尝试删除当前未反映的过去和未来事件。目前这就是我在下面的代码:

    <cffunction name="FullCalendar">

    <cfscript>

        var calendarid = $.getbean('content').loadby(title='Regal Events').getcontentid();


    </cfscript>
    <cfsavecontent variable="local.str">
        <cfoutput>           
                <h3>Upcoming Events</h3>
                 <div id="UpcomingCal" class="calendarResize">
                 </div>
         <script>

         mura.loader()
            .loadcss("#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.css",{media:'all'})
            .loadcss("#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.print.css",{media:'print'})
            .loadjs(
                "#$.siteConfig('requirementspath')#/fullcalendar/lib/moment.min.js",
                "#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.min.js",
                "#$.siteConfig('requirementspath')#/fullcalendar/gcal.js",
                function(){
                     $('##RegalUpcomingCal').fullCalendar({
                         weekMode: 'liquid',
                         eventSources: [
                            {
                                url: '#variables.$.siteConfig('requirementspath')#/fullcalendar/proxy.cfc?calendarid=#esapiEncode("javascript",CalendarID)#'
                                , type: 'POST'
                                , data: {
                                    method: 'getFullCalendarItems'
                                    , calendarid: '#esapiEncode("javascript",CalendarID)#'
                                    , siteid: '#variables.$.content('siteid')#'
                                    , categoryid: '#esapiEncode('javascript',variables.$.event('categoryid'))#'
                                    , tag: '#esapiEncode('javascript',variables.$.event('tag'))#'
                                }
                                <!---, color: '#this.calendarcolors[colorIndex].background#'
                                , textColor: '#this.calendarcolors[colorIndex].text#'--->
                                , error: function() {
                                    $('##mura-calendar-error').show();
                                }
                            },
                        ]
                    })
                }

               )
         </script>

        </cfoutput>
    </cfsavecontent>
    <cfreturn local.str />
</cffunction>

我能够删除日期,但是当它生成时,它确实可以获得日历结构,我不知道为什么。但是,我不确定如何添加以下代码以区分过去和未来的事件:

                            eventRender:function(event, tag){
    var ntoday = new Date().getTime();
    var eventEnd = moment( event.end ).valueOf();
var eventStart = moment( event.start ).valueOf();
if (!event.end){
     if (eventStart < ntoday){
        element.addClass("fc-content");
        element.children().addClass("fc-content");
     }
} else {
if (eventEnd < ntoday){
    element.addClass("fc-content");
    element.children().addClass("fc-content");
    }

} } 并且不确定在代码中将其添加到何处。任何帮助将不胜感激。

由于

更新

目前我的代码中有eventRender,但它仍然没有删除过去或将来的事件。我做错了什么?

<cffunction name="FullCalendar">

    <cfscript>

        var calendarid = $.getbean('content').loadby(title='Regal Events').getcontentid();


    </cfscript>
    <cfsavecontent variable="local.str">
        <cfoutput>           
                <h3>Upcoming Events</h3>
                 <div id="UpcomingCal" class="calendarResize">
                 </div>
         <script>

         mura.loader()
            .loadcss("#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.css",{media:'all'})
            .loadcss("#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar-custom.css",{media:'all'})
            .loadcss("#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.print.css",{media:'print'})
            .loadjs(
                "#$.siteConfig('requirementspath')#/fullcalendar/lib/moment.min.js",
                "#$.siteConfig('requirementspath')#/fullcalendar/fullcalendar.min.js",
                "#$.siteConfig('requirementspath')#/fullcalendar/gcal.js",
                function(){
                     $('##UpcomingCal').fullCalendar({
                         weekMode: 'liquid',
                         eventSources: [
                            {
                                url: '#variables.$.siteConfig('requirementspath')#/fullcalendar/proxy.cfc?calendarid=#esapiEncode("javascript",CalendarID)#'
                                , type: 'POST'
                                , data: {
                                    method: 'getFullCalendarItems'
                                    , calendarid: '#esapiEncode("javascript",CalendarID)#'
                                    , siteid: '#variables.$.content('siteid')#'
                                    , categoryid: '#esapiEncode('javascript',variables.$.event('categoryid'))#'
                                    , tag: '#esapiEncode('javascript',variables.$.event('tag'))#'
                                }
                                <!---, color: '#this.calendarcolors[colorIndex].background#'
                                , textColor: '#this.calendarcolors[colorIndex].text#'--->
                                , error: function() {
                                    $('##mura-calendar-error').show();
                                }
                                , eventRender:function(event, element, view){
                                    var ntoday = new Date().getTime();
                                    var eventEnd = moment( event.end ).valueOf();
                                    var eventStart = moment( event.start ).valueOf();
                                    if (!event.end){
                                    if (eventStart < ntoday){
                                        element.addClass("past-event");
                                        element.children().addClass("past-event");
                                    }
                                    } else {
                                        if (eventEnd < ntoday){
                                            element.addClass("past-event");
                                            element.children().addClass("past-event");
                                        }
                                    }
                                }
                            },
                        ]
                    });
                }

               )
         </script>

        </cfoutput>
    </cfsavecontent>
    <cfreturn local.str />
</cffunction>

0 个答案:

没有答案