├── LICENSE
├── README.md
├── calendarGantt-monthDemo-src.html
├── calendarGantt-monthDemo.html
├── calendarGantt-weekDemo-src.html
├── calendarGantt-weekDemo.html
├── calendarGantt.html
├── css
└── style.css
├── ganttCalendar-demo.png
├── ganttCalendar-src.js
└── js
├── ganttCalendar
├── LICENCE.txt
├── css
│ └── ganttCalendar.css
├── ganttCalendar-1.0.min.js
├── ganttCalendar-1.1-min.js
├── ganttCalendar-1.2-min.js
├── ganttCalendar-1.3-min.js
├── ganttCalendar-src.js
└── img
│ ├── bg-grid-100-empty.gif
│ ├── bg-grid-100.gif
│ ├── bg-grid-150-empty.gif
│ ├── bg-grid-150.gif
│ ├── bg-grid-20.gif
│ ├── bg-grid-200-empty.gif
│ ├── bg-grid-200.gif
│ ├── bg-grid-30.gif
│ ├── bg-grid-40.gif
│ ├── bg-grid-50-empty.gif
│ ├── bg-grid-50.gif
│ ├── bg-grid.gif
│ ├── button-inset-left.png
│ ├── button-inset-right.png
│ ├── button-inset-right.xcf
│ ├── button-inset.png
│ ├── empty.gif
│ ├── glyphs-16
│ ├── flag.png
│ ├── lock.png
│ ├── star.png
│ └── unlock.png
│ ├── slider-handle.png
│ └── slider.png
├── google-code-prettify
├── lang-apollo.js
├── lang-clj.js
├── lang-css.js
├── lang-go.js
├── lang-hs.js
├── lang-lisp.js
├── lang-lua.js
├── lang-ml.js
├── lang-n.js
├── lang-proto.js
├── lang-scala.js
├── lang-sql.js
├── lang-tex.js
├── lang-vb.js
├── lang-vhdl.js
├── lang-wiki.js
├── lang-xq.js
├── lang-yaml.js
├── prettify.css
└── prettify.js
├── jquery
├── custom_jquery.js
├── date.js
├── jquery-1.4.1.min.js
├── jquery-ui-1.10.2.custom.css
├── jquery-ui.min.js
├── jquery.bind.js
├── jquery.datePicker.js
├── jquery.dimensions.js
├── jquery.filestyle.js
├── jquery.pngFix.pack.js
├── jquery.selectbox-0.5.js
├── jquery.selectbox-0.5_style_2.js
├── jquery.selectbox-0.5_style_3.js
├── jquery.tooltip.js
├── jquery.usermode.js
├── ui.checkbox.js
└── ui.core.js
└── tests
├── calendarGantt-test-01.html
├── calendarGantt-test-02.html
├── calendarGantt-test-03.html
├── calendarGantt-test-04.html
├── calendarGantt-test-05.html
├── calendarGantt-test-06.html
├── calendarGantt-test-07.html
├── calendarGantt-test-08.html
└── calendarGantt-test-09.html
/README.md:
--------------------------------------------------------------------------------
1 | # ganttCalendar
2 | Javascript library to display a calendar like a gantt planning
3 |
4 | ## Demo
5 | [Month demo](http://jc.specs.free.fr/ganttCalendar/calendarGantt-monthDemo.html)
6 |
7 | [Week demo](http://jc.specs.free.fr/ganttCalendar/calendarGantt-weekDemo.html)
8 |
--------------------------------------------------------------------------------
/calendarGantt-monthDemo-src.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar Gantt
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
130 |
131 |
132 |
133 |
134 |
135 |
136 | GanttCalendar Demo
137 | Démo du mode "Affichage mensuel" avec 4 niveaux de zoom.
138 |
139 | Retour à l'article
140 | |
141 | Calendrier Hebdomadaire
142 |
143 |
144 |
145 |
146 |
147 |
148 |
154 |
155 |
156 |
157 |
158 | La 3e et la plus importante conférence des Nations Unies sur l’environnement et le
159 | développement durable, aussi connue sous le nom de « Sommet planète Terre », a eu lieu à RIO
160 | de Janeiro, au Brésil en juin 1992. Cette conférence a réuni les dirigeants politiques, les
161 | diplomates, les scientifiques, les représentants des organisations non gouvernementales (ONG)
162 | de 182 pays dans un élan visant à concilier l’impact des activités socio-économiques humaines et
163 | l’environnement.
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 | $(function() {
172 | // Definition : Event(ressourceId, eventId, startDay, endDay, label)
173 |
174 | // 2012 - oct :
175 | var evt1 = new EventCal(1, "event_001", 2, 5, "Event Paris - WSDD");
176 | var evt2 = new EventCal(2, "event_002", 2, 5, "Paris - WSDD(2-5)");
177 | var evt5 = new EventCal(3, "event_005", 4, 15, "Long journey");
178 | var evt6 = new EventCal(1, "event_006", 6, 10, "Visit Stan LONE");
179 | var evt7 = new EventCal(1, "event_007", 12, 19, "Confirm Dentist");
180 | var evt8 = new EventCal(4, "event_008", 6, 10, "Visit Stan LONE");
181 | var evt9 = new EventCal(5, "event_009", 10, 15, "Maintenance");
182 |
183 | // 2012 - nov :
184 | var evt3 = new EventCal(3, "event_002", 3, 5, "SF - EEES(3-5)");
185 | var evt3bis = new EventCal(3, "event_002BIS", 8, 14, "SF - Paintings");
186 | var evt4 = new EventCal(4, "event_003", 7, 9, "team (7-9)");
187 |
188 | var timeline = new TimeLineMonth("myGanttCalendar",10, 2012,
189 | {groups:
190 | [ {name: "Singers",
191 | id: 1,
192 | resources: [{name:"Henri", id:1},
193 | {name:"Frank", id:2},
194 | {name:"Jenny", id:3}]
195 | }, {name: "Objects",
196 | id: 2,
197 | resources: [{name:"Micro",id:4},
198 | {name:"Ampli", id:5}]
199 | }]
200 | },
201 | function(){
202 | switch(this.year){
203 | case 2011:
204 | break;
205 | case 2012:
206 | switch (this.month) {
207 | case 10:
208 | evt1.drawIn(this);
209 | evt1.jObject.addClass("specialEvent");
210 | evt2.drawIn(this);
211 | evt2.jObject.addClass("flagEvent");
212 | evt5.drawIn(this);
213 | evt5.jObject.addClass("flagEvent");
214 | evt6.drawIn(this);
215 | evt6.jObject.addClass("lockEvent");
216 | evt7.drawIn(this);
217 | evt7.jObject.addClass("unlockEvent");
218 | evt8.drawIn(this);
219 | evt9.drawIn(this);
220 | break;
221 | case 11:
222 | evt3.drawIn(this);
223 | evt3bis.drawIn(this);
224 | evt3bis.jObject.addClass("lockEvent");
225 | evt4.drawIn(this);
226 | break;
227 |
228 | default:
229 | break;
230 | }
231 | break;
232 | default:
233 | break;
234 | }
235 | this.updateOccupation();
236 | }
237 | );
238 |
239 | timeline.lang = 'en';
240 | timeline.cellWidth = 40;
241 | timeline.drawElements();
242 | timeline.updateMonthCallback();
243 |
244 |
245 | evt1.jObject.mouseover(
246 | function(e){
247 | var infoBox = $("#info_evt1");
248 | var x = e.pageX - this.offsetLeft;
249 | var y = e.pageY - this.offsetTop;
250 | infoBox.css("left",x+60);
251 | infoBox.css("top",y+15);
252 | infoBox.show();
253 | });
254 | evt1.jObject.mouseout(function(e){
255 | $("#info_evt1").hide();
256 | });
257 |
258 |
259 | /**
260 | * Zoom feature
261 | */
262 | $( "#zoomSlider" ).slider({ min:20, max: 50, step: 10,
263 | value: timeline.cellWidth,
264 | change: function( event, ui ) {
265 | timeline.cellWidth = ui.value;
266 | timeline.drawElements();
267 | timeline.updateMonthCallback();
268 | $("#zoomValue").html(ui.value);
269 | }
270 | });
271 | $("#zoomValue").html(timeline.cellWidth);
272 | });
273 |
274 |
275 |
276 |
--------------------------------------------------------------------------------
/calendarGantt-monthDemo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar Gantt
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
127 |
128 |
129 |
130 |
131 |
132 |
133 | GanttCalendar Demo
134 | Démo du mode "Affichage mensuel" avec 4 niveaux de zoom.
135 |
136 | Retour à l'article
137 | |
138 | Calendrier Hebdomadaire
139 |
140 |
141 |
142 |
143 |
144 |
145 |
151 |
152 |
153 |
154 |
155 | La 3e et la plus importante conférence des Nations Unies sur l’environnement et le
156 | développement durable, aussi connue sous le nom de « Sommet planète Terre », a eu lieu à RIO
157 | de Janeiro, au Brésil en juin 1992. Cette conférence a réuni les dirigeants politiques, les
158 | diplomates, les scientifiques, les représentants des organisations non gouvernementales (ONG)
159 | de 182 pays dans un élan visant à concilier l’impact des activités socio-économiques humaines et
160 | l’environnement.
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 | $(function() {
169 | // Definition : Event(ressourceId, eventId, startDay, endDay, label)
170 |
171 | // 2012 - oct :
172 | var evt1 = new EventCal(1, "event_001", 2, 5, "Event Paris - WSDD");
173 | var evt2 = new EventCal(2, "event_002", 2, 5, "Paris - WSDD(2-5)");
174 | var evt5 = new EventCal(3, "event_005", 4, 15, "Long journey");
175 | var evt6 = new EventCal(1, "event_006", 6, 10, "Visit Stan LONE");
176 | var evt7 = new EventCal(1, "event_007", 12, 19, "Confirm Dentist");
177 | var evt8 = new EventCal(4, "event_008", 6, 10, "Visit Stan LONE");
178 | var evt9 = new EventCal(5, "event_009", 10, 15, "Maintenance");
179 |
180 | // 2012 - nov :
181 | var evt3 = new EventCal(3, "event_002", 3, 5, "SF - EEES(3-5)");
182 | var evt3bis = new EventCal(3, "event_002BIS", 8, 14, "SF - Paintings");
183 | var evt4 = new EventCal(4, "event_003", 7, 9, "team (7-9)");
184 |
185 | var timeline = new TimeLineMonth("myGanttCalendar",10, 2012,
186 | {groups:
187 | [ {name: "Singers",
188 | id: 1,
189 | resources: [{name:"Henri", id:1},
190 | {name:"Frank", id:2},
191 | {name:"Jenny", id:3}]
192 | }, {name: "Objects",
193 | id: 2,
194 | resources: [{name:"Micro",id:4},
195 | {name:"Ampli", id:5}]
196 | }]
197 | },
198 | function(){
199 | switch(this.year){
200 | case 2011:
201 | break;
202 | case 2012:
203 | switch (this.month) {
204 | case 10:
205 | evt1.drawIn(this);
206 | evt1.jObject.addClass("specialEvent");
207 | evt2.drawIn(this);
208 | evt2.jObject.addClass("flagEvent");
209 | evt5.drawIn(this);
210 | evt5.jObject.addClass("flagEvent");
211 | evt6.drawIn(this);
212 | evt6.jObject.addClass("lockEvent");
213 | evt7.drawIn(this);
214 | evt7.jObject.addClass("unlockEvent");
215 | evt8.drawIn(this);
216 | evt9.drawIn(this);
217 | break;
218 | case 11:
219 | evt3.drawIn(this);
220 | evt3bis.drawIn(this);
221 | evt3bis.jObject.addClass("lockEvent");
222 | evt4.drawIn(this);
223 | break;
224 |
225 | default:
226 | break;
227 | }
228 | break;
229 | default:
230 | break;
231 | }
232 | }
233 | );
234 |
235 | timeline.lang = 'en';
236 | timeline.cellWidth = 40;
237 | timeline.drawElements();
238 | timeline.updateCallback();
239 |
240 |
241 | evt1.jObject.mouseover(
242 | function(e){
243 | var infoBox = $("#info_evt1");
244 | var x = e.pageX - this.offsetLeft;
245 | var y = e.pageY - this.offsetTop;
246 | infoBox.css("left",x+60);
247 | infoBox.css("top",y+15);
248 | infoBox.show();
249 | });
250 | evt1.jObject.mouseout(function(e){
251 | $("#info_evt1").hide();
252 | });
253 |
254 |
255 | /**
256 | * Zoom feature
257 | */
258 | $( "#zoomSlider" ).slider({ min:20, max: 50, step: 10,
259 | value: timeline.cellWidth,
260 | change: function( event, ui ) {
261 | timeline.cellWidth = ui.value;
262 | timeline.drawElements();
263 | timeline.updateMonthCallback();
264 | $("#zoomValue").html(ui.value);
265 | }
266 | });
267 | $("#zoomValue").html(timeline.cellWidth);
268 | });
269 |
270 |
271 |
272 |
--------------------------------------------------------------------------------
/calendarGantt-weekDemo-src.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar Gantt
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
146 |
147 |
148 |
149 |
150 |
151 | GanttCalendar Demo
152 | Démo du mode "Affichage hebdomadaire" avec 4 niveaux de zoom.
153 |
154 | Retour à l'article
155 | |
156 | Calendrier Mensuel
157 |
158 |
159 |
160 |
161 |
162 |
168 |
169 |
170 |
171 |
172 |
173 | La 3e et la plus importante conférence des Nations Unies sur l’environnement et le
174 | développement durable, aussi connue sous le nom de « Sommet planète Terre », a eu lieu à RIO
175 | de Janeiro, au Brésil en juin 1992. Cette conférence a réuni les dirigeants politiques, les
176 | diplomates, les scientifiques, les représentants des organisations non gouvernementales (ONG)
177 | de 182 pays dans un élan visant à concilier l’impact des activités socio-économiques humaines et
178 | l’environnement.
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 | $(function() {
187 | // Definition : EventCal(ressourceId, eventId, startDay, endDay, label)
188 |
189 | var evt1 = new EventCal(1, "event_001", 4, 5, "Event Paris - WSDD");
190 | var evt2 = new EventCal(2, "event_002", 5, 7, "Paris - WSDD(2-5)");
191 | var evt2_bis = new EventCal(2, "event_002_bis", 4, 6, "Réunion");
192 | var evt3 = new EventCal(2, "event_003", 14, 17, "Préparation Evènement");
193 | var evt5 = new EventCal(3, "event_005", 9, 11, "Week-end");
194 | var evt5_bis = new EventCal(3, "event_005_bis", 8, 9.5, "Réunion");
195 | var evt5_ter = new EventCal(3, "event_005_ter", 6.5, 8.5, "Transfert");
196 | var evt6 = new EventCal(4, "event_006", 9, 11, "Week-end");
197 | var evt7 = new EventCal(5, "event_007", 9, 11, "Week-end");
198 | var evt8 = new EventCal(6, "event_008", 9, 11, "Week-end");
199 | var evt9 = new EventCal(7, "event_009", 9, 11, "Week-end");
200 | var evt10 = new EventCal(8, "event_010", 9, 11, "Week-end");
201 | var evt11 = new EventCal(9, "event_011", 9, 11, "Week-end");
202 | var evt12 = new EventCal(10, "event_012", 9, 11, "Week-end");
203 | var evt13 = new EventCal(11, "event_013", 9, 11, "Week-end");
204 | var evt14 = new EventCal(1, "event_014", 9, 11, "Week-end");
205 | var evt15 = new EventCal(2, "event_015", 9, 11, "Week-end");
206 |
207 | var evt101 = new EventCal(101, "event_101", 7, 8, "Répétition générale");
208 | var evt102 = new EventCal(102, "event_102", 6, 8, "Contrôle qualité");
209 |
210 | var timeline = new TimeLineWeek("myGanttCalendar",10, 2013,
211 | {groups:
212 | [ {name: "Singers",
213 | id: 1,
214 | resources: [{name:"Henri", id:1},
215 | {name:"Frank", id:2},
216 | {name:"Jenny", id:3},
217 | {name:"Stan", id:4},
218 | {name:"Sammy", id:5},
219 | {name:"Jason", id:6},
220 | {name:"Robert", id:7},
221 | {name:"Madison", id:8},
222 | {name:"Juliette", id:9},
223 | {name:"Nassa", id:10},
224 | {name:"Tamara", id:11}]
225 | }, {name: "Objects",
226 | id: 2,
227 | resources: [{name:"Micro",id:101},
228 | {name:"Ampli", id:102}]
229 | }]
230 | },
231 | function(){ // updateWeekCallback()
232 | switch(this.year){
233 | case 2011:
234 | break;
235 | case 2013:
236 | switch (this.weekNumber) {
237 | case 10:
238 | evt1.drawIn(this);
239 | evt2.drawIn(this);
240 | evt2_bis.drawIn(this);
241 | evt5.drawIn(this);
242 | evt5_bis.drawIn(this);
243 | evt5_ter.drawIn(this);
244 | evt6.drawIn(this);
245 | evt7.drawIn(this);
246 | evt8.drawIn(this);
247 | evt9.drawIn(this);
248 | evt10.drawIn(this);
249 | evt11.drawIn(this);
250 | evt12.drawIn(this);
251 | evt13.drawIn(this);
252 | evt14.drawIn(this);
253 | evt15.drawIn(this);
254 | evt101.drawIn(this);
255 | evt102.drawIn(this);
256 |
257 | evt1.jObject.addClass("specialEvent");
258 | evt2.jObject.addClass("flagEvent");
259 | evt5.jObject.addClass("flagEvent");
260 | break;
261 | case 11:
262 | evt3.drawIn(this);
263 | break;
264 |
265 | default:
266 | break;
267 | }
268 | break;
269 | default:
270 | break;
271 | }
272 | }
273 | );
274 |
275 | timeline.lang = 'fr';
276 | timeline.cellWidth = 150;
277 | timeline.drawElements();
278 |
279 | evt1.jObject.mouseover(
280 | function(e){
281 | var infoBox = $("#info_evt1");
282 | var x = e.pageX - this.offsetLeft;
283 | var y = e.pageY - this.offsetTop;
284 | infoBox.css("left",x+10);
285 | infoBox.css("top",y+15);
286 | infoBox.show();
287 | });
288 | evt1.jObject.mouseout(function(e){
289 | $("#info_evt1").hide();
290 | });
291 |
292 | /**
293 | * Zoom feature
294 | */
295 | $( "#zoomSlider" ).slider({ min:50, max: 200, step: 50,
296 | value: timeline.cellWidth,
297 | change: function( event, ui ) {
298 | timeline.cellWidth = ui.value;
299 | timeline.drawElements();
300 | $("#zoomValue").html(ui.value);
301 | }
302 | });
303 | $("#zoomValue").html(timeline.cellWidth);
304 | });
305 |
306 |
307 |
308 |
--------------------------------------------------------------------------------
/calendarGantt-weekDemo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar Gantt
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
147 |
148 |
149 |
150 |
151 |
152 | GanttCalendar Demo
153 | Démo du mode "Affichage hebdomadaire" avec 4 niveaux de zoom.
154 |
155 | Retour à l'article
156 | |
157 | Calendrier Mensuel
158 | |
159 | Tests des calendriers
160 |
161 |
162 |
163 |
164 |
165 |
171 |
172 |
173 |
174 |
175 |
176 | La 3e et la plus importante conférence des Nations Unies sur l’environnement et le
177 | développement durable, aussi connue sous le nom de « Sommet planète Terre », a eu lieu à RIO
178 | de Janeiro, au Brésil en juin 1992. Cette conférence a réuni les dirigeants politiques, les
179 | diplomates, les scientifiques, les représentants des organisations non gouvernementales (ONG)
180 | de 182 pays dans un élan visant à concilier l’impact des activités socio-économiques humaines et
181 | l’environnement.
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 | $(function() {
190 | // Definition : EventCal(ressourceId, eventId, startDay, endDay, label)
191 |
192 | var evt1 = new EventCal(1, "event_001", 4, 5, "Event Paris - WSDD");
193 | var evt2 = new EventCal(2, "event_002", 5, 7, "Paris - WSDD(2-5)");
194 | var evt2_bis = new EventCal(2, "event_002_bis", 4, 6, "Réunion");
195 | var evt3 = new EventCal(2, "event_003", 14, 17, "Préparation Evènement");
196 | var evt5 = new EventCal(3, "event_005", 9, 11, "Week-end");
197 | var evt5_bis = new EventCal(3, "event_005_bis", 8, 9.5, "Réunion");
198 | var evt5_ter = new EventCal(3, "event_005_ter", 6.5, 8.5, "Transfert");
199 | var evt6 = new EventCal(4, "event_006", 9, 11, "Week-end");
200 | var evt7 = new EventCal(5, "event_007", 9, 11, "Week-end");
201 | var evt8 = new EventCal(6, "event_008", 9, 11, "Week-end");
202 | var evt9 = new EventCal(7, "event_009", 9, 11, "Week-end");
203 | var evt10 = new EventCal(8, "event_010", 9, 11, "Week-end");
204 | var evt11 = new EventCal(9, "event_011", 9, 11, "Week-end");
205 | var evt12 = new EventCal(10, "event_012", 9, 11, "Week-end");
206 | var evt13 = new EventCal(11, "event_013", 9, 11, "Week-end");
207 | var evt14 = new EventCal(1, "event_014", 9, 11, "Week-end");
208 | var evt15 = new EventCal(2, "event_015", 9, 11, "Week-end");
209 |
210 | var evt101 = new EventCal(101, "event_101", 7, 8, "Répétition générale");
211 | var evt102 = new EventCal(102, "event_102", 6, 8, "Contrôle qualité");
212 |
213 | var timeline = new TimeLineWeek("myGanttCalendar",10, 2013,
214 | {groups:
215 | [ {name: "Singers",
216 | id: 1,
217 | resources: [{name:"Henri", id:1},
218 | {name:"Frank", id:2},
219 | {name:"Jenny", id:3},
220 | {name:"Stan", id:4},
221 | {name:"Sammy", id:5},
222 | {name:"Jason", id:6},
223 | {name:"Robert", id:7},
224 | {name:"Madison", id:8},
225 | {name:"Juliette", id:9},
226 | {name:"Nassa", id:10},
227 | {name:"Tamara", id:11}]
228 | }, {name: "Objects",
229 | id: 2,
230 | resources: [{name:"Micro",id:101},
231 | {name:"Ampli", id:102}]
232 | }]
233 | },
234 | function(){ // updateCallback()
235 | switch(this.year){
236 | case 2011:
237 | break;
238 | case 2013:
239 | switch (this.weekNumber) {
240 | case 10:
241 | evt1.drawIn(this);
242 | evt2.drawIn(this);
243 | evt2_bis.drawIn(this);
244 | evt5.drawIn(this);
245 | evt5_bis.drawIn(this);
246 | evt5_ter.drawIn(this);
247 | evt6.drawIn(this);
248 | evt7.drawIn(this);
249 | evt8.drawIn(this);
250 | evt9.drawIn(this);
251 | evt10.drawIn(this);
252 | evt11.drawIn(this);
253 | evt12.drawIn(this);
254 | evt13.drawIn(this);
255 | evt14.drawIn(this);
256 | evt15.drawIn(this);
257 | evt101.drawIn(this);
258 | evt102.drawIn(this);
259 |
260 | evt1.jObject.addClass("specialEvent");
261 | evt2.jObject.addClass("flagEvent");
262 | evt5.jObject.addClass("flagEvent");
263 | break;
264 | case 11:
265 | evt3.drawIn(this);
266 | break;
267 |
268 | default:
269 | break;
270 | }
271 | break;
272 | default:
273 | break;
274 | }
275 | this.updateOccupation();
276 | }
277 | );
278 |
279 | timeline.lang = 'fr';
280 | timeline.cellWidth = 150;
281 | timeline.drawElements();
282 | timeline.updateCallback();
283 |
284 |
285 | evt1.jObject.mouseover(
286 | function(e){
287 | var infoBox = $("#info_evt1");
288 | var x = e.pageX - this.offsetLeft;
289 | var y = e.pageY - this.offsetTop;
290 | infoBox.css("left",x+10);
291 | infoBox.css("top",y+15);
292 | infoBox.show();
293 | });
294 | evt1.jObject.mouseout(function(e){
295 | $("#info_evt1").hide();
296 | });
297 |
298 | /**
299 | * Zoom feature
300 | */
301 | $( "#zoomSlider" ).slider({ min:50, max: 200, step: 50,
302 | value: timeline.cellWidth,
303 | change: function( event, ui ) {
304 | timeline.cellWidth = ui.value;
305 | timeline.drawElements();
306 | timeline.updateWeekCallback();
307 | $("#zoomValue").html(ui.value);
308 | }
309 | });
310 | $("#zoomValue").html(timeline.cellWidth);
311 | });
312 |
313 |
314 |
315 |
--------------------------------------------------------------------------------
/calendarGantt.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Calendar Gantt
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 | La 3e et la plus importante conférence des Nations Unies sur l’environnement et le
111 | développement durable, aussi connue sous le nom de « Sommet planète Terre », a eu lieu à RIO
112 | de Janeiro, au Brésil en juin 1992. Cette conférence a réuni les dirigeants politiques, les
113 | diplomates, les scientifiques, les représentants des organisations non gouvernementales (ONG)
114 | de 182 pays dans un élan visant à concilier l’impact des activités socio-économiques humaines et
115 | l’environnement.
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | @CHARSET "UTF-8";
2 |
3 | .largeCalendar{
4 | /*width: 601px;*/
5 | height: 300px;
6 | border: 1px solid #555;
7 | border-radius: 3px;
8 | }
9 |
10 |
11 | .leftColumn {
12 | float: left;
13 | border-right: 1px solid #aaa;
14 | }
15 | .eventsContainer{
16 | width: 300px;
17 | overflow:auto;
18 | float: right;
19 | }
20 |
21 |
22 | .debug{
23 | border: 1px solid red;
24 | height: 50px;
25 | }
26 |
27 | .group{
28 | font-weight: normal;
29 |
30 | height: 16px;
31 | color: #fff;
32 | font-family: arial;
33 | font-size: 11px;
34 | background-color: #33333a;
35 | display: block;
36 | clear: both;
37 | width: 100%;
38 | padding-top: 3px;
39 | }
40 |
41 | .ressource{
42 | text-align: right;
43 | background-color: #e9e9e9;
44 | font-family: arial;
45 | font-size: 12px;
46 | padding-right: 5px;
47 | }
48 |
49 | .lineRessource {
50 | height: 21px;
51 | padding-top: 3px;
52 | }
53 |
54 | .lineOfDays{
55 | display: block;
56 | clear: both;
57 | }
58 |
59 | .lineForRessource {
60 | display: block;
61 | clear: both;
62 | height: 23px;
63 | padding-top: 1px;
64 | background-image: url('img/bg-grid.gif');
65 | position: relative;
66 | }
67 |
68 | .for31days {
69 | width: 1550px; /* = 50*31 */
70 | }
71 | .for30days {
72 | width: 1500px; /* = 50*30 */
73 | }
74 | .for29days {
75 | width: 1450px; /* = 50*29 */
76 | }
77 | .for28days {
78 | width: 1400px; /* = 50*28 */
79 | }
80 |
81 | .headerRessources, .day{
82 | height: 25px;
83 | width: 50px;
84 | padding-top: 5px;
85 | float: left;
86 | text-align: center;
87 |
88 | color: #fff;
89 | font-family: arial;
90 | font-size: 10px;
91 | font-weight: bold;
92 |
93 | background: #4a4a53; /* Old browsers */
94 | background: -moz-linear-gradient(top, #4a4a53 0%, #33333a 100%); /* FF3.6+ */
95 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4a4a53), color-stop(100%,#33333a)); /* Chrome,Safari4+ */
96 | background: -webkit-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Chrome10+,Safari5.1+ */
97 | background: -o-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Opera 11.10+ */
98 | background: -ms-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* IE10+ */
99 | background: linear-gradient(to bottom, #4a4a53 0%,#33333a 100%); /* W3C */
100 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a4a53', endColorstr='#33333a',GradientType=0 ); /* IE6-9 */
101 |
102 | }
103 |
104 | .headerRessources {
105 | color: #fff;
106 | font-family: arial;
107 | font-size: 10px;
108 | border: none;
109 | min-width: 120px;
110 | width: 120px;
111 | height: 25px;
112 | padding-top: 5px;
113 |
114 | background: #4a4a53; /* Old browsers */
115 | background: -moz-linear-gradient(top, #4a4a53 0%, #33333a 100%); /* FF3.6+ */
116 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4a4a53), color-stop(100%,#33333a)); /* Chrome,Safari4+ */
117 | background: -webkit-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Chrome10+,Safari5.1+ */
118 | background: -o-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Opera 11.10+ */
119 | background: -ms-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* IE10+ */
120 | background: linear-gradient(to bottom, #4a4a53 0%,#33333a 100%); /* W3C */
121 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a4a53', endColorstr='#33333a',GradientType=0 ); /* IE6-9 */
122 |
123 | }
124 |
125 | .month {
126 | color: #fff;
127 | font-family: arial;
128 | font-size: 10px;
129 | border: none;
130 | min-width: 105px;
131 | width: 105px;
132 | height: 25px;
133 | padding-top: 5px;
134 | width: 100%;
135 |
136 | background: #4a4a53; /* Old browsers */
137 | background: -moz-linear-gradient(top, #4a4a53 0%, #33333a 100%); /* FF3.6+ */
138 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4a4a53), color-stop(100%,#33333a)); /* Chrome,Safari4+ */
139 | background: -webkit-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Chrome10+,Safari5.1+ */
140 | background: -o-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* Opera 11.10+ */
141 | background: -ms-linear-gradient(top, #4a4a53 0%,#33333a 100%); /* IE10+ */
142 | background: linear-gradient(to bottom, #4a4a53 0%,#33333a 100%); /* W3C */
143 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4a4a53', endColorstr='#33333a',GradientType=0 ); /* IE6-9 */
144 | }
145 |
146 | .month .prevMonth {
147 | float: left;
148 | background-image: url('img/button-inset-left.png');
149 | background-repeat: no-repeat;
150 | width: 15px;
151 | height: 15px;
152 | margin-left: 5px;
153 | padding-left: 5px;
154 | padding-top: 2px;
155 | cursor: pointer;
156 | }
157 |
158 | .month .prevMonth:HOVER, .month .nextMonth:HOVER {
159 | background-position: 0 -17px;
160 | }
161 |
162 | .month .nextMonth {
163 | float: right;
164 | background-image: url('img/button-inset-right.png');
165 | background-repeat: no-repeat;
166 | width: 15px;
167 | height: 15px;
168 | margin-right: 5px;
169 | padding-right: 5px;
170 | padding-top: 2px;
171 | cursor: pointer;
172 | }
173 |
174 | .month .nameMonth {
175 | float: left;
176 | text-align: center;
177 | width: 75%;
178 | padding-left: 9%;
179 | font-size: 12px;
180 | font-weight: bold;
181 | padding-top: 2px;
182 | }
183 |
184 |
185 | .horizontalCalendarHeaders {
186 | }
187 | .horizontalCalendarContent {
188 | }
189 |
190 | .labelCenter{
191 | text-align: right;
192 | width: 100%;
193 | }
194 |
195 | .labelLeft{
196 | margin-left: 5px;
197 | text-align: left;
198 | }
199 |
200 | .labelRight{
201 | margin-top: 5px;
202 | margin-right: 5px;
203 | text-align: right;
204 | }
205 |
206 | .event{
207 | background-color: #ccc;
208 | height: 16px;
209 | border-radius: 3px;
210 | cursor: pointer;
211 | text-align: center;
212 | border: 1px solid #555;
213 | font-family: arial;
214 | color: #222;
215 | top: 1px;
216 | position: absolute;
217 | padding-top: 3px;
218 | font-size: 12px;
219 | }
220 |
221 | .event:hover{
222 | box-shadow: 0 0 3px black;
223 | border: 1px solid #000;
224 | color: #000;
225 | }
226 |
227 | .eventContent{
228 |
229 | }
230 |
231 |
232 | .specialEvent{
233 | background-image: url('img/glyphs-16/star.png');
234 | background-position: right;
235 | background-repeat: no-repeat;
236 | }
237 |
238 | .lockEvent{
239 | background-image: url('img/glyphs-16/lock.png');
240 | background-position: right;
241 | background-repeat: no-repeat;
242 | }
243 |
244 | .unlockEvent{
245 | background-image: url('img/glyphs-16/unlock.png');
246 | background-position: right;
247 | background-repeat: no-repeat;
248 | }
249 |
250 | .flagEvent{
251 | background-image: url('img/glyphs-16/flag.png');
252 | background-position: right;
253 | background-repeat: no-repeat;
254 | }
255 |
256 | /**
257 | * Info box
258 | */
259 | .infoBox{
260 | font-family: helvetica,arial,sans-serif;
261 | box-shadow: 0 0 10px #AAAAAA;
262 | border: 1px solid #999999;
263 | border-radius: 6px 6px 0px 0px;
264 | width: 250px;
265 | }
266 | .infoBox .header{
267 | border-radius: 5px 5px 0px 0px;
268 | border-top-color: #0A81D0;
269 | text-shadow: 0 1px 0 #003D68;
270 | color: #FFFFFF;
271 | padding: 4px 8px;
272 | font-size: 14px;
273 |
274 | background: #7abcff; /* Old browsers */
275 | background: -moz-linear-gradient(top, #7abcff 0%, #4c88c4 44%, #2b66a0 100%); /* FF3.6+ */
276 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7abcff), color-stop(44%,#4c88c4), color-stop(100%,#2b66a0)); /* Chrome,Safari4+ */
277 | background: -webkit-linear-gradient(top, #7abcff 0%,#4c88c4 44%,#2b66a0 100%); /* Chrome10+,Safari5.1+ */
278 | background: -o-linear-gradient(top, #7abcff 0%,#4c88c4 44%,#2b66a0 100%); /* Opera 11.10+ */
279 | background: -ms-linear-gradient(top, #7abcff 0%,#4c88c4 44%,#2b66a0 100%); /* IE10+ */
280 | background: linear-gradient(to bottom, #7abcff 0%,#4c88c4 44%,#2b66a0 100%); /* W3C */
281 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7abcff', endColorstr='#2b66a0',GradientType=0 ); /* IE6-9 */
282 |
283 | }
284 | .infoBox .content{
285 | color: #333;
286 | text-shadow: 0 1px 0 #FFFFFF;
287 | font-size: 10px;
288 | padding: 5px 10px 5px 10px;
289 |
290 | background: #d9dbd4; /* Old browsers */
291 | background: -moz-linear-gradient(top, #d9dbd4 0%, #bcbcbc 100%); /* FF3.6+ */
292 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d9dbd4), color-stop(100%,#bcbcbc)); /* Chrome,Safari4+ */
293 | background: -webkit-linear-gradient(top, #d9dbd4 0%,#bcbcbc 100%); /* Chrome10+,Safari5.1+ */
294 | background: -o-linear-gradient(top, #d9dbd4 0%,#bcbcbc 100%); /* Opera 11.10+ */
295 | background: -ms-linear-gradient(top, #d9dbd4 0%,#bcbcbc 100%); /* IE10+ */
296 | background: linear-gradient(to bottom, #d9dbd4 0%,#bcbcbc 100%); /* W3C */
297 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d9dbd4', endColorstr='#bcbcbc',GradientType=0 ); /* IE6-9 */
298 |
299 |
300 | }
301 |
302 |
--------------------------------------------------------------------------------
/ganttCalendar-demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/ganttCalendar-demo.png
--------------------------------------------------------------------------------
/js/ganttCalendar/ganttCalendar-1.0.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Gantt Calendar by Julien CORON - 2012
3 | * Copyright 2012 Julien CORON
4 | *
5 | * Licence :
6 | Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
7 | modifier suivant les termes de la GNU General Public License telle que
8 | publiée par la Free Software Foundation ; soit la version 3 de la licence,
9 | soit (à votre gré) toute version ultérieure.
10 |
11 | Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
12 | GARANTIE ; pas même la garantie implicite de COMMERCIABILISABILITÉ ni
13 | d'ADÉQUATION à UN OBJECTIF PARTICULIER. Consultez la GNU General Public
14 | License pour plus de détails.
15 | *
16 | *
17 | This program is free software: you can redistribute it and/or modify
18 | it under the terms of the GNU General Public License as published by
19 | the Free Software Foundation, either version 3 of the License, or
20 | (at your option) any later version.
21 |
22 | This program is distributed in the hope that it will be useful,
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | GNU General Public License for more details.
26 |
27 | You should have received a copy of the GNU General Public License
28 | along with this program. If not, see .
29 | */
30 | TimeLineMonth=function(a,e,d,c,b){return this.init(a,e,d,c,b)};$.extend(TimeLineMonth.prototype,{container:"",month:"",year:"",days:{1:[31,31],2:[28,29],3:[31,31],4:[30,30],5:[31,31],6:[30,30],7:[31,31],8:[31,31],9:[30,30],10:[31,31],11:[30,30],12:[31,31]},lang:"fr",months:{fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre"],en:["January","February","March","April","May","June","July","Agust","September","October","November","December"]},ressourcesColumnHeader:"Ressources",init:function(a,e,d,c,b){this.container=a;this.month=e;this.year=d;this.ressources=c;this.updateMonthCallback=b||function(){};this.drawElements();this.updateMonthCallback();return this},drawElements:function(){var i,p,l,g,f,n,b,m,d,h,c,q,a,o,j,r,k,e;i=$("#"+this.container);i.timeLineMonth=this;p=$(document.createElement("div")).addClass("largeCalendar");i.html(p);l=$(document.createElement("div")).addClass("month");p.html(l);l.html('
'+this.months[this.lang][this.month-1]+" "+this.year+'
');g=$(document.createElement("div")).addClass("leftColumn horizontalCalendarHeaders");p.append(g);f=$(document.createElement("div")).addClass("eventsContainer");p.append(f);n=$(document.createElement("div")).addClass("headerRessources");g.html(n);f.width(p.width()-n.width()-1);b=$(document.createElement("span")).addClass("labelCenter").html(this.ressourcesColumnHeader);n.html(b);m=$(document.createElement("div")).addClass("listRessources");g.append(m);for(d=0;d '+h.name+" ");for(c=0;c '+q.name+" ")}}a=((this.year%4==0&&this.year%100!=0)||this.year%400==0)?(1):(0);o=$(document.createElement("div")).addClass("horizontalCalendarContent for"+this.days[this.month][a]+"days").attr("tabindex","0");f.append(o);j=$(document.createElement("div")).addClass("lineOfDays");o.html(j);r="";for(k=1;k<=this.days[this.month][a];k++){e=(k<10)?("0"+k):(k);r+=''+e+"
"}j.html(r);for(d=0;d ');for(c=0;c')}}this.defineEvents(this)},goToNextMonth:function(){if(this.month==12){this.month=1;this.year++}else{this.month++}this.drawElements();this.updateMonthCallback()},goToPrevMonth:function(){if(this.month==1){this.month=12;this.year--}else{this.month--}this.drawElements();this.updateMonthCallback()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerRessources").width()-1)},defineEvents:function(a){$(".prevMonth").click(function(){a.goToPrevMonth()});$(".nextMonth").click(function(){a.goToNextMonth()});$(".horizontalCalendarContent").keydown(function(b){switch(b.keyCode){case 34:a.goToPrevMonth();$(".horizontalCalendarContent").focus();break;case 33:a.goToNextMonth();$(".horizontalCalendarContent").focus();break;default:break}});$(window).resize(function(){a.drawElements();a.updateMonthCallback()})}});Event=function(e,b,d,c,a){this.init(e,b,d,c,a)};$.extend(Event.prototype,{ressourceId:"",eventId:"",startDay:"",endDay:"",label:"",jObject:null,init:function(e,b,d,c,a){this.ressourceId=e;this.eventId=b;this.startDay=d;this.endDay=c;this.label=a},drawIn:function(a){var c,b;c=50*(this.startDay-1);b=50*(this.endDay-this.startDay)-3;$("#"+a).find("#events_r_"+this.ressourceId).append(''+this.label+"
");this.jObject=$("#"+this.eventId);$("#"+a).find("#"+this.eventId).draggable({axis:"x",containment:"parent",opacity:0.5,snap:true});$("#"+a).find("#events_r_"+this.ressourceId).droppable({drop:function(e,h){var d,g,f;d=$(this).offset().left;g=h.offset.left;f=1+((g-d)/50);$(".debug").html("newDayStart: "+f)}});return this}});
31 |
--------------------------------------------------------------------------------
/js/ganttCalendar/ganttCalendar-1.1-min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Gantt Calendar by Julien CORON - 2013
3 | * Copyright 2013 Julien CORON
4 | *
5 | * Licence :
6 | Ce programme est un logiciel libre ; vous pouvez le redistribuer ou le
7 | modifier suivant les termes de la GNU General Public License telle que
8 | publiée par la Free Software Foundation ; soit la version 3 de la licence,
9 | soit (à votre gré) toute version ultérieure.
10 |
11 | Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
12 | GARANTIE ; pas même la garantie implicite de COMMERCIABILISABILITÉ ni
13 | d'ADÉQUATION à UN OBJECTIF PARTICULIER. Consultez la GNU General Public
14 | License pour plus de détails.
15 | *
16 | *
17 | This program is free software: you can redistribute it and/or modify
18 | it under the terms of the GNU General Public License as published by
19 | the Free Software Foundation, either version 3 of the License, or
20 | (at your option) any later version.
21 |
22 | This program is distributed in the hope that it will be useful,
23 | but WITHOUT ANY WARRANTY; without even the implied warranty of
24 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 | GNU General Public License for more details.
26 |
27 | You should have received a copy of the GNU General Public License
28 | along with this program. If not, see .
29 | */
30 |
31 |
32 | TimeLineMonth=function(e,t,s,r,n){return this.init(e,t,s,r,n)},$.extend(TimeLineMonth.prototype,{TimeLineClass:"MONTH",container:"",month:"",year:"",days:{1:[31,31],2:[28,29],3:[31,31],4:[30,30],5:[31,31],6:[30,30],7:[31,31],8:[31,31],9:[30,30],10:[31,31],11:[30,30],12:[31,31]},lang:"fr",months:{fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre"],en:["January","February","March","April","May","June","July","Agust","September","October","November","December"]},weekDays:{fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},eventsByGroup:{},eventsByResource:{},cellWidth:20,resourcesColumnHeader:"Resources",init:function(e,t,s,r,n){return this.container=e,this.month=t,this.year=s,this.resources=r,this.updateMonthCallback=n||function(){},this},getNbDaysInMonth:function(){var e=this.year%4==0&&this.year%100!=0||this.year%400==0?1:0;return this.days[this.month][e]},drawElements:function(){var e,t,s,r,n,i,a,o,d,h,u,l,c,p,v,m,g;e=$("#"+this.container),e.timeLineMonth=this,t=$(document.createElement("div")).addClass("largeCalendar"),e.html(t),s=$(document.createElement("div")).addClass("month"),t.html(s),s.html('
'+this.months[this.lang][this.month-1]+" "+this.year+'
'),r=$(document.createElement("div")).addClass("leftColumn horizontalCalendarHeaders"),t.append(r),n=$(document.createElement("div")).addClass("eventsContainer container-grid-"+this.cellWidth),t.append(n),i=$(document.createElement("div")).addClass("headerResources"),r.html(i),e.width($("body").outerWidth()-1),this.cellWidth*this.getNbDaysInMonth()+i.width()+3 '+h.name+" "),u=0;u '+l.name+" ");for(c=$(document.createElement("div")).addClass("horizontalCalendarContent for"+this.getNbDaysInMonth()+"days").attr("tabindex","0"),n.append(c),p=$(document.createElement("div")).addClass("lineOfDays"),c.html(p),v="",m=1;m<=this.getNbDaysInMonth();m++)g=10>m?"0"+m:m,jsDate=new Date(this.year,this.month-1,m),v+=''+g+''+this.weekDays[this.lang][jsDate.getDay()]+"
";for(p.html(v),firstDayOfMonth=new Date(this.year,this.month-1,1),d=0;d '),u=0;u');this.defineEvents(this)},goToNextMonth:function(){12==this.month?(this.month=1,this.year++):this.month++,this.drawElements(),this.updateMonthCallback()},goToPrevMonth:function(){1==this.month?(this.month=12,this.year--):this.month--,this.drawElements(),this.updateMonthCallback()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},defineEvents:function(e){$(".prevMonth").click(function(){e.goToPrevMonth()}),$(".nextMonth").click(function(){e.goToNextMonth()}),$(".horizontalCalendarContent").keydown(function(t){switch(t.keyCode){case 34:e.goToPrevMonth(),$(".horizontalCalendarContent").focus();break;case 33:e.goToNextMonth(),$(".horizontalCalendarContent").focus()}}),$(window).resize(function(){e.drawElements(),e.updateMonthCallback()})},findGroupHavingResource:function(e){for(var t=0;t'+this.label+""),this.jObject=$("#"+this.eventId),$("#"+containerId).find("#"+this.eventId).draggable({axis:"x",containment:"parent",opacity:.5,snap:!0}),$("#"+containerId).find("#events_r_"+this.resourceId).droppable({drop:function(t,s){var r,n,i;r=$(this).offset().left,n=s.offset.left,i=1+(n-r)/e.cellWidth,$(".debug").html("newDayStart: "+i)}}),this},asVector:function(e){var t;return"MONTH"==e.TimeLineClass?t=new Vector(this.startDay-1,this.endDay-this.startDay):"WEEK"==e.TimeLineClass&&(newStartDay=this.startDay-e.mondayOfWeek.getDate(),newEndDay=this.endDay-e.mondayOfWeek.getDate(),t=new Vector(2*newStartDay,2*(newEndDay-newStartDay))),t}}),TimeLineWeek=function(e,t,s,r,n){return this.init(e,t,s,r,n)},$.extend(TimeLineWeek.prototype,{TimeLineClass:"WEEK",groups:[],container:"",weekNumber:"",year:"",lang:"fr",weekDays:{fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},eventsByGroup:{},eventsByResource:{},cellWidth:20,mondayOfWeek:null,sundayOfWeek:null,resourcesColumnHeader:"Resources",init:function(e,t,s,r,n){return this.container=e,this.weekNumber=t,this.year=s,this.resources=r,this.updateWeekCallback=n||function(){},this},findGroupHavingResource:function(e){for(var t=0;t '+this.dateFormat()+'
'),r=$(document.createElement("div")).addClass("leftColumn horizontalCalendarHeaders"),t.append(r),n=$(document.createElement("div")).addClass("eventsContainer container-grid-"+this.cellWidth+" forWeek"),t.append(n),i=$(document.createElement("div")).addClass("headerResources"),r.html(i),e.width($("body").outerWidth()-1),7*this.cellWidth+i.width()+3 '+h.name+" "),u=0;u '+l.name+" ");c=$(document.createElement("div")).addClass("horizontalCalendarContent").attr("tabindex","0").width(7*this.cellWidth),n.append(c),p=$(document.createElement("div")).addClass("lineOfDays"),c.html(p),v="";var D=new Date(this.mondayOfWeek.getTime());for(m=1;7>=m;m++)g=D.getDate()<10?"0"+D.getDate():D.getDate(),v+=''+g+''+this.weekDays[this.lang][m%7]+"
",D.setDate(D.getDate()+1);for(p.html(v),firstDayOfWeek=new Date(this.mondayOfWeek.getTime()),d=0;d '),u=0;u');this.defineEvents(this)},goToNextWeek:function(){52==this.weekNumber?(this.weekNumber=1,this.year++):this.weekNumber++,this.drawElements(),this.updateWeekCallback()},goToPrevWeek:function(){1==this.weekNumber?(this.weekNumber=52,this.year--):this.weekNumber--,this.drawElements(),this.updateWeekCallback()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},defineEvents:function(e){$(".prevWeek").click(function(){e.goToPrevWeek()}),$(".nextWeek").click(function(){e.goToNextWeek()}),$(".horizontalCalendarContent").keydown(function(t){switch(t.keyCode){case 34:e.goToPrevWeek(),$(".horizontalCalendarContent").focus();break;case 33:e.goToNextWeek(),$(".horizontalCalendarContent").focus()}}),$(window).resize(function(){e.drawElements(),e.updateWeekCallback()})},addEvent:function(e){var t=this.findGroupHavingResource(e.resourceId);null==t&&console.log("Error: Event id="+e.eventId+" has an error. Please check resourceId."),null==this.eventsByGroup[t.id]&&(this.eventsByGroup[t.id]=Array()),this.eventsByGroup[t.id].push(e),null==this.eventsByResource[e.resourceId]&&(this.eventsByResource[e.resourceId]=Array()),this.eventsByResource[e.resourceId].push(e)},updateOccupation:function(){for(var e=0;e .
29 | */
30 |
31 | TimeLineMonth=function(e,t,s,n,r){return this.init(e,t,s,n,r)},$.extend(TimeLineMonth.prototype,{TimeLineClass:"MONTH",container:"",month:"",year:"",days:{1:[31,31],2:[28,29],3:[31,31],4:[30,30],5:[31,31],6:[30,30],7:[31,31],8:[31,31],9:[30,30],10:[31,31],11:[30,30],12:[31,31]},lang:"fr",months:{fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre"],en:["January","February","March","April","May","June","July","Agust","September","October","November","December"]},weekDays:{fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},eventsByGroup:{},eventsByResource:{},cellWidth:20,resourcesColumnHeader:"Resources",init:function(e,t,s,n,r){return this.container=e,this.month=t,this.year=s,this.resources=n,this.updateMonthCallback=r||function(){},this},getNbDaysInMonth:function(){var e=this.year%4==0&&this.year%100!=0||this.year%400==0?1:0;return this.days[this.month][e]},drawElements:function(){var e,t,s,n,r,i,a,o,d,h,u,l,c,p,v,m,y;this.eventsByGroup={},this.eventsByResource={},e=$("#"+this.container),e.timeLineMonth=this,t=$(document.createElement("div")).addClass("largeCalendar"),e.html(t),s=$(document.createElement("div")).addClass("month"),t.html(s),s.html('
'+this.months[this.lang][this.month-1]+" "+this.year+'
'),n=$(document.createElement("div")).addClass("leftColumn horizontalCalendarHeaders"),t.append(n),r=$(document.createElement("div")).addClass("eventsContainer container-grid-"+this.cellWidth),t.append(r),i=$(document.createElement("div")).addClass("headerResources"),n.html(i),e.width($("body").outerWidth()-1),this.cellWidth*this.getNbDaysInMonth()+i.width()+3 '+h.name+" "),u=0;u '+l.name+" ");for(c=$(document.createElement("div")).addClass("horizontalCalendarContent for"+this.getNbDaysInMonth()+"days").attr("tabindex","0"),r.append(c),p=$(document.createElement("div")).addClass("lineOfDays"),c.html(p),v="",m=1;m<=this.getNbDaysInMonth();m++)y=10>m?"0"+m:m,jsDate=new Date(this.year,this.month-1,m),v+=''+y+''+this.weekDays[this.lang][jsDate.getDay()]+"
";for(p.html(v),firstDayOfMonth=new Date(this.year,this.month-1,1),d=0;d '),u=0;u');this.defineEvents(this)},goToNextMonth:function(){12==this.month?(this.month=1,this.year++):this.month++,this.drawElements(),this.updateMonthCallback()},goToPrevMonth:function(){1==this.month?(this.month=12,this.year--):this.month--,this.drawElements(),this.updateMonthCallback()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},defineEvents:function(e){$(".prevMonth").click(function(){e.goToPrevMonth()}),$(".nextMonth").click(function(){e.goToNextMonth()}),$(".horizontalCalendarContent").keydown(function(t){switch(t.keyCode){case 34:e.goToPrevMonth(),$(".horizontalCalendarContent").focus();break;case 33:e.goToNextMonth(),$(".horizontalCalendarContent").focus()}})},findGroupHavingResource:function(e){for(var t=0;t'+this.label+""),this.jObject=$("#"+this.eventId),$("#"+containerId).find("#"+this.eventId).draggable({axis:"x",containment:"parent",opacity:.5,snap:!0}),$("#"+containerId).find("#events_r_"+this.resourceId).droppable({drop:function(t,s){var n,r,i;n=$(this).offset().left,r=s.offset.left,i=1+(r-n)/e.cellWidth,$(".debug").html("newDayStart: "+i)}}),this},asVector:function(e){var t;return"MONTH"==e.TimeLineClass?t=new Vector(this.startDay-1,this.endDay-this.startDay):"WEEK"==e.TimeLineClass&&(newStartDay=this.startDay-e.mondayOfWeek.getDate(),newEndDay=this.endDay-e.mondayOfWeek.getDate(),t=new Vector(2*newStartDay,2*(newEndDay-newStartDay))),t}}),TimeLineWeek=function(e,t,s,n,r){var i=this.init(e,t,s,n,r);return $(window).resize(function(){i.drawElements(),i.updateWeekCallback()}),i},$.extend(TimeLineWeek.prototype,{TimeLineClass:"WEEK",groups:[],container:"",weekNumber:"",year:"",lang:"fr",weekDays:{fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},eventsByGroup:{},eventsByResource:{},cellWidth:20,mondayOfWeek:null,sundayOfWeek:null,resourcesColumnHeader:"Resources",init:function(e,t,s,n,r){return this.container=e,this.weekNumber=t,this.year=s,this.resources=n,this.updateWeekCallback=r||function(){},this},findGroupHavingResource:function(e){for(var t=0;t '+this.dateFormat()+'
'),n=$(document.createElement("div")).addClass("leftColumn horizontalCalendarHeaders"),t.append(n),r=$(document.createElement("div")).addClass("eventsContainer container-grid-"+this.cellWidth+" forWeek"),t.append(r),i=$(document.createElement("div")).addClass("headerResources"),n.html(i),e.width($("body").outerWidth()-1),7*this.cellWidth+i.width()+3 '+h.name+" "),u=0;u '+l.name+" ");c=$(document.createElement("div")).addClass("horizontalCalendarContent").attr("tabindex","0").width(7*this.cellWidth),r.append(c),p=$(document.createElement("div")).addClass("lineOfDays"),c.html(p),v="";var D=new Date(this.mondayOfWeek.getTime());for(m=1;7>=m;m++)y=D.getDate()<10?"0"+D.getDate():D.getDate(),v+=''+y+''+this.weekDays[this.lang][m%7]+"
",D.setDate(D.getDate()+1);p.html(v),firstDayOfWeek=new Date(this.mondayOfWeek.getTime());var C=$(document.createElement("div")).addClass("eventsAndGroupContainer");for(c.append(C),d=0;d '),u=0;u');this.defineEvents(this)},goToNextWeek:function(){52==this.weekNumber?(this.weekNumber=1,this.year++):this.weekNumber++,this.drawElements(),this.updateWeekCallback()},goToPrevWeek:function(){1==this.weekNumber?(this.weekNumber=52,this.year--):this.weekNumber--,this.drawElements(),this.updateWeekCallback()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},defineEvents:function(e){$(".prevWeek").click(function(){e.goToPrevWeek()}),$(".nextWeek").click(function(){e.goToNextWeek()}),$(".horizontalCalendarContent").keydown(function(t){switch(t.keyCode){case 34:e.goToPrevWeek(),$(".horizontalCalendarContent").focus();break;case 33:e.goToNextWeek(),$(".horizontalCalendarContent").focus()}})},addEvent:function(e){var t=this.findGroupHavingResource(e.resourceId);null==t&&alert("Error: Event id="+e.eventId+" has an error. Please check resourceId."),null==this.eventsByGroup[t.id]&&(this.eventsByGroup[t.id]=Array()),this.eventsByGroup[t.id].push(e),null==this.eventsByResource[e.resourceId]&&(this.eventsByResource[e.resourceId]=Array()),this.eventsByResource[e.resourceId].push(e)},updateOccupation:function(){for(var e,t,s=this,n=13,r=0;r1)for(var v,m=1,y=d[0],g=1;g .
29 | */
30 |
31 | TimeLine=function(e,t,s,i,r){var n=this.init(e,t,s,i,r);return $(window).resize(function(){n.drawElements(),n.updateCallback(),this.updateOccupation()}),n},$.extend(TimeLine.prototype,{TimeLineClass:null,container:"",year:"",lang:"fr",weekDays:{fr:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],en:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},months:{fr:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre"],en:["January","February","March","April","May","June","July","Agust","September","October","November","December"]},resourcesColumnHeader:{fr:"Ressources",en:"Resources"},days:{1:[31,31],2:[28,29],3:[31,31],4:[30,30],5:[31,31],6:[30,30],7:[31,31],8:[31,31],9:[30,30],10:[31,31],11:[30,30],12:[31,31]},eventsByGroup:{},eventsByResource:{},cellWidth:20,_superInit:function(e,t,s,i){this.container=e,this.year=t,this.resources=s,this.updateCallback=i||function(){}},init:function(e,t,s,i,r){return this._superInit(e,s,i,r),this.sub_init(t),this},sub_init:function(){},nbDays:function(){return 0},nbSteps:function(){return 0},firstDay:function(){return 0},findGroupHavingResource:function(e){for(var t=0;t ▼ '+group.name+" "),groupResources=$(document.createElement("div")).addClass("resourcesForGroup").attr("id","resourcesForGroup_"+group.id).data("group",group.id),listResources.append(groupResources),indexResource=0;indexResource '+resource.name+" ");return headerResources},_prepareDrawings:function(){return this.eventsByGroup={},this.eventsByResource={},this.containerObj=$("#"+this.container),this.containerObj.timeLineMonth=this,largeCalendar=$(document.createElement("div")).addClass("largeCalendar"),this.containerObj.html(largeCalendar),largeCalendar},_setZoomFeatures:function(e,t,s){this.containerObj.width($("body").outerWidth()-1);var i=this.nbDays();this.cellWidth*i+t.width()+3 '),groupResources=$(document.createElement("div")).addClass("eventsForGroup").attr("id","eventsForGroup_"+group.id).data("group",group.id),t.append(groupResources),indexResource=0;indexResource')},addEvent:function(e){var t=this.findGroupHavingResource(e.resourceId);null==t&&alert("Error: Event id="+e.eventId+" has an error. Please check resourceId."),null==this.eventsByGroup[t.id]&&(this.eventsByGroup[t.id]=Array()),this.eventsByGroup[t.id].push(e),null==this.eventsByResource[e.resourceId]&&(this.eventsByResource[e.resourceId]=Array()),this.eventsByResource[e.resourceId].push(e)},updateOccupation:function(){for(var e,t,s=this,i=this.nbSteps(),r=0;r1)for(var m,v=1,f=d[0],y=1;y .toggleImg");t.html("1px"==$("#resourcesForGroup_"+e).css("height")?"▼":"▶")},defineHeader:function(){this.header=this.containerObj.clone().attr("id","headerCalendar"),this.header.find(".listResources").remove(),this.header.find(".eventsAndGroupContainer").remove(),this.header.find(".eventsContainer").removeClass("y-scroll").addClass("no-scroll"),this.header.hide(),this.containerObj.append(this.header)},updateScrollWindow:function(){var e=this.containerObj.offset(),t=$(window).scrollTop(),s=$(".y-scroll").scrollLeft(),i=this.header.height();t>e.top&&t '+this.months[this.lang][this.month-1]+" "+this.year+'
');var i=this._drawResourcesIn(e);for(s=$(document.createElement("div")).addClass("eventsContainer y-scroll container-grid-"+this.cellWidth),e.append(s),this._setZoomFeatures(e,i,s),r=$(document.createElement("span")).addClass("labelCenter").html(this.resourcesColumnHeader[this.lang]),i.html(r),n=$(document.createElement("div")).addClass("horizontalCalendarContent for"+this.nbDays()+"days").attr("tabindex","0"),s.append(n),a=$(document.createElement("div")).addClass("lineOfDays"),n.html(a),o="",d=1;d<=this.nbDays();d++)h=10>d?"0"+d:d,jsDate=new Date(this.year,this.month-1,d),o+=''+h+''+this.weekDays[this.lang][jsDate.getDay()]+"
";a.html(o),this._drawGridEvents(n),this.defineHeader(),this.defineEvents(),this.updateCallback(),this.updateOccupation()},goToNext:function(){12==this.month?(this.month=1,this.year++):this.month++,this.drawElements()},goToPrev:function(){1==this.month?(this.month=12,this.year--):this.month--,this.drawElements()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},sub_defineEvents:function(){}}),TimeLineWeek=function(e,t,s,i,r){return this.init(e,t,s,i,r)},TimeLineWeek.prototype=Object.create(TimeLine.prototype),$.extend(TimeLineWeek.prototype,{TimeLineClass:"WEEK",weekNumber:"",mondayOfWeek:null,sundayOfWeek:null,sub_init:function(e){this.weekNumber=e},dateFormat:function(){var e=this.weekDays[this.lang][1],t=this.weekDays[this.lang][0],s={year:"numeric",month:"2-digit",day:"2-digit"};return e+" "+this.mondayOfWeek.toLocaleDateString(this.lang,s)+" - "+t+" "+this.sundayOfWeek.toLocaleDateString(this.lang,s)},nbDays:function(){return 7},nbSteps:function(){return 13},offset:function(){return new Date(this.mondayOfWeek.getTime()).getDay()},drawElements:function(){var e,t,s,i,r,n,a,o,d,h,u=new Date(this.year,0,1),c=6048e5*(this.weekNumber-1),l=u.getTime()+c-864e5;this.mondayOfWeek=new Date(l),this.sundayOfWeek=new Date(l),this.sundayOfWeek.setDate(this.mondayOfWeek.getDate()+6);var e=this._prepareDrawings();t=$(document.createElement("div")).addClass("week"),e.html(t),t.html('
'+this.dateFormat()+'
');var i=this._drawResourcesIn(e);s=$(document.createElement("div")).addClass("eventsContainer y-scroll container-grid-"+this.cellWidth+" forWeek"),e.append(s),this._setZoomFeatures(e,i,s),r=$(document.createElement("span")).addClass("labelCenter").html(this.resourcesColumnHeader[this.lang]),i.html(r),n=$(document.createElement("div")).addClass("horizontalCalendarContent").attr("tabindex","0").width(7*this.cellWidth),s.append(n),a=$(document.createElement("div")).addClass("lineOfDays"),n.html(a),o="";var p=new Date(this.mondayOfWeek.getTime());for(d=1;7>=d;d++)h=p.getDate()<10?"0"+p.getDate():p.getDate(),o+=''+h+''+this.weekDays[this.lang][d%7]+"
",p.setDate(p.getDate()+1);a.html(o),this._drawGridEvents(n),this.defineHeader(),this.defineEvents(),this.updateCallback(),this.updateOccupation()},goToNext:function(){52==this.weekNumber?(this.weekNumber=1,this.year++):this.weekNumber++,this.drawElements()},goToPrev:function(){1==this.weekNumber?(this.weekNumber=52,this.year--):this.weekNumber--,this.drawElements()},updateWidth:function(){$(".eventsContainer").width($(".largeCalendar").width()-$(".headerResources").width()-1)},sub_defineEvents:function(){}}),TimeLineDay=function(e,t,s,i,r,n){return this.init(e,t,s,i,r,n)},TimeLineDay.prototype=Object.create(TimeLineMonth.prototype),$.extend(TimeLineDay.prototype,{TimeLineClass:"DAY",init:function(e,t,s,i,r,n){return this._superInit(e,i,r,n),this.sub_init(t,s),this},sub_init:function(e,t){this.day=e,this.month=t},nbHours:function(){return 12},startHour:function(){return 8},nbSteps:function(){return this.nbHours()-1},offset:function(){return this.startHour()},_setZoomFeatures:function(e,t,s){this.containerObj.width($("body").outerWidth()-1);var i=this.nbHours();this.cellWidth*i+t.width()+3 '+this.weekDays[this.lang][jsDate.getDay()]+" "+this.day+" "+this.months[this.lang][this.month-1]+" "+this.year+'
');var i=this._drawResourcesIn(e);for(s=$(document.createElement("div")).addClass("eventsContainer y-scroll hourContainer container-grid-"+this.cellWidth),e.append(s),this._setZoomFeatures(e,i,s),r=$(document.createElement("span")).addClass("labelCenter").html(this.resourcesColumnHeader[this.lang]),i.html(r),n=$(document.createElement("div")).addClass("horizontalCalendarContent for"+this.nbHours()+"hours").attr("tabindex","0"),s.append(n),lineOfHours=$(document.createElement("div")).addClass("lineOfHours"),n.html(lineOfHours),htmlHours="",indexHour=this.startHour();indexHour'+hour2digits+"h";lineOfHours.html(htmlHours),this._drawGridEvents(n),this.defineHeader(),this.defineEvents(),this.updateCallback(),this.updateOccupation()},sub_defineEvents:function(){},goToNext:function(){this.day++;var e=this.year%4==0&&this.year%100!=0||this.year%400==0?1:0;this.day>this.days[this.month][e]&&(this.day=1,12==this.month?(this.month=1,this.year++):this.month++),this.drawElements()},goToPrev:function(){this.day--;var e=this.year%4==0&&this.year%100!=0||this.year%400==0?1:0;0==this.day&&(1==this.month?(this.month=12,this.year--):this.month--,this.day=this.days[this.month][e]),this.drawElements()}}),EventCal=function(e,t,s,i,r){this.init(e,t,s,i,r)},$.extend(EventCal.prototype,{resourceId:"",eventId:"",startDay:"",endDay:"",label:"",jObject:null,init:function(e,t,s,i,r){this.resourceId=e,this.eventId=t,this.startDay=s,this.endDay=i,this.label=r},drawIn:function(e){var t,s,i=0,r=0;if(containerId=e.container,"MONTH"==e.TimeLineClass)i=e.cellWidth*(this.startDay-1),r=e.cellWidth*(this.endDay-this.startDay)-3;else if("WEEK"==e.TimeLineClass)t=this.startDay-e.mondayOfWeek.getDate(),s=this.endDay-e.mondayOfWeek.getDate(),i=e.cellWidth*t,r=e.cellWidth*(s-t)-3;else if("DAY"==e.TimeLineClass){var n=this.startDay-e.startHour(),a=this.endDay-e.startHour();i=e.cellWidth*n,r=e.cellWidth*(a-n)-3}return e.addEvent(this),$("#"+containerId).find("#events_r_"+this.resourceId).append(''+this.label+"
"),this.jObject=$("#"+this.eventId),$("#"+containerId).find("#"+this.eventId).draggable({axis:"x",containment:"parent",opacity:.5,snap:!0}),$("#"+containerId).find("#events_r_"+this.resourceId).droppable({drop:function(t,s){var i,r,n;i=$(this).offset().left,r=s.offset.left,n=1+(r-i)/e.cellWidth,$(".debug").html("newDayStart: "+n)}}),this},asVector:function(e){var t;return"MONTH"==e.TimeLineClass?t=new Vector(this.startDay-1,this.endDay-this.startDay):"WEEK"==e.TimeLineClass?(newStartDay=this.startDay-e.mondayOfWeek.getDate(),newEndDay=this.endDay-e.mondayOfWeek.getDate(),t=new Vector(2*newStartDay,2*(newEndDay-newStartDay))):"DAY"==e.TimeLineClass&&(newStartDay=this.startDay-e.startHour(),newEndDay=this.endDay-e.startHour(),t=new Vector(newStartDay,newEndDay-newStartDay)),t}});
32 |
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-100-empty.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-100-empty.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-100.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-100.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-150-empty.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-150-empty.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-150.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-150.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-20.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-200-empty.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-200-empty.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-200.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-200.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-30.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-30.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-40.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-50-empty.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-50-empty.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid-50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid-50.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/bg-grid.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/bg-grid.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/button-inset-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/button-inset-left.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/button-inset-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/button-inset-right.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/button-inset-right.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/button-inset-right.xcf
--------------------------------------------------------------------------------
/js/ganttCalendar/img/button-inset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/button-inset.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/empty.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/empty.gif
--------------------------------------------------------------------------------
/js/ganttCalendar/img/glyphs-16/flag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/glyphs-16/flag.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/glyphs-16/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/glyphs-16/lock.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/glyphs-16/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/glyphs-16/star.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/glyphs-16/unlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/glyphs-16/unlock.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/slider-handle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/slider-handle.png
--------------------------------------------------------------------------------
/js/ganttCalendar/img/slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/ganttCalendar/img/slider.png
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-apollo.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-apollo.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-clj.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (C) 2011 Google Inc.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | var a=null;
17 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
18 | ["typ",/^:[\dA-Za-z-]+/]]),["clj"]);
19 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
3 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-go.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-go.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-hs.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,
2 | null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);
3 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-lisp.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],
3 | ["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","scm"]);
4 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-lua.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-lua.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-ml.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-ml.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-n.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\xa0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/,
3 | a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/,
4 | a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]);
5 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-proto.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]);
2 |
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-scala.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-scala.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-sql.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-sql.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-tex.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-tex.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-vb.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-vb.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-vhdl.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-vhdl.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-wiki.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jchome/ganttCalendar/020fcd07bb0d4cdbeecd24a9c6cbba058138424b/js/google-code-prettify/lang-wiki.js
--------------------------------------------------------------------------------
/js/google-code-prettify/lang-yaml.js:
--------------------------------------------------------------------------------
1 | var a=null;
2 | PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]);
3 |
--------------------------------------------------------------------------------
/js/google-code-prettify/prettify.css:
--------------------------------------------------------------------------------
1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
2 |
3 |
4 | /* Pretty printing styles. Used with prettify.js. */
5 | /* Vim sunburst theme by David Leibovic */
6 |
7 | pre .str, code .str { color: #65B042; } /* string - green */
8 | pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */
9 | pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */
10 | pre .typ, code .typ { color: #89bdff; } /* type - light blue */
11 | pre .lit, code .lit { color: #3387CC; } /* literal - blue */
12 | pre .pun, code .pun { color: #fff; } /* punctuation - white */
13 | pre .pln, code .pln { color: #fff; } /* plaintext - white */
14 | pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */
15 | pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */
16 | pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */
17 | pre .dec, code .dec { color: #3387CC; } /* decimal - blue */
18 |
19 | pre.prettyprint, code.prettyprint {
20 | background-color: #000;
21 | -moz-border-radius: 8px;
22 | -webkit-border-radius: 8px;
23 | -o-border-radius: 8px;
24 | -ms-border-radius: 8px;
25 | -khtml-border-radius: 8px;
26 | border-radius: 8px;
27 | }
28 |
29 | pre.prettyprint {
30 | width: 95%;
31 | margin: 1em auto;
32 | padding: 1em;
33 | white-space: pre-wrap;
34 | }
35 |
36 |
37 | /* Specify class=linenums on a pre to get line numbering */
38 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */
39 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
40 | /* Alternate shading for lines */
41 | li.L1,li.L3,li.L5,li.L7,li.L9 { }
42 |
43 | @media print {
44 | pre .str, code .str { color: #060; }
45 | pre .kwd, code .kwd { color: #006; font-weight: bold; }
46 | pre .com, code .com { color: #600; font-style: italic; }
47 | pre .typ, code .typ { color: #404; font-weight: bold; }
48 | pre .lit, code .lit { color: #044; }
49 | pre .pun, code .pun { color: #440; }
50 | pre .pln, code .pln { color: #000; }
51 | pre .tag, code .tag { color: #006; font-weight: bold; }
52 | pre .atn, code .atn { color: #404; }
53 | pre .atv, code .atv { color: #060; }
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/js/google-code-prettify/prettify.js:
--------------------------------------------------------------------------------
1 | var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
2 | (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
3 | [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
9 | l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
10 | q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
11 | q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
12 | "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
13 | a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
14 | for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
18 | "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
19 | H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
20 | J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
21 | I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
75 |
76 |
77 |
78 |
79 |
80 | GanttCalendar Test
81 | Calendrier Hebdo vide
82 |
83 | |
84 | Suite
85 |
86 |
87 |
88 |
89 |
90 |
96 |
97 |
98 |
99 |