none
[openafs-wiki.git] / TWiki / JSCalendarContrib.mdwn
1 [Mishoo JSCalendar](http://dynarch.com/mishoo/calendar.epl), packaged for use by plugins, skins and add-ons.
2
3 # <a name="Summary of Contents"></a> Summary of Contents
4
5 This module packages the [Mishoo JSCalendar](http://dynarch.com/mishoo/calendar.epl) Javascript in a form suitable for use with TWiki.
6
7 # <a name="Detailed Documentation"></a> Detailed Documentation
8
9 Read [the Mishoo documentation](http://www.dementia.org/twiki//view/doc/html/reference.html) or [visit the demo page](http://www.dementia.org/twiki//view).
10
11 This package also includes a small Perl module to make using the calendar easier from TWiki plugins. This module includes the function:
12
13     addHEAD( $setup )
14
15 that can automatically add the required headers to the page being rendered. `$setup` is the name of the calendar setup module; it can either be ommitted, in which case the method described in the Mishoo documentation can be used to create calendars, or it can be `'twiki'`, in which case a helper function is added that simplifies using calendars to set a value in a text field. For example,
16
17         # Add styles and javascript for the calendar
18         require TWiki::Contrib::JSCalendarContrib;
19         if( $@ || !$TWiki::Contrib::JSCalendarContrib::VERSION ||
20             $TWiki::Contrib::JSCalendarContrib::VERSION < 0.961 ) {
21             TWiki::Func::writeWarning('JSCalendarContrib >=0.961 not found '.$@);
22         } else {
23             TWiki::Contrib::JSCalendarContrib::addHEAD( 'twiki' );
24         }
25
26         $html .= CGI::textfield(
27             { name => 'datefield',
28               id => "id_datefield" });
29         $html .=
30               CGI::image_button(
31                           -name => 'datefield_calendar',
32                           -onclick =>
33                               "return showCalendar('id_datefield','%e %B %Y')",
34                           -src=> TWiki::Func::getPubUrlPath() . '/' .
35                             TWiki::Func::getTwikiWebname() .
36                                 '/JSCalendarContrib/img.gif',
37                           -alt => 'Calendar',
38                           -align => 'MIDDLE' );
39                 }
40             }
41
42 The first parameter to showCalendar is the id of the textfield. See the Mishoo documentation for details of the '$e %B %Y' parameter.
43
44 Note that the header will only be added once, regardless of the number of times that addHEAD is called.
45
46 `addHEAD` can be called from `commonTagsHandler` for adding the header to all pages, or to `beforeEditHandler` just for edit pages etc.
47
48 ## <a name="Settings"></a> Settings
49
50 - Name of the perl package
51   - Set STUB = TWiki::Contrib::JSCalendarContrib
52
53 ## <a name="Installation Instructions"></a> Installation Instructions
54
55 - Download the ZIP file from the Plugin web (see below)
56 - Unzip <code>**%TOPIC%.zip**</code> in your twiki installation directory. Content: <table border="1" cellpadding="0" cellspacing="0">
57   <tr>
58     <th bgcolor="#99CCCC"><strong> File: </strong></th>
59     <th bgcolor="#99CCCC"><strong> Description: </strong></th>
60   </tr>
61   <tr>
62     <td><code><b>data/TWiki/JSCalendarContrib.txt</b></code></td>
63     <td>   </td>
64   </tr>
65   <tr>
66     <td><code><b>lib/TWiki/Contrib/JSCalendarContrib/build.pl</b></code></td>
67     <td>   </td>
68   </tr>
69   <tr>
70     <td><code><b>lib/TWiki/Contrib/JSCalendarContrib.pm</b></code></td>
71     <td>   </td>
72   </tr>
73   <tr>
74     <td><code><b>pub/TWiki/JSCalendarContrib/twiki.js</b></code></td>
75     <td>   </td>
76   </tr>
77   <tr>
78     <td><code><b>pub/TWiki/JSCalendarContrib/bugtest-hidden-selects.html</b></code></td>
79     <td>   </td>
80   </tr>
81   <tr>
82     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-blue2.css</b></code></td>
83     <td>   </td>
84   </tr>
85   <tr>
86     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-blue.css</b></code></td>
87     <td>   </td>
88   </tr>
89   <tr>
90     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-brown.css</b></code></td>
91     <td>   </td>
92   </tr>
93   <tr>
94     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-green.css</b></code></td>
95     <td>   </td>
96   </tr>
97   <tr>
98     <td><code><b>pub/TWiki/JSCalendarContrib/calendar.js</b></code></td>
99     <td>   </td>
100   </tr>
101   <tr>
102     <td><code><b>pub/TWiki/JSCalendarContrib/calendar.php</b></code></td>
103     <td>   </td>
104   </tr>
105   <tr>
106     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-setup.js</b></code></td>
107     <td>   </td>
108   </tr>
109   <tr>
110     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-setup_stripped.js</b></code></td>
111     <td>   </td>
112   </tr>
113   <tr>
114     <td><code><b>pub/TWiki/JSCalendarContrib/calendar_stripped.js</b></code></td>
115     <td>   </td>
116   </tr>
117   <tr>
118     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-system.css</b></code></td>
119     <td>   </td>
120   </tr>
121   <tr>
122     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-tas.css</b></code></td>
123     <td>   </td>
124   </tr>
125   <tr>
126     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-win2k-1.css</b></code></td>
127     <td>   </td>
128   </tr>
129   <tr>
130     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-win2k-2.css</b></code></td>
131     <td>   </td>
132   </tr>
133   <tr>
134     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-win2k-cold-1.css</b></code></td>
135     <td>   </td>
136   </tr>
137   <tr>
138     <td><code><b>pub/TWiki/JSCalendarContrib/calendar-win2k-cold-2.css</b></code></td>
139     <td>   </td>
140   </tr>
141   <tr>
142     <td><code><b>pub/TWiki/JSCalendarContrib/ChangeLog</b></code></td>
143     <td>   </td>
144   </tr>
145   <tr>
146     <td><code><b>pub/TWiki/JSCalendarContrib/dayinfo.html</b></code></td>
147     <td>   </td>
148   </tr>
149   <tr>
150     <td><code><b>pub/TWiki/JSCalendarContrib/doc/html/field-button.jpg</b></code></td>
151     <td>   </td>
152   </tr>
153   <tr>
154     <td><code><b>pub/TWiki/JSCalendarContrib/doc/html/reference.css</b></code></td>
155     <td>   </td>
156   </tr>
157   <tr>
158     <td><code><b>pub/TWiki/JSCalendarContrib/doc/html/reference.html</b></code></td>
159     <td>   </td>
160   </tr>
161   <tr>
162     <td><code><b>pub/TWiki/JSCalendarContrib/doc/html/reference-Z-S.css</b></code></td>
163     <td>   </td>
164   </tr>
165   <tr>
166     <td><code><b>pub/TWiki/JSCalendarContrib/doc/reference.pdf</b></code></td>
167     <td>   </td>
168   </tr>
169   <tr>
170     <td><code><b>pub/TWiki/JSCalendarContrib/img.gif</b></code></td>
171     <td>   </td>
172   </tr>
173   <tr>
174     <td><code><b>pub/TWiki/JSCalendarContrib/index.html</b></code></td>
175     <td>   </td>
176   </tr>
177   <tr>
178     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-af.js</b></code></td>
179     <td>   </td>
180   </tr>
181   <tr>
182     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-al.js</b></code></td>
183     <td>   </td>
184   </tr>
185   <tr>
186     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-bg.js</b></code></td>
187     <td>   </td>
188   </tr>
189   <tr>
190     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-big5.js</b></code></td>
191     <td>   </td>
192   </tr>
193   <tr>
194     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-big5-utf8.js</b></code></td>
195     <td>   </td>
196   </tr>
197   <tr>
198     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-br.js</b></code></td>
199     <td>   </td>
200   </tr>
201   <tr>
202     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ca.js</b></code></td>
203     <td>   </td>
204   </tr>
205   <tr>
206     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-cs-utf8.js</b></code></td>
207     <td>   </td>
208   </tr>
209   <tr>
210     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-cs-win.js</b></code></td>
211     <td>   </td>
212   </tr>
213   <tr>
214     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-da.js</b></code></td>
215     <td>   </td>
216   </tr>
217   <tr>
218     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-de.js</b></code></td>
219     <td>   </td>
220   </tr>
221   <tr>
222     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-du.js</b></code></td>
223     <td>   </td>
224   </tr>
225   <tr>
226     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-el.js</b></code></td>
227     <td>   </td>
228   </tr>
229   <tr>
230     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-en.js</b></code></td>
231     <td>   </td>
232   </tr>
233   <tr>
234     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-es.js</b></code></td>
235     <td>   </td>
236   </tr>
237   <tr>
238     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-fi.js</b></code></td>
239     <td>   </td>
240   </tr>
241   <tr>
242     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-fr.js</b></code></td>
243     <td>   </td>
244   </tr>
245   <tr>
246     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-he-utf8.js</b></code></td>
247     <td>   </td>
248   </tr>
249   <tr>
250     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-hr.js</b></code></td>
251     <td>   </td>
252   </tr>
253   <tr>
254     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-hr-utf8.js</b></code></td>
255     <td>   </td>
256   </tr>
257   <tr>
258     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-hu.js</b></code></td>
259     <td>   </td>
260   </tr>
261   <tr>
262     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-it.js</b></code></td>
263     <td>   </td>
264   </tr>
265   <tr>
266     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-jp.js</b></code></td>
267     <td>   </td>
268   </tr>
269   <tr>
270     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ko.js</b></code></td>
271     <td>   </td>
272   </tr>
273   <tr>
274     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ko-utf8.js</b></code></td>
275     <td>   </td>
276   </tr>
277   <tr>
278     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-lt.js</b></code></td>
279     <td>   </td>
280   </tr>
281   <tr>
282     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-lt-utf8.js</b></code></td>
283     <td>   </td>
284   </tr>
285   <tr>
286     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-lv.js</b></code></td>
287     <td>   </td>
288   </tr>
289   <tr>
290     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-nl.js</b></code></td>
291     <td>   </td>
292   </tr>
293   <tr>
294     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-no.js</b></code></td>
295     <td>   </td>
296   </tr>
297   <tr>
298     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-pl.js</b></code></td>
299     <td>   </td>
300   </tr>
301   <tr>
302     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-pl-utf8.js</b></code></td>
303     <td>   </td>
304   </tr>
305   <tr>
306     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-pt.js</b></code></td>
307     <td>   </td>
308   </tr>
309   <tr>
310     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ro.js</b></code></td>
311     <td>   </td>
312   </tr>
313   <tr>
314     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ru_win_.js</b></code></td>
315     <td>   </td>
316   </tr>
317   <tr>
318     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-ru.js</b></code></td>
319     <td>   </td>
320   </tr>
321   <tr>
322     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-si.js</b></code></td>
323     <td>   </td>
324   </tr>
325   <tr>
326     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-sk.js</b></code></td>
327     <td>   </td>
328   </tr>
329   <tr>
330     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-sp.js</b></code></td>
331     <td>   </td>
332   </tr>
333   <tr>
334     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-sv.js</b></code></td>
335     <td>   </td>
336   </tr>
337   <tr>
338     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-tr.js</b></code></td>
339     <td>   </td>
340   </tr>
341   <tr>
342     <td><code><b>pub/TWiki/JSCalendarContrib/lang/calendar-zh.js</b></code></td>
343     <td>   </td>
344   </tr>
345   <tr>
346     <td><code><b>pub/TWiki/JSCalendarContrib/lang/cn_utf8.js</b></code></td>
347     <td>   </td>
348   </tr>
349   <tr>
350     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/active-bg.gif</b></code></td>
351     <td>   </td>
352   </tr>
353   <tr>
354     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/dark-bg.gif</b></code></td>
355     <td>   </td>
356   </tr>
357   <tr>
358     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/hover-bg.gif</b></code></td>
359     <td>   </td>
360   </tr>
361   <tr>
362     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/menuarrow.gif</b></code></td>
363     <td>   </td>
364   </tr>
365   <tr>
366     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/normal-bg.gif</b></code></td>
367     <td>   </td>
368   </tr>
369   <tr>
370     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/rowhover-bg.gif</b></code></td>
371     <td>   </td>
372   </tr>
373   <tr>
374     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/status-bg.gif</b></code></td>
375     <td>   </td>
376   </tr>
377   <tr>
378     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/theme.css</b></code></td>
379     <td>   </td>
380   </tr>
381   <tr>
382     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/title-bg.gif</b></code></td>
383     <td>   </td>
384   </tr>
385   <tr>
386     <td><code><b>pub/TWiki/JSCalendarContrib/skins/aqua/today-bg.gif</b></code></td>
387     <td>   </td>
388   </tr>
389   <tr>
390     <td><code><b>pub/TWiki/JSCalendarContrib/menuarrow.gif</b></code></td>
391     <td>   </td>
392   </tr>
393   <tr>
394     <td><code><b>pub/TWiki/JSCalendarContrib/menuarrow2.gif</b></code></td>
395     <td>   </td>
396   </tr>
397   <tr>
398     <td><code><b>pub/TWiki/JSCalendarContrib/multiple-dates.html</b></code></td>
399     <td>   </td>
400   </tr>
401   <tr>
402     <td><code><b>pub/TWiki/JSCalendarContrib/README</b></code></td>
403     <td>   </td>
404   </tr>
405   <tr>
406     <td><code><b>pub/TWiki/JSCalendarContrib/release-notes.html</b></code></td>
407     <td>   </td>
408   </tr>
409   <tr>
410     <td><code><b>pub/TWiki/JSCalendarContrib/simple-1.html</b></code></td>
411     <td>   </td>
412   </tr>
413   <tr>
414     <td><code><b>pub/TWiki/JSCalendarContrib/simple-2.html</b></code></td>
415     <td>   </td>
416   </tr>
417   <tr>
418     <td><code><b>pub/TWiki/JSCalendarContrib/simple-3.html</b></code></td>
419     <td>   </td>
420   </tr>
421   <tr>
422     <td><code><b>pub/TWiki/JSCalendarContrib/test.php</b></code></td>
423     <td>   </td>
424   </tr>
425   <tr>
426     <td><code><b>pub/TWiki/JSCalendarContrib/test-position.html</b></code></td>
427     <td>   </td>
428   </tr>
429 </table>
430
431 - Make sure that all files are readable by the web server user
432
433 ## <a name="Contrib Info"></a> Contrib Info
434
435 <table border="1" cellpadding="0" cellspacing="0">
436   <tr>
437     <td align="right"> Author: </td>
438     <td> TWiki:Main/CrawfordCurrie <a href="http://www.c-dot.co.uk" target="_top">http://www.c-dot.co.uk</a></td>
439   </tr>
440   <tr>
441     <td align="right"> Version: </td>
442     <td> 9105 of the Mishoo calendar </td>
443   </tr>
444   <tr>
445     <td align="right"> Copyright ©: </td>
446     <td> See <a href="http://www.dementia.org/twiki//view/doc/html/reference.html" target="_top">the Mishoo documentation</a></td>
447   </tr>
448   <tr>
449     <td align="right"> License: </td>
450     <td> GNU LGPL </td>
451   </tr>
452   <tr>
453     <td align="right"> Dependencies: </td>
454     <td> None </td>
455   </tr>
456   <tr>
457     <td> Change History: </td>
458     <td>   </td>
459   </tr>
460   <tr>
461     <td> 6634 </td>
462     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item453" rel="nofollow">Item453</a> removed [[Main/EditTablePlugins]] private copy of the Mishoo JS calendar, and made sure it works with [[Main/JSCalendarContrib]]. Improved the documentation of the JSCalendar while I was there. </td>
463   </tr>
464   <tr>
465     <td> 6626 </td>
466     <td><a href="http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item468" rel="nofollow">Item468</a> updated docs for Dakar release </td>
467   </tr>
468   <tr>
469     <td> 5048 </td>
470     <td> Cairo readiness </td>
471   </tr>
472   <tr>
473     <td> 5039 </td>
474     <td> Split from [[Main/SharedCode]]</td>
475   </tr>
476   <tr>
477     <td align="right"> 27 Dec 2005 </td>
478     <td> updated to calendar version 1.0; set style for Safari to win2k-1 </td>
479   </tr>
480   <tr>
481     <td align="right"> 14 Aug 2004 </td>
482     <td> Separated out from [[Main/SharedCode]] module </td>
483   </tr>
484   <tr>
485     <td align="right"> Home: </td>
486     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
487   </tr>
488   <tr>
489     <td align="right"> Feedback: </td>
490     <td><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
491   </tr>
492 </table>
493
494 **_Related Topics:_** [[TWikiPreferences]]
495
496 -- TWiki:Main/CrawfordCurrie - 21:44:48 31 March 2006