mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-09-10 12:00:15 +08:00
pass native js event to select/unselect callbacks, final touches for 1.4.7
This commit is contained in:
+7
-6
@@ -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
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user