@ -6,35 +6,36 @@
BI . DatePicker = BI . inherit ( BI . Widget , {
_defaultConfig : function ( ) {
var conf = BI . DatePicker . superclass . _defaultConfig . apply ( this , arguments ) ;
return BI . extend ( conf , {
baseCls : "bi-date-picker" ,
height : 40 ,
min : "1900-01-01" , // 最小日期
max : "2099-12-31" // 最大日期
max : "2099-12-31" , // 最大日期
} ) ;
} ,
_init : function ( ) {
BI . DatePicker . superclass . _init . apply ( this , arguments ) ;
var self = this , o = this . options ;
var self = this ; var o = this . options ;
this . _year = BI . getDate ( ) . getFullYear ( ) ;
this . _month = BI . getDate ( ) . getMonth ( ) + 1 ;
this . left = BI . createWidget ( {
type : "bi.icon_button" ,
cls : "pre-page-h-font" ,
width : 24 ,
height : 24
height : 24 ,
} ) ;
this . left . on ( BI . IconButton . EVENT _CHANGE , function ( ) {
if ( self . _month === 1 ) {
self . setValue ( {
year : self . year . getValue ( ) - 1 ,
month : 12
month : 12 ,
} ) ;
} else {
self . setValue ( {
year : self . year . getValue ( ) ,
month : self . month . getValue ( ) - 1
month : self . month . getValue ( ) - 1 ,
} ) ;
}
self . fireEvent ( BI . DatePicker . EVENT _CHANGE ) ;
@ -46,19 +47,19 @@ BI.DatePicker = BI.inherit(BI.Widget, {
type : "bi.icon_button" ,
cls : "next-page-h-font" ,
width : 24 ,
height : 24
height : 24 ,
} ) ;
this . right . on ( BI . IconButton . EVENT _CHANGE , function ( ) {
if ( self . _month === 12 ) {
self . setValue ( {
year : self . year . getValue ( ) + 1 ,
month : 1
month : 1 ,
} ) ;
} else {
self . setValue ( {
year : self . year . getValue ( ) ,
month : self . month . getValue ( ) + 1
month : self . month . getValue ( ) + 1 ,
} ) ;
}
self . fireEvent ( BI . DatePicker . EVENT _CHANGE ) ;
@ -70,23 +71,23 @@ BI.DatePicker = BI.inherit(BI.Widget, {
type : "bi.year_date_combo" ,
behaviors : o . behaviors ,
min : o . min ,
max : o . max
max : o . max ,
} ) ;
this . year . on ( BI . YearDateCombo . EVENT _CHANGE , function ( ) {
self . setValue ( {
year : self . year . getValue ( ) ,
month : self . month . getValue ( )
month : self . month . getValue ( ) ,
} ) ;
self . fireEvent ( BI . DatePicker . EVENT _CHANGE ) ;
} ) ;
this . month = BI . createWidget ( {
type : "bi.month_date_combo" ,
behaviors : o . behaviors
behaviors : o . behaviors ,
} ) ;
this . month . on ( BI . MonthDateCombo . EVENT _CHANGE , function ( ) {
self . setValue ( {
year : self . year . getValue ( ) ,
month : self . month . getValue ( )
month : self . month . getValue ( ) ,
} ) ;
self . fireEvent ( BI . DatePicker . EVENT _CHANGE ) ;
} ) ;
@ -97,9 +98,9 @@ BI.DatePicker = BI.inherit(BI.Widget, {
items : [ {
el : {
type : "bi.center_adapt" ,
items : [ this . left ]
items : [ this . left ] ,
} ,
width : 24
width : 24 ,
} , {
type : "bi.center_adapt" ,
items : [ {
@ -109,35 +110,39 @@ BI.DatePicker = BI.inherit(BI.Widget, {
rgap : 10 ,
items : [ {
el : this . year ,
lgap : 10
} , this . month ]
}
} ]
lgap : 10 ,
} , this . month ] ,
} ,
} ] ,
} , {
el : {
type : "bi.center_adapt" ,
items : [ this . right ]
items : [ this . right ] ,
} ,
width : 24
} ]
width : 24 ,
} ] ,
} ) ;
this . setValue ( {
year : this . _year ,
month : this . _month
month : this . _month ,
} ) ;
} ,
_checkLeftValid : function ( ) {
var o = this . options ;
var valid = ! ( this . _month === 1 && this . _year === BI . parseDateTime ( o . min , "%Y-%X-%d" ) . getFullYear ( ) ) ;
var minDate = BI . parseDateTime ( o . min , "%Y-%X-%d" ) ;
var valid = ! ( this . _month <= ( minDate . getMonth ( ) + 1 ) && this . _year <= minDate . getFullYear ( ) ) ;
this . left . setEnable ( valid ) ;
return valid ;
} ,
_checkRightValid : function ( ) {
var o = this . options ;
var valid = ! ( this . _month === 12 && this . _year === BI . parseDateTime ( o . max , "%Y-%X-%d" ) . getFullYear ( ) ) ;
var maxDate = BI . parseDateTime ( o . max , "%Y-%X-%d" ) ;
var valid = ! ( this . _month >= ( maxDate . getMonth ( ) + 1 ) && this . _year >= maxDate . getFullYear ( ) ) ;
this . right . setEnable ( valid ) ;
return valid ;
} ,
@ -161,9 +166,9 @@ BI.DatePicker = BI.inherit(BI.Widget, {
getValue : function ( ) {
return {
year : this . year . getValue ( ) ,
month : this . month . getValue ( )
month : this . month . getValue ( ) ,
} ;
}
} ,
} ) ;
BI . DatePicker . EVENT _CHANGE = "EVENT_CHANGE" ;
BI . shortcut ( "bi.date_picker" , BI . DatePicker ) ;