You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
define([ |
|
"dojo/_base/declare", |
|
"./_CalendarView", |
|
"dijit/_TemplatedMixin", |
|
"dojo/date", |
|
"dojo/dom-class", |
|
"dojo/_base/event", |
|
"dojo/text!./Calendar/CalendarYear.html", |
|
"./_CalendarMonthYearView" |
|
], function(declare, _CalendarView, _TemplatedMixin, dojoDate, domClass, event, template, _CalendarMonthYearView){ |
|
return declare("dojox.widget._CalendarYearView", [_CalendarView, _TemplatedMixin], { |
|
// summary: |
|
// A Calendar view listing 12 years |
|
|
|
// templateString: String |
|
// The template to be used to construct the widget. |
|
templateString: template, |
|
|
|
displayedYears: 6, |
|
|
|
postCreate: function(){ |
|
// summary: |
|
// Constructs the view |
|
this.cloneClass(".dojoxCalendarYearTemplate", 3); |
|
this.cloneClass(".dojoxCalendarYearGroupTemplate", 2); |
|
this._populateYears(); |
|
this.addFx(".dojoxCalendarYearLabel", this.domNode); |
|
}, |
|
|
|
_setValueAttr: function(value){ |
|
this._populateYears(value.getFullYear()); |
|
}, |
|
|
|
_populateYears: _CalendarMonthYearView.prototype._populateYears, |
|
|
|
adjustDate: function(date, amount){ |
|
// summary: |
|
// Adjusts the value of a date. It moves it by 12 years each time. |
|
return dojoDate.add(date, "year", amount * 12); |
|
}, |
|
|
|
onClick: function(evt){ |
|
// summary: |
|
// Handles clicks on year values. |
|
if(!domClass.contains(evt.target, "dojoxCalendarYearLabel")){event.stop(evt); return;} |
|
var year = Number(evt.target.innerHTML); |
|
var date = this.get("value"); |
|
date.setYear(year); |
|
this.onValueSelected(date, year); |
|
} |
|
}); |
|
});
|
|
|