2010-06-22 10 views
5

से घटना सूत्रों निकालते समय, FullCalendar उपयोग कर रहा हूँ कई स्रोतों से घटनाओं को प्रदर्शित करने के लिए, कुछ स्थानीय JSON Google कैलेंडर से फ़ीड, अन्य। मैंने एक सुविधा लागू की है जिससे एक कैलेंडर को प्रदर्शित/छुपाया जा सकता है जब यह चेकबॉक्स क्रमशः सत्य या गलत होता है।समस्या सही तो FullCalendar (jQuery)

मैं इस कोड का उपयोग कर रहा यह हासिल करने के लिए:

$('#calendar_list input','#sidebar').live('click', function() { 
    if($(this).is(":checked")==true) { 
     // display the calendar  
     var source = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"); 
     $('#calendar').fullCalendar('addEventSource', source); 
    } else { 
     // remove the calendar 
     var source = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic"); 
     $('#calendar').fullCalendar('removeEventSource', source); 
    } 
}); 

यह उदाहरण अगर बस पता चलता है/एक गूगल कैलेंडर फ़ीड छुपाने के लिए, समस्या यह फिर से कैलेंडर कभी नहीं छुपाता है ... अगर मैं क्लिक करें 10 बार चेक बॉक्स, (1 = ऑफ, 2 = ऑन, 3 = ऑफ, 4 = आदि) यह उसी कैलेंडर के 5 संस्करण प्रदर्शित करता है।

The documentation वास्तव में कई संकेत नहीं दे रहा है और ऐसा लगता है कि इस समस्या ने परियोजना के लिए Google प्रोजेक्ट साइट पर कुछ अनुमान लगाए हैं।

मैं एक घटना souce कैसे दूर करने के लिए ?! * रोता है *

किसी भी मदद की सराहना की जाएगी।

उत्तर

8

अधिकार तो, मैं वास्तव में मेरी समस्या का हल मिल गया है, मैं गूगल परियोजना मुद्दों पर नज़र डालकर यह फैसला किया और पाया है कि एक ही समस्या मैं हो रही थी के लिए someone had raised an issue, अब प्रलेखन कहते हैं:

स्रोत मूल ऐरे/यूआरएल/फंक्शन का संदर्भ होना चाहिए। स्रोत से घटनाक्रम तुरंत कैलेंडर से हटा दिए जाएंगे।

मैं इस एक कैलेंडर मैं एक मैं जोड़ा के लिए एक समान स्रोत का उपयोग करने के लिए होगा दूर करने के लिए मतलब सोचा, तो मैं, उसी तरह से इसे हटाने के लिए होता है अगर मैं स्रोत /getEvents.php जोड़ा बजाय क्या यह वास्तव में इसका मतलब है यह है कि मुझे सटीक उसी स्रोत का उपयोग करना है।

तो मैं एक सरणी (कुंजी के रूप में कैलेंडर id) में एक आइटम के रूप में स्रोत सेट और फिर मैं/जोड़ सकते हैं इस पर आधारित कैलेंडर निकालने, यह अब समस्या हल हो गई है।

+0

आह, अच्छा, मुझे खुशी है कि आप इसे समझ से बाहर ... मैं अभी भी अपने सिर खरोंच था हूँ: पी – Mottie

+0

चीयर्स, आपकी मदद के लिए वैसे भी धन्यवाद, कुछ मुझे उन दो उपयोगी कार्यों के लिए प्रबुद्ध। ऐसा लगता है कि प्रलेखन उतना स्पष्ट नहीं है जितना हो सकता है। –

+0

ओएमजी। कृपया ... कृपया इसे हल करें जो मैं बाद में रहा हूं। मैं कल रात 1 बजे से 4 बजे तक इस "डुप्लिकेट बग" पर काम कर रहा था। sob ... मुझे लगता है कि आपको उन चीजों को स्पष्ट करना है जिन्हें आपको अपने उत्तर कोड में जोड़ना चाहिए, यानी 'var gcal = $ .fullCalendar.gcalFeed (स्रोत); // संदर्भ $ ('# कैलेंडर')। पूर्ण कैलेंडर ('addEventSource', gcal); $ ('# कैलेंडर') Fullcalendar ('removeEventSource', Gcal);। 'कार्यान्वयन अब उंगलियों को पार कर ... – wired00

1

आपको स्रोत जोड़ने/हटाने के बाद rerender events होना चाहिए, या शायद refetch events पर प्रयास करें यदि यह काम नहीं करता है। यह एक समस्या हो सकती है।

+0

आपके उत्तर के लिए धन्यवाद, लेकिन अगर मैं घटनाओं को दोबारा प्रस्तुत करता हूं तो कुछ भी नहीं होता है, अगर मैं घटनाओं को दोबारा जोड़ता हूं तो Google कैलेंडर खुद को जोड़ता रहता है: एस –

+0

बस एक फॉलो अप @ फूडी, मैंने अपनी समस्या का पता लगाया है, मेरा जवाब देखें। चीयर्स :-) –

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