Item12722: JSCalendarContrib defines a calendar class that interferes with CalendarPlugin
Priority: Low
Current State: Confirmed
Released In: n/a
Target Release: n/a
JSCalendarContrib defines a calendar class that interferes with
CalendarPlugin's own expected class of the same name.
Given that
CalendarPlugin bears the name 'Calendar',
JSCalendarPlugin should call its class jscalendar, not calendar.
Issue can present itself if a Topic (or a wiki app) calls %Calendar% and includes
JSCalendarContrib CSS code. The calendar output will be invisible because
JSCalendarPlugin sets Display:None.
See:
lib/Foswiki/Plugins/CalendarPlugin/Core.pm:
#CSS
tableclass => 'calendar $month $year',
pub/System/JSCalendarContrib/calendar-blue.css
.calendar .combo{position:absolute;display:none;top:0;left:0;width:4em;cursor:default;border:1px solid #655;background:#def;color:#000;font-size:90%;z-index:100}
Apparently
System/JSCalendarContribInline
works around this flaw, setting the
.calendar
locally without importing it. However, there may be old code in the wild that imports the
JSCalendarContrib CSS (I had some).
I will be reworking my code to use %INCLUDE{"System.JSCalendarContribInline"}%, but we should be aware of the effects of a possible overlap in class names.
--
VickiBrown - 18 Jan 2014