94 lines
2.8 KiB
JavaScript
94 lines
2.8 KiB
JavaScript
// ========================================
|
|
/* highlight day and cities in table according the event under the mouse */
|
|
function scheduleHighlightEvent (day, locations) {
|
|
jQuery ('div.cityBubble div.bubble').each (function () {
|
|
jQuery (this).hide ();
|
|
});
|
|
scheduleHighlightPOI (locations);
|
|
jQuery ('div.schedule table.short div.mapSelect').each (function () {
|
|
var showDay = jQuery (this);
|
|
var today = showDay.attr ('day');
|
|
if (day && today == day)
|
|
showDay.show ();
|
|
else
|
|
showDay.hide ();
|
|
});
|
|
}
|
|
|
|
// ========================================
|
|
/* highlight all days in table according the city under the mouse */
|
|
function scheduleHighlightDays (targetLocations) {
|
|
jQuery ('div.cityBubble div.bubble').each (function () {
|
|
jQuery (this).hide ();
|
|
});
|
|
if (!targetLocations || !targetLocations.length) {
|
|
jQuery ('div.schedule table.short div.mapSelect').hide ();
|
|
return;
|
|
}
|
|
targetLocations.forEach (function (location) {
|
|
jQuery ('div.cityBubble[location="'+location+'"] div.bubble').each (function () {
|
|
jQuery (this).show ();
|
|
});
|
|
});
|
|
jQuery ('div.schedule table.short div.mapSelect').each (function () {
|
|
var showDay = jQuery (this);
|
|
var eventLocations = showDay.attr ('locations');
|
|
if (!eventLocations) {
|
|
showDay.hide ();
|
|
return;
|
|
}
|
|
var doShow = false;
|
|
targetLocations.forEach (function (location) {
|
|
if ((','+eventLocations+',').indexOf (location) >= 0) {
|
|
doShow = true;
|
|
return;
|
|
}
|
|
});
|
|
if (doShow)
|
|
showDay.show ();
|
|
else
|
|
showDay.hide ();
|
|
});
|
|
}
|
|
|
|
var scheduleMapList;
|
|
|
|
// ========================================
|
|
/* highlight all cities on the map according the day under the mouse */
|
|
function scheduleHighlightPOI (locations) {
|
|
if (!locations) {
|
|
jQuery ('div.schedule table.short div.mapSelect').hide ();
|
|
jQuery.each (scheduleMapList, function (mapId, scheduleMap) {
|
|
scheduleMap.poi.forEachFeature (function (item) {
|
|
item.set ('selected', false);
|
|
});
|
|
scheduleMap.poi.changed ();
|
|
scheduleMap.map.render ();
|
|
});
|
|
return;
|
|
}
|
|
jQuery.each (scheduleMapList, function (mapId, scheduleMap) {
|
|
var changed = false;
|
|
scheduleMap.poi.forEachFeature (function (item) {
|
|
var location = item.get ('location');
|
|
item.set ('selected', (location && (','+locations).indexOf (location) >= 0));
|
|
});
|
|
scheduleMap.poi.changed ();
|
|
scheduleMap.map.render ();
|
|
});
|
|
}
|
|
// ========================================
|
|
function scheduleChangeDate (obj, ns, mapId, date) {
|
|
var table = jQuery (obj).closest ("table")[0];
|
|
scheduleSend (table,
|
|
DOKU_BASE+"lib/plugins/schedule/ajax.php",
|
|
"schd[ns]="+ns+"&schd[mapId]="+mapId+"&schd[action]=changeDate&schd[date]="+date);
|
|
}
|
|
|
|
// ========================================
|
|
function scheduleSelectDate (date) {
|
|
jQuery ("#scheduleFrom").val (date);
|
|
}
|
|
|
|
// ========================================
|