2014-07-06 6 views
11

मुझे नहीं पता कि यह एक सुविधा या बग है या नहीं। लेकिन अगर ईवेंट सही है तो इवेंट एंड वैल्यू शून्य पर सेट हो जाती है। इस समारोह जहां घटना अद्यतन किया जाता है है:पूर्ण कैलकुलेटर रिटर्न इवेंट शून्य शून्य जब सभी दिन सत्य है

change: function (eventModel) { 


       var currEvId = eventModel.get('_id'); 
       var fcEvent = $("#calendar").fullCalendar('clientEvents', currEvId)[0] || {}; 
       console.log("end before update : " + fcEvent.end); 

       fcEvent.title = alvEventModel.get("title");     
       fcEvent.start = new Date(alvEventModel.get("start")); 
       fcEvent.end = new Date(alvEventModel.get("end")); 
       fcEvent.allDay = alvEventModel.get("allDay"); //true or false    
       this.el.fullCalendar('updateEvent', fcEvent); 

       console.log("start: " + fcEvent.start); 
       console.log("end: " + fcEvent.end);  

      }, 

सांत्वना

end before update : 1404896400000 
end after update: null 

FullCalendar संपत्ति forceEventDuration सच

this.$el.fullCalendar({ 
        lang: 'sv', 
        header: { 
         left: 'prev,next, today', 
         center: 'title', 
         right: 'month,agendaWeek,agendaDay', 
         ignoreTimezone: false 
        }, 
        forceEventDuration:true, 
        select: this.select, 
        selectable: true, 
        selectHelper: true, 
        editable: true, 


        disableDragging: true, 
        disableResizing: true, 

        aspectRatio: 2.5, 
        height: 600, 
        weekNumbers: true, 
        ... 
        }) 

को setted है पता चलता सांत्वना

से पता चलता
end before update : 1404864000000 
end after update: 1404813300000 

मैं इस मामले के लिए प्रतिपादन एक दिन है। सभी दिनों के साथ झूठ के साथ अद्यतन करने के बाद भी यह सर्वर से घटनाओं को फिर से लोड करने तक एक दिन की घटना के रूप में दिखाना जारी रखता है। मुझे लगता है कि मानक व्यवहार सभी के लिए है, शुरुआत और समाप्ति तिथि होनी चाहिए। लेकिन मुझे यकीन नहीं है कि समाप्ति तिथि को शून्य के रूप में घोषित करने के इरादे हैं। क्या मैं इस व्यवहार की सुंदरता को याद कर सकता हूं। मुझे नहीं पता कि मेरे लक्ष्यों के लिए कैसे उपयोग करें। मुझे अन्य कैलेंडर की तरह समाप्ति तिथि चाहिए।

http://jsfiddle.net/Mr_Vertigo/k3RZX/1/ और संस्करण v2.0.2

उत्तर

1

यह तय करने की आवश्यकता नहीं है, क्योंकि आप defaultAllDayEventDuration विकल्प होता है। इसके अलावा forceEventDuration पूरे दिन की घटनाओं (see here)

पर लागू नहीं होता आप अंत अशक्त होने के लिए नहीं करना चाहते हैं, तो बस यह manualy निर्धारित किया है।

0

पूर्ण कैलेंडर हमेशा शून्य पर समाप्त होता है जब आप दस्तावेज़ में देख सकते हैं तो सभी दिन बदलते हैं। Line 1886

if (newAllDay != oldAllDay) { 
     // if allDay has changed, always throw away the end 
     clearEnd = true; 
} 
6

यह समस्या की वजह से allday सही पर सेट है नहीं है। फुलकैलेंडर में एक मुद्दा है कि यदि प्रारंभ तिथि और समाप्ति तिथि समान है तो यह केवल अंतिम तिथि को शून्य के रूप में बनाती है।

यदि घटना की समाप्ति तिथि प्रारंभ तिथि के समान ही है, तो पूर्ण कैलेंडर इसे अवधि में 1-दिन (खाली खाली अंत समय के साथ) मानता है, इसलिए यह एक-एक जैसा है। यह अधिक से कम डेटा स्टोर करना पसंद करता है। तो ध्यान से जांचें कि क्या प्रारंभ तिथि और समाप्ति तिथि समान आ रही है।

लेकिन आप बस एक समाधान के रूप में ऐसा कर सकता है:

eventClick: function(event) { 
    var start = event.start; 
    var end = event.end || start; 
} 

चेक दिए गए लिंक।

https://code.google.com/p/fullcalendar/issues/detail?id=1014

संबंधित मुद्दे