我試圖與dojox.Calendar一起使用dojo.store.JsonRest顯示事件查詢從 REST服務器(沒有Observable商店的原因 事件是隻讀的)。dojox.Calendar和JsonRest:列視圖不顯示事件
我設置的初始「dateInterval」模式,以「月」,所以有「矩陣視圖」顯示 我攔截「timeIntervalChange」事件改變「查詢」使用日歷店 獲得點播活動時,用戶移動幾個月之間。 (即使我看到(從螢火蟲控制檯)「timeIntervalChange」事件觸發和REST(通過日曆導航按鈕)任何事件都不顯示存儲查詢定期提交給服務器。
這裏是我的網頁的dojox.Calendar代碼片段:
require(["dojo/parser", "dojo/ready", "dojo/_base/xhr", "dojo/date/stamp", "dojo/date/locale", "dijit/Dialog", "dojo/store/JsonRest", "dojox/calendar/Calendar"],
function(parser, ready, xhr, stamp, locale, Dialog, JsonRest, Calendar) {
ready(function(){
var calendarDate = 'the initial ISO date from an MVC model object';
var query = "";
var eventStore = new JsonRest({target: 'the REST service URL'});
calendar = new Calendar({
date: calendarDate,
dateInterval: "month",
startTimeAttr: "dataOraInizioISO",
endTimeAttr: "dataOraFineISO",
summaryAttr: "descrizione",
decodeDate: function(s){return stamp.fromISOString(s);},
encodeDate: function(d){return stamp.toISOString(d);},
style: "position:relative;width:950px;height:700px",
columnViewProps:{minHours:5, maxHours:23, hourSize:40, timeSlotDuration:30},
editable: false,
selectionMode: "none",
}, "calendarioIncontri");
calendar.on("timeIntervalChange", function(e){
var sStartDate =
locale.format(e.startTime,{selector: "date", pattern: "dd/MM/yyyy", fullYear: true});
var sEndDate =
locale.format(e.endTime,{selector: "date", pattern: "dd/MM/yyyy", fullYear: true});
query = "?" + "dataInizio=" + sStartDate + "&" + "dataFine=" + sEndDate;
calendar.set('query', query);
calendar.set('store', eventStore);
});
需要注意的是,爲了避免所有事件的初始批量查詢,我設置日曆 「存儲」和「查詢」(!)屬性只有當「timeIntervalChange」事件觸發,並且 也注意到,據我測試,我需要每次設置日曆「store」屬性 以讓新事件顯示在矩陣視圖刷新上。
但我仍然無法讓列出現在事件上! 任何提示?
提前 羅伯託