Mercurial > dive4elements > gnv-client
annotate gnv/src/main/webapp/scripts/calendar-setup.js @ 409:df78178e1180
Moved user interface creation to an own action. This makes avoids code duplication and makes it easier to write new action to handle special interactions, because there is no need for parsing the describe document and creating the user interface after this.
gnv/trunk@599 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 22 Jan 2010 11:28:25 +0000 |
parents | 9719cbd1a23f |
children |
rev | line source |
---|---|
14
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 /* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 * --------------------------------------------------------------------------- |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 * The DHTML Calendar |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
6 * Details and latest version at: |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
7 * http://dynarch.com/mishoo/calendar.epl |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 * This script is distributed under the GNU Lesser General Public License. |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 * This file defines helper functions for setting up the calendar. They are |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 * intended to help non-programmers get a working calendar on their site |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
14 * quickly. This script should not be seen as part of the calendar. It just |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
15 * shows you what one can do with the calendar, while in the same time |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
16 * providing a quick and simple method for setting it up. If you need |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 * exhaustive customization of the calendar creation process feel free to |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
18 * modify this code to suit your needs (this is recommended and much better |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
19 * than modifying calendar.js itself). |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
20 */ |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
21 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
22 // $Id: calendar-setup.js,v 1.1 2007/12/06 13:55:16 drewnak Exp $ |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
23 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
24 /** |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
25 * This function "patches" an input field (or other element) to use a calendar |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
26 * widget for date selection. |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
27 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
28 * The "params" is a single object that can have the following properties: |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
29 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
30 * prop. name | description |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
31 * ------------------------------------------------------------------------------------------------- |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 * inputField | the ID of an input field to store the date |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 * displayArea | the ID of a DIV or other element to show the date |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
34 * button | ID of a button or other element that will trigger the calendar |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
35 * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 * ifFormat | date format that will be stored in the input field |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 * daFormat | the date format that will be used to display the date in displayArea |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
38 * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 * range | array with 2 elements. Default: [1900, 2999] -- the range of years available |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
42 * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
43 * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 * onClose | function that gets called when the calendar is closed. [default] |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
48 * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
49 * date | the date that the calendar will be initially displayed to |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
50 * showsTime | default: false; if true the calendar will include a time selector |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
51 * timeFormat | the time format; can be "12" or "24", default is "12" |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
52 * electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
53 * step | configures the step of the years in drop-down boxes; default: 2 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
54 * position | configures the calendar absolute position; default: null |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 * cache | if "true" (but default: "false") it will reuse the same calendar object, where possible |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 * showOthers | if "true" (but default: "false") it will show days from other months too |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 * |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
58 * None of them is required, they all have default values. However, if you |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 * pass none of "inputField", "displayArea" or "button" you'll get a warning |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 * saying "nothing to setup". |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 */ |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
62 Calendar.setup = function (params) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
65 param_default("inputField", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
66 param_default("displayArea", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
67 param_default("button", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
68 param_default("eventName", "click"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 param_default("ifFormat", "%Y/%m/%d"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
70 param_default("daFormat", "%Y/%m/%d"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
71 param_default("singleClick", true); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
72 param_default("disableFunc", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
73 param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
74 param_default("dateText", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
75 param_default("firstDay", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
76 param_default("align", "Br"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 param_default("range", [1900, 2999]); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
78 param_default("weekNumbers", true); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
79 param_default("flat", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
80 param_default("flatCallback", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
81 param_default("onSelect", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
82 param_default("onClose", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
83 param_default("onUpdate", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 param_default("date", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
85 param_default("showsTime", false); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
86 param_default("timeFormat", "24"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
87 param_default("electric", true); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
88 param_default("step", 2); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
89 param_default("position", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
90 param_default("cache", false); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 param_default("showOthers", false); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
92 param_default("multiple", null); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
94 var tmp = ["inputField", "displayArea", "button"]; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
95 for (var i in tmp) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
96 if (typeof params[tmp[i]] == "string") { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 params[tmp[i]] = document.getElementById(params[tmp[i]]); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
98 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
99 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
100 if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
102 return false; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
104 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
105 function onSelect(cal) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
106 var p = cal.params; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
107 var update = (cal.dateClicked || p.electric); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
108 if (update && p.inputField) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
109 p.inputField.value = cal.date.print(p.ifFormat); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
110 if (typeof p.inputField.onchange == "function") |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
111 p.inputField.onchange(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
112 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
113 if (update && p.displayArea) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
114 p.displayArea.innerHTML = cal.date.print(p.daFormat); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
115 if (update && typeof p.onUpdate == "function") |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
116 p.onUpdate(cal); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 if (update && p.flat) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
118 if (typeof p.flatCallback == "function") |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
119 p.flatCallback(cal); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
120 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
121 if (update && p.singleClick && cal.dateClicked) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
122 cal.callCloseHandler(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
123 }; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
124 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
125 if (params.flat != null) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
126 if (typeof params.flat == "string") |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
127 params.flat = document.getElementById(params.flat); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
128 if (!params.flat) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
129 alert("Calendar.setup:\n Flat specified but can't find parent."); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
130 return false; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
132 var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
133 cal.showsOtherMonths = params.showOthers; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
134 cal.showsTime = params.showsTime; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
135 cal.time24 = (params.timeFormat == "24"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
136 cal.params = params; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
137 cal.weekNumbers = params.weekNumbers; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
138 cal.setRange(params.range[0], params.range[1]); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
139 cal.setDateStatusHandler(params.dateStatusFunc); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
140 cal.getDateText = params.dateText; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
141 if (params.ifFormat) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
142 cal.setDateFormat(params.ifFormat); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
143 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
144 if (params.inputField && typeof params.inputField.value == "string") { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
145 cal.parseDate(params.inputField.value); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
146 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
147 cal.create(params.flat); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
148 cal.show(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
149 return false; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
150 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
151 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
152 var triggerEl = params.button || params.displayArea || params.inputField; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
153 triggerEl["on" + params.eventName] = function() { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
154 var dateEl = params.inputField || params.displayArea; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
155 var dateFmt = params.inputField ? params.ifFormat : params.daFormat; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
156 var mustCreate = false; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
157 var cal = window.calendar; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
158 if (dateEl) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
159 params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
160 if (!(cal && params.cache)) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
161 window.calendar = cal = new Calendar(params.firstDay, |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
162 params.date, |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
163 params.onSelect || onSelect, |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
164 params.onClose || function(cal) { cal.hide(); }); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
165 cal.showsTime = params.showsTime; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
166 cal.time24 = (params.timeFormat == "24"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
167 cal.weekNumbers = params.weekNumbers; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
168 mustCreate = true; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
169 } else { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
170 if (params.date) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
171 cal.setDate(params.date); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
172 cal.hide(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
173 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
174 if (params.multiple) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
175 cal.multiple = {}; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
176 for (var i = params.multiple.length; --i >= 0;) { |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
177 var d = params.multiple[i]; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
178 var ds = d.print("%Y%m%d"); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
179 cal.multiple[ds] = d; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
180 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
181 } |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
182 cal.showsOtherMonths = params.showOthers; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
183 cal.yearStep = params.step; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
184 cal.setRange(params.range[0], params.range[1]); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
185 cal.params = params; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
186 cal.setDateStatusHandler(params.dateStatusFunc); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
187 cal.getDateText = params.dateText; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
188 cal.setDateFormat(dateFmt); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
189 if (mustCreate) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
190 cal.create(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
191 cal.refresh(); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
192 if (!params.position) |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
193 cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
194 else |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
195 cal.showAt(params.position[0], params.position[1]); |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
196 return false; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
197 }; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
198 |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
199 return cal; |
9719cbd1a23f
Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
200 }; |