2015-06-01 45 views
2

我必須爲我公司的員工構建一個程序,以宣佈工作日,假期,疾病日等。我的想法是使用fullcalendar拖放功能好東西。只有在月視圖中,您拖動事件「工作」並將其放到您工作的日子,就這麼簡單。如何僅從一個源提取事件Fullcalendar

什麼我試着做,是提取事件顯示把它們放在數據庫中,我嘗試使用:

$('#calendar').fullCalendar('clientEvents'); 

但我也從我的Google日曆用於顯示背景節假日事件事件。

換句話說,我有兩種類型的事件,一種是我拖放的,另一種是由backgroundEvents上的googlecalendar放置的。

簡而言之,如何過濾我提取的事件以忽略來自googlecalendar的事件?所以我在日曆中放入了所有事件的數組,但我不想從Google獲得這些事件。

如果可能的話,我會很感激下一步的任何提示,將這些事件放入數據庫中。

什麼解決方案只提取手動添加的事件?

+0

你提的問題是過於寬泛。請一次詢問一個具體問題。 –

+0

讓我們來看看它的不同: 我有兩種類型的事件,我拖放的那些事件,以及由backgroundEvents上的googlecalendar放置的事件。 $('#calendar')。fullCalendar('clientEvents'); 從日曆中放入所有事件的數組,但我不想從谷歌的thoses。 什麼解決方案只提取我手動添加的事件。這足夠清楚了嗎? – Robin

+0

@RohitGupta問題不是太寬泛,因爲他在特定的圖書館中要求具體的功能。 – A1rPun

回答

0

好吧,我終於得到了這個感謝在辦公室的伴侶。在這裏留下答案以防萬一:

googlecalendars事件和手動添加的事件不具有相同的屬性,googlecalendars具有其他屬性沒有的「源」和「url」屬性。

你想要做的是獲得所有的事件,循環你的數組,並選擇只有誰沒有源attribut。 :

function send(){ 
     var cal_events = '' 
     data= $('#calendar').fullCalendar('clientEvents'); 

     for (var key in data) { 
      var event = data[key]; 

      if (typeof(event.source) == 'undefined'){ 
       //Your stuff 
        } 

       }); 
      } 
     } 
    } 

這樣,您只能對沒有'source'attribut的事件採取行動。

無論如何。羅賓

0

你可以通過一個函數來像這樣的clientEvents功能:

var data = $('#calendar').fullCalendar('clientEvents',function(event){ 
    return !(event.source && event.source.googleCalendarId); 
}); 
+0

不錯!如果(真的){ajax} else {nothing},它應該是完美的。謝謝 ! 編輯:好的我可能說得太快了,「!event.source」仍然返回所有的事件,說如果條件是真的,所以我不確定它是否正常工作。 – Robin

+0

我寫這個是因爲我在你的答案中看到了typeof(event.source)=='undefined''。我認爲所有手動添加的事件都沒有'source'屬性。 – A1rPun

+0

您認爲正確,問題在於,如果它們擁有源屬性,它將返回每個事件和狀態,而不是僅僅返回沒有源的事件。 – Robin