道場は初めてですので、ご容赦ください。私は現在、データベースからのイベントを使用して、道場カレンダーの作成に取り組んでいます。カレンダーはデフォルトでグリッド(月次)ビューになり、ロード時に最初の呼び出しを行って最初のイベントセットを取得します。デフォルトのビューは、現在の月のイベント+/-1週間を取得するために呼び出しを行います。これを実現するために、ObservableでJsonRestオブジェクトを使用しています。
これは現在問題なく動作しています。私が問題を抱えているのは、他の月のデータをプル/更新することです。望ましい効果は、ユーザーが進むボタンまたは戻るボタンをクリックして、翌月または前月に移動するようにすることです。これが発生した場合、表示する新しいイベントをデータベースに照会したいと思います。新しいデータを返してコンソールに記録することはできますが、カレンダーに表示することができません。私は(うまくいけば)単純なものが欠けていると確信していますが、それを理解することも、良いドキュメントを見つけることもできません。これが私が持っているものです:
require(['dojo/parser',
'dojo/ready',
'dojox/calendar/Calendar',
'dojo/store/Observable',
'dojo/store/JsonRest',
'dijit/registry'],
function(parser, ready, Calendar, Observable, JsonRest, registry) {
ready(function(){
var MM = new Date().getMonth() + 1;
if (MM < 10)
{ MM = '0' + MM};
var YYYY = new Date().getFullYear();
var monthStore = new Observable(JsonRest({target: '/levelx/teamSchedule/getMonthInfo/'}));
calendar = new Calendar({
store: monthStore,
dateInterval: 'month',
style: styleText,
editable: false,
cssClassFunc: function(e){
return e.calendar;
},
query: '?q=' + YYYY + '-' + MM
}, 'calendar');
calendar.on("timeIntervalChange",function(e){
var YYYY = e.startTime.getFullYear();
var MM = e.startTime.getMonth() + 1;
if (MM < 10)
{ MM = '0' + MM};
monthStore.query('?q=' + YYYY + '-' + MM).then(function(results){
console.log(results);
});
});
とても近くにいるような気がします。私が言ったように、私はコンソールに返される正しいデータ(console.log(results))を持っていますが、実際のカレンダーにそれを表示する方法の手がかりはありません。