Skip to content

Commit 767d173

Browse files
committed
Calendar: Introduce refresh callback event
1 parent 8b86430 commit 767d173

File tree

6 files changed

+47
-1
lines changed

6 files changed

+47
-1
lines changed

tests/unit/calendar/common.js

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ common.testWidget( "calendar", {
3737
// callbacks
3838
change: null,
3939
create: null,
40+
refresh: null,
4041
select: null
4142
}
4243
} );

tests/unit/calendar/events.js

+22
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,26 @@ QUnit.test( "select", function( assert ) {
9898
step1();
9999
} );
100100

101+
QUnit.test( "refresh", function( assert ) {
102+
assert.expect( 2 );
103+
104+
var shouldFire;
105+
106+
this.element.calendar( {
107+
refresh: function() {
108+
assert.ok( shouldFire, "refresh event fired" );
109+
}
110+
} );
111+
112+
shouldFire = true;
113+
this.element.find( "button.ui-calendar-next" ).simulate( "click" );
114+
115+
shouldFire = false;
116+
this.element.find( "table button:eq(1)" ).simulate( "click" );
117+
118+
testHelper.focusGrid( this.element ).simulate( "keydown", { keyCode: $.ui.keyCode.END } );
119+
shouldFire = true;
120+
testHelper.focusGrid( this.element ).simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
121+
} );
122+
101123
} );

tests/unit/datepicker/common.js

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ common.testWidget( "datepicker", {
4646
close: null,
4747
create: null,
4848
open: null,
49+
refresh: null,
4950
select: null
5051
}
5152
} );

tests/unit/datepicker/events.js

+18
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,22 @@ QUnit.test( "select", function( assert ) {
180180
step1();
181181
} );
182182

183+
QUnit.test( "refresh", function( assert ) {
184+
assert.expect( 1 );
185+
186+
var shouldFire;
187+
188+
this.element.calendar( {
189+
refresh: function() {
190+
assert.ok( shouldFire, "refresh event fired" );
191+
}
192+
} );
193+
194+
shouldFire = true;
195+
this.element.find( "button.ui-calendar-next" ).simulate( "click" );
196+
197+
shouldFire = false;
198+
this.element.find( "table button:eq(1)" ).simulate( "click" );
199+
} );
200+
183201
} );

ui/widgets/calendar.js

+3
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ return $.widget( "ui.calendar", {
7373

7474
// callbacks
7575
change: null,
76+
refresh: null,
7677
select: null
7778
},
7879

@@ -595,6 +596,8 @@ return $.widget( "ui.calendar", {
595596
this._setActiveDescendant();
596597
this._refreshHeaderButtons();
597598
this._createButtons();
599+
600+
this._trigger( "refresh" );
598601
},
599602

600603
_refreshHeaderButtons: function() {

ui/widgets/datepicker.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ var widget = $.widget( "ui.datepicker", {
5555
change: null,
5656
close: null,
5757
open: null,
58+
refresh: null,
5859
select: null
5960
},
6061

6162
calendarOptions: [ "buttons", "classes", "disabled", "dateFormat", "eachDay",
62-
"icons", "labels", "locale", "max", "min", "numberOfMonths", "showWeek" ],
63+
"icons", "labels", "locale", "max", "min", "numberOfMonths", "showWeek", "refresh" ],
6364

6465
_create: function() {
6566
this.suppressExpandOnFocus = false;

0 commit comments

Comments
 (0)