1 | scheduler.date.add_agenda = function(date){
|
---|
2 | return (new Date(date.valueOf()));
|
---|
3 | }
|
---|
4 |
|
---|
5 | scheduler.dblclick_dhx_agenda_area=function(){
|
---|
6 | if (!this.config.readonly && this.config.dblclick_create)
|
---|
7 | this.addEventNow();
|
---|
8 | }
|
---|
9 | scheduler.templates.agenda_time = function(start,end,ev){
|
---|
10 | if (ev._timed)
|
---|
11 | return this.day_date(ev.start_date, ev.end_date, ev)+" "+this.event_date(start);
|
---|
12 | else
|
---|
13 | return scheduler.templates.day_date(start)+" – "+scheduler.templates.day_date(end);
|
---|
14 | }
|
---|
15 | scheduler.templates.agenda_text = function(ev){
|
---|
16 | return ev.text;
|
---|
17 | }
|
---|
18 | scheduler.date.agenda_start=function(d){ return d; };
|
---|
19 |
|
---|
20 | scheduler.attachEvent("onTemplatesReady",function(){
|
---|
21 |
|
---|
22 |
|
---|
23 |
|
---|
24 | scheduler.attachEvent("onSchedulerResize",function(){
|
---|
25 | if (this._mode == "agenda"){
|
---|
26 | this.agenda_view(true);
|
---|
27 | return false;
|
---|
28 | }
|
---|
29 | return true;
|
---|
30 | });
|
---|
31 |
|
---|
32 |
|
---|
33 | var old = scheduler.render_data;
|
---|
34 | scheduler.render_data=function(evs){
|
---|
35 | if (this._mode == "agenda")
|
---|
36 | fill_agenda_tab();
|
---|
37 | else
|
---|
38 | return old.apply(this,arguments);
|
---|
39 | }
|
---|
40 |
|
---|
41 |
|
---|
42 | function set_full_view(mode){
|
---|
43 | if (mode){
|
---|
44 | var l = scheduler.locale.labels;
|
---|
45 | scheduler._els["dhx_cal_header"][0].innerHTML="<div class='dhx_agenda_line'><div>"+l.date+"</div><span style='padding-left:25px'>"+l.description+"</span></div>";
|
---|
46 | scheduler._table_view=true;
|
---|
47 | scheduler.set_sizes();
|
---|
48 | }
|
---|
49 | }
|
---|
50 |
|
---|
51 | function fill_agenda_tab(){
|
---|
52 | //get current date
|
---|
53 | var date = scheduler._date;
|
---|
54 | //select events for which data need to be printed
|
---|
55 |
|
---|
56 | var events = scheduler.get_visible_events();
|
---|
57 | events.sort(function(a,b){ return a.start_date>b.start_date?1:-1});
|
---|
58 |
|
---|
59 | //generate html for the view
|
---|
60 | var html="<div class='dhx_agenda_area'>";
|
---|
61 | for (var i=0; i<events.length; i++){
|
---|
62 | html+="<div class='dhx_agenda_line' event_id='"+events[i].id+"' style='"+(events[i]._text_style||"")+"'><div>"+scheduler.templates.agenda_time(events[i].start_date, events[i].end_date,events[i])+"</div>";
|
---|
63 | html+="<div class='dhx_event_icon icon_details'> </div>";
|
---|
64 | html+="<span>"+scheduler.templates.agenda_text(events[i])+"</span></div>";
|
---|
65 | }
|
---|
66 | html+="<div class='dhx_v_border'></div></div>";
|
---|
67 |
|
---|
68 | //render html
|
---|
69 | scheduler._els["dhx_cal_data"][0].innerHTML = html;
|
---|
70 |
|
---|
71 | var t=scheduler._els["dhx_cal_data"][0].firstChild.childNodes;
|
---|
72 | scheduler._els["dhx_cal_date"][0].innerHTML="";
|
---|
73 |
|
---|
74 | scheduler._rendered=[];
|
---|
75 | for (var i=0; i < t.length-1; i++)
|
---|
76 | scheduler._rendered[i]=t[i]
|
---|
77 |
|
---|
78 | }
|
---|
79 |
|
---|
80 | scheduler.agenda_view=function(mode){
|
---|
81 | scheduler._min_date = scheduler.config.agenda_start||(new Date());
|
---|
82 | scheduler._max_date = scheduler.config.agenda_end||(new Date(9999,1,1));
|
---|
83 | scheduler._table_view = true;
|
---|
84 | set_full_view(mode);
|
---|
85 | if (mode){
|
---|
86 | //agenda tab activated
|
---|
87 | fill_agenda_tab();
|
---|
88 | } else {
|
---|
89 | //agenda tab de-activated
|
---|
90 | }
|
---|
91 | }
|
---|
92 | }) |
---|