pass native js event to select/unselect callbacks, final touches for 1.4.7

This commit is contained in:
Adam Shaw
2010-07-05 16:07:40 -07:00
parent 1729499290
commit 91e436dc0a
8 changed files with 58 additions and 21 deletions
+7 -6
View File
@@ -971,7 +971,7 @@ function Agenda(element, options, methods, viewName) {
function slotSelectionMousedown(ev) {
if (view.option('selectable')) {
unselect();
unselect(ev);
var _mousedownElement = this;
var dates;
hoverListener.start(function(cell, origCell) {
@@ -995,8 +995,9 @@ function Agenda(element, options, methods, viewName) {
if (dates) {
if (+dates[0] == +dates[1]) {
view.trigger('dayClick', _mousedownElement, dates[0], false, ev);
// BUG: _mousedownElement will sometimes be the overlay
}
reportSelection(dates[0], dates[3], false);
reportSelection(dates[0], dates[3], false, ev);
}
});
}
@@ -1021,16 +1022,16 @@ function Agenda(element, options, methods, viewName) {
reportSelection(startDate, endDate, allDay);
};
function reportSelection(startDate, endDate, allDay) {
function reportSelection(startDate, endDate, allDay, ev) {
selected = true;
view.trigger('select', view, startDate, endDate, allDay);
view.trigger('select', view, startDate, endDate, allDay, ev);
}
function unselect() {
function unselect(ev) {
if (selected) {
clearSelection();
selected = false;
view.trigger('unselect', view);
view.trigger('unselect', view, ev);
}
}
view.unselect = unselect;
+4 -4
View File
@@ -542,16 +542,16 @@ function Grid(element, options, methods, viewName) {
reportSelection(startDate, endDate, allDay);
};
function reportSelection(startDate, endDate, allDay) {
function reportSelection(startDate, endDate, allDay, ev) {
selected = true;
view.trigger('select', view, startDate, endDate, allDay);
view.trigger('select', view, startDate, endDate, allDay, ev);
}
function unselect() {
function unselect(ev) {
if (selected) {
clearOverlay();
selected = false;
view.trigger('unselect', view);
view.trigger('unselect', view, ev);
}
}
view.unselect = unselect;
+4 -2
View File
@@ -71,7 +71,9 @@ var defaults = {
},
//selectable: false,
unselectAuto: true
unselectAuto: true,
dropAccept: '*'
};
@@ -834,7 +836,7 @@ $.fn.fullCalendar = function(options) {
var e = $(_e);
if (!e.parents('.fc').length) { // not already inside a calendar
var accept = options.dropAccept;
if (!accept || ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept))) {
if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) {
_dragElement = _e;
view.dragStart(_dragElement, ev, ui);
}
+4 -3
View File
@@ -3,7 +3,7 @@
function selection_dayMousedown(view, hoverListener, cellDate, cellIsAllDay, renderSelection, clearSelection, reportSelection, unselect) {
return function(ev) {
if (view.option('selectable')) {
unselect();
unselect(ev);
var _mousedownElement = this;
var dates;
hoverListener.start(function(cell, origCell) {
@@ -20,8 +20,9 @@ function selection_dayMousedown(view, hoverListener, cellDate, cellIsAllDay, ren
if (dates) {
if (+dates[0] == +dates[1]) {
view.trigger('dayClick', _mousedownElement, dates[0], true, ev);
// BUG: _mousedownElement will sometimes be the overlay
}
reportSelection(dates[0], dates[1], true);
reportSelection(dates[0], dates[1], true, ev);
}
});
}
@@ -38,7 +39,7 @@ function selection_unselectAuto(view, unselect) {
return;
}
}
unselect();
unselect(ev);
});
}
}