ขอบคุณสำหรับโครงการ! ดีจริงๆ !
ขณะนี้ฉันกำลังพยายามอัปเกรดปฏิทินแบบเต็มจาก v1 เป็น v2 ฉันแก้ไขปัญหาหลักทั้งหมดแล้วด้วยเอกสารประกอบการอัปเกรดเป็นหน้า v2
ตอนนี้ฉันติดอยู่กับปัญหาเชิงแนวคิด ...
ปฏิทินของฉันแสดงกิจกรรมตามผู้ใช้ ผู้ใช้แต่ละคนจะถูกแสดงโดยแหล่งที่มาของเหตุการณ์ แหล่งที่มาของเหตุการณ์โดยพื้นฐานแล้วคืออาร์เรย์ของเหตุการณ์ เมื่อฉันเพิ่มเหตุการณ์ให้กับผู้ใช้ ฉันต้องการให้เพิ่มเหตุการณ์นั้นลงในแหล่งที่มาของเหตุการณ์ของผู้ใช้ในลักษณะไดนามิก ด้วยวิธีนี้ ฉันจึงมีการจับคู่ที่สมบูรณ์ระหว่างแหล่งที่มาและกิจกรรมที่แสดงในปฏิทิน
ฉันประสบความสำเร็จในการใช้กรณีการใช้งานนี้ใน v1 ดังนี้:
private void addEventToSource(Event event) {
// get user
String userId = event.getUserId();
// get source for user (sources is a map user -> JsonObject)
JSONObject source = sources.get(userId);
// get the list of events
JSONArray array = (JSONArray)source.get("events");
// add event at the end of the list
array.set(array.size(), createJsonEvent(event));
// refetch events from all sources
refetchEvents();
}
รหัสนี้ทำงานได้ดีเนื่องจากก่อนหน้านี้รู้จักแหล่งที่มาของผู้ใช้โดย full-calendar js :
private static native void addSource(String calendarId, JavaScriptObject source) /*-{
$wnd.jQuery("#"+calendarId).fullCalendar('addEventSource', source);
}-*/;
ภายใน การอัปเดตทั้งหมดของฉันเสร็จสิ้นบนออบเจ็กต์ต้นทางผ่านการปรับแต่ง JSON เมื่อฉันเรียกข้อมูลกิจกรรมใหม่ แหล่งที่มาของผู้ใช้ทั้งหมดของฉันจะเป็นข้อมูลล่าสุดและแสดงไว้อย่างดีบนปฏิทิน
อย่างไรก็ตาม รหัสนี้ใช้ไม่ได้กับเวอร์ชัน 2 ดูเหมือนว่าแหล่งที่มาที่ฉันส่งไปยังปฏิทินแบบเต็มจะแตกต่างจากแหล่งที่มาที่ใช้ภายในเพื่อแสดงกิจกรรม การอัปเดตแหล่งที่มาทั้งหมดของฉันไม่ได้นำไปใช้กับข้อมูลภายใน ดังนั้นจึงไม่สามารถมองเห็นได้ในปฏิทิน
มีวิธีรับแหล่งที่มาของเหตุการณ์ภายในหรือไม่? มีความคิดใดที่จะใช้กรณีการใช้งานดังกล่าวหรือไม่? บางทีฉันอาจจะพลาดอะไรบางอย่างไป... ขอบคุณล่วงหน้า !
จูเลียน