source: sandbox/2.3-MailArchiver/calendar/js/dhtmlx/sources/ext/ext_agenda_view.js @ 6779

Revision 6779, 2.8 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado Expresso(branch 2.3) integrado ao MailArchiver?.

Line 
1scheduler.date.add_agenda = function(date){
2        return (new Date(date.valueOf()));
3}
4
5scheduler.dblclick_dhx_agenda_area=function(){
6        if (!this.config.readonly && this.config.dblclick_create)
7                this.addEventNow();
8}
9scheduler.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}
15scheduler.templates.agenda_text = function(ev){
16        return ev.text;
17}
18scheduler.date.agenda_start=function(d){ return d; };
19       
20scheduler.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'>&nbsp</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].scrollTop = 0; //fix flickering in FF
70                scheduler._els["dhx_cal_data"][0].innerHTML = html;
71               
72                var t=scheduler._els["dhx_cal_data"][0].firstChild.childNodes;
73                scheduler._els["dhx_cal_date"][0].innerHTML="";
74               
75                scheduler._rendered=[];
76                for (var i=0; i < t.length-1; i++)
77                        scheduler._rendered[i]=t[i]
78               
79        }
80
81        scheduler.agenda_view=function(mode){
82                scheduler._min_date = scheduler.config.agenda_start||(new Date());
83                scheduler._max_date = scheduler.config.agenda_end||(new Date(9999,1,1));
84                scheduler._table_view = true;
85                set_full_view(mode);
86                if (mode){
87                        //agenda tab activated
88                        fill_agenda_tab();
89                } else {
90                        //agenda tab de-activated
91                }
92        }
93})
Note: See TracBrowser for help on using the repository browser.